Home » Archimedes archive » Acorn User » AU 1997-Xmas B.adf » Regulars » StarInfo/vanMourik/FRACTAL4
StarInfo/vanMourik/FRACTAL4
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-Xmas B.adf » Regulars |
| Filename: | StarInfo/vanMourik/FRACTAL4 |
| Read OK: | ✔ |
| File size: | 0425 bytes |
| Load address: | 0000 |
| Exec address: | 0000 |
File contents
10REM >FRACTAL4 20REM JEAN VAN MOURIK MILLCOTTAGE DERWYDD AMMANFORD DYFED SA183LQ UK. 1996 30REM ROUTINE FROM R. BAGULA. 40PROCMODE:OFF:FOR X=0TO15:READ R,G,B:COLOUR X,R,G,B:NEXT 50INPUT"CAN BE FRACTIONAL (1.4 < S < 7) S=";S 55REM D DETEMINES THE SIZE OF THE AREA OF THE FRACTAL 0,0 IS ALWAYS AT THE SCREEN CENTRE. 60D=2:E=D*1.25:K=D/128:L=E/160:C%=4:IF MODE=20 C%=2:K=D/256:L=E/320 70IFS<1.4 OR S>7 S=1.618 80PRINTS 90 100REM MAIN LOOP 110X%=640:FORI=0TO E STEPL:Y%=0 120FORJ=-D TOD STEPK:F=J:G=I:R=SQR(F*F+G*G):IF R<.0001 NEXT 130FOR K%=0TO99:IFR=0 W=0 ELSE W=ACS(F/R)*SGNG 135IF G=0 W=ACS(F/R) 140T=R^S:U=S*W:F=COSU*(T+1/T)-COSW/R+J-F:G=SINU*(T-1/T)+SINW/R+I-G:R=SQR(F*F+G*G):IFR<9 NEXT:Y%+=C%:NEXT:X%+=C%:NEXT:GOTO160 150GCOL K%MOD15+1:POINT X%,Y%:POINT 1280-X%,Y%:Y%+=C%:NEXTJ:X%+=C%:NEXT 170END 180 190REM SUITABLE MODE DETECTION ROUTINE. 200DEFPROCMODE LOCAL C%,F% 210SYS "OS_CheckModeValid",20 TO ;F% 220C%=(F%AND%0010)>>1 230IF NOT (C%=1) MODE 20 ELSE MODE 9 240OFF:ENDPROC 250 260DATA 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 REM R,G,B VALUES TO DEFINE THE PALETTE
� >FRACTAL4 K� JEAN VAN MOURIK MILLCOTTAGE DERWYDD AMMANFORD DYFED SA183LQ UK. 1996 � ROUTINE FROM R. BAGULA. ((�MODE:�:� X=0�15:� R,G,B:� X,R,G,B:� 2-�"CAN BE FRACTIONAL (1.4 < S < 7) S=";S 7Y� D DETEMINES THE SIZE OF THE AREA OF THE FRACTAL 0,0 IS ALWAYS AT THE SCREEN CENTRE. <AD=2:E=D*1.25:K=D/128:L=E/160:C%=4:� �=20 C%=2:K=D/256:L=E/320 F�S<1.4 � S>7 S=1.618 P�S Z d� MAIN LOOP nX%=640:�I=0� E �L:Y%=0 x0�J=-D �D �K:F=J:G=I:R=�(F*F+G*G):� R<.0001 � �$� K%=0�99:�R=0 W=0 � W=�(F/R)*�G �� G=0 W=�(F/R) �gT=R^S:U=S*W:F=�U*(T+1/T)-�W/R+J-F:G=�U*(T-1/T)+�W/R+I-G:R=�(F*F+G*G):�R<9 �:Y%+=C%:�:X%+=C%:�:�t`@ �7� K%�15+1:Ȓ X%,Y%:Ȓ 1280-X%,Y%:Y%+=C%:�J:X%+=C%:� �� � �&� SUITABLE MODE DETECTION ROUTINE. ���MODE � C%,F% �#ș "OS_CheckModeValid",20 � ;F% �C%=(F%�%0010)>>1 �� � (C%=1) � 20 � � 9 ��:� � �� 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 REM R,G,B VALUES TO DEFINE THE PALETTE �
00000000 0d 00 0a 0f f4 20 3e 46 52 41 43 54 41 4c 34 0d |..... >FRACTAL4.| 00000010 00 14 4b f4 20 4a 45 41 4e 20 56 41 4e 20 4d 4f |..K. JEAN VAN MO| 00000020 55 52 49 4b 20 4d 49 4c 4c 43 4f 54 54 41 47 45 |URIK MILLCOTTAGE| 00000030 20 44 45 52 57 59 44 44 20 41 4d 4d 41 4e 46 4f | DERWYDD AMMANFO| 00000040 52 44 20 44 59 46 45 44 20 53 41 31 38 33 4c 51 |RD DYFED SA183LQ| 00000050 20 20 55 4b 2e 20 31 39 39 36 0d 00 1e 1d f4 20 | UK. 1996..... | 00000060 52 4f 55 54 49 4e 45 20 46 52 4f 4d 20 52 2e 20 |ROUTINE FROM R. | 00000070 42 41 47 55 4c 41 2e 0d 00 28 28 f2 4d 4f 44 45 |BAGULA...((.MODE| 00000080 3a 87 3a e3 20 58 3d 30 b8 31 35 3a f3 20 52 2c |:.:. X=0.15:. R,| 00000090 47 2c 42 3a fb 20 58 2c 52 2c 47 2c 42 3a ed 0d |G,B:. X,R,G,B:..| 000000a0 00 32 2d e8 22 43 41 4e 20 42 45 20 46 52 41 43 |.2-."CAN BE FRAC| 000000b0 54 49 4f 4e 41 4c 20 20 28 31 2e 34 20 3c 20 53 |TIONAL (1.4 < S| 000000c0 20 3c 20 37 29 20 20 53 3d 22 3b 53 0d 00 37 59 | < 7) S=";S..7Y| 000000d0 f4 20 44 20 44 45 54 45 4d 49 4e 45 53 20 54 48 |. D DETEMINES TH| 000000e0 45 20 53 49 5a 45 20 4f 46 20 54 48 45 20 41 52 |E SIZE OF THE AR| 000000f0 45 41 20 4f 46 20 54 48 45 20 46 52 41 43 54 41 |EA OF THE FRACTA| 00000100 4c 20 30 2c 30 20 49 53 20 41 4c 57 41 59 53 20 |L 0,0 IS ALWAYS | 00000110 41 54 20 54 48 45 20 53 43 52 45 45 4e 20 43 45 |AT THE SCREEN CE| 00000120 4e 54 52 45 2e 0d 00 3c 41 44 3d 32 3a 45 3d 44 |NTRE...<AD=2:E=D| 00000130 2a 31 2e 32 35 3a 4b 3d 44 2f 31 32 38 3a 4c 3d |*1.25:K=D/128:L=| 00000140 45 2f 31 36 30 3a 43 25 3d 34 3a e7 20 eb 3d 32 |E/160:C%=4:. .=2| 00000150 30 20 43 25 3d 32 3a 4b 3d 44 2f 32 35 36 3a 4c |0 C%=2:K=D/256:L| 00000160 3d 45 2f 33 32 30 0d 00 46 18 e7 53 3c 31 2e 34 |=E/320..F..S<1.4| 00000170 20 84 20 53 3e 37 20 53 3d 31 2e 36 31 38 0d 00 | . S>7 S=1.618..| 00000180 50 06 f1 53 0d 00 5a 05 20 0d 00 64 0f f4 20 4d |P..S..Z. ..d.. M| 00000190 41 49 4e 20 4c 4f 4f 50 0d 00 6e 1a 58 25 3d 36 |AIN LOOP..n.X%=6| 000001a0 34 30 3a e3 49 3d 30 b8 20 45 20 88 4c 3a 59 25 |40:.I=0. E .L:Y%| 000001b0 3d 30 0d 00 78 30 e3 4a 3d 2d 44 20 b8 44 20 88 |=0..x0.J=-D .D .| 000001c0 4b 3a 46 3d 4a 3a 47 3d 49 3a 52 3d b6 28 46 2a |K:F=J:G=I:R=.(F*| 000001d0 46 2b 47 2a 47 29 3a e7 20 52 3c 2e 30 30 30 31 |F+G*G):. R<.0001| 000001e0 20 ed 0d 00 82 24 e3 20 4b 25 3d 30 b8 39 39 3a | ....$. K%=0.99:| 000001f0 e7 52 3d 30 20 57 3d 30 20 8b 20 57 3d 95 28 46 |.R=0 W=0 . W=.(F| 00000200 2f 52 29 2a b4 47 0d 00 87 12 e7 20 47 3d 30 20 |/R)*.G..... G=0 | 00000210 57 3d 95 28 46 2f 52 29 0d 00 8c 67 54 3d 52 5e |W=.(F/R)...gT=R^| 00000220 53 3a 55 3d 53 2a 57 3a 46 3d 9b 55 2a 28 54 2b |S:U=S*W:F=.U*(T+| 00000230 31 2f 54 29 2d 9b 57 2f 52 2b 4a 2d 46 3a 47 3d |1/T)-.W/R+J-F:G=| 00000240 b5 55 2a 28 54 2d 31 2f 54 29 2b b5 57 2f 52 2b |.U*(T-1/T)+.W/R+| 00000250 49 2d 47 3a 52 3d b6 28 46 2a 46 2b 47 2a 47 29 |I-G:R=.(F*F+G*G)| 00000260 3a e7 52 3c 39 20 ed 3a 59 25 2b 3d 43 25 3a ed |:.R<9 .:Y%+=C%:.| 00000270 3a 58 25 2b 3d 43 25 3a ed 3a e5 8d 74 60 40 0d |:X%+=C%:.:..t`@.| 00000280 00 96 37 e6 20 4b 25 83 31 35 2b 31 3a c8 92 20 |..7. K%.15+1:.. | 00000290 58 25 2c 59 25 3a c8 92 20 31 32 38 30 2d 58 25 |X%,Y%:.. 1280-X%| 000002a0 2c 59 25 3a 59 25 2b 3d 43 25 3a ed 4a 3a 58 25 |,Y%:Y%+=C%:.J:X%| 000002b0 2b 3d 43 25 3a ed 0d 00 aa 05 e0 0d 00 b4 05 20 |+=C%:.......... | 000002c0 0d 00 be 26 f4 20 53 55 49 54 41 42 4c 45 20 4d |...&. SUITABLE M| 000002d0 4f 44 45 20 44 45 54 45 43 54 49 4f 4e 20 52 4f |ODE DETECTION RO| 000002e0 55 54 49 4e 45 2e 0d 00 c8 12 dd f2 4d 4f 44 45 |UTINE.......MODE| 000002f0 20 ea 20 43 25 2c 46 25 0d 00 d2 23 c8 99 20 22 | . C%,F%...#.. "| 00000300 4f 53 5f 43 68 65 63 6b 4d 6f 64 65 56 61 6c 69 |OS_CheckModeVali| 00000310 64 22 2c 32 30 20 b8 20 3b 46 25 0d 00 dc 14 43 |d",20 . ;F%....C| 00000320 25 3d 28 46 25 80 25 30 30 31 30 29 3e 3e 31 0d |%=(F%.%0010)>>1.| 00000330 00 e6 19 e7 20 ac 20 28 43 25 3d 31 29 20 eb 20 |.... . (C%=1) . | 00000340 32 30 20 8b 20 eb 20 39 0d 00 f0 07 87 3a e1 0d |20 . . 9.....:..| 00000350 00 fa 05 20 0d 01 04 cf dc 20 30 2c 30 2c 30 2c |... ..... 0,0,0,| 00000360 31 39 32 2c 30 2c 32 34 30 2c 31 34 34 2c 34 38 |192,0,240,144,48| 00000370 2c 32 34 30 2c 39 36 2c 39 36 2c 32 34 30 2c 34 |,240,96,96,240,4| 00000380 38 2c 31 34 34 2c 32 34 30 2c 30 2c 31 39 32 2c |8,144,240,0,192,| 00000390 32 34 30 2c 30 2c 32 34 30 2c 31 39 32 2c 34 38 |240,0,240,192,48| 000003a0 2c 32 34 30 2c 31 34 34 2c 39 36 2c 32 34 30 2c |,240,144,96,240,| 000003b0 39 36 2c 31 34 34 2c 32 34 30 2c 34 38 2c 31 39 |96,144,240,48,19| 000003c0 32 2c 32 34 30 2c 30 2c 32 34 30 2c 31 39 32 2c |2,240,0,240,192,| 000003d0 30 2c 32 34 30 2c 31 34 34 2c 34 38 2c 32 34 30 |0,240,144,48,240| 000003e0 2c 39 36 2c 39 36 2c 32 34 30 2c 34 38 2c 31 34 |,96,96,240,48,14| 000003f0 34 2c 32 34 30 2c 30 2c 31 39 32 20 20 52 45 4d |4,240,0,192 REM| 00000400 20 52 2c 47 2c 42 20 56 41 4c 55 45 53 20 54 4f | R,G,B VALUES TO| 00000410 20 44 45 46 49 4e 45 20 54 48 45 20 50 41 4c 45 | DEFINE THE PALE| 00000420 54 54 45 0d ff |TTE..| 00000425
.