image of READY prompt

Wang2200.org

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