Listing of file='T09A030A' on disk='vmedia/cs386_host_1.2.wvd.zip'
# Sector 94, program filename = 'T09A030A' 2000 REM T09A030A-01 10/04/78 2010 DIM B2$(16)20,B2$20,E1$1,E$(255)1,D0$1,B3$(2)1,B4$20,A$(69)60,C1$(69)60,B 9$(16)1,B0$1,B1$1,Z1$2,Z2$1,D$64,Z$64,Z9$16,V$20 : C9=69 2020 GOSUB '104 : IF A9$="N"THEN 2020 : GOTO 400 2030 DEFFN'104 : INIT(09)Z$ : Z1$=HEX(0001) : Z2$=" " : INIT(0A)Z9$ : STR(Z9$,1,1)=HEX(01) : GOTO 2730 2040 DEFFN0(I)=INT(2042*(1+SIN(1.2*I)))+12 2050 DEFFN1(I)=256*VAL(STR(B$,9))+VAL(STR(B$,10)) 2060 DEFFN'25 : GOSUB '202("WGAP") : Z9=INT(25*RND(-1)) : FOR I=1TO Z9 : $GIO#1(J5$,B$) : A$=HEX(0D) : GOSUB '201 : NEXT I : RETURN 2070 IF G$="N"THEN 2080 : STOP "ERROR" 2080 I1=I1+1 : X=FN0(E) : $PACKC1$()FROMX : BIN(C1$(1))=E : V=VAL(STR(D$,I1))-64 : IF V*(13-V)<1THEN 2190 : INIT(00)B$,B3$(),E1$ : ON VGOSUB 2280,2310,2330,2380,2410,2430,2270,2270,2440,2450,2460,2270 : IF B4$=B2$THEN 2110 2090 FOR I=2TO 10 : IF STR(B4$,2*I-1,2)=HEX(0000)THEN 2100 : PRINT STR(Z9$,1,I-3);STR(Z$,1,2); : HEXPRINT STR(B4$,2*I-1,2); : PRINT " ";B2$(I) 2100 NEXT I 2101 IF A7$="N" THEN 2110 : IF V$=B4$THEN 2110 2102 GOSUB '255(" ") : SELECT PRINT 215 : FOR I=2TO 10 : IF STR(B4$,2*I-1,2)=HEX(0000)THEN 2103 : IF STR(B4$,2*I-1,2)=STR(V$,2*I-1,2)THEN 2103 : HEXPRINT STR(B4$,2*I-1,2); : PRINT " ";B2$(I) 2103 NEXT I : V$=B4$ : SELECT PRINT 005(64) 2110 E=E1 : D0$=STR(D$,I1) : IF E1$<>"E"THEN 2120 : B$=" " : IF G$="Y"THEN 2070 2120 GOTO 2080 2130 N=FN1(E) : IF X=NTHEN 2140 : I=9 : GOSUB 2180 2140 J=1 : I=10 : IF N<=60*C9THEN 2150 : N=60*C9 2150 IF N<60THEN 2160 : IF A$(J)<>C1$(J)THEN 2180 : J=J+1 : N=N-60 : GOTO 2150 2160 IF N>0THEN 2170 : RETURN 2170 IF STR(A$(J),1,N)<>STR(C1$(J),1,N)THEN 2180 : RETURN 2180 ADDC(STR(B4$,2*I-1,2),Z1$) : PRINT STR(Z9$,1,I-3);">" : E1$="E" : RETURN 2190 IF (V+16)*(V+7)>0THEN 2220 : IF D0<>0THEN 2480 : D0=V+16 : D2=0 2200 I1=I1+1 : V=VAL(STR(D$,I1))-48 : IF V*(9-V)<0THEN 2210 : D0=10*D0+V : GOTO 2200 2210 IF V<>-8THEN 2480 : IF POS(STR(D$,I1+1)=")")=0THEN 2480 : D1=I1 : GOTO 2080 2220 IF V<>-23THEN 2230 : IF D0<=0THEN 2480 : D0=D0-1 : IF D0=0THEN 2080 : I1=D1 : GOTO 2080 2230 IF V<>-18THEN 2240 : RETURN 2240 IF V<>-32THEN 2250 : READ D$ : PRINT HEX(010A0A);STR(D$,1) : D0=0 : I1=1 : IF STR(D$,1,1)="-"THEN 2080 : STOP "ILLEGAL CONTINUE" 2250 IF V<>-4THEN 2260 : IF D0=0THEN 2480 : IF D2<>0THEN 2480 : D2=D0 : D3=I1 : GOTO 2080 2260 IF V<>-2THEN 2270 : IF D2<=0THEN 2480 : D2=D2-1 : IF D2=0THEN 2080 : I1=D3 : GOTO 2080 2270 STOP "ILLEGAL ATOM" 2280 GOSUB '202("BSR") : E1=E-1 : IF E1>0THEN 2290 : E1=1 : GOSUB 2500 2290 IF E$(E1)="R"THEN 2300 : GOSUB 2490 2300 $GIO#1(J3$,B$) : A$=HEX(1B) : GOSUB '201 : GOTO 2530 2310 GOSUB '202("FSR") : IF E$(E)=" "THEN 2480 : E1=E+1 : IF E$(E)="R"THEN 2320 : GOSUB 2490 2320 $GIO#1(J4$,B$) : A$=HEX(0F) : GOSUB '201 : GOTO 2530 2330 GOSUB '202("BSF") : E1=1 : IF E=1THEN 2350 : FOR I=1TO E-1 : IF E$(I)<>"F"THEN 2340 : E1=I+1 2340 NEXT I 2350 IF E1>1THEN 2360 : GOSUB 2500 : GOTO 2370 2360 GOSUB 2490 2370 $GIO#1(J7$,B$) : A$=HEX(1B) : GOSUB '201 : B0$=STR(B$,7,1) : AND (B0$,20) : IF B0$=" "THEN 2530 : $GIO#1(J4$,B$) : GOTO 2530 2380 GOSUB '202("FSF") : I=E 2390 IF E$(I)="F"THEN 2400 : I=I+1 : IF I<256THEN 2390 : GOTO 2480 2400 E1=I+1 : GOSUB 2490 : $GIO#1(J8$,B$) : A$=HEX(0F) : GOSUB '201 : GOTO 2530 2410 GOSUB '202("REWIND") : E1=1 : IF E>1THEN 2420 : GOSUB 2500 2420 $GIO#1(J2$,B$) : A$=HEX(19) : GOSUB '201 : B3$(1)="B" : GOTO 2530 2430 GOSUB '202("WGAP") : GOSUB 2510 : $GIO#1(J5$,B$) : A$=HEX(0D) : GOSUB '201 : GOTO 2530 2440 GOSUB '202("WEOF") : GOSUB 2510 : E$(E)="F" : E1=E+1 : $GIO#1(J6$,B$) : A$=HEX(0F) : GOSUB '201 : B3$(2)="E" : GOTO 2530 2450 GOSUB '202("WRITE") : GOSUB 2510 : E1=E+1 : E$(E)="R" : $GIO#1(J$,B$)C1$()<1,X> : A$=HEX(EF) : Z=X : GOSUB '201 : GOTO 2530 2460 GOSUB '202("READ") : E1=E+1 : IF E$(E)=" "THEN 2480 : IF E$(E)="R"THEN 2470 : GOSUB 2490 2470 $GIO#1(J1$,B$)A$() : A$=HEX(6F) : GOSUB '201 : GOTO 2530 2480 STOP "IMPROPER SEQUENCE" 2490 B3$(2)="E" : RETURN 2500 B3$(1)="E" : RETURN 2510 $TRAN(E$()<E1>,Z2$)00 : IF V=12THEN 2520 2520 RETURN 2530 B0$=STR(B$,7) : INIT(00)B9$() : FOR I=1TO 8 : B1$=B0$ : AND (B1$,01) : ROTATE(B0$,7) : B9$(I)=B1$ : NEXT I : B0$=STR(B$,8) : FOR I=9TO 16 : B1$=B0$ : AND (B1$,01) : ROTATE(B0$,7) : B9$(I)=B1$ : NEXT I : B0$=STR(B$,7) : AND (B0$,09) : IF B0$=HEX(00)THEN 2550 2540 I=1 : GOSUB 2180 : GOTO 2780 2550 B1$,B0$=STR(B$,8) : AND (B0$,F9) : IF B0$>HEX(00)THEN 2540 : B1$=B0$ : AND (B1$,04) : IF B1$=HEX(00)THEN 2560 : PRINT "ECHO VERIFY ERROR" : GOSUB '255("ECHO VERIFY ERROR") : IF STR(B$,7,2)=HEX(0004)THEN 2780 : GOTO 2540 2560 IF B9$(10)=HEX(00)THEN 2570 : I=2 : GOSUB 2180 2570 IF B9$(2)<>HEX(00)THEN 2580 : IF B9$(5)=HEX(00)THEN 2590 2580 STOP "TAPE PROTECTED OR NOT READY" 2590 IF B9$(7)=HEX(00)THEN 2600 : I=3 : GOSUB 2180 2600 IF B9$(8)=HEX(00)THEN 2610 : I=4 : GOSUB 2180 2610 IF B9$(6)=HEX(00)THEN 2620 : IF B3$(1)>HEX(00)THEN 2630 : I=5 : GOSUB 2180 2620 IF B3$(1)=HEX(00)THEN 2630 : I=6 : GOSUB 2180 2630 IF B9$(3)=HEX(00)THEN 2640 : IF B3$(2)>HEX(00)THEN 2650 : I=7 : GOSUB 2180 2640 IF B3$(2)=HEX(00)THEN 2650 : I=8 : GOSUB 2180 2650 IF B9$(3)=HEX(00)THEN 2660 : RETURN 2660 IF STR(D$,I1,1)="H"THEN 2130 : IF STR(D$,I1,1)="K"THEN 2130 : RETURN 2670 X0=1 : INIT(00)B4$,V$ 2680 I=X1-17*INT(X1/17) : IF I=16THEN 2690 : BIN(C1$(1))=I+I*16 : BIN(STR(C1$(1),2))=255-I-I*16 : STR(C1$(1),3)=STR(C1$(1),1) : FOR I=2TO C9 : C1$(I)=C1$(1) : NEXT I : GOTO 2700 2690 INIT(00)C1$() 2700 IF X0*(D9-X0+1)>0THEN 2710 : STOP "ILLEGAL VALUE" 2710 RESTORE X0+1 : READ I : RESTORE I+D9+1 : READ D$ : E1,E=1 : D0,I1=0 : INIT(" ")E$(),D0$ : GOSUB '200("MIXED COMMANDS") : GOSUB '202("REWIND") : $GIO#1(J2$,B$) : A$=HEX(19) : GOSUB '201 : GOSUB '25 : GOSUB 2080 : X1=X1+1 : X0=X0+1 : IF X0<=D9THEN 2680 : RETURN 2720 RETURN 2730 B2$(1)="UNCORRECTABLE" : B2$(4)="DATA ERROR" : B2$(5)="BOT" : B2$(6)="MISSING BOT" : B2$(7)="FILE MARK" : B2$(8)="MISSING FILE MARK" 2740 B2$(9)="COUNT ERROR" : B2$(10)="DATA NOT EQUAL" : INIT(00)B4$,B2$ : RESTORE : READ D9 : GOTO 2670 2750 DATA 12 : DATA 1,2,3,4,5,6,7,8,9,10,11,12 : DATA "I2(<JFFJFJI><AC>DACKKKBAIJJFJI)." : DATA "I2(<JFFFFFFJFFJFFJI><AC>KKKKKAI)." : DATA "I3(<JJJFFFJI>)2(<ACACAC><KKKBB>)." 2760 DATA "I2(<JFFFFJFFJFJI><AAAAKKKC>BBBDA)." : DATA "I2(<JFJFJFFJI><AC><KKKKB>AI)." : DATA "I2(<JJFFFJI><AAAA><BBKK><AC>DA)." : DATA "50(J)IAC50(K)." : DATA "3(<JFFJJ>IF)3(AC)2(D<KKK>)." 2770 DATA "2(<JJFIAJAAAKKKA>A<JFJJFJFIACKKKKKA>)." : DATA "2(<JJ>IFAC<KK>A)." : DATA "I10(JJJJJI)10(AC)50(K)." : DATA "I2(JJI)2(AC)KKKKKK." 2780 STOP "UNRECOVERABLE ERROR" 9000 PRINT HEX(03);"2200 HARDWARE DIAGNOSTICS - 2227 ------------------------- -------" : PRINT HEX(0A0A0A0A0A0A0A0A0A0A0A0A0A0A);"DIAGNOSTIC MENU ; KEY 'RESET' AN D SF'31";HEX(01) : RETURN 9010 DEFFN'31 : SELECT PRINT 005(64) : LOAD DC T"START"