Home » Archimedes archive » Acorn User » AU 1994-08.adf » !StarInfo_StarInfo » VanMourik/Whirl

VanMourik/Whirl

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 1994-08.adf » !StarInfo_StarInfo
Filename: VanMourik/Whirl
Read OK:
File size: 030D bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >Whirl
   20REM (C) JEAN VAN MOURIK MILLCOTTAGE DERWYDD AMMANFORD DYFED SA183LQ  UK. 94
   30
   40F=444^2
   50PROCMODE
   60A%=640
   70B%=512
   80ORIGIN A%,B%
   90OFF
  100C%=2
  110IF B_%=0 C%=4
  120FOR X=0 TO 15
  130 READ C,D,E
  140 COLOUR X,C,D,E
  150NEXT
  160
  170REM MAIN LOOP
  180FOR X%=-A%+1 TO 0 STEP 2
  190 D%=X%*X%
  200 FOR Y%=-B% TO B% STEP C%
  210  A=F/(D%+Y%*Y%)
  220  P%=ABS(X%*COSA+Y%*SINA)*A
  230  Q%=(P%DIV33)
  240  GCOL Q% MOD 15+1
  250  POINT X%,Y%
  260  POINT -X%,-Y%
  270 NEXT
  280NEXT
  290END
  300
  310REM SUITABLE MODE DETECTION ROUTINE
  320DEF PROCMODE
  330LOCAL C%,F%
  340SYS 63,20 TO;F%
  350C%=(F%AND%0010)>>1
  360IF NOT (C%=1) MODE 20:B_%=1 ELSE MODE 12:B_%=0
  370OFF
  380ENDPROC
  390
  400REM R,G,B VALUES TO DEFINE THE PALETTE
  410DATA 0,0,0,192,0,240,144,48,240,96,96,240,48,144,240,0,192,240,0,240,192,48,240,144,96,240,96,144,240,48,192,240,0,240,192,0,240,144,48,240,96,96,240,48,144,240,0,192

� >Whirl
M� (C) JEAN VAN MOURIK MILLCOTTAGE DERWYDD AMMANFORD DYFED SA183LQ  UK. 94

