image of READY prompt

Wang2200.org

Listing of file='BDIAG29' on disk='vmedia/mvp-diag-2.6.2.wvd.zip'

# Sector 3061, program filename = 'BDIAG29'
0020 PRINT AT(14,32);"PACK,UNPACK.... <-- TESTING",
0080 S=SPACE
0090 DIM A$124,B$1,N(10)
0100 A$=ALL(FF)
   : PACK(#)A$FROM0,1,-2,.1,-.01
   : X=POS(A$=FF)
   : IF STR(A$,1,X)<>HEX(0F1F2F0F0FFF)THEN 8990
   : A,B,C,D,E=9
   : UNPACK(#)A$TO A,B,C,D,E
   : IF A<>0OR B<>1OR C<>2OR D<>0OR E<>0THEN 8990
0110 A$=ALL(FF)
   : PACK(+#)A$FROM0,1,-2,.1,-.01
   : X=POS(A$=FF)
   : IF STR(A$,1,X)<>HEX(0001128090FF)THEN 8990
   : A,B,C,D,E=9
   : UNPACK(+#)A$TO A,B,C,D,E
   : IF A<>0OR B<>1OR C<>-2OR D<>0OR E<>0THEN 8990
0120 A$=ALL(FF)
   : PACK(-#)A$FROM0,1,-2,.1,-.01
   : X=POS(A$=FF)
   : IF STR(A$,1,X)<>HEX(0001128090FF)THEN 8990
   : A,B,C,D,E=9
   : UNPACK(-#)A$TO A,B,C,D,E
   : IF A<>0OR B<>1OR C<>-2OR D<>0OR E<>0THEN 8990
0130 A$=ALL(FF)
   : PACK(#.)A$FROM0,1,-2,.1,-.01
   : X=POS(A$=FF)
   : IF STR(A$,1,X)<>HEX(0F1F2F0F0FFF)THEN 8990
   : A,B,C,D,E=9
   : UNPACK(#.)A$TO A,B,C,D,E
   : IF A<>0OR B<>1OR C<>2OR D<>0OR E<>0THEN 8990
0140 A$=ALL(FF)
   : PACK(.#)A$FROM0,.1,-.01,.234,-.4
   : X=POS(A$=FF)
   : IF STR(A$,1,X)<>HEX(0F1F0F2F4FFF)THEN 8990
   : A,B,C,D,E=9
   : UNPACK(.#)A$TO A,B,C,D,E
   : IF A<>0OR B<>.1OR C<>0OR D<>.2OR E<>.4THEN 8990
0150 A$=ALL(FF)
   : PACK(+.#)A$FROM0,.1,-.01,.234,-.4
   : X=POS(A$=FF)
   : IF STR(A$,1,X)<>HEX(0081908294FF)THEN 8990
   : A,B,C,D,E=9
   : UNPACK(-.#)A$TO A,B,C,D,E
   : IF A<>0OR B<>.1OR C<>0OR D<>.2OR E<>-.4THEN 8990
0160 A$=ALL(FF)
   : PACK(#.#)A$FROM0,.1,-.01,.234,-.4,2,-3.23
   : X=POS(A$=FF)
   : IF STR(A$,1,X)<>HEX(00010002042032FF)THEN 8990
   : A,B,C,D,E=9
   : UNPACK(#.#)A$TO A,B,C,D,E,F,G
   : IF A<>0OR B<>.1OR C<>0OR D<>.2OR E<>.4OR F<>2OR G<>3.2THEN 8990
0170 A$=ALL(FF)
   : PACK(-#.#)A$FROM0,.1,-.01,.234,-.4,2,-3.23
   : X=POS(A$=FF)
   : IF STR(A$,1,X)<>HEX(000F801F900F802F904F020F132FFF)THEN 8990
   : A,B,C,D,E=9
   : UNPACK(+#.#)A$TO A,B,C,D,E,F,G
   : IF A<>0OR B<>.1OR C<>0OR D<>.2OR E<>-.4OR F<>2OR G<>-3.2THEN 8990
0180 A$=ALL(FF)
   : PACK(####)A$FROM0,.1,-.01,12,-34,567,-890,7654.1,5678.9
   : X=POS(A$=FF)
   : IF STR(A$,1,X)<>HEX(000000000000001200340567089076545678FF)THEN 8990
0185 A,B,C,D,E,F,G,H,I=9
   : UNPACK(####)A$TO A,B,C,D,E,F,G,H,I
   : IF A<>0OR B<>0OR C<>0OR D<>12OR E<>34OR F<>567OR G<>890OR H<>7654OR I<>56
     78THEN 8990
0190 A$=ALL(FF)
   : PACK(-####)A$FROM0,.1,-.01,12,-34,567,-890,7654.1,-5678.9
   : X=POS(A$=FF)
   : IF STR(A$,1,X)<>HEX(00000F80000F90000F00012F10034F00567F10890F07654F15678
     FFF)THEN 8990
0195 A,B,C,D,E,F,G,H,I=9
   : UNPACK(+####)A$TO A,B,C,D,E,F,G,H,I
   : IF A<>0OR B<>0OR C<>0OR D<>12OR E<>-34OR F<>567OR G<>-890OR H<>7654OR I<>
     -5678THEN 8990
0200 A$=ALL(FF)
   : PACK(#^^^^)A$FROM0,.1,-.01,12,-34,567,-890,1E23,9E-87
   : X=POS(A$=FF)
   : IF STR(A$,1,X)<>HEX(000F101F102F101F301F502F802F123F987FFF)THEN 8990
0205 A,B,C,D,E,F,G,H,I=9
   : UNPACK(#^^^^)A$TO A,B,C,D,E,F,G,H,I
   : IF A<>0OR B<>10OR C<>100OR D<>10OR E<>30OR F<>500OR G<>800OR H<>1E23OR I<
     >9E+87THEN 8990
0210 A$=ALL(FF)
   : PACK(+#^^^^)A$FROM0,.1,-.01,12,-34,567,-890,1E23,9E-87
   : X=POS(A$=FF)
   : IF STR(A$,1,X)<>HEX(000081019102010113010502180201238987FF)THEN 8990
0215 A,B,C,D,E,F,G,H,I=9
   : UNPACK(-#^^^^)A$TO A,B,C,D,E,F,G,H,I
   : IF A<>0OR B<>.1OR C<>-.01OR D<>10OR E<>-30OR F<>500OR G<>-800OR H<>1E23OR
      I<>9E-87THEN 8990
0220 A$=ALL(FF)
   : PACK(####################)A$FROM0,.1,12,-890,1234567890123,1.23E19
   : X=POS(A$=FF)
   : IF STR(A$,1,X)<>HEX(00000000000000000000000000000000000000000000000000000
     0000012000000000000000008900000000123456789012312300000000000000000FF)THE
     N 8990
0225 A,B,C,D,E=9
   : UNPACK(####################)A$TO A,B,C,D,E
   : IF A<>0OR B<>0OR C<>12OR D<>890OR E<>1234567890123THEN 8990
0230 PACK(##)B$FROM10+2
   : IF B$<>HEX(12)THEN 8990
0240 PACK(##)B$FROM123
   : ERRORIF ERR<>71THEN 8990
   : GOTO 250
0245 GOTO 8990
0250 FOR I=1TO 10
   : N(I)=I
   : NEXT I
   : A$=ALL(FF)
   : PACK(##)A$FROM0,N(),11
   : X=POS(A$=HEX(FF))
   : IF STR(A$,,X)<>HEX(000102030405060708091011FF)THEN 8990
   : UNPACK(##)A$TO N(),X,Y
   : FOR I=1TO 10
   : IF N(I)<>I-1THEN 8990
   : NEXT I
   : IF X<>10OR Y<>11THEN 8990
8980 I=SPACE
   : IF I=STHEN 9000
8990 E(29)=E(29)+1
9000 PRINT AT(14,48,16);
   : IF E(29)=0THEN PRINT "OK";
   : ELSE PRINT E(29);"ERRORS"
9010 LOAD DC T"BDIAG30 "