Home » Archimedes archive » Acorn User » AU 1998-10.adf » Regulars » StarInfo/Madams/!Wrap/makedata

StarInfo/Madams/!Wrap/makedata

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 1998-10.adf » Regulars
Filename: StarInfo/Madams/!Wrap/makedata
Read OK:
File size: 0314 bytes
Load address: 0000
Exec address: 0000
File contents
   10MODE 13
   20ONERROR REPORT:PRINT ERL:END
   30OFF
   40
   50DIM xoff% 160*160
   60DIM yoff% 160*160
   61DIM mask% 160*160
   70DIM pos% 160*160*4
   80
   90FOR r%=0 TO 160*160
  100xoff%?r%=0
  110yoff%?r%=0
  111mask%?r%=0
  120pos%!(r%<<2)=-1
  130NEXT
  140VDU 7
  150
  160FOR y=-80 TO 79 STEP 0.5
  170w=(SQR(80*80-y*y)/2)+40
  180ww=SQR(80*80-y*y)
  190FOR a=-90 TO 90 STEP 0.5
  200x%=SINRADa*w
  210xoff%?(x%+80+(INTy+80)*160)=(a*127/90)+128
  211xx%=SINRADa*ww
  212mask%?(xx%+80+(INTy+80)*160)=1
  220NEXT
  230NEXT
  240VDU 7
  250
  260FOR x=-80 TO 79 STEP 0.5
  270h=(SQR(80*80-x*x)/2)+40
  280FOR a=-90 TO 90 STEP 0.5
  290y%=SINRADa*h
  300yoff%?(x+80+(y%+80)*160)=(a*127/90)+128
  310NEXT
  320NEXT
  330VDU 7
  340
  350FOR r%=0 TO 160*160
  360IF xoff%?r%>0 AND yoff%?r%>0 AND mask%?r%>0 pos%!(r%<<2)=(xoff%?r%)+(yoff%?r%)*256
  370IF pos%!(r%<<2)=&3FFF pos%!(r%<<2)=-1
  380NEXT
  390
  400OSCLI "Save data "+STR$~(pos%)+" +"+STR$~(160*160*4)
  410OSCLI "SetType data data"
