Listing of file='EXPAN-02' on disk='vmedia/wcs_diags.wvd.zip'
# Sector 677, program filename = 'EXPAN-02'
0005 REM -- EXPAN-02 -- RICHARD NICHOLS 02/20/76
0010 DIM A$(4)64,D$(16),C$(50)8
: GOTO 120
0020 DEFFN'32
: XOR (A$(2),A$(1))
: XOR (A$(3),A$(2))
: XOR (A$(4),A$(3))
: FOR Y=1TO 6
: XOR (STR(A$(4),1,2^(6-Y)),STR(A$(4),2^(6-Y)+1,2^(6-Y)))
: NEXT Y
: RETURN
0030 DEFFN'33
: D=0
0040 IF A>14THEN 50
: C$(D1)="CAT.IND."
: GOTO 110
0050 IF A<764THEN 70
: IF A>800THEN 60
: D1=D1-1
: GOTO 110
0060 C$(D1)="MOVEDATA"
: GOTO 110
0070 DATA LOAD BA T(D,D)D$()
: E=0
0080 E=E+1
: AND (STR(D$(E),3,1),7F)
: AND (STR(D$(E),5,1),7F)
: IF A<(VAL(STR(D$(E),3,1))*256)+VAL(STR(D$(E),4,1))THEN 100
: IF A>(VAL(STR(D$(E),5,1))*256)+VAL(STR(D$(E),6,1))THEN 100
0090 FOR D2=1TO D1
: IF STR(D$(E),9,8)=C$(D2)THEN 110
: NEXT D2
: D1=D1+1
: C$(D1)=STR(D$(E),9,8)
: GOTO 110
0100 IF E<16THEN 80
: IF D<15THEN 70
0110 PRINT HEX(03);"PROGRAMS WITH ERRORS"
: PRINT
: FOR D2=1TO D1
: PRINT C$(D2),
: NEXT D2
: RETURN
0120 G$=HEX(42313000040000)
: H7$="EXPAN-02"
: LOAD DC T"START/1"
0130 DIM A$(4)64,B$(4)64,C$(50)8,D$(16)
: A$="0530742056"
: LIMITS T"EXPAN-05",A,B,C
: DATA LOAD BA T(A+1,L)A$()
: STR(A$(1),15,3)=STR(A$,1,3)
: STR(A$(3),41,4)=STR(A$,4,4)
: DATA SAVE BA T$(A+1,L)A$()
: DATA LOAD BA T(A+2,L)A$()
: STR(A$(1),25,3)=STR(A$,1,3)
0140 DATA SAVE BA T$(A+2,L)A$()
0150 LIMITS T"DISK MC3",A,B,C
: DATA LOAD BA T(A+1,L)A$()
: STR(A$(2),62,3),STR(A$(3),4,3),STR(A$(3),10,3),STR(A$(3),16,3),STR(A$(3),
22,3),STR(A$(3),28,3)=G$
: DATA SAVE BA T$(A+1,L)A$()
0160 LIMITS T"EXPAN-03",A,B,C
: DATA LOAD BA T(A+1,L)A$()
: STR(A$(1),9,3)=STR(A$,8,3)
: DATA SAVE BA T$(A+1,L)A$()
0170 A1=887
: A=0
: PRINT HEX(03);"DIAGNOSTIC PLATTER VERIFICATION"
0180 DATA LOAD BA T(A1,A1)B$()
0200 FOR X=1TO 4
: FOR Z=1TO 64
: DATA LOAD BA T(A,L)A$()
: PRINT HEX(010A);"SECTOR ";A
: GOSUB '32
: IF STR(A$(4),1,1)=STR(B$(X),Z,1)THEN 210
: GOSUB '33
0210 A=A+1
: IF A>886THEN 220
: NEXT Z
: NEXT X
: GOTO 180
0220 IF D1>0THEN 230
: PRINT "DIAGNOSTIC PLATTER O.K. -- KEY RETURN/EXEC. FOR MENU"
: GOTO 240
0230 PRINT
: PRINT
: PRINT "PRECEDING PROGRAMS IN ERROR"
0240 INPUT T
: COM CLEAR
: LOAD DC T"START"
9000 DEFFN'15
: COM CLEAR
: LOAD DC T"START"