10
20 MODE 7:ON ERROR REPORT:CLOSE#0:PRINT:END
30 DIM ctrl% 31,mem% 1024:X%=ctrl%:Y%=X%DIV256
40 OSGBPB=&FFD1
50 FOR I%=0 TO 1023:mem%?I%=I%:NEXT I%
60 OSCLI "SAVE TEST "+STR$~mem%+"+400 0 0"
70 :
80 key%=0:channel%=OPENIN("TEST")
90 REPEAT
100 IF key%=32 :offset%=offset%+1:count%=16
110 IF key%=127:offset%=offset%-1:count%=16
120 IF key%<>32:offset%=RND(1024):count%=RND(256)
130 IF INKEY-1:count%=1
140 CLS:PRINT"read &";~offset%;" + &";~count%;
150 FOR I%=0 TO 265:mem%?I%=&AA:NEXT I%
160 X%?0=channel% :
170 X%!1=mem% :
180 X%!5=count% :
190 X%!9=offset% :
200 A%=3:A%=USR(OSGBPB)
210 PRINT" return A=&";~A% AND 255;" Carry="(A% AND &1000000)<>0
220 FOR I%=0 TO 255 STEP 12
230 FOR J%=I% TO I%+11:PRINT RIGHT$("0"+STR$~(mem%?J%),2);" ";:NEXT J%
240 PRINT
250 NEXT I%
260 key%=GET
270 UNTIL FALSE