Home » Archimedes archive » Acorn User » AU 1997-03 B.adf » Regulars » StarInfo/Writhe/Writhe256c

StarInfo/Writhe/Writhe256c

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1997-03 B.adf » Regulars
Filename: StarInfo/Writhe/Writhe256c
Read OK:
File size: 08AA bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >Writhe256c by dL
   20DIM tab 256*4
   30FOR i=0 TO 256*4-1 STEP 4:tab!i=0:NEXT
   50PROCmode("X800 Y600 G256"):OFF
   60ORIGIN 800,600
   70SYS "OS_SWINumberFromString",,"OS_SetColour" TO col
   80SYS "OS_SWINumberFromString",,"ColourTrans_WritePalette" TO pal
   90m=16
  100angs=360*4
  110DIM x(m),y(m),a(m),d(m),l(m),e(m),R(15),G(15),B(15),g(14),cos(angs)
  120FOR i=0 TO m-1
  130 x(i)=0
  140 y(i)=0
  150 a(i)=RND(1)*360
  160NEXT
  170FOR i=0 TO 5
  180 g(i)=(i*3)*17
  190 g(10-i)=(i*3)*17
  200NEXT
  210FOR i=0 TO 15
  220 R(i)=RND(1)*4
  230 G(i)=RND(1)*4
  240 B(i)=RND(1)*4
  250NEXT
  260FOR i=0 TO angs-1
  270 cos(i)=COSRAD(i/4)/2+0.5
  280NEXT
  290c=0
  300t=0
  310PROCcycle
  320REPEAT
  330 FOR w=0 TO m-1
  340  SYS col, 0, (w MOD 16)*16+(t MOD 15)+1
  350  IF l(w)=0 THEN
  360   l(w)=RND(15)+12
  370   d(w)=(RND(1)*180-90)
  380   e(w)=l(w)
  390  ENDIF
  400  x(w)+=SINRAD(a(w))*2
  410  y(w)+=COSRAD(a(w))*2
  420  IF x(w) < -850 x(w)+=1700
  430  IF x(w) > 850 x(w)-=1700
  440  IF y(w) < -650 y(w)+=1300
  450  IF y(w) > 650 y(w)-=1300
  460  CIRCLE FILL x(w),y(w),16*SINRAD(t)
  470  a(w)+=d(w)/e(w)
  480  l(w)-=1
  490 NEXT
  500 t+=1
  510 PROCcycle
  520UNTIL 0
  530
  540DEF PROCcycle
  550FOR z=0 TO 15
  560 p=tab+z*16*4
  570 FOR j=0 TO 14
  580  r=g(j)*cos( (R(z)*(c+j)*4) MOD angs )
  590  g=g(j)*cos( (G(z)*(c+j)*4) MOD angs )
  600  b=g(j)*cos( (B(z)*(c+j)*4) MOD angs )
  610  q=p+4*((c+j)MOD15+1)
  620  !q=(b<<24) OR (g<<16) OR (r<<8)
  630 NEXT
  640NEXT
  650WAIT
  660SYS pal,-1,,tab
  670c+=1
  680ENDPROC
  690REM >PROCmode
  700REM Same as BASIC MODE "X... Y... C..." etc.
  710REM but uses a mode selector instead of a
  720REM call to WimpMode thus preserving the
  730REM desktop's mode
  740END
  750:
  760DEF PROCmode(mode$)
  770LOCAL c$,ex,ey,mode,end
  780DIM mode 64
  790end=mode+20
  800!mode=1
  810mode!4=VALFN_m(mode$,"X","")
  820mode!8=VALFN_m(mode$,"Y","")
  830c$=FN_m(mode$,"C","*")
  840IF c$="*" THEN
  850 c$=FN_m(mode$,"G","")
  860 IF c$="256" !end=3:end!4=255:end+=8
  870ENDIF
  880mode!12=FN_bpp(c$)
  890mode!16=VALFN_m(mode$,"F","-1")
  900ex=VALFN_m(mode$,"EX","-1")
  910IF ex<>-1 !end=4:end!4=ex:end+=8
  920ey=VALFN_m(mode$,"EY","-1")
  930IF ey<>-1 !end=5:end!4=ey:end+=8
  940!end=-1
  950MODE mode
  960ENDPROC
  970
  980DEF FN_m(s$,p$,d$)
  990LOCAL i,j
 1000i=INSTR(s$,p$)
 1010IF i<1 AND d$="" ERROR 490,"Missing "+p$
 1020IF i<1 THEN =d$
 1030j=INSTR(s$+" "," ",i+1)
 1040=MID$(s$,i+1,j-i-1)
 1050
 1060DEF FN_bpp(n$)
 1070CASE n$ OF
 1080 WHEN "2":=0
 1090 WHEN "4":=1
 1100 WHEN "16":=2
 1110 WHEN "256":=3
 1120 WHEN "32T","32t","32K","32k":=4
 1130 WHEN "16M","16m":=5
 1140 OTHERWISE: ERROR 490,"Bad parameter "+n$
 1150ENDCASE

