image of READY prompt

Wang2200.org

Listing of file='WDKD020A' on disk='vmedia/701-2046C.wvd.zip'

# Sector 244, program filename = 'WDKD020A'
0010 REM .WDKD020A
0100 DIM D$(4)64,D1$(4)64,D2$(4)64,D3$(4)64,W$8,W1$1,L$(1)2,B$(153),D1$3,C$(4)
     64,P2$1,E1$2,E2$4
   : GOTO 1030
0120 L=L+1
0130 O=INT(RND(1)*9)+1
0140 A=INT(RND(1)*A1)
   : IF A<A0THEN 140
   : P=INT(RND(1)*9)+1
   : IF O<=3THEN 580
0180 DATA LOAD BA T#1,(A,L$)D$()
   : P=VAL(STR(D$(4),64))
   : A2=VAL(STR(D$(4),62))*256+VAL(STR(D$(4),63))
   : IF A<>A2THEN 1890
   : L$(1)=HEX(FFFF)
   : MAT SEARCHD$()<1,252>,<>STR(P$,P,1)TO L$()
   : IF L$(1)>HEX(0000)THEN 1910
   : U0=INT(A/128)
   : U1=A-U0*128
0270 U2=INT(U1/8)
   : U3=U1-U2*8
   : W1$=STR(W$,U3+1,1)
   : XOR (W1$,STR(B$(U0+1),U2+1,1))
   : AND (W1$,STR(W$,U3+1,1))
   : IF W1$>HEX(00)THEN 420
   : PRINT HEX(010A0A0A0A0A0A);
   : PRINTUSING 1850,L
   : PRINTUSING 1860,(L/A6)*100
   : PRINTUSING 1870,A
   : PRINT "PATTERN = ";
   : HEXPRINT STR(P$,P,1)
0390 XOR (STR(B$(U0+1),U2+1,1),STR(W$,U3+1,1))
   : IF L<A6THEN 120
   : RETURN
0420 L$(1)=HEX(FFFF)
   : MAT SEARCHB$(),<>P2$TO L$()
   : V=VAL(STR(L$(1),1,1))*256+VAL(STR(L$(1),2,1))-1
   : B=INT(V/16)
   : B1=V-16*B
   : FOR I=1TO 8
   : W1$=STR(W$,I,1)
   : AND (W1$,STR(B$(B+1),B1+1,1))
   : IF W1$=HEX(00)THEN 540
   : T=I-1
   : I=8
   : GOTO 550
0540 T=7
0550 NEXT I
   : A=V*8+T
   : GOTO 180
0580 A9=INT(A/256)
   : A8=A-A9*256
   : INIT(STR(P$,P,1))C$()
   : BIN(STR(C$(4),62))=A9
   : BIN(STR(C$(4),63))=A8
   : BIN(STR(C$(4),64))=P
   : DATA SAVE BA T#1,(A,L$)C$()
   : PRINT HEX(010A0A0A0A0A0A);
   : FOR I=1TO 4
   : PRINT HEX(09090909090909090909);
   : NEXT I
   : PRINTUSING 1880,A
   : FOR I=1TO 4
0710 PRINT HEX(09090909090909090909);
   : NEXT I
   : PRINT "PATTERN = ";
   : HEXPRINT STR(P$,P,1)
   : GOTO 130
0760 P=INT(RND(1)*29)+1
   : INIT(STR(P$,P,1))D$()
   : A9=INT(A5/256)
   : A8=A5-A9*256
   : BIN(STR(D$(4),62))=A9
   : BIN(STR(D$(4),63))=A8
   : BIN(STR(D$(4),64))=P
   : RETURN
0840 A5=A0
   : GOSUB 760
   : MAT COPY D$()TO D1$()
   : A5=A0+1
   : GOSUB 760
   : MAT COPY D$()TO D2$()
   : A5=A0+2
   : GOSUB 760
   : MAT COPY D$()TO D3$()
   : A5=A0+3
   : GOSUB 760
   : PRINT "WRITE DATA ON SECTORS ";A0;" - ";A0+3
   : PRINT HEX(0C);
   : DATA SAVE BA T$#1,(A0,A0)D1$()