� 13
� �:� �:�
�
(
2� xoff% 160*160
<� yoff% 160*160
=� mask% 160*160
F� pos% 160*160*4
P
Z� r%=0 � 160*160
dxoff%?r%=0
nyoff%?r%=0
omask%?r%=0
xpos%!(r%<<2)=-1
��
�� 7
�
�� y=-80 � 79 � 0.5
�w=(�(80*80-y*y)/2)+40
�ww=�(80*80-y*y)
�� a=-90 � 90 � 0.5
�x%=��a*w
�,xoff%?(x%+80+(�y+80)*160)=(a*127/90)+128
�xx%=��a*ww
� mask%?(xx%+80+(�y+80)*160)=1
��
��
�� 7
�
� x=-80 � 79 � 0.5
h=(�(80*80-x*x)/2)+40
� a=-90 � 90 � 0.5
"y%=��a*h
,+yoff%?(x+80+(y%+80)*160)=(a*127/90)+128
6�
@�
J� 7
T
^� r%=0 � 160*160
hQ� xoff%?r%>0 � yoff%?r%>0 � mask%?r%>0 pos%!(r%<<2)=(xoff%?r%)+(yoff%?r%)*256
r(� pos%!(r%<<2)=&3FFF pos%!(r%<<2)=-1
|�
�
�.� "Save data "+�~(pos%)+" +"+�~(160*160*4)
�� "SetType data data"
�
00000000  0d 00 0a 08 eb 20 31 33  0d 00 14 0e ee 85 20 f6  |..... 13...... .|
00000010  3a f1 20 9e 3a e0 0d 00  1e 05 87 0d 00 28 04 0d  |:. .:........(..|
00000020  00 32 13 de 20 78 6f 66  66 25 20 31 36 30 2a 31  |.2.. xoff% 160*1|
00000030  36 30 0d 00 3c 13 de 20  79 6f 66 66 25 20 31 36  |60..<.. yoff% 16|
00000040  30 2a 31 36 30 0d 00 3d  13 de 20 6d 61 73 6b 25  |0*160..=.. mask%|
00000050  20 31 36 30 2a 31 36 30  0d 00 46 14 de 20 70 6f  | 160*160..F.. po|
00000060  73 25 20 31 36 30 2a 31  36 30 2a 34 0d 00 50 04  |s% 160*160*4..P.|
00000070  0d 00 5a 14 e3 20 72 25  3d 30 20 b8 20 31 36 30  |..Z.. r%=0 . 160|
00000080  2a 31 36 30 0d 00 64 0e  78 6f 66 66 25 3f 72 25  |*160..d.xoff%?r%|
00000090  3d 30 0d 00 6e 0e 79 6f  66 66 25 3f 72 25 3d 30  |=0..n.yoff%?r%=0|
000000a0  0d 00 6f 0e 6d 61 73 6b  25 3f 72 25 3d 30 0d 00  |..o.mask%?r%=0..|
000000b0  78 13 70 6f 73 25 21 28  72 25 3c 3c 32 29 3d 2d  |x.pos%!(r%<<2)=-|
000000c0  31 0d 00 82 05 ed 0d 00  8c 07 ef 20 37 0d 00 96  |1.......... 7...|
000000d0  04 0d 00 a0 16 e3 20 79  3d 2d 38 30 20 b8 20 37  |...... y=-80 . 7|
000000e0  39 20 88 20 30 2e 35 0d  00 aa 19 77 3d 28 b6 28  |9 . 0.5....w=(.(|
000000f0  38 30 2a 38 30 2d 79 2a  79 29 2f 32 29 2b 34 30  |80*80-y*y)/2)+40|
00000100  0d 00 b4 13 77 77 3d b6  28 38 30 2a 38 30 2d 79  |....ww=.(80*80-y|
00000110  2a 79 29 0d 00 be 16 e3  20 61 3d 2d 39 30 20 b8  |*y)..... a=-90 .|
00000120  20 39 30 20 88 20 30 2e  35 0d 00 c8 0c 78 25 3d  | 90 . 0.5....x%=|
00000130  b5 b2 61 2a 77 0d 00 d2  2c 78 6f 66 66 25 3f 28  |..a*w...,xoff%?(|
00000140  78 25 2b 38 30 2b 28 a8  79 2b 38 30 29 2a 31 36  |x%+80+(.y+80)*16|
00000150  30 29 3d 28 61 2a 31 32  37 2f 39 30 29 2b 31 32  |0)=(a*127/90)+12|
00000160  38 0d 00 d3 0e 78 78 25  3d b5 b2 61 2a 77 77 0d  |8....xx%=..a*ww.|
00000170  00 d4 20 6d 61 73 6b 25  3f 28 78 78 25 2b 38 30  |.. mask%?(xx%+80|
00000180  2b 28 a8 79 2b 38 30 29  2a 31 36 30 29 3d 31 0d  |+(.y+80)*160)=1.|
00000190  00 dc 05 ed 0d 00 e6 05  ed 0d 00 f0 07 ef 20 37  |.............. 7|
000001a0  0d 00 fa 04 0d 01 04 16  e3 20 78 3d 2d 38 30 20  |......... x=-80 |
000001b0  b8 20 37 39 20 88 20 30  2e 35 0d 01 0e 19 68 3d  |. 79 . 0.5....h=|
000001c0  28 b6 28 38 30 2a 38 30  2d 78 2a 78 29 2f 32 29  |(.(80*80-x*x)/2)|
000001d0  2b 34 30 0d 01 18 16 e3  20 61 3d 2d 39 30 20 b8  |+40..... a=-90 .|
000001e0  20 39 30 20 88 20 30 2e  35 0d 01 22 0c 79 25 3d  | 90 . 0.5..".y%=|
000001f0  b5 b2 61 2a 68 0d 01 2c  2b 79 6f 66 66 25 3f 28  |..a*h..,+yoff%?(|
00000200  78 2b 38 30 2b 28 79 25  2b 38 30 29 2a 31 36 30  |x+80+(y%+80)*160|
00000210  29 3d 28 61 2a 31 32 37  2f 39 30 29 2b 31 32 38  |)=(a*127/90)+128|
00000220  0d 01 36 05 ed 0d 01 40  05 ed 0d 01 4a 07 ef 20  |..6....@....J.. |
00000230  37 0d 01 54 04 0d 01 5e  14 e3 20 72 25 3d 30 20  |7..T...^.. r%=0 |
00000240  b8 20 31 36 30 2a 31 36  30 0d 01 68 51 e7 20 78  |. 160*160..hQ. x|
00000250  6f 66 66 25 3f 72 25 3e  30 20 80 20 79 6f 66 66  |off%?r%>0 . yoff|
00000260  25 3f 72 25 3e 30 20 80  20 6d 61 73 6b 25 3f 72  |%?r%>0 . mask%?r|
00000270  25 3e 30 20 70 6f 73 25  21 28 72 25 3c 3c 32 29  |%>0 pos%!(r%<<2)|
00000280  3d 28 78 6f 66 66 25 3f  72 25 29 2b 28 79 6f 66  |=(xoff%?r%)+(yof|
00000290  66 25 3f 72 25 29 2a 32  35 36 0d 01 72 28 e7 20  |f%?r%)*256..r(. |
000002a0  70 6f 73 25 21 28 72 25  3c 3c 32 29 3d 26 33 46  |pos%!(r%<<2)=&3F|
000002b0  46 46 20 70 6f 73 25 21  28 72 25 3c 3c 32 29 3d  |FF pos%!(r%<<2)=|
000002c0  2d 31 0d 01 7c 05 ed 0d  01 86 04 0d 01 90 2e ff  |-1..|...........|
000002d0  20 22 53 61 76 65 20 64  61 74 61 20 22 2b c3 7e  | "Save data "+.~|
000002e0  28 70 6f 73 25 29 2b 22  20 2b 22 2b c3 7e 28 31  |(pos%)+" +"+.~(1|
000002f0  36 30 2a 31 36 30 2a 34  29 0d 01 9a 19 ff 20 22  |60*160*4)..... "|
00000300  53 65 74 54 79 70 65 20  64 61 74 61 20 64 61 74  |SetType data dat|
00000310  61 22 0d ff                                       |a"..|
00000314