� >Writhe256c by dL
� tab 256*4
!� i=0 � 256*4-1 � 4:tab!i=0:�
2�mode("X800 Y600 G256"):�
<ȑ 800,600
F5ș "OS_SWINumberFromString",,"OS_SetColour" � col
PAș "OS_SWINumberFromString",,"ColourTrans_WritePalette" � pal
Zm=16
dangs=360*4
nE� x(m),y(m),a(m),d(m),l(m),e(m),R(15),G(15),B(15),g(14),cos(angs)
x� i=0 � m-1
� x(i)=0
� y(i)=0
� a(i)=�(1)*360
��
�
� i=0 � 5
� g(i)=(i*3)*17
� g(10-i)=(i*3)*17
��
�� i=0 � 15
� R(i)=�(1)*4
� G(i)=�(1)*4
� B(i)=�(1)*4
��
� i=0 � angs-1
 cos(i)=��(i/4)/2+0.5
�
"c=0
,t=0
6
�cycle
@�
J � w=0 � m-1
T'  ș col, 0, (w � 16)*16+(t � 15)+1
^  � l(w)=0 �
h   l(w)=�(15)+12
r   d(w)=(�(1)*180-90)
|   e(w)=l(w)
�  �
�  x(w)+=��(a(w))*2
�  y(w)+=��(a(w))*2
�  � x(w) < -850 x(w)+=1700
�  � x(w) > 850 x(w)-=1700
�  � y(w) < -650 y(w)+=1300
�  � y(w) > 650 y(w)-=1300
�  ȏ Ȑ x(w),y(w),16*��(t)
�  a(w)+=d(w)/e(w)
�
  l(w)-=1
� �
�	 t+=1
� �cycle
� 0

� �cycle
&� z=0 � 15
0 p=tab+z*16*4
: � j=0 � 14
D)  r=g(j)*cos( (R(z)*(c+j)*4) � angs )
N)  g=g(j)*cos( (G(z)*(c+j)*4) � angs )
X)  b=g(j)*cos( (B(z)*(c+j)*4) � angs )
b  q=p+4*((c+j)�15+1)
l#  !q=(b<<24) � (g<<16) � (r<<8)
v �
��
�Ȗ
�ș pal,-1,,tab
�c+=1
��
�� >PROCmode
�.� Same as BASIC MODE "X... Y... C..." etc.
�+� but uses a mode selector instead of a
�*� call to WimpMode thus preserving the
�� desktop's mode
��
�:
�� �mode(mode$)
� c$,ex,ey,mode,end

� mode 64
end=mode+20
 !mode=1