(F=444^2
2	�MODE
<
A%=640
F
B%=512
Pȑ A%,B%
Z�
dC%=2
n� B_%=0 C%=4
x� X=0 � 15
� � C,D,E
� � X,C,D,E
��
�
�� MAIN LOOP
�� X%=-A%+1 � 0 � 2
�
 D%=X%*X%
� � Y%=-B% � B% � C%
�  A=F/(D%+Y%*Y%)
�  P%=�(X%*�A+Y%*�A)*A
�  Q%=(P%�33)
�  � Q% � 15+1
�  Ȓ X%,Y%
  Ȓ -X%,-Y%
 �
�
"�
,
6%� SUITABLE MODE DETECTION ROUTINE
@� �MODE
J� C%,F%
Tș 63,20 �;F%
^C%=(F%�%0010)>>1
h&� � (C%=1) � 20:B_%=1 � � 12:B_%=0
r�
|�
�
�(� R,G,B VALUES TO DEFINE THE PALETTE
��� 0,0,0,192,0,240,144,48,240,96,96,240,48,144,240,0,192,240,0,240,192,48,240,144,96,240,96,144,240,48,192,240,0,240,192,0,240,144,48,240,96,96,240,48,144,240,0,192
�
00000000  0d 00 0a 0c f4 20 3e 57  68 69 72 6c 0d 00 14 4d  |..... >Whirl...M|
00000010  f4 20 28 43 29 20 4a 45  41 4e 20 56 41 4e 20 4d  |. (C) JEAN VAN M|
00000020  4f 55 52 49 4b 20 4d 49  4c 4c 43 4f 54 54 41 47  |OURIK MILLCOTTAG|
00000030  45 20 44 45 52 57 59 44  44 20 41 4d 4d 41 4e 46  |E DERWYDD AMMANF|
00000040  4f 52 44 20 44 59 46 45  44 20 53 41 31 38 33 4c  |ORD DYFED SA183L|
00000050  51 20 20 55 4b 2e 20 39  34 0d 00 1e 04 0d 00 28  |Q  UK. 94......(|
00000060  0b 46 3d 34 34 34 5e 32  0d 00 32 09 f2 4d 4f 44  |.F=444^2..2..MOD|
00000070  45 0d 00 3c 0a 41 25 3d  36 34 30 0d 00 46 0a 42  |E..<.A%=640..F.B|
00000080  25 3d 35 31 32 0d 00 50  0c c8 91 20 41 25 2c 42  |%=512..P... A%,B|
00000090  25 0d 00 5a 05 87 0d 00  64 08 43 25 3d 32 0d 00  |%..Z....d.C%=2..|
000000a0  6e 10 e7 20 42 5f 25 3d  30 20 43 25 3d 34 0d 00  |n.. B_%=0 C%=4..|
000000b0  78 0e e3 20 58 3d 30 20  b8 20 31 35 0d 00 82 0c  |x.. X=0 . 15....|
000000c0  20 f3 20 43 2c 44 2c 45  0d 00 8c 0e 20 fb 20 58  | . C,D,E.... . X|
000000d0  2c 43 2c 44 2c 45 0d 00  96 05 ed 0d 00 a0 04 0d  |,C,D,E..........|
000000e0  00 aa 0f f4 20 4d 41 49  4e 20 4c 4f 4f 50 0d 00  |.... MAIN LOOP..|
000000f0  b4 16 e3 20 58 25 3d 2d  41 25 2b 31 20 b8 20 30  |... X%=-A%+1 . 0|
00000100  20 88 20 32 0d 00 be 0d  20 44 25 3d 58 25 2a 58  | . 2.... D%=X%*X|
00000110  25 0d 00 c8 17 20 e3 20  59 25 3d 2d 42 25 20 b8  |%.... . Y%=-B% .|
00000120  20 42 25 20 88 20 43 25  0d 00 d2 14 20 20 41 3d  | B% . C%....  A=|
00000130  46 2f 28 44 25 2b 59 25  2a 59 25 29 0d 00 dc 19  |F/(D%+Y%*Y%)....|
00000140  20 20 50 25 3d 94 28 58  25 2a 9b 41 2b 59 25 2a  |  P%=.(X%*.A+Y%*|
00000150  b5 41 29 2a 41 0d 00 e6  10 20 20 51 25 3d 28 50  |.A)*A....  Q%=(P|
00000160  25 81 33 33 29 0d 00 f0  11 20 20 e6 20 51 25 20  |%.33)....  . Q% |
00000170  83 20 31 35 2b 31 0d 00  fa 0e 20 20 c8 92 20 58  |. 15+1....  .. X|
00000180  25 2c 59 25 0d 01 04 10  20 20 c8 92 20 2d 58 25  |%,Y%....  .. -X%|
00000190  2c 2d 59 25 0d 01 0e 06  20 ed 0d 01 18 05 ed 0d  |,-Y%.... .......|
000001a0  01 22 05 e0 0d 01 2c 04  0d 01 36 25 f4 20 53 55  |."....,...6%. SU|
000001b0  49 54 41 42 4c 45 20 4d  4f 44 45 20 44 45 54 45  |ITABLE MODE DETE|
000001c0  43 54 49 4f 4e 20 52 4f  55 54 49 4e 45 0d 01 40  |CTION ROUTINE..@|
000001d0  0b dd 20 f2 4d 4f 44 45  0d 01 4a 0b ea 20 43 25  |.. .MODE..J.. C%|
000001e0  2c 46 25 0d 01 54 11 c8  99 20 36 33 2c 32 30 20  |,F%..T... 63,20 |
000001f0  b8 3b 46 25 0d 01 5e 14  43 25 3d 28 46 25 80 25  |.;F%..^.C%=(F%.%|
00000200  30 30 31 30 29 3e 3e 31  0d 01 68 26 e7 20 ac 20  |0010)>>1..h&. . |
00000210  28 43 25 3d 31 29 20 eb  20 32 30 3a 42 5f 25 3d  |(C%=1) . 20:B_%=|
00000220  31 20 8b 20 eb 20 31 32  3a 42 5f 25 3d 30 0d 01  |1 . . 12:B_%=0..|
00000230  72 05 87 0d 01 7c 05 e1  0d 01 86 04 0d 01 90 28  |r....|.........(|
00000240  f4 20 52 2c 47 2c 42 20  56 41 4c 55 45 53 20 54  |. R,G,B VALUES T|
00000250  4f 20 44 45 46 49 4e 45  20 54 48 45 20 50 41 4c  |O DEFINE THE PAL|
00000260  45 54 54 45 0d 01 9a a7  dc 20 30 2c 30 2c 30 2c  |ETTE..... 0,0,0,|
00000270  31 39 32 2c 30 2c 32 34  30 2c 31 34 34 2c 34 38  |192,0,240,144,48|
00000280  2c 32 34 30 2c 39 36 2c  39 36 2c 32 34 30 2c 34  |,240,96,96,240,4|
00000290  38 2c 31 34 34 2c 32 34  30 2c 30 2c 31 39 32 2c  |8,144,240,0,192,|
000002a0  32 34 30 2c 30 2c 32 34  30 2c 31 39 32 2c 34 38  |240,0,240,192,48|
000002b0  2c 32 34 30 2c 31 34 34  2c 39 36 2c 32 34 30 2c  |,240,144,96,240,|
000002c0  39 36 2c 31 34 34 2c 32  34 30 2c 34 38 2c 31 39  |96,144,240,48,19|
000002d0  32 2c 32 34 30 2c 30 2c  32 34 30 2c 31 39 32 2c  |2,240,0,240,192,|
000002e0  30 2c 32 34 30 2c 31 34  34 2c 34 38 2c 32 34 30  |0,240,144,48,240|
000002f0  2c 39 36 2c 39 36 2c 32  34 30 2c 34 38 2c 31 34  |,96,96,240,48,14|
00000300  34 2c 32 34 30 2c 30 2c  31 39 32 0d ff           |4,240,0,192..|
0000030d