Listing of file='BDIAG29' on disk='vmedia/732-0050A.wvd.zip'
# Sector 873, 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 "