*mode!4=��_m(mode$,"X","")
4mode!8=��_m(mode$,"Y","")
>c$=�_m(mode$,"C","*")
H� c$="*" �
R c$=�_m(mode$,"G","")
\' � c$="256" !end=3:end!4=255:end+=8
f�
pmode!12=�_bpp(c$)
z mode!16=��_m(mode$,"F","-1")
�ex=��_m(mode$,"EX","-1")
�#� ex<>-1 !end=4:end!4=ex:end+=8
�ey=��_m(mode$,"EY","-1")
�#� ey<>-1 !end=5:end!4=ey:end+=8
�!end=-1
�
� mode
��
�
�� �_m(s$,p$,d$)
�	� i,j
�
i=�s$,p$)
�%� i<1 � d$="" � 490,"Missing "+p$
�� i<1 � =d$
j=�s$+" "," ",i+1)
=�s$,i+1,j-i-1)

$� �_bpp(n$)
.Ȏ n$ �
8
 � "2":=0
B
 � "4":=1
L � "16":=2
V � "256":=3
`! � "32T","32t","32K","32k":=4
j � "16M","16m":=5
t! : � 490,"Bad parameter "+n$
~�
�
00000000  0d 00 0a 17 f4 20 3e 57  72 69 74 68 65 32 35 36  |..... >Writhe256|
00000010  63 20 62 79 20 64 4c 0d  00 14 0f de 20 74 61 62  |c by dL..... tab|
00000020  20 32 35 36 2a 34 0d 00  1e 21 e3 20 69 3d 30 20  | 256*4...!. i=0 |
00000030  b8 20 32 35 36 2a 34 2d  31 20 88 20 34 3a 74 61  |. 256*4-1 . 4:ta|
00000040  62 21 69 3d 30 3a ed 0d  00 32 1d f2 6d 6f 64 65  |b!i=0:...2..mode|
00000050  28 22 58 38 30 30 20 59  36 30 30 20 47 32 35 36  |("X800 Y600 G256|
00000060  22 29 3a 87 0d 00 3c 0e  c8 91 20 38 30 30 2c 36  |"):...<... 800,6|
00000070  30 30 0d 00 46 35 c8 99  20 22 4f 53 5f 53 57 49  |00..F5.. "OS_SWI|
00000080  4e 75 6d 62 65 72 46 72  6f 6d 53 74 72 69 6e 67  |NumberFromString|
00000090  22 2c 2c 22 4f 53 5f 53  65 74 43 6f 6c 6f 75 72  |",,"OS_SetColour|
000000a0  22 20 b8 20 63 6f 6c 0d  00 50 41 c8 99 20 22 4f  |" . col..PA.. "O|
000000b0  53 5f 53 57 49 4e 75 6d  62 65 72 46 72 6f 6d 53  |S_SWINumberFromS|
000000c0  74 72 69 6e 67 22 2c 2c  22 43 6f 6c 6f 75 72 54  |tring",,"ColourT|
000000d0  72 61 6e 73 5f 57 72 69  74 65 50 61 6c 65 74 74  |rans_WritePalett|
000000e0  65 22 20 b8 20 70 61 6c  0d 00 5a 08 6d 3d 31 36  |e" . pal..Z.m=16|
000000f0  0d 00 64 0e 61 6e 67 73  3d 33 36 30 2a 34 0d 00  |..d.angs=360*4..|
00000100  6e 45 de 20 78 28 6d 29  2c 79 28 6d 29 2c 61 28  |nE. x(m),y(m),a(|
00000110  6d 29 2c 64 28 6d 29 2c  6c 28 6d 29 2c 65 28 6d  |m),d(m),l(m),e(m|
00000120  29 2c 52 28 31 35 29 2c  47 28 31 35 29 2c 42 28  |),R(15),G(15),B(|
00000130  31 35 29 2c 67 28 31 34  29 2c 63 6f 73 28 61 6e  |15),g(14),cos(an|
00000140  67 73 29 0d 00 78 0f e3  20 69 3d 30 20 b8 20 6d  |gs)..x.. i=0 . m|
00000150  2d 31 0d 00 82 0b 20 78  28 69 29 3d 30 0d 00 8c  |-1.... x(i)=0...|
00000160  0b 20 79 28 69 29 3d 30  0d 00 96 12 20 61 28 69  |. y(i)=0.... a(i|
00000170  29 3d b3 28 31 29 2a 33  36 30 0d 00 a0 05 ed 0d  |)=.(1)*360......|
00000180  00 aa 0d e3 20 69 3d 30  20 b8 20 35 0d 00 b4 12  |.... i=0 . 5....|
00000190  20 67 28 69 29 3d 28 69  2a 33 29 2a 31 37 0d 00  | g(i)=(i*3)*17..|
000001a0  be 15 20 67 28 31 30 2d  69 29 3d 28 69 2a 33 29  |.. g(10-i)=(i*3)|
000001b0  2a 31 37 0d 00 c8 05 ed  0d 00 d2 0e e3 20 69 3d  |*17.......... i=|
000001c0  30 20 b8 20 31 35 0d 00  dc 10 20 52 28 69 29 3d  |0 . 15.... R(i)=|
000001d0  b3 28 31 29 2a 34 0d 00  e6 10 20 47 28 69 29 3d  |.(1)*4.... G(i)=|
000001e0  b3 28 31 29 2a 34 0d 00  f0 10 20 42 28 69 29 3d  |.(1)*4.... B(i)=|
000001f0  b3 28 31 29 2a 34 0d 00  fa 05 ed 0d 01 04 12 e3  |.(1)*4..........|
00000200  20 69 3d 30 20 b8 20 61  6e 67 73 2d 31 0d 01 0e  | i=0 . angs-1...|
00000210  19 20 63 6f 73 28 69 29  3d 9b b2 28 69 2f 34 29  |. cos(i)=..(i/4)|
00000220  2f 32 2b 30 2e 35 0d 01  18 05 ed 0d 01 22 07 63  |/2+0.5.......".c|
00000230  3d 30 0d 01 2c 07 74 3d  30 0d 01 36 0a f2 63 79  |=0..,.t=0..6..cy|
00000240  63 6c 65 0d 01 40 05 f5  0d 01 4a 10 20 e3 20 77  |cle..@....J. . w|
00000250  3d 30 20 b8 20 6d 2d 31  0d 01 54 27 20 20 c8 99  |=0 . m-1..T'  ..|
00000260  20 63 6f 6c 2c 20 30 2c  20 28 77 20 83 20 31 36  | col, 0, (w . 16|
00000270  29 2a 31 36 2b 28 74 20  83 20 31 35 29 2b 31 0d  |)*16+(t . 15)+1.|
00000280  01 5e 10 20 20 e7 20 6c  28 77 29 3d 30 20 8c 0d  |.^.  . l(w)=0 ..|
00000290  01 68 14 20 20 20 6c 28  77 29 3d b3 28 31 35 29  |.h.   l(w)=.(15)|
000002a0  2b 31 32 0d 01 72 19 20  20 20 64 28 77 29 3d 28  |+12..r.   d(w)=(|
000002b0  b3 28 31 29 2a 31 38 30  2d 39 30 29 0d 01 7c 10  |.(1)*180-90)..|.|
000002c0  20 20 20 65 28 77 29 3d  6c 28 77 29 0d 01 86 07  |   e(w)=l(w)....|
000002d0  20 20 cd 0d 01 90 16 20  20 78 28 77 29 2b 3d b5  |  .....  x(w)+=.|
000002e0  b2 28 61 28 77 29 29 2a  32 0d 01 9a 16 20 20 79  |.(a(w))*2....  y|
000002f0  28 77 29 2b 3d 9b b2 28  61 28 77 29 29 2a 32 0d  |(w)+=..(a(w))*2.|
00000300  01 a4 1e 20 20 e7 20 78  28 77 29 20 3c 20 2d 38  |...  . x(w) < -8|
00000310  35 30 20 78 28 77 29 2b  3d 31 37 30 30 0d 01 ae  |50 x(w)+=1700...|
00000320  1d 20 20 e7 20 78 28 77  29 20 3e 20 38 35 30 20  |.  . x(w) > 850 |
00000330  78 28 77 29 2d 3d 31 37  30 30 0d 01 b8 1e 20 20  |x(w)-=1700....  |
00000340  e7 20 79 28 77 29 20 3c  20 2d 36 35 30 20 79 28  |. y(w) < -650 y(|
00000350  77 29 2b 3d 31 33 30 30  0d 01 c2 1d 20 20 e7 20  |w)+=1300....  . |
00000360  79 28 77 29 20 3e 20 36  35 30 20 79 28 77 29 2d  |y(w) > 650 y(w)-|
00000370  3d 31 33 30 30 0d 01 cc  1e 20 20 c8 8f 20 c8 90  |=1300....  .. ..|
00000380  20 78 28 77 29 2c 79 28  77 29 2c 31 36 2a b5 b2  | x(w),y(w),16*..|
00000390  28 74 29 0d 01 d6 15 20  20 61 28 77 29 2b 3d 64  |(t)....  a(w)+=d|
000003a0  28 77 29 2f 65 28 77 29  0d 01 e0 0d 20 20 6c 28  |(w)/e(w)....  l(|
000003b0  77 29 2d 3d 31 0d 01 ea  06 20 ed 0d 01 f4 09 20  |w)-=1.... ..... |
000003c0  74 2b 3d 31 0d 01 fe 0b  20 f2 63 79 63 6c 65 0d  |t+=1.... .cycle.|
000003d0  02 08 07 fd 20 30 0d 02  12 04 0d 02 1c 0c dd 20  |.... 0......... |
000003e0  f2 63 79 63 6c 65 0d 02  26 0e e3 20 7a 3d 30 20  |.cycle..&.. z=0 |
000003f0  b8 20 31 35 0d 02 30 11  20 70 3d 74 61 62 2b 7a  |. 15..0. p=tab+z|
00000400  2a 31 36 2a 34 0d 02 3a  0f 20 e3 20 6a 3d 30 20  |*16*4..:. . j=0 |
00000410  b8 20 31 34 0d 02 44 29  20 20 72 3d 67 28 6a 29  |. 14..D)  r=g(j)|
00000420  2a 63 6f 73 28 20 28 52  28 7a 29 2a 28 63 2b 6a  |*cos( (R(z)*(c+j|
00000430  29 2a 34 29 20 83 20 61  6e 67 73 20 29 0d 02 4e  |)*4) . angs )..N|
00000440  29 20 20 67 3d 67 28 6a  29 2a 63 6f 73 28 20 28  |)  g=g(j)*cos( (|
00000450  47 28 7a 29 2a 28 63 2b  6a 29 2a 34 29 20 83 20  |G(z)*(c+j)*4) . |
00000460  61 6e 67 73 20 29 0d 02  58 29 20 20 62 3d 67 28  |angs )..X)  b=g(|
00000470  6a 29 2a 63 6f 73 28 20  28 42 28 7a 29 2a 28 63  |j)*cos( (B(z)*(c|
00000480  2b 6a 29 2a 34 29 20 83  20 61 6e 67 73 20 29 0d  |+j)*4) . angs ).|
00000490  02 62 18 20 20 71 3d 70  2b 34 2a 28 28 63 2b 6a  |.b.  q=p+4*((c+j|
000004a0  29 83 31 35 2b 31 29 0d  02 6c 23 20 20 21 71 3d  |).15+1)..l#  !q=|
000004b0  28 62 3c 3c 32 34 29 20  84 20 28 67 3c 3c 31 36  |(b<<24) . (g<<16|
000004c0  29 20 84 20 28 72 3c 3c  38 29 0d 02 76 06 20 ed  |) . (r<<8)..v. .|
000004d0  0d 02 80 05 ed 0d 02 8a  06 c8 96 0d 02 94 12 c8  |................|
000004e0  99 20 70 61 6c 2c 2d 31  2c 2c 74 61 62 0d 02 9e  |. pal,-1,,tab...|
000004f0  08 63 2b 3d 31 0d 02 a8  05 e1 0d 02 b2 0f f4 20  |.c+=1.......... |
00000500  3e 50 52 4f 43 6d 6f 64  65 0d 02 bc 2e f4 20 53  |>PROCmode..... S|
00000510  61 6d 65 20 61 73 20 42  41 53 49 43 20 4d 4f 44  |ame as BASIC MOD|
00000520  45 20 22 58 2e 2e 2e 20  59 2e 2e 2e 20 43 2e 2e  |E "X... Y... C..|
00000530  2e 22 20 65 74 63 2e 0d  02 c6 2b f4 20 62 75 74  |." etc....+. but|
00000540  20 75 73 65 73 20 61 20  6d 6f 64 65 20 73 65 6c  | uses a mode sel|
00000550  65 63 74 6f 72 20 69 6e  73 74 65 61 64 20 6f 66  |ector instead of|
00000560  20 61 0d 02 d0 2a f4 20  63 61 6c 6c 20 74 6f 20  | a...*. call to |
00000570  57 69 6d 70 4d 6f 64 65  20 74 68 75 73 20 70 72  |WimpMode thus pr|
00000580  65 73 65 72 76 69 6e 67  20 74 68 65 0d 02 da 14  |eserving the....|
00000590  f4 20 64 65 73 6b 74 6f  70 27 73 20 6d 6f 64 65  |. desktop's mode|
000005a0  0d 02 e4 05 e0 0d 02 ee  05 3a 0d 02 f8 12 dd 20  |.........:..... |
000005b0  f2 6d 6f 64 65 28 6d 6f  64 65 24 29 0d 03 02 17  |.mode(mode$)....|
000005c0  ea 20 63 24 2c 65 78 2c  65 79 2c 6d 6f 64 65 2c  |. c$,ex,ey,mode,|
000005d0  65 6e 64 0d 03 0c 0d de  20 6d 6f 64 65 20 36 34  |end..... mode 64|
000005e0  0d 03 16 0f 65 6e 64 3d  6d 6f 64 65 2b 32 30 0d  |....end=mode+20.|
000005f0  03 20 0b 21 6d 6f 64 65  3d 31 0d 03 2a 1d 6d 6f  |. .!mode=1..*.mo|
00000600  64 65 21 34 3d bb a4 5f  6d 28 6d 6f 64 65 24 2c  |de!4=.._m(mode$,|
00000610  22 58 22 2c 22 22 29 0d  03 34 1d 6d 6f 64 65 21  |"X","")..4.mode!|
00000620  38 3d bb a4 5f 6d 28 6d  6f 64 65 24 2c 22 59 22  |8=.._m(mode$,"Y"|
00000630  2c 22 22 29 0d 03 3e 19  63 24 3d a4 5f 6d 28 6d  |,"")..>.c$=._m(m|
00000640  6f 64 65 24 2c 22 43 22  2c 22 2a 22 29 0d 03 48  |ode$,"C","*")..H|
00000650  0e e7 20 63 24 3d 22 2a  22 20 8c 0d 03 52 19 20  |.. c$="*" ...R. |
00000660  63 24 3d a4 5f 6d 28 6d  6f 64 65 24 2c 22 47 22  |c$=._m(mode$,"G"|
00000670  2c 22 22 29 0d 03 5c 27  20 e7 20 63 24 3d 22 32  |,"")..\' . c$="2|
00000680  35 36 22 20 21 65 6e 64  3d 33 3a 65 6e 64 21 34  |56" !end=3:end!4|
00000690  3d 32 35 35 3a 65 6e 64  2b 3d 38 0d 03 66 05 cd  |=255:end+=8..f..|
000006a0  0d 03 70 15 6d 6f 64 65  21 31 32 3d a4 5f 62 70  |..p.mode!12=._bp|
000006b0  70 28 63 24 29 0d 03 7a  20 6d 6f 64 65 21 31 36  |p(c$)..z mode!16|
000006c0  3d bb a4 5f 6d 28 6d 6f  64 65 24 2c 22 46 22 2c  |=.._m(mode$,"F",|
000006d0  22 2d 31 22 29 0d 03 84  1c 65 78 3d bb a4 5f 6d  |"-1")....ex=.._m|
000006e0  28 6d 6f 64 65 24 2c 22  45 58 22 2c 22 2d 31 22  |(mode$,"EX","-1"|
000006f0  29 0d 03 8e 23 e7 20 65  78 3c 3e 2d 31 20 21 65  |)...#. ex<>-1 !e|
00000700  6e 64 3d 34 3a 65 6e 64  21 34 3d 65 78 3a 65 6e  |nd=4:end!4=ex:en|
00000710  64 2b 3d 38 0d 03 98 1c  65 79 3d bb a4 5f 6d 28  |d+=8....ey=.._m(|
00000720  6d 6f 64 65 24 2c 22 45  59 22 2c 22 2d 31 22 29  |mode$,"EY","-1")|
00000730  0d 03 a2 23 e7 20 65 79  3c 3e 2d 31 20 21 65 6e  |...#. ey<>-1 !en|
00000740  64 3d 35 3a 65 6e 64 21  34 3d 65 79 3a 65 6e 64  |d=5:end!4=ey:end|
00000750  2b 3d 38 0d 03 ac 0b 21  65 6e 64 3d 2d 31 0d 03  |+=8....!end=-1..|
00000760  b6 0a eb 20 6d 6f 64 65  0d 03 c0 05 e1 0d 03 ca  |... mode........|
00000770  04 0d 03 d4 13 dd 20 a4  5f 6d 28 73 24 2c 70 24  |...... ._m(s$,p$|
00000780  2c 64 24 29 0d 03 de 09  ea 20 69 2c 6a 0d 03 e8  |,d$)..... i,j...|
00000790  0d 69 3d a7 73 24 2c 70  24 29 0d 03 f2 25 e7 20  |.i=.s$,p$)...%. |
000007a0  69 3c 31 20 80 20 64 24  3d 22 22 20 85 20 34 39  |i<1 . d$="" . 49|
000007b0  30 2c 22 4d 69 73 73 69  6e 67 20 22 2b 70 24 0d  |0,"Missing "+p$.|
000007c0  03 fc 0f e7 20 69 3c 31  20 8c 20 3d 64 24 0d 04  |.... i<1 . =d$..|
000007d0  06 16 6a 3d a7 73 24 2b  22 20 22 2c 22 20 22 2c  |..j=.s$+" "," ",|
000007e0  69 2b 31 29 0d 04 10 13  3d c1 73 24 2c 69 2b 31  |i+1)....=.s$,i+1|
000007f0  2c 6a 2d 69 2d 31 29 0d  04 1a 04 0d 04 24 0f dd  |,j-i-1)......$..|
00000800  20 a4 5f 62 70 70 28 6e  24 29 0d 04 2e 0b c8 8e  | ._bpp(n$)......|
00000810  20 6e 24 20 ca 0d 04 38  0d 20 c9 20 22 32 22 3a  | n$ ...8. . "2":|
00000820  3d 30 0d 04 42 0d 20 c9  20 22 34 22 3a 3d 31 0d  |=0..B. . "4":=1.|
00000830  04 4c 0e 20 c9 20 22 31  36 22 3a 3d 32 0d 04 56  |.L. . "16":=2..V|
00000840  0f 20 c9 20 22 32 35 36  22 3a 3d 33 0d 04 60 21  |. . "256":=3..`!|
00000850  20 c9 20 22 33 32 54 22  2c 22 33 32 74 22 2c 22  | . "32T","32t","|
00000860  33 32 4b 22 2c 22 33 32  6b 22 3a 3d 34 0d 04 6a  |32K","32k":=4..j|
00000870  15 20 c9 20 22 31 36 4d  22 2c 22 31 36 6d 22 3a  |. . "16M","16m":|
00000880  3d 35 0d 04 74 21 20 7f  3a 20 85 20 34 39 30 2c  |=5..t! .: . 490,|
00000890  22 42 61 64 20 70 61 72  61 6d 65 74 65 72 20 22  |"Bad parameter "|
000008a0  2b 6e 24 0d 04 7e 05 cb  0d ff                    |+n$..~....|
000008aa