10 REM CHECK IOCB#0
15 CHK20=2000
20 TRAP CHK20:OPEN #0,PEEK(842),PEEK(843),"E":STOP
30 TRAP CHK20:CLOSE #0:STOP
40 TRAP CHK20:XIO 255,#0,PEEK(842),PEEK(843),"E":STOP
50 TRAP CHK20:GET #0,X:STOP
60 TRAP CHK20:PUT #0,X:STOP
70 TRAP CHK20:NOTE #0,X,Y:STOP
80 TRAP CHK20:POINT #0,X,Y:STOP
90 TRAP CHK20:STATUS #0,X:STOP
100 TRAP 32768
110 PRINT #0;""
120 DIM A$(100):POKE 764,12:INPUT #0;A$
200 REM CHECK IOCB#16
210 X=PEEK(842):Y=PEEK(843):CLOSE #16
220 OPEN #16,X,Y,"E"
230 XIO 9,#16,X,Y,CHR$(155)
240 POKE 764,12:GET #16,X
250 PUT #16,X
260 STATUS #16,X
270 PRINT #16;""
280 POKE 764,12:INPUT #16;A$
290 PRINT #16;CHR$(28);
300 POKE 764,12:INPUT #16;A$
310 IF A$<>"" THEN STOP
320 POKE 764,12:INPUT #256;A$
330 PRINT #16;CHR$(28);
340 POKE 764,12:INPUT #16;A$
350 IF A$<>"?" THEN STOP
1000 PRINT "PASS":END
2000 ERRLN = PEEK(186)+256*PEEK(187)
2010 IF PEEK(195)<>20 THEN PRINT "Fail at line: ";ERRLN;" Err: ";PEEK(195):STOP
2020 GOTO ERRLN+10
