Listing of file='OP5D050A' on disk='vmedia/wcs_diags.wvd.zip'
# Sector 226, program filename = 'OP5D050A' 0010 REM . OP5D050A, 00-00 (06/28/75), 12002 : DIM D$1,A$(1),B$(1)18,C$(1,1)1,E$(1)1,F$(1)64,G$(1)64,Z$64 : DIM S$(6,100)1,T$(6,100)1,P$1 : X=RND(0) : PRINT "MAT COPY", : D$="Z" 0140 A$(1)="ABCDEFGHIJKLMNOP" : INIT(FF)B$() : MAT COPY A$()TO B$() : IF B$(1)<>A$(1)THEN 580 0160 INIT(FF)B$() : MAT COPY A$()TO -B$() : IF B$(1)<>" PONMLKJIHGFEDCBA"THEN 580 : INIT(FF)B$() : MAT COPY -A$()TO B$() : IF B$(1)<>"PONMLKJIHGFEDCBA"THEN 580 : INIT(FF)B$() : MAT COPY -A$()TO -B$() 0210 IF B$(1)<>" ABCDEFGHIJKLMNOP"THEN 580 : MAT COPY A$()TO A$() : IF A$(1)<>STR(B$(1),3)THEN 580 0230 MAT COPY -A$()TO -A$() : IF A$(1)<>STR(B$(1),3)THEN 580 : INIT(FF)B$(),Z$ : MAT COPY A$()<5,0>TO B$() : IF B$(1)<>" "THEN 580 : INIT(FF)B$() : MAT COPY A$()TO B$()<5,0> : IF B$(1)<>STR(Z$,1,18)THEN 580 0270 C$(1,1)="X" : MAT COPY C$()TO E$() : IF E$(1)<>"X"THEN 580 : E$(1)=" " : MAT COPY C$()TO -E$() : IF E$(1)<>"X"THEN 580 0290 E$(1)=" " : MAT COPY -C$()TO E$() : IF E$(1)<>"X"THEN 580 : C$(1,1)=" " : MAT COPY -E$()TO -C$() : IF C$(1,1)<>"X"THEN 580 : FOR I=1TO 64 : BIN(STR(F$(1),I))=I : NEXT I : FOR S=1TO 32 : INIT(FF)G$() : MAT COPY F$()<S,S>TO G$() 0340 IF STR(G$(1),1,S)<>STR(F$(1),S,S)THEN 580 : NEXT S : FOR S=2TO 32 : INIT(FF)G$() : MAT COPY -F$()TO -G$()<S,S> 0380 IF STR(G$(1),S,S)<>STR(F$(1),65-S,S)THEN 580 : IF STR(G$(1),1,S-1)<>STR(Z$,1,S-1)THEN 580 : IF STR(G$(1),S+S)<>STR(Z$,1,65-S-S)THEN 580 : NEXT S : P$=HEX(01) : FOR I=1TO 6 : FOR J=1TO 100 : S$(I,J)=P$ : ADD(P$,01) : NEXT J : NEXT I : FOR K=1TO 20 0450 S=100*INT(RND(1)*6)+INT(RND(1)*100)+1 : N0=INT(RND(1)*(600-S))+1 0470 INIT(FF)T$() : MAT COPY S$()<S,N0>TO T$()<S,N0> : GOSUB '40(S) : I1=X : J1=Y : GOSUB '40(S+N0-1) : I2=X : J2=Y : FOR I=I1TO I2 : FOR J=J1TO 100 : IF I<I2THEN 520 : IF J<=J2THEN 520 : J=100 : GOTO 530 0520 IF T$(I,J)<>S$(I,J)THEN 580 0530 NEXT J : NEXT I : IF S=1THEN 550 : GOSUB '40(S-1) : IF T$(X,Y)<>HEX(FF)THEN 580 0550 IF S+N0=601THEN 560 : GOSUB '40(S+N0) : IF T$(X,Y)<>HEX(FF)THEN 580 0560 NEXT K : GOTO 590 0580 E(4)=E(4)+1 : GOTO 600 0590 PRINT "OK" : GOTO 610 0600 PRINT TAB(40);E(4);"ERRORS" 0610 LOAD DC T"OP5D060A" 0620 DEFFN'40(Z) : X=INT((Z-1)/100)+1 : Y=Z-(X-1)*100 : RETURN 0640 DEFFN'15 : LOAD DC T"START"50