Listing of file='BSORT4' on disk='vmedia/732-0050A.wvd.zip'
# Sector 1142, program filename = 'BSORT4'
0020 PRINT AT(4,00);"MATCONVERT..... <-- TESTING",
0030 S=SPACE
0090 DIM A$(3)5,B$(6)3,X$(256)1,Y$(256)1,L3$(3)2,L6$(6)2,N1$(1)8,N$8,M$(1)10,Q
$(2,3)4,R$(4,2)3
0095 DIM X(4),Y(6),X1(1),Y1(1),A(2,4),B(4,2)
0110 A$()="ABCDEFGHIJKLMNO"
: B$()=ALL(".")
: MAT CONVERT A$()TO B$()
: IF B$()<>"ABCFGHKLM........."THEN 8990
0120 B$()="ABCDEFGHIJKLMNO"
: A$()=ALL(".")
: MAT CONVERT B$()TO A$()
: IF A$()<>"ABC DEF GHI"THEN 8990
0130 A$()="ABCDEFGHIJKLMNO"
: B$()=ALL(".")
: MAT CONVERT A$()TO B$(3)
: IF B$()<>"......ABCFGHKLM..."THEN 8990
0140 A$()="ABCDEFGHIJKLMNO"
: B$()=ALL(".")
: MAT CONVERT A$()TO B$(3)
: IF B$()<>"......ABCFGHKLM..."THEN 8990
0150 A$()="ABCDEFGHIJKLMNO"
: B$()=ALL(".")
: MAT CONVERT A$()TO B$(3)(2)
: IF B$()<>".......AB.FG.KL..."THEN 8990
0160 A$()="ABCDEFGHIJKLMNO"
: B$()=ALL(".")
: MAT CONVERT A$()TO B$(3)(2,1)
: IF B$()<>".......A..F..K...."THEN 8990
0170 A$()="ABCDEFGHIJKLMNO"
: B$()=ALL(".")
: MAT CONVERT A$()TO B$()(2,2)
: IF B$()<>".AB.FG.KL........."THEN 8990
0180 FOR I=1TO 256
: X$(I)=BIN(I-1)
: NEXT I
0190 FOR I=0TO 256STEP 16
: N=I
: Y$()=" "
: MAT CONVERT X$(),NTO Y$()
: IF I>0THEN 195
: IF Y$()<>" "OR N<>ITHEN 8990
: NEXT I
0195 IF Y$()<>STR(X$(),1,I)OR N<>ITHEN 8990
: NEXT I
0200 A$()="ABCDEFGHIJKLMNO"
: B$()=ALL(".")
: N1=10
: MAT CONVERT A$(),N1TO B$()
: IF B$()<>"ABCFGHKLM........."OR N1<>3THEN 8990
0210 B$()="ABCDEFGHIJKLMNO"
: A$()=ALL(".")
: N=10
: MAT CONVERT B$(),NTO A$()
: IF A$()<>"ABC DEF GHI"OR N<>3THEN 8990
0220 A$()="ABCDEFGHIJKLMNO"
: B$()=ALL(".")
: MAT CONVERT A$()(3)TO B$()
: IF B$()<>"CDEHIJMNO........."THEN 8990
0230 A$()="ABCDEFGHIJKLMNO"
: B$()=ALL(".")
: MAT CONVERT A$()(3,1+1)TO B$()
: IF B$()<>"CD HI MN ........."THEN 8990
0240 B$()="ABCDEFGHIJKLMNOPQR"
: A$()=ALL(".")
: L3$()=HEX(000600030005)
: MAT CONVERT B$(),L3$()TO A$()
: IF A$()<>"PQR GHI MNO"THEN 8990
0250 B$()="ABCDEFGHIJKLMNOPQR"
: A$()=ALL(".")
: L3$()=HEX(000600020000)
: MAT CONVERT B$(),L3$()TO A$()
: IF A$()<>"PQR DEF ....."THEN 8990
0260 B$()="ABCDEFGHIJKLMNOPQR"
: A$()=ALL(".")
: L3$()=HEX(000000010002)
: MAT CONVERT B$(),L3$()TO A$()
: IF A$()<>"..............."THEN 8990
0270 B$()="ABCDEFGHIJKLMNOPQR"
: A$()=ALL(".")
: L6$()=HEX(000600050004000300020001)
: MAT CONVERT B$(),L6$()TO A$()
: IF A$()<>"PQR MNO JKL "THEN 8990
0280 B$()="ABCDEFGHIJKLMNOPQR"
: A$()=ALL(".")
: L6$()=HEX(000600050004000300020001)
: MAT CONVERT B$(),L6$(3)TO A$()
: IF A$()<>"JKL GHI DEF "THEN 8990
0290 B$()="ABCDEFGHIJKLMNOPQR"
: A$()=ALL(".")
: L6$()=HEX(000600050004000300000001)
: MAT CONVERT B$(),L6$(3)TO A$()
: IF A$()<>"JKL GHI ....."THEN 8990
0300 B$()="ABCDEFGHIJKLMNOPQR"
: N=2
: A$()=ALL(".")
: L6$()=HEX(000600050004000300020001)
: MAT CONVERT B$(),L6$(3),NTO A$()
: IF A$()<>"JKL GHI ....."THEN 8990
0310 B$()="ABCDEFGHIJKLMNOPQR"
: N=3
: A$()=ALL(".")
: L6$()=HEX(000600050004000300020001)
: MAT CONVERT B$()(2,1),L6$(3),NTO A$()(3,1)
: IF A$()<>"..K....H....E.."THEN 8990
0400 Q$()="ABCDEFGHIJKLMNOPQRSTUVWX"
: R$()=ALL(".")
: MAT CONVERT Q$()TO R$()
: IF R$()<>"ABCEFGIJKMNOQRSUVW......"THEN 8990
0410 R$()="ABCDEFGHIJKLMNOPQRSTUVWX"
: Q$()=ALL(".")
: MAT CONVERT R$()TO Q$()
: IF Q$()<>"ABC DEF GHI JKL MNO PQR "THEN 8990
0420 Q$()="ABCDEFGHIJKLMNOPQRSTUVWX"
: R$()=ALL(".")
: L6$()=HEX(0203010202010103020201010000)
: MAT CONVERT Q$(),L6$()TO R$()
: IF R$()<>"UVWEFGMNOIJKQRSABC......"THEN 8990
0430 R$()="ABCDEFGHIJKLMNOPQRSTUVWX"
: Q$()=ALL(".")
: L6$()=HEX(040204010302030102020201010201010000)
: MAT CONVERT R$(),L6$(2)TO Q$()
: IF Q$()<>"STU PQR MNO JKL GHI ...."THEN 8990
0440 R$()="ABCDEFGHIJKLMNOPQRSTUVWX"
: Q$()=ALL(".")
: L6$()=HEX(0000)
: MAT CONVERT R$(),L6$()TO Q$()
: IF Q$()<>"........................"THEN 8990
0450 B$()="ABCDEFGHIJKLMNOPQR"
: R$()=ALL(".")
: MAT CONVERT B$()TO R$()
: IF R$()<>"ABCDEFGHIJKLMNOPQR......"THEN 8990
0460 R$()="ABCDEFGHIJKLMNOPQRSTUVWX"
: B$()=ALL(".")
: L6$()=HEX(040204010302030102020201010201010000)
: MAT CONVERT R$(),L6$(2)TO B$()
: IF B$()<>"STUPQRMNOJKLGHI..."THEN 8990
1010 MAT Y=CON
: X(1)=0
: X(2)=1.234567890123E+45
: X(3)=.0123
: X(4)=-.000567
: MAT CONVERT X()TO Y()
: IF Y(1)<>0OR Y(2)<>1.234567890123E+45OR Y(3)<>.0123OR Y(4)<>-.000567OR Y(
5)<>1OR Y(6)<>1THEN 8990
1020 READ N
: FOR I=1TO N
: READ X1(1)
: Y1(1)=0
: MAT CONVERT X1()TO Y1()
: IF Y1(1)<>X1(1)THEN 8990
: NEXT I
: DATA 5
: DATA 0,1234567890123,-9876543210123,.00123,-.9876
1030 FOR I=1TO 4
: X(I)=I
: NEXT I
1040 MAT Y=ZER
: MAT CONVERT X()TO Y(2)
: FOR I=1TO 4
: IF Y(I+1)<>ITHEN 8990
: NEXT I
: IF Y(1)<>0OR Y(6)<>0THEN 8990
1050 MAT Y=ZER
: MAT CONVERT X()TO Y(4)
: FOR I=4TO 6
: IF Y(I)<>I-3THEN 8990
: NEXT I
: FOR I=1TO 3
: IF Y(I)<>0THEN 8990
: NEXT I
1060 MAT Y=ZER
: FOR N=1TO 4
: M=N
: MAT CONVERT X(),NTO Y()
: IF N<>MTHEN 8990
: FOR I=1TO N
: IF Y(I)<>ITHEN 8990
: NEXT I
: FOR I=N+1TO 6
: IF Y(I)<>0THEN 8990
: NEXT I
: NEXT N
1070 MAT Y=ZER
: L3$()=HEX(000200040003)
: MAT CONVERT X(),L3$()TO Y()
: IF Y(1)<>2OR Y(2)<>4OR Y(3)<>3OR Y(4)<>0OR Y(5)<>0OR Y(6)<>0THEN 8990
1100 K=1
: FOR I=1TO 2
: FOR J=1TO 4
: A(I,J)=K
: K=K+1
: NEXT J,I
: MAT B=ZER
: MAT CONVERT A()TO B()
: K=1
: FOR I=1TO 4
: FOR J=1TO 2
: IF B(I,J)<>KTHEN 8990
: K=K+1
: NEXT J,I
2010 RESTORE LINE2020
: READ N
: FOR I=1TO N
: READ X,N$
: X1(1)=X
: Y1(1)=9
: N1$=" "
: MAT CONVERT X1()TO N1$()
: MAT CONVERT N1$()TO Y1()
: IF X1(1)<>XOR Y1(1)<>XOR N1$(1)<>N$THEN 8990
: NEXT I
2020 DATA 9
: DATA 0,HEX(8000000000000000),1,HEX(9001000000000000),-2,HEX(0997999999999
999),.3,HEX(8983000000000000),-.04,HEX(1025999999999999),1.234567890123E+
45,HEX(9451234567890123),-1.234567890123E+45,HEX(0548765432109876)
2030 DATA 1.234567890123E-45,HEX(8541234567890123),-1.234567890123E-45,HEX(145
8765432109876)
2040 X1(1)=1.234567890123E+45
: Y1(1)=0
: M$(1)=ALL(FF)
: MAT CONVERT X1()TO M$(1)
: MAT CONVERT M$()TO Y1(1)
: IF M$(1)<>HEX(94512345678901232020)OR Y1(1)<>X1(1)THEN 8990
2050 X1(1)=1234567890123
: M$=HEX(9121234567890123)
: FOR I=2TO 8
: M$()=ALL(FF)
: Y1(1)=0
: MAT CONVERT X1()TO M$()(1,I)
: MAT CONVERT M$()(1,I)TO Y1()
: IF STR(M$(),1,I)<>STR(M$,1,I)OR POS(STR(M$(),I+1)<>HEX(FF))<>0OR Y1(1)<>F
IX(X1(1)/10^(16-2*I))*10^(16-2*I)THEN 8990
: NEXT I
2060 FOR I=1TO 6
: Y(I)=I
: NEXT I
: L6$()=HEX(000600050004000300020001)
: MAT CONVERT Y(),L6$()TO B$()
: MAT Y=ZER
: MAT CONVERT B$()TO Y()
: FOR I=1TO 6
: IF Y(I)<>7-ITHEN 8990
: NEXT I
: MAT Y=ZER
: MAT CONVERT B$(),L6$()TO Y()
: FOR I=1TO 6
: IF Y(I)<>ITHEN 8990
: NEXT I
8980 X=SPACE
: IF S=XTHEN 9000
8990 E(4)=E(4)+1
9000 PRINT AT(4,16,16);
: IF E(4)=0THEN PRINT "OK"
: ELSE PRINT E(4);"ERRORS"
9010 LOAD DC T"BSORT5"