Listing of file='28DEFEI' on disk='vmedia/mvp-diag-2.6.2.wvd.zip'
# Sector 4513, program filename = '28DEFEI' 0010 DIM R$10,C$15 0020 DIM T$1,A$3,A1$,C8$,E$,D$(9)70,M$(9)70,N$(9)70,P$(9)70,S$1 : PRINT HEX(03) 0030 D$(1)="INCORRECT OPCODE DECODER PROM OUTPUT " : D$(2)="ILLEGAL OPCODE DETECTOR ERRONEOUSLY GENERATED AN NMI " : D$(3)="ILLEGAL OPCODE DETECTOR FAILED TO GENERATE AN NMI " 0040 D$(4)="OPCODE DECODER PROM CHECKSUM ERROR " : D$(5)=" DS STEERING LOGIC FAILED DURING AN NMI " : D$(6)=" DS STEERING LOGIC FAILED DURING A MODE 2 INTERRUPT " 0050 D$(7)=" DS STEERING LOGIC FAILED DURING A STEERING INSTRUCTION " : D$(8)=" D SPACE AREA OF RAM FAILED " : D$(9)="READ ERROR FROM D SPACE DURING ID MODE" 0060 M$(1)=" ERROR CODE INTERPRETER FOR THE 2228D/E/F POWER UP DIAGNOSTIC " : M$(2)="PRESS RETURN TO CONTINUE " : M$(3)="UNABLE TO COMMUNICATE WITH CONTROLLER" : M$(4)="ERROR CODE RECEIVED = " : M$(5)=" GETTING ERROR CODE FROM CONTROLLER " 0070 M$(6)="CONTROLLER FAILED DMA POWER UP TEST" : M$(7) ="CONTROLLER FAILED DMA CURRENT AND WORD COUNT REGISTERS TEST" : M$(8)="CONTROLLER FAILED CTC GO/NO GO POWER UP TEST" : M$(9)="CONTROLLER FAILED CTC CHANNEL INTERRUPT TEST" 0080 N$(1)="CONTROLLER FAILED SIO BISYNC INTERNAL LOOP BACK TRANSMIT/RECEIVE T EST" : N$(2)="NMI OCCURRED DURING POWER UP DIAGNOTIC " : N$(3)="NMI OCCURRED DURING NORMAL OPERATION FROM BOOTSTRAP" : N$(4)="ALL POWER UP DIAGNOSTICS PASSED UPON RETRY" 0090 N$(5)="WRITE BAD PARITY/PARITY GENERATOR TEST ERROR" : N$(6)="MEMORY ERROR" : N$(7)="FAILING MEMORY ADDRESS = " : N$(8)="EXPECTED DATA = " : N$(9)="ACTUAL DATA = " 0100 P$(1)="ON A TEST OTHER THAN PARITY, BANK DECODER, OR MARCHING 1'S AND 0'S " : P$(2)="INVALID STATUS ERROR CODE RECEIVED FROM CONTROLLER" : P$(3)="EXPECTED DATA = ACTUAL DATA = " : P$(4)="BAD PARITY" : P$(5)="BANK DECODER TEST ERROR" 0110 P$(6)="CONTROLLER FAILED SIO BISYNC EXTERNAL LOOP BACK TRANSMIT/RECEIVE T EST" : P$(7)="PRESS RETURN TO TEST PIO & 2200 OB'S AND IB'S " 0120 PRINT HEX(03);AT(2,9);M$(1);AT(4,32);"REVISION 3370"; 0130 PRINT AT(12,0);"This program interprets error codes from the 2228D/E/F, O NLY if the LED is FLASHING. DO NOT use for any other purpose. The r esults will be unpredictable." 0140 PRINT AT(22,26);M$(2); 0150 KEYIN E$ : IF E$=HEX(0D) THEN 160 : GOTO 150 0160 PRINT HEX(03);AT(1,10);M$(1);AT(3,32);"REVISION 3370";AT(6,10);"DOES THIS CONTROLLER HAVE A REV D, E, OR F DAUGHTER BOARD ?" 0170 PRINT AT(10,25); : LINPUT " PLEASE ENTER D, E, OR F."-T$ 0180 IF STR(T$,1,1)<HEX(44) THEN GOTO 160 0190 IF STR(T$,1,1)>HEX(46) THEN GOTO 160 0200 PRINT HEX(03);AT(1,10);M$(1);AT(3,32);"REVISION 3370";AT(6,10);"AVAILABLE ADDRESSES ARE - 019 01A 01B 01C 01D 01E 01F" 0210 PRINT AT(10,0); : LINPUT " PLEASE ENTER THE ADDRESS OF THIS CONTROLLER ?"-A$ 0220 IF STR(A$,1,1)="0" THEN 230 : GOTO 250 0230 IF STR(A$,2,1)<> "1" THEN 250 : IF STR(A$,3,1)<"9" THEN 250 : IF STR(A$,3,1)>"F"THEN 250 0240 SELECT #1<A$> : GOTO 290 0250 PRINT AT(12,21);"ADDRESS IS NOT WITHIN SPECIFIED RANGE";HEX(06) : GOSUB 260 : FOR I = 1 TO 60 : PRINT AT(12,I);HEX(20) : NEXT I : GOTO 210 0260 FOR I =1 TO 5000 : NEXT I : RETURN 0270 PRINT HEX(03) : PRINT AT(12,10);M$(1) : PRINT AT(22,26);M$(2) : PRINT HEX(06) 0280 KEYIN E$ : IF E$=HEX(0D) THEN 290 : GOTO 280 0290 PRINT HEX(03) : STR(R$,3,2)=HEX(000D) 0300 $GIO #1(1232 1020,R$) 0310 PRINT AT(9,25);"SELECTING DEVICE ADDRESS ";HEX(20);A$ 0320 PRINT AT(11,33);"DEVICE IS ";HEX(06020404020E); 0330 STR(R$,8,1)=STR(R$,8,1)AND HEX(10) : IF STR(R$,8,1)=HEX(10) THEN 340 : PRINT "READY";HEX(020400000F) : GOTO 350 0340 PRINT "BUSY";HEX(020400000F) 0350 PRINT AT(22,28);M$(2) : PRINT HEX(06) : E$=HEX(20) 0360 KEYIN E$ : IF E$=HEX(0D) THEN 370 : GOTO 360 0370 PRINT HEX(0306);AT(12,14);M$(5) : $GIO #1 (4103 7510 1232 8602 1200,R$) 0380 IF STR(R$,2,1)<>HEX(20)THEN 400 0390 PRINT HEX(0306);AT(10,21);M$(3) : $GIO #1(4103 7510 1232 8602 1200,R$) : GOTO 380 0400 IF STR(R$,2,1)<>HEX(01) THEN 410 : PRINT HEX(0306);AT(10,18);N$(5);AT(15,28);M$(4);HEX(20);HEXOF(STR(R$,2,1) ) : GOTO 610 0410 IF STR(R$,2,1)<>HEX(02) THEN 420 : PRINT HEX(0306);AT(10,27);P$(5);AT(15,26); M$(4);HEX(20);HEXOF(STR(R$,2,1 )) : GOTO 610 0420 IF STR(R$,2,1)<>HEX(03) THEN 430 : GOTO 690 0430 IF STR(R$,2,1)<>HEX(04) THEN 440 : PRINT HEX(0306);AT(10,22);M$(6);AT(15,28);M$(4);HEX(20);HEXOF(STR(R$,2,1) ) : GOTO 610 0440 IF STR(R$,2,1)<>HEX(05) THEN 450 : PRINT HEX(0306);AT(10,10);M$(7);AT(15,28);M$(4);HEX(20);HEXOF(STR(R$,2,1) ) : GOTO 610 0450 IF STR(R$,2,1)<>HEX(06) THEN 460 : PRINT HEX(0306);AT(10,18);M$(8);AT(15,28);M$(4); HEX(20);HEXOF(STR(R$,2,1 )) : GOTO 610 0460 IF STR(R$,2,1)<>HEX(07) THEN 470 : PRINT HEX(0306);AT(10,18);M$(9);AT(15,28);M$(4);HEX(20);HEXOF(STR(R$,2,1) ) : GOTO 610 0470 IF STR(R$,2,1)<>HEX(08) THEN 480 : PRINT HEX(0306);AT(10,20);N$(2);AT(12,8);P$(1);AT(15,26);M$(4);HEX(20);HE XOF(STR(R$,2,1)) : GOTO 610 0480 IF STR(R$,2,1)<>HEX(09) THEN 490 : PRINT HEX(0306);AT(10,13);N$(3);AT(12,18);N$(4);AT(15,26);M$(4);HEX(20);H EXOF(STR(R$,2,1)) : GOTO 610 0490 IF STR(R$,2,1)<>HEX(10) THEN 500 : PRINT HEX(0306);AT(10,6);P$(6);AT(15,27);M$(4);HEX(20);HEXOF(STR(R$,2,1)) : GOTO 610 0500 IF STR(R$,2,1)<>HEX(11) THEN 510 : PRINT HEX(0306);AT(10,4);N$(1);AT(15,25);M$(4);HEX(20);HEXOF(STR(R$,2,1)) : GOTO 610 0510 IF STR(R$,2,1)<>HEX(12) THEN 520 : PRINT HEX(0306);AT(10,4);D$(1);AT(15,25);M$(4);HEX(20);HEXOF(STR(R$,2,1)) : GOTO 610 0520 IF STR(R$,2,1)<>HEX(13) THEN 530 : PRINT HEX(0306);AT(10,4);D$(2);AT(15,25);M$(4);HEX(20);HEXOF(STR(R$,2,1)) : GOTO 610 0530 IF STR(R$,2,1)<>HEX(14) THEN 540 : PRINT HEX(0306);AT(10,4);D$(3);AT(15,25);M$(4);HEX(20);HEXOF(STR(R$,2,1)) : GOTO 610 0540 IF STR(R$,2,1)<>HEX(15) THEN 550 : PRINT HEX(0306);AT(10,4);D$(4);AT(15,25);M$(4);HEX(20);HEXOF(STR(R$,2,1)) : GOTO 610 0550 IF STR(R$,2,1)<>HEX(16) THEN 560 : PRINT HEX(0306);AT(10,4);D$(5);AT(15,25);M$(4);HEX(20);HEXOF(STR(R$,2,1)) : GOTO 610 0560 IF STR(R$,2,1)<>HEX(17) THEN 570 : PRINT HEX(0306);AT(10,4);D$(6);AT(15,25);M$(4);HEX(20);HEXOF(STR(R$,2,1)) : GOTO 610 0570 IF STR(R$,2,1)<>HEX(18) THEN 580 : PRINT HEX(0306);AT(10,4);D$(7);AT(15,25);M$(4);HEX(20);HEXOF(STR(R$,2,1)) : GOTO 610 0580 IF STR(R$,2,1)<>HEX(19) THEN 600 : PRINT HEX(0306);AT(10,4);D$(8);AT(15,25);M$(4);HEX(20);HEXOF(STR(R$,2,1)) : GOTO 690 0590 IF STR(R$,2,1)<>HEX(1A) THEN 600 : PRINT HEX(0306);AT(10,4);D$(9);AT(15,25);M$(4);HEX(20);HEXOF(STR(R$,2,1)) : GOTO 690 0600 PRINT HEX(0306);AT(10,15);P$(2);AT(15,28);M$(4);HEX(20);HEXOF(STR(R$,2,1) ) 0610 PRINT HEX(06);AT(22,18);P$(7) 0620 KEYIN E$ : IF E$=HEX(0D) THEN 630 : GOTO 620 0630 PRINT HEX(03) : A$=HEX(20) : PRINT AT(10,13); : LINPUT "INPUT THE HEX CHARACTER TO BE TRANSMITTED:"A$ 0640 HEXPACK A1$ FROM A$ 0650 STR(R$,1,1)=A1$ : STR(R$,3,2)=HEX(0001) : $GIO #1 (4005 4210 7510 1232 8602 1200,R$) 0660 PRINT HEX(06);AT(15,27);" RECEIVED BYTE ";HEX(20);HEXOF(STR(R$,2,1)) 0670 PRINT HEX(06);AT(22,24);M$(2) : KEYIN E$ : IF E$=HEX(0D) THEN 680 : GOTO 670 0680 GOTO 630 0690 $GIO #1 (4004 75FF C620,R$)C$ : IF STR(C$,1,1)=HEX(28) THEN 1310 0700 IF STR(C$,1,1)<>HEX(01) THEN 600 : PRINT HEX(0306);AT(1,30);HEX(0E);BOX(1,15);HEX(2020);N$(6);HEX(0F);AT(5,2 3);N$(7);HEX(0E);HEX(20);BOX(1,7);HEX(2020);HEXOF(STR(C$,2,2));HEX(0F) 0710 IF STR(C$,4,1)=STR(C$,5,1) THEN 720 : GOTO 730 0720 PRINT AT(8,16);P$(3);HEX(0E);HEX(20);BOX(1,13);HEX(2020);P$(4) : PRINT HEX(0F) : GOTO 740 0730 PRINT AT(8,16);N$(8);HEX(0E);HEX(20);BOX(1,5);HEX(2020);HEXOF(STR(C$,4,1) );HEX(0F);AT(8,45);N$(9);HEX(0E);HEX(20);BOX(1,5);HEX(2020);HEXOF(STR(C$, 5,1));HEX(0F) 0740 IF STR(C$,6,1)<>HEX(01) THEN 820 : PRINT AT(11,23);N$(7);HEX(0E);HEX(20);BOX(1,7);HEX(2020);HEXOF(STR(C$,7,2 ));HEX(0F) 0750 IF STR(C$,9,1)=STR(C$,10,1) THEN 760 : GOTO 770 0760 PRINT AT(14,16);P$(3);HEX(0E);HEX(20);BOX(1,13);HEX(2020);P$(4);HEX(0F) : GOTO 780 0770 PRINT AT(14,16);N$(8);HEX(0E);HEX(20);BOX(1,5);HEX(2020);HEXOF(STR(C$,9,1 ));HEX(0F);AT(14,45);N$(9);HEX(0E);HEX(20);BOX(1,5);HEX(2020);HEXOF(STR(C $,10,1));HEX(0F) 0780 IF STR(C$,11,1)<>HEX(01) THEN 820 : PRINT AT(17,23);N$(7);HEX(0E);HEX(20);BOX(1,7);HEX(2020);HEXOF(STR(C$,12, 2));HEX(0F) 0790 IF STR(C$,14,1)=STR(C$,15,1) THEN 800 : GOTO 810 0800 PRINT AT(20,16);P$(3);HEX(0E);HEX(20);BOX(1,13);HEX(2020);P$(4);HEX(0F) : GOTO 820 0810 PRINT AT(20,16);N$(8);HEX(0E);HEX(20);BOX(1,5);HEX(2020);HEXOF(STR(C$,14, 1));HEX(0F);AT(20,45);N$(9);HEX(0E);HEX(20);BOX(1,5);HEX(2020);HEXOF(STR( C$,15,1));HEX(0F) 0820 IF T$ = "F" THEN GOTO 820 : PRINT HEX(06);AT(23,20);"KEY RETURN FOR BOARD DISPLAY OF ERROR(S)" : E$=HEX(20) 0830 KEYIN E$ : IF E$ = HEX(0D) THEN 840 : GOTO 830 0840 PRINT HEX(0306); : I=3 : J=0 0850 FOR K = 1 TO 9 0860 PRINT AT(I,J); : PRINT BOX(3,4); 0870 J=J+6 : NEXT K : J=0 : IF I> 12 THEN 890 0880 I=I+4 : GOTO 850 0890 PRINT AT(2,1);HEX(0E);"80 40 20 10 8 4 2 1 P ";HEX(0F) 0900 PRINT AT(4,55);"BANK # 1 ";HEX(0E);"(0800 TO 3FFF)";HEX(0F);AT(8,55);"BAN K # 3 ";HEX(0E);"(8000 TO BFFF)";HEX(0F);AT(12,55);"BANK # 2 ";HEX(0E);"( 4000 TO 7FFF)";HEX(0F);AT(16,55);"BANK # 4 ";HEX(0E);"(C000 TO FFFF)";HEX (0F) 0910 IF STR(C$,2,1)> HEX(3F) THEN 920 : I=3 : J=2 : GOTO 970 0920 IF STR(C$,2,1)> HEX(7F) THEN 930 : I=11 : J=2 : GOTO 970 0930 I=15 : J=2 : IF STR(C$,2,1)> HEX(BF) THEN 970 : I=7 : J=2 : GOTO 970 0940 IF STR(C$,7,1)> HEX(7F) THEN 950 : I=11 : J=2 : GOTO 1090 0950 I=15 : J=2 : IF STR(C$,7,1)> HEX(BF) THEN 1100 : I=7 : J=2 : GOTO 1090 0960 I=15 : J=2 : IF STR(C$,12,1)>HEX(BF) THEN 1200 : I=7 : J=2 : GOTO 1200 0970 IF STR(C$,4,1)<>STR(C$,5,1) THEN 980 : J=50 : GOSUB 1080 0980 STR(C$,5,1)=XOR STR(C$,4,1) 0990 J=2 : C8$=STR(C$,5,1) AND HEX(80) : IF C8$=HEX(80)THEN GOSUB 1080 1000 J=8 : C8$=STR(C$,5,1) AND HEX(40) : IF C8$=HEX(40)THEN GOSUB 1080 1010 J=14 : C8$=STR(C$,5,1) AND HEX(20) : IF C8$=HEX(20)THEN GOSUB 1080 1020 J=20 : C8$=STR(C$,5,1) AND HEX(10) : IF C8$=HEX(10)THEN GOSUB 1080 1030 J=26 : C8$=STR(C$,5,1) AND HEX(08) : IF C8$=HEX(08)THEN GOSUB 1080 1040 J=32 : C8$=STR(C$,5,1) AND HEX(04) : IF C8$=HEX(04)THEN GOSUB 1080 1050 J=38 : C8$=STR(C$,5,1) AND HEX(02) : IF C8$=HEX(02)THEN GOSUB 1080 1060 J=44 : C8$=STR(C$,5,1) AND HEX(01) : IF C8$=HEX(01)THEN GOSUB 1080 1070 IF STR(C$,6,1)<>HEX(01) THEN 1300 : GOTO 940 1080 K=I : PRINT AT(K,J);HEX(0E);"B" : K=K+1 : PRINT AT(K,J);HEX(0E);"A" : K=K+1 : PRINT AT(K,J);HEX(0E);"D" : PRINT HEX(0F) : RETURN 1090 IF STR(C$,9,1)<>STR(C$,10,1) THEN 1100 : J=50 : GOSUB 1080 1100 STR(C$,10,1)=XOR STR(C$,9,1) 1110 J=2 : C8$=STR(C$,10,1) AND HEX(80) : IF C8$=HEX(80)THEN GOSUB 1080 1120 J=8 : C8$=STR(C$,10,1) AND HEX(40) : IF C8$=HEX(40)THEN GOSUB 1080 1130 J=14 : C8$=STR(C$,10,1) AND HEX(20) : IF C8$=HEX(20)THEN GOSUB 1080 1140 J=20 : C8$=STR(C$,10,1) AND HEX(10) : IF C8$=HEX(10)THEN GOSUB 1080 1150 J=26 : C8$=STR(C$,10,1) AND HEX(08) : IF C8$=HEX(08)THEN GOSUB 1080 1160 J=32 : C8$=STR(C$,10,1) AND HEX(04) : IF C8$=HEX(04)THEN GOSUB 1080 1170 J=38 : C8$=STR(C$,10,1) AND HEX(02) : IF C8$=HEX(02)THEN GOSUB 1080 1180 J=44 : C8$=STR(C$,10,1) AND HEX(01) : IF C8$=HEX(01)THEN GOSUB 1080 1190 IF STR(C$,11,1)<>HEX(01) THEN 1300 : GOTO 960 1200 IF STR(C$,9,1)<>STR(C$,10,1) THEN 1210 : J=50 : GOSUB 1080 1210 STR(C$,15,1)=XOR STR(C$,14,1) 1220 J=2 : C8$=STR(C$,15,1) AND HEX(80) : IF C8$=HEX(80)THEN GOSUB 1080 1230 J=8 : C8$=STR(C$,15,1) AND HEX(40) : IF C8$=HEX(40)THEN GOSUB 1080 1240 J=14 : C8$=STR(C$,15,1) AND HEX(20) : IF C8$=HEX(20)THEN GOSUB 1080 1250 J=20 : C8$=STR(C$,15,1) AND HEX(10) : IF C8$=HEX(10)THEN GOSUB 1080 1260 J=26 : C8$=STR(C$,15,1) AND HEX(08) : IF C8$=HEX(08)THEN GOSUB 1080 1270 J=32 : C8$=STR(C$,15,1) AND HEX(04) : IF C8$=HEX(04)THEN GOSUB 1080 1280 J=38 : C8$=STR(C$,15,1) AND HEX(02) : IF C8$=HEX(02)THEN GOSUB 1080 1290 J=44 : C8$=STR(C$,15,1) AND HEX(01) : IF C8$=HEX(01)THEN GOSUB 1080 1300 PRINT AT(21,0); : STOP 1310 S$=" " : IF STR(C$,2,1) = HEX(00) THEN S$="I" : IF STR(C$,2,1) = HEX(02) THEN S$="D" : IF S$ =" "THEN 600 : PRINT HEX(0306);AT(1,30);HEX(0E);BOX(1,23);HEX(2020);N$(6);HEX(20);S$;HEX (20);"SPACE";HEX(0F) 1320 PRINT AT(5,23);N$(7);HEX(0E);HEX(20);BOX(1,7);HEX(2020);HEXOF(STR(C$,5,2) );HEX(0F) : IF STR(C$,3,1)<>STR(C$,4,1) THEN 1340 1330 PRINT AT(8,16);P$(3);HEX(0E);HEX(20);BOX(1,13);HEX(2020);P$(4) : PRINT HEX(0F) : GOTO 1350 1340 PRINT AT(8,16);N$(8);HEX(0E);HEX(20);BOX(1,5);HEX(2020);HEXOF(STR(C$,3,1) );HEX(0F);AT(8,45);N$(9);HEX(0E);HEX(20);BOX(1,5);HEX(2020);HEXOF(STR(C$, 4,1));HEX(0F) 1350 IF S$="D" THEN 1390 : IF STR(C$,7,1)<>HEX(28) THEN 1390 : S$="D" : PRINT AT(11,30);HEX(0E);BOX(1,23);HEX(2020);N$(6);HEX(20);S$;HEX(20);"SPA CE";HEX(0F) 1360 PRINT AT(15,23);N$(7);HEX(0E);HEX(20);BOX(1,7);HEX(2020);HEXOF(STR(C$,11, 2));HEX(0F) : IF STR(C$,9,1)<>STR(C$,10,1) THEN 1380 1370 PRINT AT(18,16);P$(3);HEX(0E);HEX(20);BOX(1,13);HEX(2020);P$(4);HEX(0F) : GOTO 1390 1380 PRINT AT(18,16);N$(8);HEX(0E);HEX(20);BOX(1,5);HEX(2020);HEXOF(STR(C$,9,1 ));HEX(0F);AT(18,45);N$(9);HEX(0E);HEX(20);BOX(1,5);HEX(2020);HEXOF(STR(C $,10,1));HEX(0F) 1390 PRINT HEX(06);AT(23,20);"KEY RETURN FOR BOARD DISPLAY OF ERROR(S)"; : E$=HEX(20) 1400 KEYIN E$ : IF E$ = HEX(0D) THEN 1410 : GOTO 1400 1410 PRINT HEX(0306); : I=2 : J=0 1420 FOR K = 1 TO 9 1430 PRINT AT(I,J); : PRINT BOX(5,5); 1440 J=J+7 : NEXT K : J=0 : IF I> 9 THEN 1460 1450 I=I+8 : GOTO 1420 1460 PRINT AT(1,1);HEX(0E);" P 1 2 4 8 10 20 40 80";HEX(0F); 1470 PRINT AT(3,67);HEX(0E);"D RAM ";HEX(0F);AT(5,63);HEX(0E);"(0800 TO FFFF)" ;HEX(0F);AT(11,67);HEX(0E);"I RAM";HEX(0F);AT(13,63);HEX(0E);"(0800 TO FF FF)";HEX(0F); 1480 IF STR(C$,2,1)<> HEX(00) THEN 1490 : I=11 : GOTO 1500 1490 I=3 1500 IF STR(C$,3,1)<>STR(C$,4,1) THEN 1510 : J=3 : GOSUB 1080 1510 STR(C$,3,1)=XOR STR(C$,4,1) 1530 J=59 : C8$=STR(C$,3,1)AND HEX(80) : IF C8$=HEX(80)THEN GOSUB 1080 1540 J=52 : C8$=STR(C$,3,1) AND HEX(40) : IF C8$=HEX(40)THEN GOSUB 1080 1550 J=45 : C8$=STR(C$,3,1) AND HEX(20) : IF C8$=HEX(20)THEN GOSUB 1080 1560 J=38 : C8$=STR(C$,3,1) AND HEX(10) : IF C8$=HEX(10)THEN GOSUB 1080 1570 J=31 : C8$=STR(C$,3,1) AND HEX(08) : IF C8$=HEX(08)THEN GOSUB 1080 1580 J=24 : C8$=STR(C$,3,1) AND HEX(04) : IF C8$=HEX(04)THEN GOSUB 1080 1590 J=17 : C8$=STR(C$,3,1) AND HEX(02) : IF C8$=HEX(02)THEN GOSUB 1080 1600 J=10 : C8$=STR(C$,3,1) AND HEX(01) : IF C8$=HEX(01)THEN GOSUB 1080 1610 IF STR(C$,7,1)<>HEX(28) THEN 1300 1620 I=3 : IF STR(C$,9,1)<>STR(C$,10,1) THEN 1630 : J=3 : GOSUB 1080 1630 STR(C$,9,1)=XOR STR(C$,10,1) 1640 J=59 : C8$=STR(C$,9,1)AND HEX(80) : IF C8$=HEX(80)THEN GOSUB 1080 1650 J=52 : C8$=STR(C$,9,1) AND HEX(40) : IF C8$=HEX(40)THEN GOSUB 1080 1660 J=45 : C8$=STR(C$,9,1) AND HEX(20) : IF C8$=HEX(20)THEN GOSUB 1080 1670 J=38 : C8$=STR(C$,9,1) AND HEX(10) : IF C8$=HEX(10)THEN GOSUB 1080 1680 J=31 : C8$=STR(C$,9,1) AND HEX(08) : IF C8$=HEX(08)THEN GOSUB 1080 1690 J=24 : C8$=STR(C$,9,1) AND HEX(04) : IF C8$=HEX(04)THEN GOSUB 1080 1700 J=17 : C8$=STR(C$,9,1) AND HEX(02) : IF C8$=HEX(02)THEN GOSUB 1080 1710 J=10 : C8$=STR(C$,9,1) AND HEX(01) : IF C8$=HEX(01)THEN GOSUB 1080 1720 GOTO 1300 9999 DEFFN'16 : LOAD T"START"