0980 DATA SAVE BA T$#1,(A0,A0)D2$()
   : DATA SAVE BA T$#1,(A0,A0)D3$()
   : DATA SAVE BA T$#1,(A0,A0)D$()
   : IF A0<A1THEN 840
   : RETURN
1030 SELECT PRINT 005
   : PRINT HEX(03)
   : PRINT "MOUNT SCRATCH DISKS IN ALL TEST DRIVES"
   : PRINT "KEY (EXEC) TO RESUME";
   : INPUT Z
   : P9=P9+1
1100 A0=0
   : W$=HEX(0102040810204080)
   : P2$=HEX(00)
   : ON O1GOTO 1150,1180,1210,1240
   : GOTO 1370
1150 A1=2399
   : GOTO 1260
1180 A1=4799
   : GOTO 1260
1210 A1=9791
   : GOTO 1260
1240 A1=19583
1260 A6=A1-A0+1
   : IF Z1(1)<4THEN 1264
   : B3=Z1(1)-3
   : GOTO 1270
1264 B3=Z1(1)
1270 IF Z1=2THEN 1290
   : IF Z1(1)>2THEN 1340
1290 GOSUB 1960
   : GOSUB 1680
   : IF Z1=1THEN 1370
1340 GOSUB 2010
   : GOSUB 1680
1370 A0=0
   : A1=1023
   : A6=1024
   : B3=Z2(1)
1490 IF T1=0THEN 1530
   : GOSUB 1960
   : GOSUB 1680
1530 IF T2=0THEN 1570
   : GOSUB 2010
   : GOSUB 1680
1570 IF T3=0THEN 1610
   : GOSUB 2060
   : GOSUB 1680
1610 SELECT PRINT 005(64)
   : PRINT HEX(01);"MOUNT THE PROGRAM DISK, KEY (EXEC) TO RESUME"
   : INPUT Z
1620 COM CLEAR Z1
   : LOAD DC T#6,"S/START"
1640 ON ERRORE1$,E2$GOTO 1650
1650 E9$(P9)="NG"
   : PRINT HEX(0A0A);"ERROR #";E1$,"AT STMT #";E2$
   : GOTO 1610
1680 L,A0=0
   : A6=A1-A0+1
   : GOSUB 1820
   : PRINT HEX(0A0A)
   : GOSUB 840
   : INIT(FF)B$()
   : A0,L=0
   : IF LEN(D$)>6THEN 1790
   : IF O1=0THEN 1790
   : IF O3=2THEN 1790
   : A6=500
1790 GOSUB 1820
   : GOSUB 120
   : RETURN
1820 PRINT HEX(03);"2200 HARDWARE DIAGNOSTIC - DISK ";D1$
   : PRINT HEX(0A);
   : RETURN
1850 %     SECTOR READ = #####
1860 %     PERCENT    = ##.## %
1870 %     READ SECTOR    #####
1880 %WRITE ON SECTOR #####
1890 PRINT "ERROR ON SECTOR # ";A
   : GOTO 1650
1910 PRINT "DATA ERROR ON SECTOR # ";A
   : GOTO 1650
1930 DEFFN'15
   : COM CLEAR
   : LOAD DC T#6,"START"
1960 ON B3GOTO 1970,1990
1970 SELECT #1310
   : D1$="310"
   : RETURN
1990 SELECT #1320
   : D1$="320"
   : RETURN
2010 ON B3GOTO 2020,2040
2020 SELECT #1B10
   : D1$="B10"
   : RETURN
2040 SELECT #1B20
   : D1$="B20"
   : RETURN
2060 ON B3GOTO 2070,2090
2070 SELECT #1350
   : D1$="350"
   : RETURN
2090 SELECT #1360
   : D1$="360"
   : RETURN