Corrections par Ross SIMPSON :
The original published Listing had some problems and I modified the following lines :
90 CLS #1 :FOR A=S TO 65535 STEP 200 :M=INT(A/256) :POKE @F$+1,A-M*256 :POKE @F$+2,M :F=INSTR(F$,S$) :IF F<>0 THEN GOSUB 110
The original published listing had POKE @S$+1,A-M*256:POKE @S$+2,M and wasn't finding anything since s$ is the search string. Following the original notes of the programme, the POKES are meant to poke to the address of the Dummy String (F$). With that corrected the search operation began to function correctly.
110 PRINT #1," "HEX$(A+F-1)"H";A+F-1 :RETURN
I altered this line because the Addresses PRINTed was +1 from the start address of the Bytes Found.
20 CLS :F$=SPACE$(250) :S$="" :PRINT "S>tring or B>yte search ?"
When I carried out a few Byte Searches, it wasn't finding those Bytes after the first search and noticed s$ wasn't being cleared. So now S$="" clears the search pattern.