10 CLEAR ,&HE600-1,500:POKE &HFFDC,1:POKE &HFFDD,&HE6 20 DATA 0,&HF3,&HF5,&HDB,254,&HE6,32,40,7,&HE5,33,0,&HE6,54,1,&HE1,&HF1,&HFB,&HED,&H4D 30 M=&HE600 40 READ A:POKE M,A:IF A<>&H4D THEN M=M+1:GOTO 40 50 DATA 3,3,&HC5,1 60 FOR I=0 TO 3:READ A:OUT &H26,A:NEXT 70 DATA ,GTL,,,SCC,PPC,,,GET,TCT,,,,,,,,LLO,,,DCL,PPU,,,SPE,SPD,,,,,, 80 DIM A$(31):FOR I=0 TO 31:READ A$(I):IF A$(I)="" THEN A$(I)="UNKNOWN COMMAND" 90 NEXT 100 OUT 254,0:OUT 255,0 110 WIDTH 79:DEFINT A-Z 120 SETEOI=1:SETDAV=2:SETNRFD=4:SETNDAC=8:SETSRQ=16:SETIFC=32:SETATN=64:SETREN=128:RESEOI=255-SETEOI:RESDAV=255-SETDAV:RESNRFD=255-SETNRFD:RESNDAC=255-SETNDAC:RESSRQ=255-SETSRQ:RESIFC=255-SETIFC:RESATN=255-SETATN:RESREN=255-SETREN 130 GOTO 160 :REM ************** 140 OUT 255,&H47:GOSUB 420 150 OUT 255,9:GOSUB 420 160 GOSUB 290:IF CI AND SETATN THEN 190 170 IF DI<32 OR DI>127 THEN PRINT " hex"RIGHT$("0"+HEX$(DI)+" ",3);:GOTO 160 175 IF DI=32 THEN PRINT" sp ";:GOTO 160 180 PRINT CHR$(DI);:GOTO 160 190 PRINT 200 PRINT "hex "RIGHT$("0"+HEX$(DI),2)" = ";:DI=DI AND 127 210 IF DI<32 THEN PRINT A$(DI):GOTO 270 220 IF DI<63 THEN PRINT"LISTENER ADDRESS:"DI-32:GOTO 270 230 IF DI=63 THEN PRINT"UNLISTEN":GOTO 270 240 IF DI<95 THEN PRINT"TALKER ADDRESS:"DI-64:GOTO 270 250 IF DI=95 THEN PRINT"UNTALK":GOTO 270 260 PRINT"SEC. ADDRESS: "DI-96 270 GOSUB 290:IF CI AND SETATN THEN 200 ELSE 170 280 : 290 CO=SETNDAC:GOSUB 400 300 IF PEEK(&HE600) THEN POKE &HE600,0:PRINT:PRINT" *************** IFC *************" 310 IF INP(254)AND SETDAV THEN 370 ELSE 320 320 IF (INP(254)AND SETREN)=SAVREN THEN 340 330 SAVREN=SAVREN XOR SETREN:PRINT:PRINT "REN ";:IF SAVREN THEN PRINT"TRUE" ELSE PRINT"FALSE" 340 IF (INP(254)AND SETSRQ)=SAVSRQ THEN 300 350 SAVSRQ=SAVSRQ XOR SETSRQ:PRINT:PRINT "SRQ ";:IF SAVSRQ THEN PRINT"TRUE" ELSE PRINT"FALSE" 360 GOTO 300 370 CI=INP(254):DI=INP(255):CO=CO OR SETNRFD:GOSUB 400:CO=CO AND RESNDAC:GOSUB 400 380 IF INP(254)AND SETDAV THEN 380 ELSE CO=CO OR SETNDAC 390 IF CI AND SETEOI THEN PRINT" eoi+"; 400 OUT 254,CO:RETURN 410 : 420 OUT 254,SETATN:IF INP(254) AND SETNDAC THEN 430 ELSE 420 430 OUT 254,SETATN OR SETDAV:IF INP(254) AND SETNDAC THEN 430 440 OUT 254,0:OUT 255,0 450 RETURN 460 : 470 SAVE"MON"