NNNNNNʿp NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNN52O`  @`! #@%`')+-/1 3@5`79;=?A C@E`GKQ S@U`WY[]_a cogikmoq s@u`wy{} @` / @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @`O`  @`! #@%`')+-/1 3@5`79;=?A C@E`GKQ S@U`WY[]_a cogikmoq s@u`wy{} @` / @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @`A_BHAGAT GENESIS SPIRO ,LFRACSURF EdMANDSHOW [SPIRO PI1 "}FLOUWER PI2 V"}. .. GENESIS TOS 2u;GENESIS DOC ;u;IB GENESIS0PI1 s`Hy ?<&NN\$_Jg̴<g*<g2<g6<g:<gL<g´<g޴<g<g< g\< gLB@BA9999J9gaJ9f ab`aR999R9n aa`0 / Nu`` '`````BKK(#`Jf BKK(#`Xa`Pa`HNuaJ9gaNuR999R9n NuCB BJC HIa@gA6<&yJ9g.(KAAAA&LAAAAQNuCB BJC HIal@gA6<&yJ9g:(KFAAAA&LFAAAAQNuHIa"y@gA6<&IJ9gAAAA"KAAAAQNu0123456789ABCDEFCAA"<$1 QaNuCA>l$(((((|||||8|888888|dt88x89 p-RG3 pNus/<aO><HG,Nu?<?<NMXNu?<?<NMXH@Nu?</?<NAXJkbNu//?9 ?<?NA JkDNu//?9 ?<@NA Jk&Nu/Hy |?<NA\ _?</?<NNAPNu3w@NuO##aaJaaaaa԰<;g԰<g"<Dgp`/< "?< NA\Nufaa& GENESIS V1.1 THE FRACTAL LANDSCAPE EXPLORER BY L.M.WITEK 22-08-89 WRITTEN IN 100% ASSEMBLER WITH DEVPAC! COMING SOON........... GENESIS II THE FRACTAL PLANET CREATOR.aaa& HELLO TO: KEITH (WHERES MY MAP EDITOR) WILKINS IAN (GDAY SPORT) CAMERON JIM (EASY RIDER) CRAWFORD ZERO THE HERO AND THE REST OF THE EX-BINARY PROGRAMMERS SAVE THE WOMBAT!!!!a a`a &PRESS SPACE TO CONTINUEa^< fNuaPRESS SPACE TO CONTINUEa,< fNuNaa:aa`Faa a\`6A aAadNuALaAJaNNuafaaAaA0<aA <"a. y <}aA* < aaadaab`ClAQHaLJ@f<Zg`Nu0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZaFILENAME IS GENESISX.PI1Nuaa# 3 3 aaRaaa`a# 3 3 aaaaalaa`3030a"aj?a029|`g<MfTyJyg<KfUyJyg<HfUy29|`g<PfTy|faa#U 3 3 />9 y"y Cp.# 3 3 BA6< B@4< />9 @ y Ap.X@QXA`Q3aNu# 3 3 BA6< B@4< />9 @ y Ap.9c9bX@QXAQaNu99d B9`99e # 3 3 BA6< B@4< />9 @ y Ap.BD9LXDX@QXAQ9<g,9<gBD99LXNuabCALCULATING...NuaB SELECT ZOOM. Nua"SELECT OPTION.NuC" y0<? QNu33a09y yf09y yf09H3|fNuACU29<NaNuBB9A9A9A9AH>9<NaJNuyy/>9 @ y Ap.Nu09H30<2<a092<a0<29a0929a092<ap<f99a0<29aF<f99a0929a<f99a0929a<f99av0929a<fazNu0<a/>9 G y Ap.><a/>9 G y Ap.><a^/>9 G y Ap.><a4/>9 G y Ap.Nu0929@A?H6<!aLH@6<!axLH@6<!adL@ 6<!aTNua#U 3 3 2<0<~R@RA/>9 @ y Ap.S@SA<9gD/AUAȑHaRL _H@F@ A<<BG9G9GINa*LQNRA|f@Nu#U 3 3 2<~0<~R@RA/>9 @ y Ap.S@SA<9gD/AUAȑHa*RL _H@ A@a,LQxQpNuB99ʲc99Ȳc99ɲe99DzeA0pNu"<1aQNuFyNs09ygNu 0@P`pp"3DUfw_77??\>?ww  ~>P < ~ > 5 ???_33\r >?{{"`~>P"~" r ? 5 ?????_Q1Q133f??f\< f??f>?{{ " `??`~>P >#1??1~ ""`nn#< 11  $> $> 5 $> $> $> $> ? $> $>?? $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $>_ $> $>// $> $>\<r/{y $> $>>?aa" $> $>~>P"ʼp $> $>~"  $> $>q{ $> $> $> $> $> $> 5 $> $> $> $> ? $> $>?? $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $>_ $> $>## $> $>\< $> $>>?ww" $> $>~>P> $> $>~R` $> $>"#< $> $> $> $> $> $> 5 $> $> $> $> ? $> $>?? $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $> $>_ $> $>7?7? $> $>\s $> $>>?vv $> $>~>P $> $>~?? $> $>p $> $>@@ $> $>@@ $> $> 5 $> $>@@ $> $> ?@@ $> $>??@@ $> $>@@@ $> $>@XX $> $>@N $> $>BG $> $>A@ $> $>11@ $> $>##P $> $>@ $> $> && $> $>@ $> $>##P $> $>11@ $> $>A@ $> $>??BG $> $>@? @N $> $>@? @XX $> $><@@@ $> $>~<~@@ $> $>B<~ @@ $> $>B<~ ? ? ? ?  ?@@ $> $><????? $> $><?????@@ $> $>< $> $> $><<<<<<<<<<<<<<< $>~~<<<<~~<<<<~~<<<<~~<<<<???? $> $>BB<<<<~~@??BB<<<<~~@?? ?  ? $> $>BB<<<<~~@??BB<<<<~~@??  $> $>~~<<~~<~~<<~~< $> $>~~<<~~~<~~~<<~~~<~ $> $>BB<<~~B<~BB<<~~B<~< | $> $>C<<C<BB<<~~C<? $>??~~<<~~??? $> $>??~~<<~~??? $> $> ? ?BB<<~~ ?@?@? $> $>BB<<~~@?@? $> $><<<<???? $> $> $> $> $> $> $> $> $> $> $> $>&BDN}@#8 $> $>(BlDdQD $> $>(BTD#< $> $>&BDf Q $> $>DdN@#8 $> $> $> $> $> $>> ??Q1Q1f??ff??f`??`1??1n?n11   ~~*0'gp"3DUfw}9A:9A}}Rp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8GRp)8G}9A:9A}}"55@@@>@@&`@" &`"@P p6`@2 6` "00`$@ `2```   0 06&6$5?3#I06$6D$nm*lmm Mm.kk?LPSmIN$m#m!$Im0$nTKK```<<5?eHfbI` @` ~B< H~z@ (<\B< ==00yPi){hupe NB<NB< NC@<P p%$ml6y  FB<FB< @B<@H 77  B<< BB5<500?<?;<Oll!!0$//xxxxxa!zxc#x h0x@xx`$`q<<$$< 0< $<!< $< $ 08''!!&$$!"$.0&$!!$ ?p?5@F@mB@@;<^s_M< <@ 323B0<OO8 $!$$ BB<B< $3$0$3$! @B<?? $#$$ `B< B< $3$0-$3$# "B<55O $$$$ pB<0B< $$0$3$$ 2B<GG7` @@$$x`$@`$ :B<zB<@ x`$dh$04D$3@D$$x` 8B<^^ $$$$ <$$ >B<|B< <$<$04 $3$$ < ~B<  &$$&&$$& $ B<B< $$0&$3&$$$ B<>> ?/  '$$''$$ $ NB<NB< 0$#?$0'$#$$ $ B< ]?$$<$< FC<D<?0$<0$<$< @C<;$$$$ @!? $0Ä$$ @ ?'""$$$$ !@!? $0$$ !@ ?-ଇSx $$##@00!  #$B 0 YX'l( !lwxD$d`$!xa!xa!xx@  a!x@$xx` ` {< `ߟSM@@C U. ==B?w|Oh{xxG&Z9ltpl7fx9O|??QEPDYfg;EPDU"EPDS??9  }T* &        ,d,R2.:*8&  z` V  $"(  "      z    "        \    0$   82 ***************************************************************** * * * GENESIS - FRACTAL LANDSCAPE EXPLORER * * v1.1 22-08-89 * * * * by L.M.Witek * * * ***************************************************************** This program allows you to explore fractal landscapes created by your ST. The program is run by double clicking on the file called GENESIS.TOS . The program is very simple to use with all functions being accessed by the function keys. A list of the keys and their function appears on the main screen for your reference. A full description of each key and its function follows: F1 - NEW SEED - This will generate a new landscape from scratch F2 - ZOOM IN - This function allows you to magnify a portion of the map. On selecting this function two vertical lines will appear in the center of the map. It is the area between these points which will be magnified. The lines can be moved around the map using the cursor keys. When the lines have been moved to the required area then press the RETURN key to magnify that area. Due to the nature of fractals the landscape can be magnified infinitly and each magnified view will contain the same level of detail. F3 - 3D VIEW - This function will display the landscape as an isometric projection to give a 3D effect to the landscape. Press space to return to the main screen. F7 - SAVE 3D - Selecting this will display the landscape in 3D as above but will then save the image as an uncompressed DEGAS ELITE picture. The filename of this file will be GENESISx.PI1 where the x is a number or letter chosen by the computer. The first file saved on a disk will be called GENESIS0.PI1 then the next file will be GENESIS1 and so on upto GENESISZ. The filename chosen is displayed at the top of the screen after saving. F10 - EXIT - Exits the program. L.M.WITEK 1989 . -L.. SSG DOC HMgSSG PRG HOS Silly Spirograph Generator ========================== (C) 1989 by Darek Mihocka Hi folks! Ready to kill some time? Double click on SSG.PRG in any resolution. Select the pen color, the gear ratios, and the step angle, and click on the "Draw" button. When you get bored, press the ESC key. If you like the pattern that is generated, click on the "Save" button and type in a file name. The file format used is DEGAS compatible. This program in no way attempts to perfectly emulate a Spirograph set. The gear ratios, labeled "Radius 1" and "Radius 2" can range in any value from 1 to 99. The step angle determines how fast the two "gears" are moving. A small step angle (less than 5 degrees) will produce smooth curves, whereas a larger angle will produce choppier images. Very large angles (1000000 or so) will produce _very_ bizzare results. Try it! By default, the patterns are generated as a series of dots. The "Connect Dots" option will draw straight lines between the points. You can repeatedly change pen colors, angle, and the radiuses so that the different patterns get overlayed. To wipe the image clean, click on the "Clear" button. Any pattern can be determined uniquely by the 2 radiuses and angle, so if you come across any interesting patterns, let me know! Darek Mihocka Compuserve: 73657,2714 BIX, Delphi, GEnie: DAREKM `FxKJ$f(ByFxOOh/9L ?<HNA\OJg.@L `6 - ЭЭйL "ҍ¼.A// Bg?<JNA #R6 yR6/(,HhNP/9P/9PF?9NT?<N&NV09PfB?<N1\3PN^NuNV09PgB?<N1\ByPN^NuNVH*yRHyPHyPHyPHyP/ N/O09P29PHA3"09P29PHA3&?9?9?9@?9PBgBgBgBgBgN02O?9P?9P?9P?9PBgBg?9&?9"?<N02O?9P?9P?9P?9P?< Bg/ N1OL N^NuNV?9P?9P?9P?9PBgBg?9&?9"?<N02O?9?9?9@?9PBgBgBgBg?<N02ON^NuNVNHyF?< N\NN^NuNVN?O3PDHyHyHy@HyP?<BgN2VOBG`0RG@AR:1 G m3RN3PDPHyPrHyPHyR:N3@O BBgN1\?<NT3HyFNDXHyRBgBgN1P yRhN4#PJARR мм#?<NT#R*0<1yFHyFzHnN-P?<NT80<AD@Jyf&?NXNN``| g|g |g0fP0H/ </N2  yRp ?9?9?9@?9P?<?/9RN1O`&N?9PN3TN/4BgN&TLN^NuNuNV8H:< yPJ1|$0< yPJ1@: yPJ1@8 yPJ1y< yPJ1y> yPJ1|609P|g0<`0< yPJ1@09P|g0<`0< yPJ1@ yPJBh yPJBh-yF-yF-yF-yF-yF-yF yR h/N%zX-y-y yR h/N%zX-y-y yR h,/N%zXHnHyNvP-y-y##Jyg y##HnHyNvPHyHyNP-y-y09HHN-y-y09HZ@HN-y-y##HnHyNBP-y-y-n-n##HnHyN\P-yp-yt-yF`-yFd-nh-nl-yFX-yF\##/9/9NP-y-y##/9/9NP-y-y##/9/9NP-y-y##/9/9NP-yx-y|?<?<NXJ@g܇ۄHAHB>܇ۄH@HC>܇ۄ>ڇلHDHEHF8:|HB>ڇن>؇HC>ڇنH@HB>ڇن~>(JkڅلSG <"FHD„v 歊ȀۆنGk Gc xz`xz`SGOHG؇Jj LN^NuNVH n $& n "(*fJgx(fJgt H@8HB:LME,<.*FHÁ…HC΃ƅąb fbRD1DHBHC.h~>ЇHG~` B@H@:|FH@HAHF<0BAHBHC8:ǒxjSG҃тd6BBHBHC,h ,ІHF|` B@H@:ƒ*HEHE8BEjSF҃BdHG>H@HA0,h ,ІHF|` B@H@6HC:2HAH@xDjSF҃dhrHF<x8(z <"FHG‡v 殌΀݅߅Dk Dc ~|`~|`SDLHDބJj LN^NuNV## -y-y0.| @>l## `n##/9/9N P-y-y0.| @OoBB`h##-y-y nHnHnNPHyL^HnNPHnHnNP##N^NuNV## -y-y nln=|`Bn n>l## `r##HyL&HyNo##HyL.HyNo##-y-yHyL.HnNP##/9/9N5P-y-yHyL.HnNPHnHnN:P##HyL&HyNo@HyL.HnN:P## y-y-y n##HyL>HyNoRHyL&HnN:P## y-y-y-y-y =|`$##-y-y Bn## HyR.HyNf,0.g#L#L"` BB`PHyL^HnNP0.|?=@ nlRnBB-y-y0.|?=@HyL^HnN:PHnHnN:P## -y-yHnHnNPAL 2.HЁ @##-y-yALf м-@ n##-y-y=|`*HnHnNPQ ./HnNPSn0.fHnHnNP##-y-yHnHnNP#L^#Lb-y-y HnHnN:PHnHnNP0.gBHnHnNP0.g##  y`## `@HnHnNP0.g## y`##N^NuNVHnHyL/.N-O @g0<HN`##N^NuNV n"n 2.HbH0|f |f`$ |g `Q`bA`2Q`VA`"Q`J0|f |f`$ |g ` Q`A`3 Q` A`# QN^NuNV 9LAO䀰|l yLXL 0<`0<N^NuNVH`YL yL PN 9LAOfAL*H`0- |g / N'X AL"Ҽ@m?.N6TL N^NuNVH*n0- |g/ N'zXg0<`20- |g /-N*XBm ?- N>Tg0<`0<L N^NuNVH*n0- |f0<`r.0- |gV0- |f0<`R0- |g?<B?- N(P?/-?- N. P @f m@ 0<`m *Bm0<L N^NuNVJnl3Pp <`H?.?./. ?<BNO -@Jm .`?<?.B?<BNO -@Jl .3Pp <`?<?.B?<BNO -@ nf .Ю -@ `& nf .Ю -@ `0.g <` . oH?.N+T|J@f .3Pp <``` Hn . /?.?<@NO Bg?./. ?<BNO J]|=@g3Pp <`` . NqN^NuNVH .<".ҼS/"</N5"X/./N5V. /N-bX*@f <`(M)G P/N*X 9N@L0N^NuNVH .<".PS/"</N5"Xށ 9N@(@JfAO (@#N@#OBO*T -e* -f(`  -+G#N@ P`( N@f/N)vX*@Jf <`(M*U`L0N^NuNV0./N)XN^NuNVH .f`t .Q*@(yN@` m n l`(T o l "-Ёf T (ѭ T*`* ",Ёf -Ѭ(`(#N@L0N^NuNVBn`<0.@AB00f&0.@AB10.@AB1 ` Rn nmN^NuNVBn`*0.@AB00nf0.@ABBpRn nmN^NuNVH>.=|\AB"HPgXHf0(LN^NuNVHHyND/.N-PfBG`HyNJ/.N-Pf><`HyNP/.N-Pf><`0. |gR0. |?/.?<=NP>J@m 0. |g&JGm??<>NXBg/.?<`j0. |gD0. |?/.?<=NP>J@m"??<>NXBg/.?<`0. |?/.?<=NP>JGl 3Pp0<`?. ?N+TX0LN^NuNV/.?<HN\-@ .f-|3Pp .N^NuNV0./N-bXN^NuNVHn B/.BgN;ON^NuLB@ggSBAgHJ@gHANuL rWfNuNVH*n (MBn ng?.N+T| fA&H. nU|`H| f S @  . nU| A|l0fD AH-@Hn/.?.?<@NO <Hg 3Pp0<`dA&H0f~ =@`J/ 0./?.?<@NO -@2.¼g .3Pp0<` .n0.L8N^NuNV?<N2T0<N^NuNVA#(A#,APN#0A#4A#8AR#HAN}0H|f n 0L N^NuNV09Og/9ON?X` yOROHNqN^NuNVHNqN6>AN}HЈ @H|f0LN^NuNVH>.<. :. BnBnB0.`"<< `2<<`*<<`"<< ``|dgڰ|hg|ogְ|xg E-f=|N6:0``" "Ё6.HЃ(=|N6:0SGJ@g??N7bX=@ @f`` 6.HЃ(=|N6:0SGJ@g??N7bX=@ @f`X` 6.HЃ(=|N6:0SGJ@g??N7bX=@ @f``|gz| g,|g0.g09OgByO09Og/9O?NC^\`SO0.g D` NqLN^NuNVH>.<. -yNX-yN\BnBnBnBn=|Bn=|-yN`-yNd G-f=|N6>`BnBE` G-f0.g =|`AN}0pH|g0.g0. G|0=@` G0gBn0.fRE`l0.gSE0.f^##HnHyNP?/HyN PTHyNhHyN\P-y-ySn`0 G.f0.f=|` GEg Gef0.f=|``=|N6>SF0f0.f3O0.g0.@`0.@`*JElHnHnNvPRE`HnHnNPSE0f0.gHyNpHnNP09Og/9O?NC^\`SO##LN^NuNVH BG3O# O#OByO nX*P`HAN}0`H|g2N70: Eg 09Og/9O?NC^\`SO` F%gFN70: Ef0<`0Fg&09Og/9O?NC^\`SO0`r`f0<=@=@=|H|*f=|RHAN}0H|g-MHnN6X=@*nH|lf=|RH Dcf0N6: @f0<`0.f0 nX PRG` Ddg Dog Dxg DhfN70: @f0<`?.??N7\-@09Og0`~0.f>0.g nX P `( Dhf . nX P` . nX P0RG`, Deg DffN70: @f0<`?.?N9fX-y-y09Og0`0.f>0.g nX P !n`"##N. nX P RG` DsfN70: @f0<`|0.f nX(P`"0.f0N6: @f0<`LSn0.g0gAN}0PH|gB09Og/9O?NC^\`SORGf0L0N^NuNV?.N+TJnn0<`,?.?<>NX=@g3Pp0<``0<NqN^NuNV nSh0(J@m n R @H|` /.N?XNqN^NuNVH*n0- |g0- |fm 0- |fm@ 0- |`g*Bm0<`X -f / NE2X*0- |gHyMN'zX0- |g0<`0-?/?- NB P;@0<L N^NuNVH*n/ N?JXg0<`8Sm0-J@l mfm `m@ Bm0<` URH|L N^NuNVHn/<?.?<?NO f|.HN^NuNV09OyNf.0<3N3O`BgN@VT=@ nfH?<NFTg(?< ?<?<N\?<?<?<N\09OgSyO` n f009ORyOAO ?< ?<?<N\` nf ?<N&T nfD0.29ORyOAO?< ?<?<N\?< ?<?<N\`"0.29ORyOAO0<f09NAO0H|fRyN0<``09NRyNAO0HNqN^NuNVH *n 0.-@ByPp?.NFTg6B`N@H|f``RR0.SnJ@f .``4/. /.?.?<?NO -@Jl .3Pp0<`?.N+T| f .=@ . *@(@`v HmT/ 0./?.?<?NO -@Jl .3Pp0<`F .f`.0.*LH| fR`Sn0.f H-@ .L0N^NuNVH*n 0- |f f0<`Rm. S UHL N^NuA۞RXyR !J"/0<NBYyRA۞R"P$hNu NVH*n AMf0?<NFTf"m m ;yN>ALh `, ALf BgNFTfm m ;yN>`X0- |g ALAPHЈ*+@`.0-?N*T*+@fm `0- |fm -gL N^NuNV?<?.B?<BNO -@Bg?./<?<BNO -@Bg?./.?<BNO V|N^NuA:\*.PI1E[1][ File creation error! ][ Yikes! ]@L`@@@Ptttt$tt Silly Spirograph Generator (C) 1989 by Darek Mihocka This program is public domain. Enjoy it!71Radius 1: __9999Radius 2: __993.141592Increment Angle: ________xxxxxxxxWhen drawing, press SPACE to pause, andEsc to exit to this screen. Clear Pen Color: Enough! Draw 1 3 2 Connect Dots Save $CDcd@)   @( %@&.@/:@ ;E@ FM@NRSWX\]j kr@" t   8       T   % 4 p      P @ Wi??!TD-@ !TD-@$?!TD-?.B9????UUUV? x?T%q?WxT?w?I%h?W&. . 4$f.,*   ."(d8 (              &   ,(4& 0Hv*,,2 .(*T   D(    8,J f2 0" Dd$&f  , @Fz  H. Ed.. FRACSURFDOC t e6FRACSURFPRG t ju THE FRACTAL LANDSCAPE GENERATOR This program generates random fractal surfaces on a 128x128 facet grid and allows you to view them from any point in space. It runs in low resolution (320x200) or high resolution (640x400) on any Atari ST. Operation of the program is self- explanatory: Run 'FRACSURF.PRG' in the usual way from the Desktop and it will immediately generate and display landscape '0' ('0' is the seed for the random number generator). Pressing SPACE will then toggle between the view of the landscape and the menu: f1 - New landscape This allows you to generate a new landscape. The program asks you for an 'f' value and a seed. 'f' defines the degree of ruggedness of the landscape - most realistic values lie between about 0.4 and 1.5. Greater values than 1.5 generate surfaces more like moonscapes. The seed is a means of identifying the landscape. Each value will produce a totally unique surface - one of my favourites is landscape '12345' with an 'f' value of 0.8. While generating a new surface (which takes about a minute) the program will illustrate its progress by filling a square on screen, each pixel representing a facet which has been calculated. The time taken to shade and plot the surface depends on the detail setting (defined by f6). The default startup value of 4 means that the surface is plotted as a grid of 32x32 facets. f2 - Set view point This allows you to define your view position in the 3D universe and your viewing direction. Enter first your x,y,z coordinates and then the x,y,z coordinates of the point on which you wish the screen to be centred (usually 0,0,0). The surface lies within the limits -320 and 320 in the x and y directions. In addition you will be asked for a magnification factor for the view. Values >1 give a telephoto view, whilst values <1 give a wide-angle view. f3 - Set light position As for the view position the x,y,z coordinates of the single light source are entered. The light is actually calculated as being infinitely far away in the direction of this point (ie. the rays are parallel). f4 - Define sea level (& snow line in lo-res) The sea level (and snow line) can be set to any height, default values being 0 and 50, respectively. f5 - Save screen (Degas) This saves the current view as a standard, uncompressed Degas file. f6 - Set detail The detail factor for the display of surfaces can be in the range 0 to 6 which give the following surface resolutions: 0 - 2x2 facets 1 - 4x4 2 - 8x8 3 - 16x16 4 - 32x32 5 - 64x64 6 - 128x128 Plotting and shading times go up by a factor of 4 with each increase in detail. f7 - Landscape information This gives information on the current landscape and view. In addition it calculates the 'fractal dimension' (D) of the surface, which for all fractal surfaces lies between 2 and 3 (see Benoit Mandelbrot's book 'The Fractal Geometry of Nature'). Higher values indicate a more rugged landscape, most earthbound landscapes lying between 2.3 and 2.4. There is probably a mathematical relationship between 'f' and 'D', although I've no idea what it is! f10 - Quit Thats it - I hope you have fun exploring the infinity of landscapes that can be generated. For anyone who's interested, FRACSURF.PRG is written in GFA Basic 2 and Fast Basic assembler, and the complete source code is available from the address below for the modest fee of 5.00. Any comments/complaints are also welcome! Jonathan Millar St Catherine's College Oxford OX1 3UJ `|lV,O*o -`(HARTMANNS EASYACKERFRACSURF.PRG H?<NNTJ@gM1p,QHz?< NA\0<QL` Y ****************************************Y! *****THIS PROGRAM WAS PACKED USING *****Y" **** THE HAPPY COMPUTER PACKER **** Y# *** FIXED FOR MED-RES BY BIRDY *** Y$ ** HI TO PHIL,TEX,SIRIUS,& YOU! ** Y% ********************************** aЭмRcBgNA&@.(m -$Sf(mE8*g*g(*g4۾eX`RBA|Q`RBA*SAQ`RBB+SBESCQQBG`ABJPga&m k -"mJg$ёBJAg<f `` m,HA -+P А+@+hШ+@+h?<NNTм|`A!@ @C|E T QNHAaD?<NAT<Yg<ygLNuLAaAaAa |@@Hm@?< NA\Jg AB`ABg/?</-A/??<@NA ??<>NAXBg?<LNANuEDO YOU REALLY WANT TO SAVE THE FILE ?? (Y)ES / (N)O PRESS 'RETURN' TO SAVE ON THE DEFAULT DRIVE.OR ENTER DRIVE,PATH AND NAME FOR SAVING !! /?< NA\NuHB?< NA\M,M<@M,A mM , M, Kb`x~K?<MBVaTaTM, MіT~*J$zIM&VcB3B J Pg,aJ@g 2(`2(¼3 J``MF3@M8/?< NA\C Q (M*!VШ!@M.VL -Nu܌,ޠQpjQieY6sK3նƙ!) o./Hk]6RPu$qGCFK-ЊR;/iľ/"`Cf >O 4`HFl9t7E K@'(:$f9xwIVE2$;Mh^)5J'4QJǡ=%7"h57> xX&|j$F%r4~2,#0:oopţ;Yq\]uNJMؓI-cn*M\.VLHz?< NA\?<NATBgNANOT ENOUGH MEMORY FOR DEPACKING !!aJgDM V0/0MRV1V/?(aT _MRV1V?(aTNuM V0/0rBBaJ@g`SA|f1BNu3@g 0<`B@SG|gNu~RNuA."P I"h$I (AH"RRR!SfNu*o - ЭT(M*Sf*o mBeNp\>xDV|a#oxCx]UF)IX'cLx2$c!ºmTôfDwcdء Yٵ,U ̌[]n }t`60c!9T&(!_j&!"X[Rݸj&!al=,ږ"[R^ږF& sp<? ^Ik//!? IZ 3@%! b_nA SU4[S. i\55y bðvjq$'pXj5djS |S_ !=XOKqpX𲠽jwUHԐak?pf½uzHGt$~5Nv_i,%P4%:h+`nHKj5dj-UPU<*D[lDv@T 6 VjUh@vh @ѡykFѽZpv @{blv U<"x U;  l`PVlh VS҅S`+B XH|1u~j%^'Kƪ%Q6/ñDhCҩXnXHS#5'^jW'Fxhp"tb}r$j$IHW0u,,Zп'4 d'/P긫2pTe }##ПdDŽ=:U=PܸH(M-e!"icj(#Y"3Ut(# ,.ڋ#Yv!X -ЇUSf:"Lx5tI0@:t Uz*;V4eԑbNwq -X\2'# U1KV)Nj.i0TQuH}`@09f,|QaŖmtZtG!NC 9S-Cc@IjHV+wj8Cʻ 6oQ"Ġb b5d=%EM^HG>yl=|:% _ Ǥ)/z.LzjE~r= FKa|:% _ Ǥ)/z.LzjE 09 / i/_yXjE(XBpC!pjz*;W8nzZEhE#|XIcKՉ#;j>,G>t !c4)UKa!K{$*s뀑 ].%bSKm1K.Ĥ 9ؿt٠!{ʩ4K.ǩtJ@Ӛ]M|.I{Kt^ \$ ֗bRbo\Yr.]hu=0lJihuīxZiކpdh U we`+a#c M%ЀFK WZi,dF,N]xv4-h UoP<LK,$*UQZ,*&%)x[fEUf6И&=Bb[j1,zx58 bb[jHBEI bbYX+7hR)dxD&vϪt4`4߁&NXX| .}:qab,5T_5l(Z ,.ڋ#YvTG4XY~<[Njj$ !He*ve*{ӗTk^w@VP\hB躨աltB{ -%u%ǤFޡ~I ET$=֮(*CD@߸Ii({;vJ-Q' B|qPPWP9ޢ*HR/*ZJijqhX/wq'@בȫJ3RE[@{;+<9F;D!He*{;+<9F;EQI _T$LPRZN̥POu o}Uޢ xIi({u=FzQE$)R,Ի,ѿԾQE$*Xtk.ޢ*KN|qP㊄)TQk;$p[E6Tj|G;DKIEB9 DEXjQQ+xhKЬ;2A=Nj`ޢ*œZ6߸2AIi/*Bf٢/Ugn]#)ӡ MӟGWIz|qPZC`'KUF[-'z)-8lq 4Ouiݪqez)!H{DUU% {H~Tk-;EQI e*ve*{AN(w/QZpǺ$e-^T߸I Cz9QQE% {5{w_TJZ_Q)-% !Q -%#)IqWTVwBKyQ`N^@kWxz)!QsD:f*t w{DSt (UŨx fh ' B*#\bjijéU'LfagmUh(Z7Vh bC $vU8v^R+Ew]#Hz*ZJ8W -%.HEw~ PW05}&a|qPQ!EwuF:$u"wZp߸Rxtk/TP?^B/S)0 ㊄ qNwq'@בȪy"-Sft"r"07 A~ڱ2|]o`nވSp7 Ay1E)p' /'D[_t |ȪmblqfO6Wx?e<CX8啊wN3' CX}:x0&N½7ډ#Ly8^AT9 \b9}v뎎_]ck⡊9}ɬ^J5U1T^'* \'Irv1(U/XwzD;"NџnQřWm ;[^V#eI:tAĐY Gˉ5jdr*B}U:3[- BTSoMO ]C#i qJ* <V5:0W{Z W$ 5U7k ONDUgZZ0'U/B}@'M-U(^~2B^ؽDŽ=:cŰDQE#--UgV؟DKUJ꾄,=]t#|Xhڧ@Q¡HUXK_^+vDgQpoʜ~Tq:$ֹ 7*_] MdÐQ¡r*l,Ui.+aX돦%P^k􇍍ب DY TxP(sv:Mq@WC¹>qp6cItF.B]$jBGIX T4XPڵ$0=|(kV99v:_j*ES†q8E[2 | SKESڌXq#'ijIGT5W,S[)]O $T^,zʖ<hU QoˤOs?qj׵NK yy鯯Wmk]N-ؙ5ډq#';G"tIunjXsnƻZb5b1e%j$Z4E:$p{@`25o h^wt\i<;"NYS1,9eNI:>:h1I,p׊Ё4avu[/ t7w}xI탵D}ք[*ҹӯR,`X{ |!nLC]<@b9K',6 ,ږwhX耎j\SL>j@j95>$!I"9 /`"X pa|n گPuj} EĺrOxY dx4UIh` 𳽡1d4-- 턙gZ:00v߶c]qBOV dWH|0i[$[x,ETu<`aU5]I"SF.'@kC4#Ȫ1ޮ/cǼas쮿06<[b21bJ[mM b]']bfx.vp@_]Feq'$Bsr,ۯƞ.6ut`Px(E ˗“?yl!n ]] şۯ5Q.6]C`Acv@P CvX$@Bi\.[i5P(X X]׆֫ wy,.Ӡbr*.^ \G"4B6 AȪe+nq0bMlWC aV$Xڗz'=n0<0zmjp;@t5O$1ˉ%f籪̲ @X'a>^\Sk &j  }=0yڝ]q$vvӣFG.S]@G.0>(a(EL_]_JIb`xj.JϻOt"Kp[ztJ66YR MSk 1;ҨD$Nʮ1v́;j5(ř$dH.Rjz:]qNPöСvCi%fOp5P=V 㲅˸+Rjz:]qB t|vˉ%YuV$@jҺ4tOI)ĐW3RscT. ؜`aр2H i$| @ Y"Z./.݀,{%t iMSm)lyd`,h&:+{D~8{#a\]4ߤ^|bKχ>s%dƾp>>bKi(8I Z#%JSuڷ\n!Mf >"I۱p1,X ]m̴Im%,i(8B>~q5[IA>nƭO%&Ab9!V,$h 9'N4 $1G"t SE/⯷|i߷|'П@ٺOA!ޑNW ip ݺN= h /m uS4\N x}ח} x2}zQC^8SƲgo]]'@r*¸ \IhS̲k NhUwWwWۼ"YYnqj苈=pL#V랸#,<_ ,!6$ ێ:㋎"JsHHtx$:t+.ޒq]fH-$*$)F#"-Iu{榛6Sm0Ľ1/1N* snZo#p %"0JaQO)c"K$+7fL$!{P0z=?8ӣh-e0z}razط@_ JimV< UP O❴v?^\Dj Ɛ KυDOЦ¿qO@ino!>!~$vxőLLPf>_ > É>4pf[Ңk6:@P_=\>\E\%U ^\>8ķ?U³AE-W[D9R`zH,XTq#[58.+OZi%gB<<eU@5OD=<$'"KitDkPQKU S0krDUxϪTe*0K^ Tt>4VTte* hՋ FJzC%V\wF#Ti$Sp'Fa 0<>[|"BH8>>#a+䎂t f]\yORqr]-}#0I ev,p }oD[CmBq,#i *{q?>\a|vah"+q:SX[x-3Nx*=n& np !ƥx=V ݄rʝG"C?km:2|07 b| /! K ?ؽ聈 qY>@^C.0ʸ2&p pW `D:vvdLY4*Є+LV e7~}bőBH/ 8xbE),]o`nވ@cEP.oDؼcԑXZS|6ܰ`n*Ay1-!=Jx']o`n*D*#VQ?սPI+7=~Ș&8V)%X`]zSkWk=Jxx1p$@.TG1i⍨I+>?dLIn+TUxN,.\$*,` \{\U {r*v.'^ vC_np-\i!4Xgm:FNuN]0ף'15ۜ zHLu;K߻HΩњZY$*6$M"$DMI $@]b=BI,'l;E[!He*K9a.$y88I D[~S3Qe ԕS ~ R]|x TN UK@fc`.X ]X%ǀK:H,>WgA%!"5hq"kEtŵkPk3㲔ҢOVQr֤y̓"0W5\Lހ$YҔ "BH"  UqdIR&)I֤So 6 z@I"X@mv#R@aa$f]@{SZ*w5-=Fڨ؎Ė)TfbO'ZN !He*ڨĖBHR$Ҧגx$@ Hjkfl p[-'zJɂlx"䖜2O-e ػIᔪ 3hdN/*ZJ$Z ͥ'R,͡y88I7$ZQ$@6I$f_Đ!@mv#R@aa$f]@fm%~{-eĕ쵔P:q쵚/joÀˏjo/j`t< ͖TN$J6RIKI$)yl{-h3hKfmIᔪ 3fO'ZN !Hcofy%[LԺšc٨cŰDQn$O㩵Ğ9 KHu$,{l;E[-8d[ZG w$62H]x!Flt ZT=iy&$6 HU%O{-Fg<='`ޢ*RA3RECY$p^)"wTFaԑP'Nj`ޢ*RyI GqfVA"wTi3RECY$p[-'zIc5$T0K&$l4k|y( "K zM^pIDpP $Yiުy&QÎ,=fNjipIDpf~2H?cůy&QèDo$3M6ݤ$ָ̃*x뀁'Ĥ iFa7{~]$ָA$R4ItY$xβ| ZbA$P}fXa>03zףvZm82 'Ĥ fXct%%(pnٖPc}| uKʒMk0dROIu#F-hL=c}d?ͪKʒMk TR]H]{@ٖ, ,o$|oT$meI>%%(He8Cۘ7i/*I5m2Fs]fX󬽾@x-Lou$ָ̃*Iᔪ 5бEQ_T$FIq M'ĤUQ`{?E%I&dRO' PYбEP !QylCS|JK+,.BF=h/*H u&X2 'ě]R4ItY$xβ| mvt^b^Tk\ R]Btgoދs=|[x$]BY0^nu~6 OMkZ>%%ԍj7Muo`KI/*I5$m" δ{-)  g &ˈ<6 z@I"Rk\ W`2mv>^b]BbE|x^ٵIyIyRfYe!wdqsbBs ,Sj%$!̃92d]x}aha>CCaS x68Iя . "]SǍe e9M"k=2d".w0Ǎe&j%C"&I AK]2,aj%$!m\$ES Ium{y3E>ئ]mvqN ]A#dE0)Aac\f.;DMpAL$U%׀.C"AY@$!m\$ES Iu E1|B9M"k=Iq%([lS>uo0["1ZJk$o,[ Aw<dIR&)IrrI:Zm82 'ě]P"p:,n6h3ywfgA%!%H"GIu r Ep=䍚, o0^)<]`SDŽPHc0)Aac b9sDD zdT"E]x2,ac5asDD zdT"Iu E1|ڨBP9M"k=6#qCh@@">=G w$52 'ě]PfYC? I-fgA%!%H"GIuUθ I-ئ,^b]B{fXa|=XW]# A=%- E:/zM跂p{1UtǍnj%HC"&Inh9$6$Ip3oA$kFs]fX󬽾@x-Lou]#k'h O4o%eIp6OIu#Dxn|oY>CX3yMעm@&xZ>%%ԍ0`K1K%I&ėPw1aIy$v]Bc[7z1kKQ%H1\]BhL킐?FdX36YRy8e*̃.$q|qP/ l$ ͔y8e*̃q|qP/ l$ ͚)<2AfAI$)^AT$]BhLo.d|hLq% %2G %䎒ZKP 4XCaEc3b:K6KφfbK6KφfD>/*I5$ @ǀcp=C^T*ѧ29$Ip6OIu#GlF-۠Y$$ָјUbmvؤH44fJ"%ͮ(p7iIu1 &0 5’ᙵг`?o%CY/ Kτ"X Md0jJfP/}Dt|0 5g<=Nj`ޢ*Iؒ0 5jx"+/>^\8 |'Vj*]xeLi~{S| kLG$Kٟ$ /. |麣;HԚ=R]|^b$@ H 6$ NmvnITkH 6E$ mv IT-&f3hmvnIyf~LėRU-% T}? i c$drrI:e!?sCkf~ lnEMd-qk9$a1$C3e%!'R,͔_by88Ib{y(п6R!%33dNJ6I$e*J5$i/eBHR$[fRy8e* y8e*BJ㊄[~ef 0K& =Nj`ޢ*HR$[ࡲO' PY9I%O-e{~\6H?=!%kE3?=kRK3pJ 0'@!o?.DFIgNJ6sCdN/*AJ"0 o?.DFIgU,V BNgU,EfA!%Y`Rvv?qf߅X8;;C* $dI y%/:'bDE BJ\{-fg<2AfmBH!U|`42$*2O-efl'R,͜'R,I<_T$8I[AIL͔YLI?u"w<=O' PY9I%O-e|mIgHI_"YaZn,ȼegg-`?o% YRy9N~QpID^6;VfzO' PYC<2Afl)Tf*O' -% PYE$pUO' -% !Q -% PY$q|qPPU2O' BHRJ6y88I7`S3j)TfO' PY<2AfmI% 3fO' PY,$pUO' -% PYE$pUʓBKIEBHR/*ZJ/*B/*ZJJ?&I$ܾ8I e*I$݁N~QӾ3rO' PYC<6iI㐤2Afl)Tf*O' -% PYE$pUO' -% !Q -% PY$q|qPPU2O' BHR`S~uf֓)TfO' !ۋ3Ы%IR/XiV4*i*Np0Җ2wɷ/XY6 *_? jTiK3?qf`ȴ'8iK3?!V BJ 4:m?HU"T a,!3)gx~ 0OHh;VE &%K"t [S)$锪S3en&S)$%lc)TfQ6w͖ "RIBJR,͢m6Xm2H*V2AfmLI$sDGʀDENEQ:Ƹg0Id*RvvUf`$9X7JN g jT¬'giE3Utkf~ B'giDgHU:24*i*NaV ꓳ"B`Ω;;L.ٟuI۾mldzDGIԞ[|-\ky&Qh=4"=rHM#=J"=-~O2m$wfzHٟW&I}\j$ #3)g`,S-? t)*Np0ҖfzNjJgV2J 4^;3X:'8iK3?cŸ3X8*Np0ҖfVJ6N/*ZJJ6.y88Ii(coƵDE6)/. Ej'qfm 9Iyp`j t%PkImIm66 z*jJf&{-L/]o3?¬rNԗ^zah8 I <_ O^"Kˇ6žpj*]xeԕ׍ 1`&I~?&?"=k?f~LX6uROL o3?K2`1I?m2^iَIiEn3A,Rx'0mOqU }*NRx/IC;IU$ !b? hx+I"4Q$@RW4ڄ }# qrNԗT>G w$I_ _b<3?ЅX8%IgE$qQj]@a)$ff<2AfmBKIC)TfғBHR$ٸ6Iᔪ 3eN/*ZJJ6N/*B'UxU'drs!@mvXIh!$pU2O' PYE$q|qPPUq|qPko2X ,S澶\ )_[t.>kn˘33 MS ܒD) CUkk?h~I zTG w$ 6HAmqqm$RjH u$f_$c m4"DGIgo̓TG w$ 6 k d"qA7"=_H?~mjH uH 6HA\iD 6WïͿ2MS ܒD] k d"qA7"=_H?.߅~d9$a3 1E4"DGIgfߙ&@I"X@m.@a3 BH`I 6,$ kRH 6HͿ10g sl>TG w$ 6$ k d'5ƙ@?h~I z)YIa#;H_ C0) CWmqA7"=_H?? 65L$rrI:k dL oɴDz$= o̓TG w$ 6HA-qA7"=_HYIa#;H_ C0F k^3 H 6R@aR@2"D 6W/Ϳ33qZNl?X}e0gk p˘3; MS ܒD) C0IH 6R@f~ ~m澶.` ,S澶.`ì,S澶\ 9$Iu@d ssy$uoU-% 0me)5ɴDiT=? !Dt=? QDiJHɐJ"VZ@k6YS@|v2YD{EY$w"Dt=? -6MTvK}{Fj:J=nUnEh"r)Vq@8=](w~Vd,] U nMqKLŃhJ};\^~>E1y8]cqs៥!nq^]pH~pk$7<RŦ'+[ '+og@,ܯ۱pUCLK A8ei8F-BX,#CCA꿵BP8"j&-~'-õwy{yƕ87!8I꿚&Vpq¼ǿN ËvJvbm/LKfN=TaeXźŵrJ^ۂ/KӑCV;Cbjt$&] ,P 54@aN&\0@ ,kt<&aڻ;^ aˍx)Upq2. S#yp NkLƼȕ..5GJ^ dq B4@5.wtKnj]"U]HND `0r`-.]9~EKUM]@@aN (s <c^n^Kn k#@\ݏ|pMv=.$bԓ+t /˗cUAu(u\v"{' khp#=a]P~\BGiר7 %+Kr"rv=b5^KSGRN0Wj._.ǾP/?Ă/fAw@KpV/. -|\ݏ|pMv=bԓL*񄗁0@W ގ79q4$kwWbz8PÍOCBKwvٺ6-˫A>U,-BшnXD鸾 ;'MM_ ଐ~iRto.])7XA(P߉..41ݎaKKcߠxpw~/ÝtJ~P]DJ:=tnġKtoġL8]7t]8pD]ÊlZ.WcUVU@ WbK]EZ]tv VZ];`غ7{EѠg^ÂDX:G)']n^.^h@;@W`\,#§ s݈TP≀#Th&;&t~P8T8N"WDPM\zrQ1A]]q: (w-\BӗXǸ_ I `^T-?.@/JygaByA<>`\aBya^a(By#>:SG#<:SFB3zx&D(D0:S@Fz32:SAGz3 nr4H@HЁBDBBr=A-Hhh gR"a":za( " a":da*Syg2"a&@ "a" (@aazm0:z(@`p n2.4FBvXeXQ`XQ :":aT#":aF#?<?<NAXJg<g:Q :":a#":a #Q?<?<?<NM\`AV00Pa` nn0<"nrA0< Q Nup?//?<NNO Nu"<0<NBNuV1.1C@dByB0:>HaR#0<ȐGH30:>Ha2#"0<@GH3 :la#S.":pa" :Ta# ":Za" :>a#NuJyfpa* nn"nr0<? QpaaBaJn:g n:g .EgV`0.Hdap":a:A"a@ aV":a A"a& 3pa pa`.A0N=@*p000BP`PA0  -|*-|.KZ-MJ` nnaAvBP1|`"a nra0:$ACvp2QHz ?<&NN\NuA@Cvp0QNu3@`3`3 `3``3`3`p`p`p` p`p`pByA(<0c<<Cn@By`nAa#CBy`#C`Aa#0`#0`A" P@gT0@0`A Pjg>0j0B3`"3$3`33 By`Baaa#B#CByaaV nr0<BBQNu2< 0< y@gA2< 0< ygANuA&CXp2 Q0:2H20Nu $0NAX yc3a`apA a#V1.1`A6a-|FjaJ@gCaaAaBJg23Hz/<??<@NAO Jk?:?<>NAX`\A^a(`R*H?</?<=NAPJjBg/ ?<0.:Nu[1][|Couldn't write the|chosen PARAMS file.][ Okay ][1][|Couldn't read from the|chosen PARAMS file.][ Okay ][1][|Couldn't write the|IFF picture to disc.][ Okay ][1][| |Not a MandelShow IFF pic.][ Okay ][3][| |No more magnification !][ Okay ]x[1][|The current position doesn't|correspond to the image.|Please Redraw the picture.][ Okay | Save it ]x[3][| | QUIT - Are you sure ?][ Yes | No ][3][|MandelShow |must be run from|LOW RESOLUTION.][ Okay ]*.POS*.IFFCp"QNuA`aX$HCZ-INpQ njpQA0ZBX BPaJn:gJnNAXNuaA`FORMILBMBMHD@ @CAMG`CMAP0FRACBODYA:\FRACTAL1.IFFJygJAa|g:`Aa`A,a|gPNuHz ?<&NN\NuC@Ap`A:\STARTPOS.IFFA:\MANDSHOW\STARTPOS.IFF@@   0  0H  p0  H  H ) 6 0     5GY  k(0?}    $ - 6 `?t    $ - 6 )!(HH"8H #> H $DH %JH &R$H 'Z-H (b6H k?H */`6+` , ` -` .` / $` ),-` Desk Project View Magnify Colours About MANDELSHOW -------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Redraw Picture R Continue Pic C Load Position Save Position Load Picture Save Picture Quit Q Green F1 Blue F2 Red F3 Grey F4 Multi 1 F5 Multi 2 F6 By 2 By 4 By 8 By 1/2 By 1/4 By 1/8 Maximum Minimum New Centre N Big Picture B Small Pic S Detailed Pic D Fast Pic F View Pic V Reset ParamsA:\FRAC1.POS[1][Mandelbrot Set Generator v1.1 |By Nic Shulver, (c)1989.|Written for ST FORMAT using|GenAm & GenST from HiSoft.][ Gaudete! ]   * . 2 6 : >     0ARcsvs`P@0 $5FWwvudSCE5$ 01BCTew"3DUfwgWGF6&eSB1!bQA0DUVfw2BbR'Ggwusq?<NNT-@nA -@ranaapaaBya pa^A0d BA*B0 @a=n:kfA0e BA*0BX0 @aJn:Nu-|dJ=@*pA0000BP`<L\d8dr  bh,$BZ  4   (  b  $6 ,*$2t " "&D>X:H0000l  MANDELSHOW Fractal Graphics Generator V1.1 ========================================== Okay, so you've seen the Mandelbrot Set being generated before... but by a bunch of Transputers ( a dozen 20MHz T800's maybe ) in no time flat. Well here's the same equation being chewed over by a single 8MHz MC68000. It takes less than an hour to render a big, detailed picture - compare this to a program written in C on an IBM XT compatible, four hours or more with the same resolution as your ST - but in only four colours. Fractals are infinitely detailed, wierdly beautiful and addictive. I spent more time running this program than developing it ! The program is fairly self-explanatory and I recommend that you play with it a bit before reading the rest of this documentation. Just one thing though, the STARTPOS.IFF picture is not absolutely necessary but does speed things up at the start. You can use any fractal image as the Start Position, the one on disk is the initial picture as generated by the default settings. Fractal pictures are saved off as IFF pictures, compatible with DEGAS ELITE, and just about any other graphics utility, so you can use the pictures in any way you like. The Menus ========= PROJECT ======= Redraw Picture Draws the picture from scratch. You can break out to the menus by hitting the ESC key. See View Pic. Continue Pic Okay, you've drawn half a picture and pressed ESC. As long as you haven't changed anything ( except colours ) this command will recommence drawing. ESC aborts. Load Position You can load in a previously found position and continue exploring... Position files are very short, so you can save off your current location with no worries. Save Position Type in a file name and away you go ! The file created by this option holds information about the current position and magnification level. It is 20 bytes long. Load Picture Loads in an IFF picture that was saved by MandelShow. It contains position data ( as in a Position file ) so that you can quickly carry on from where you left off. Pics take much more room than Position files but are the only way to export your work. Save Picture Saves a compressed IFF picture with additional position information ( in a FRAC chunk ). If your picture has a different centre to your current position then you will be warned to Redraw. Click on "Okay" to abort or "Save it" to save the picture anyway, with the wrong position information in it. About The sign-on message window. Read it, press RETURN or click on the close-box to exit, then view the menu options. Quit The exit. It double checks;- "Yes" to quit, "No" to stay. Your desktop colour scheme will be restored when you exit. VIEW ==== New Centre This allows you to click on a point of interest and then zoom in on it. You will see that the pointer changes to a cross-hair cursor. If you decide not to change the centre point, just press ESC to abort. If you do change the centre then this menu item is disabled until you Redraw, because the picture no longer agrees with the position. Big Picture Sets the picture to its maximum size, the entire screen. This is best when you're fairly sure that the position is worth seeing in detail. Changing picture size temporarily disables New Centre until you Redraw and have a valid pic. Small Picture Sets the picture to its minimum size, one ninth of the screen. This is great for having a quick look at new positions, nine times faster than the Big Picture view. Detailed Pic This is the slow, deep setting that brings out lots of minor detail. You will probably want to use this mode with the Big Picture view only for screens to save onto disk. Use with Small Picture view to see extra detail. Fast Picture This produces a fast, approximate Mandelbrot picture that is great for exploring with. It works best at low levels of magnification. View Picture Select this to view a full screen in its correct palette - click the left button or press ESC to exit. Note that the palette is modified during menu operations so that the text is always visible. Reset Params Brings you back to minimum magnification, the standard initial values for position and the standard palette. MAGNIFY ======= By 2 \ By 4 >- Zooms you in - starts redrawing immediately. By 8 / By 1/2 \ By 1/4 >- Zooms you back out and starts redrawing immediately. By 1/8 / Maximum Zooms in as far as possible ... note that the mathematics starts to lose accuracy at the highest levels of magnification, so funny effects can arise - be warned ! Minimum Zooms all the way out. Not terribly useful unless you are completely lost. COLOURS There are six palettes to choose from, each giving a ======= different "feel" to a picture. You can change the colours of any IFF picture files that you save off using your favourite art package, but you won't be able to load them back in. Notes ===== I use HiSoft's DEVPAC ( GenST, MonST ) on an old 1040 ST for text work and a newer 520 ST for testing my code. The MandelShow program was originally written an an Amiga A1000 ( sorry! ) with HiSoft's GenAm and MonAm. This may be one of the few bits of software ever ported from the Amiga across to the ST ... It always seems to be the other way. Note that this version of the software runs over 15% faster than on the Amiga - this due to the ST's processor being faster and the operating system not getting in the way, like it does on the A500 / A1000. The code is 100% assembly, no compilers ( yuk ) or other stuff. It's fast, mean and lean but may have bugs. If you find any, DON'T TELL ME. The program looks for the initialisation picture/position under the names:- :\STARTPOS.IFF :\MANDSHOW\STARTPOS.IFF \STARTPOS.IFF \MANDSHOW\STARTPOS.IFF By default it's likely to be in one of these, so should cause no problems. If you change the contents of the file, i.e. save off a different picture, then that new position will become the default starting place on the Mandel- brot picture. Very handy for deep delvers. The total available space for exploration is over a million screens full, which should keep you occupied for a while. I use a modified version of this algorithm to calculate the colour value for each pixel :- for y=0 to screenheight-1 q:=y_start+y*stepsize ;stepsize depends on magnification level for x=0 to screenwidth-1 counter=0 xvar:=0 yvar:=0 p:=x_start+x*stepsize ;x_start & y_start depend on centre point loop: ;just a label xtemp:=(xvar^2)-(yvar^2)+p yvar:=2*xvar*yvar+q xvar:=xtemp counter:=counter+1 ;(ie counter++) if (xvar^2)+(yvar^2) < trigger ;exits if we're sure it's interesting then if counter < maximum_iterations ;exits if it's getting boring then loop ;this is a GOTO ( !!!! ) else setcolour(count&15) ;don't have to use this colouring rule writepixel(x,y) ;hit the screen next x,y end DISCLAIMER ========== PROGRAM DISCLAIMER: The program is provided "AS IS" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the results and performance of the program is assumed by the user. Or, in English, if Atari change the rules or this little gem of a proglet gets stroppy with your 8-inch floppy, hard luck. I have tested this program as well as I am able and believe it to be stable, but somewhere, someone will crash it. C'est la vie. CONDITIONS ========== Feel free to distribute this code on a non-profit basis; the graphics that you create with it are yours to do with as you will, and none of my business. It is important that you should spread this DOC file with the object code, but the pictures & positions are less important. Nic/89 > Gaudete! < V1.16#g0@V1.17{ jBFORMAILBMBMHD@ @CAMG`CMAP0@` @@``````@` @FRACC@BODY@??????????? ?Wx>W‹>s?1~y!  ??~4?x }l| |? OZp ?,ax? U 3x  kC|, lab~ >hL_ -?6n` (  `<# /s) CGb :x ic9  Dspg`KxV?͎  q@x?n@@SP\?`   x _`xs??DW? l? l޼?Pt??`ƈPFq]@N??@p>>`p4?P/ ! >h ? >a~|?|gF`**p8|  '%Bp?8?-pI `0A`??8,?P0??? ] 8???_?OAO"S%?cX  ?T?8p  R?H??,? ? ?   9 a?<he _{ ?< d  ?ix^  8  p gȿk#2d 1@R U@@1!:@59 D*|?.yC`K`  3o{dA?֝@y<  `42@X @0] 5"?= ſ@g "@ ?>68V8,3xo >3! yr1g4~:?~u`$?  @O@g?#?@3+c PJ??=p>C?c0 ~??yx 7?<GX?el&??fw? f7?`b4?? ?~<8,?? @O?a@ yf|,???2D (HO>8  0u( |j88(? 8 ?p??} ??? ?A  0{??? 9Apax p|8 M~ D Xp(8'? !^ dc` `? 8 *ܛ(:\#ߐ MDZ0-0P 8 *ܛ(:\#ߐ !^ dc`` D X`(8'? M08~8 p|8 9Apax ?A  0{??? ??? ?p??} |j88(? 8  0u( (HO>8 yfx,???2D<8,?? @O?a@4?? ?~?el6??fw? f7?`b>??yx ?<7h PJ??=p?C?c0 g?#?@#+c~u`4?  @O@ >3! yr1g4~:? ?>64V8,3xo 5"= ſ@g"@  `42@X @0] 3 o{dA?֝@y< D*|?.yC`K` U@!:@& gȿk#2d 1R ?ix^  8  P _{ ?< d     9 a?<he R?H??,? ? ?  ?T?8p S%?cX?OQO2 ?  8?@??_?J8?P0???-pI `0A@?%Bp?*p8|  '?|gF`*>a~~  !  >h ? p>>hp4?P/ƨPFq 0]@N??@lA?l?PtB??`zs? ?DW?  x _`1@S\\?`  ͮ Qx@?nspg`Jрxv ??s)&KG :x i㨧;  L3/A >-?6n`+(  `c 0o=^ ;hzˬ? p 2\?} ? 0? ~? ??< 8??|R'~<?v. R? ?0??6@? t~ ,??? NP8  p)?m?A~ l?c|? d 3  }ԀCB5@# =}Gd 7G`gx ]HGug {?rH3|' 'T,//?/? )fw J8?T? ?? *8e?0? ֖p?1 ? ?xIp?:X? h  lab~ kC|, UG3  ?,ax?? OJp }l| |  ??~4?x1~y!‹>s?>W?Wx ???????????;?~~7FFconn~~,,??~CCAA" "66||006644\3\!*,?\\LLcc?[[R Sd~ Ā*>__`2`2AhAh ey}  >!!X X "" ͎|""no ps8_d_prŁŁDbbAAȋ@q\q5bb ``f ` aGGlpoqɆ1`1```O`OpttDE~~0@@12;,;, E 0s؀>~/8/<7w &&Hcnchhe E8E8HDlD[ DDIYHHlld|d DtDtH8H8TT]]@ OO__HZZ Q ]00HwHwT4TGG AAee  ppppT4TCCA,A,bbc |JJ mmD=_AI JJ2:l|H H r.#_<!HL 0xxP 8Xs!NQ v>><}mTȃ R<=!! ~5٩&F/|OL$Jf<zJ`@eE|ҁ)ܔHtr<HHFAKߴ"!w$4мHH!.H` J04{??0_Rokd8?<  Iϟx 7o?t0X|X|$$ ~p/Q W-k4!!$$7;}?T*!!`` E|~Z\:?uVAA8 8%@%PAA88&ڀ'>( eJ BB 8.>hh  < %*`' !9:  -A4p !1}++z}A!1v,,.>?y!!1!4P* ;G;8h>b!!fgjtbtf҂P/ ;>!>.8|xZ!z!vwrÁ(߃@|}^8^=#z:GmmssAA)(`9-o^9_P92]]%<|gk~[_pO@ !ssOOkka4 `xǧ7˽~u|׃@ yycgp t+|v~? Gy;l+0ǿlo89/||?}=<+\UUGw||yy? RjĀֈwө/Tj gw||Ҕ^JY?!!a8ϣ0T5'7}}ȿ P==66``;;t?yy x|| Z ׳׳{u{ul@0FFeyBY~k{3< 4xPPHQHQD[-y=ۛۛs}{4y<~_ѥ)kkP.P.A>\wnwy}+~\\kk`?`?v<KKo߷oK`/ddIIΠE8vBW/X&&;?4Mx][[Uߞ:P<F~+P+p &&ܤ&5?8x)!DMpp ..  CU( |F z {_{y{p(ZV@@gpgp22<?|Ż?`6 aT`7ggRVrI?ggǃO0U*PT11ayI?;?]P4"))f=p`pÝZe$22 '=ccE_zllX@OOM||?'x <<*ԁl?+;8Hxx+}К??>/ *88'EQ?? ?_T8u1ETY??lx TwGG[fo_m7@A@AxxEEIt& ss/˧&H00xx88Cj(G??5W jxx0p0pijiHmSi$FF!/h1h1o)|HUm99AKo$0/=kTؓ R Vd0?kl&bbء Q ՟ 7?*f٘33c+DpDph/35_ڠ˜''H``6??': ==X0??'7#47 X )ix%2?|7/~ HpHvxx  Euf/.pG{|D 00"x"x`Dr-/`xԃq88x ¤mUL|__Zz"],_Mdxx QQ2>`{5?0?/?>o>YTF|}PxPx X Ycr A=?hoL`` 66s#iRP.;ca}o bbءvvS5bL4upprr&`&w'!D]1}>MllAA& hv09}mX}̪޹\hTT\\@@@_Lu~O/00YpYpS^Aƹs Qc  ::#<XWÍ31{kA2B<<#[@@?PPi@i`bbC^g̘#vq4 |(|(j@j`CTS0?' !))@`dd[Vz C&r00TT"e(:cz-z(@gp_qvUJ! u u  qE8O,>~Y^`J! 66HRɉ(Q,/?3?|`JWW|}?>mh?@Xx8~JjjLА#6@?X_^B\( J N xHp*zk|<n&m   t _?2z`g?*J[{454 |_ 2<~0(Lee45<|``@@| r5ʀ,W3|00AAk( "WX8:6,$,,H/_ ~( X8<#$#,&1hx ?7?h_P\&!)PO (w,  ||#`W ׿h@P@RL(8K[~A(V(&>PCʼn00pIpYQoFF9}q}͞0pߗ gww Ixs d@LO~/ydž8xH!!@MXBY  aǩu}B@!!@ONBN~   oB>!!@|++?/q8{ |!!Abr@x AI lo w6g@ BB!!CK.>] r@aLB8B!!CpKp/?33Xڀ;0(B8B!! d7@B (s(B8B!!``?? ـ%s QpBB!!  Rc`Sr`hBxB!!hl s׈pP9&9= L+B;B!!Ff(."! CLc(8"" `ƀƱx‚‚ JJ88BB0pr8<ĠL(L<11XxB:B:BBHH((((WwBB@pp4P4X  @@Qqq!!22.!!_!! @d6mo)90E0E@wBC0F0F)CC08HH@"@#.. 0F$$B`x((@!@!22@@`L`l11D""!!  j@n@44""__   K##(< EE~4>egcc>Agqg@^@^@@  8DD!9 * *pp"$"$".QQDCDG?DD+/``ĎJJB0C0{{44``BC~~++11cc``33OOχϏaq0`0f y y<??=?wxxx=];;{{8<0 0` `@<><<` x< @`p`0 @@  @0 ```    @ @@`8@`<x @`@@@`@@@@|`x@'O@ x@ `     `@`80 0 @p@  `0@ @`@0 `8 ``0 `@8@`@ @  ` @`8@0@  8`  @@    | @ x @@ @ |0@  @ 0> @@@  `0@ 0|     @@>| >|`p x8>@0@80| `<080  0<p  `8 8`@ `|0@x@ |`@>o@`@>@ @  P!@0@   @` @`@ ?`g@ 0@ @  @>@`x@`` @@< <@  @ p 0 8 @ 8 @ 8`@  <@x88 ? >   @ ?  >@`@@@ @x` @ 00 x @` @@x    @@008 @@ @  @0 `@  @ @`` @@00@` ``@ @@` @ `@8  0@@ ,@`@A  @xF@@<x@Cz`|@@`@@=@@@@0@@8 @@8 >@8@ >@@`  0  @@@` 0` @@`0@8 8``?p 0