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