P p   @`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQS@U`WY[]_a c@e`gikmoq s@u`wy /O` @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @`.Oa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sAuawy{}!Aa!Aa!Aa!Aa!Aaǁɡ!Aaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$MO%Q"%SB%UW%Y%[%]%_&a"&cB&eb&g&i&k&m&o'q"'sB'ub'w'y'{'}'("(B(b((((()")B)b)))))*"*B*b*****+"+B+b++  @`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQS@U`WY[]_a c@e`gikmoq s@u`wy /O` @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @`.Oa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sAuawy{}!Aa!Aa!Aa!Aa!Aaǁɡ!Aaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$MO%Q"%SB%UW%Y%[%]%_&a"&cB&eb&g&i&k&m&o'q"'sB'ub'w'y'{'}'("(B(b((((()")B)b)))))*"*B*b*****+"+B+b++FRACPLAY  /ESTOS_ASMDOC J! EDDIE DOC @!KILLME PRG @!V,LINK DOC C!$0MAKE DOC G!NdREAD BAS !V !.  /E..  /EDOCS  /ESTELOW  /ESTEMED  /ESTFMLOW  /ETTLOW  /EBIGBUSH CO  uDEMO CO  DRAGON CO {TEVOLVE CO |FERN CO }NJ2 CO ~aNONAME CO ?PEANO CO PLAY PAR !PLAY PRG XkPLAY RSC <3READ ME XSIERP CO sSLOWDEMOCO ,SNOWFLAKCO tSPIDERS CO _SQSIERP CO ^SQUIGGLYCO STEST CO fSYMMBUSHCO  hTEST CO  ^TWIRL CO c.  /E..  /EFRACPLAYDVI FRACPLAYTEX R.  /E..  /EAUTUMN PAL BLOODREDPAL BRIGHT PAL COOLBLUEPAL FASTSTRPPAL FESTER PAL GOLDEN PAL GREEN PAL GREY PAL MONOEMULPAL PETES PAL PINKTINTPAL POND PAL TTDESK PAL YELLOPLAPAL .  /E..  /EAUTUMN  @BRIGHT PAL @COOLBLUEPAL @GREEN PAL @RED PAL @#.  /E..  /EDESKTOP PAL  FASTSTRPPAL  PETES PAL  c _.  /E..  /EBLENDED PAL (DESKTOP PAL ( Adding assembly to you STOS programs. Although The Missing Link is extremely powerful, STOS can still do with a speed-boost from time to time, especially in main-loops whith a lot of FOR..NEXT loops. This is where you can use assembly to very great effect in STOS programs. So if you have even a little assemebly experience you can improve the speed of your programs by a tremendous amount. Say you have a program like this: 10 dim X(99),Y(99) 20 for T=0 to 99 30 X(T)=rnd(319) : Y(T)=rnd(199) 40 next T 50 for T=0 to 99 60 plot X(T),Y(T) 70 X(T)=X(T)+4 : if X(T)>319 then X(T)=0 80 next T 90 goto 50 A bit contrived I grant you, but you get the idea. Now we can re-write line 70 in assembly with extreme ease, which should speed the loop up considerably. As you know, STOS provides us with the DREG(x)/AREG(x) arrays for access to the 68000's data and address registers. We can use these to make interfacing with assembly really easy providing we know how STOS holds it's variables. I will restrict myself to integers here as these are the most common type of variable you will have to deal with. A simple integer variable is held as one longword in memory. An array of integers is held as a continuos block of longwords. As we want to actually modify the variables we have to pass thier address to our assembly program, so to do this we use the VARPTR command. So, for instance, varptr(X) gives the address of the variable X and varptr(X(0)) gives the address of the array X() (notice that the SORT command needs "sort Q(0)"!). So, if we go back to the example program, this is the line we want to change to assembly: 70 X(T)=X(T)+4 : if X(T)>319 then X(T)=0 As we know how to get the address of the array this becomes very easy to do using the AREG array. ; "line 70" in 68000 ; start: move.l #99,d0 ; ie, size of the array moveq.l #4,d1 ; amount to add to each element loop1: move.l (a0),d2 add.l d1,d2 ; add to array element cmp.l #319,d2 ; if X>319... ble.s next1 moveq.l #0,d2 next1: move.l d2,(a0)+ dbra.w d0,loop1 ; loop d0 times rts ; and back to STOS To integrate this in STOS we would change our program to something like this (having loaded our assembled program into memory bank 15): 10 dim X(99),Y(99) 20 for T=0 to 99 30 X(T)=rnd(319) : Y(T)=rnd(199) 40 next T 45 areg(0)=varptr(X(0)) : call 15 50 for T=0 to 99 60 plot X(T),Y(T) 80 next T 90 goto 45 Line 45 is where we call our assembly routine. Using this assembly routine to handle the array is at least 8 times faster than it's STOS equivalent! We could make the assembly routine more general purpose by removing the two lines from "start:" and passing these using DREG(n) which would men the routine could handle any size of array and any size of addition. I hope this little doc has been of some use to you. Providing you know a little assembly it is very easy to write large parts of the average main-loop, and therefore speed up your games by many times. If you don't know any assembly language then I strongly advise you to learn some! You'll be surprised how easy it is to learn and at what a difference it can make to your programs! Ftype lsys name Big Bush from The Science of Fractal Images axiom f rule f=ff+[+f-f-f]-[-f+f+f] angle 16 recur 3 calc ;first, switch off the screen pre-clear and stopwatch option - c option - s type mandel real -0.0958083832335329 imag 0.9820359281437126 mag 8.54 dwell 100 calc bound 1 d type mandel real -0.1490006998989035 imag 1.0352282448090830 mag 46.2300194931773802 dwell 100 calc bound 1 d type julia jreal -0.1490006998989035 jimag 1.0352282448090830 real 0.0 imag 0.0 mag 0.50 dwell 100 calc bound 1 d type julia jreal -0.1490006998989035 jimag 1.0352282448090830 real 0.0479041916167665 imag 0.0239520958083832 mag 3.850 dwell 100 calc bound 1 d type julia jreal -0.1490006998989035 jimag 1.0352282448090830 real 0.0074655883039117 imag -0.0693677579905125 mag 15.8106 2 dwell 100 calc bound 1 d type mandel real -0.7904191616766467 imag 0.2395209580838323 mag 12.839 dwell 100 calc bound 1 d type mandel real -0.7250950 imag 0.2833810 mag 104.0175440 9 dwell 200 calc bound 1 d type julia jreal -0.7250950 jimag 0.2833810 real 0.0 imag 0.0 mag 0.50 dwell 100 calc bound 1 d type julia jreal -0.7158842092478618 jimag 0.2843020790752138 real 0.7802317443036006 imag 0.0837545687845089 mag 21.0155073105892782 dwell 200 calc bound 1 d type mandel real -1.6287425149700598 imag -0.0239520958083832 mag 7.702 dwell 100 calc bound 1 d type mandel real -1.4156621821292479 imag -0.0441713974648106 mag 131.75 600 dwell 100 calc bound 1 d type mandel real -1.6301478675302455 imag 0.0222523413284748 mag 342.6460268317853775 dwell 100 calc bound 1 d type mandel real -1.6278410578789413 imag 0.0221474863443246 mag 1918.8177502579981137 dwell 100 calc bound 1 d type julia jreal -1.0672680612800372 jimag 0.2420094875184696 real 0.5508982035928144 imag -0.0958083832335329 mag 2.438 dwell 500 calc bound 1 d loop ; TeX output 1993.04.03:2041(( [(>[BK`yG cmr10BF9ractalKPlaOytimeVers1.03lG&AKProgramforExploringthe-MandelbrotKSet.ٟ4+XQ cmr12RicrhardHoSdsonlύ}April3,1993+*( [(>' >K`yp cmr10Disclaimer@0T"K`y 3 cmr10The7authormak!esnorepresentationsorwarrantieswithrespMecttothecontentshereofand spMeci callydisclaiman!yimpliedwarrantiesofmerchantabilityor tnessforanyparticular purpMose.This!1programisdistributedonan\asis"basis.N>Now!arranty!1isgiv!enforthisprogram, eitherimpliedorexplicitelye. TheauthorwillnotbMeheldliableforan!ydamages, 3 cmmi10:=::::::::::::::::::::::::::::::bQ3ur1.22Div!efin.1..(abrieftutorial) :=::::::::::::::::::::::::::::bO4ύ 2urThe2MentusExplained*5ur2.12ThefDeskmen!uG:=::::::::::::::::::::::::::::::::::bR522.1.1UAbMoutfFeractallw:=:::::::::::::::::::::::::::::::bR5ur2.22ThefFilemen!uݍ:=::::::::::::::::::::::::::::::::::bQ522.2.1ULoad.1..Y:=::::::::::::::::::::::::::::::::::bQ522.2.2USa!ve.1..[:=::::::::::::::::::::::::::::::::::bO622.2.3UImagefT!ypMe.1..v捑:=::::::::::::::::::::::::::::::bR622.2.4USa!vefImage.1..:=::::::::::::::::::::::::::::::bR622.2.5UQuit:=::::::::::::::::::::::::::::::::::::bR6ur2.32ThefSho!wmenu]:=::::::::::::::::::::::::::::::::::bR622.3.1UCalculateٍ:=:::::::::::::::::::::::::::::::::bR622.3.2UCo-ords.1..jD:=::::::::::::::::::::::::::::::::bR622.3.3UZoMomfinX:=::::::::::::::::::::::::::::::::::bR622.3.4UZoMomfOut׍:=:::::::::::::::::::::::::::::::::bR722.3.5UStartfView]:=::::::::::::::::::::::::::::::::bO7ur2.42Optionsfmen!uǍ:=:::::::::::::::::::::::::::::::::::bR722.4.1UGeneral]䍑:=::::::::::::::::::::::::::::::::::bR722.4.2UBoundary덑:=:::::::::::::::::::::::::::::::::bR822.4.3UDw!ell%s:=:::::::::::::::::::::::::::::::::::bR922.4.4UMethoMdy$:=::::::::::::::::::::::::::::::::::bR922.4.5UEditfP!alette6:=::::::::::::::::::::::::::::::::1022.4.6UPrin!t}:=::::::::::::::::::::::::::::::::::::1122.4.7USa!vefsetup=Ѝ:=:::::::::::::::::::::::::::::::::1222.4.8UShortcutsa:=:::::::::::::::::::::::::::::::::12 3urIn2Detaill913ur3.12ThefCo-ordinateSystemF:=:::::::::::::::::::::::::::::13ur3.22KeybMoardfShortcuts΍:=:::::::::::::::::::::::::::::::13㟄1& ( [( ur3.32Ho!wfsettingsa ectspMeedz:=::::::::::::::::::::::::::::14 ur3.42Di eren!tfMachineTypMes:=:::::::::::::::::::::::::::::1523.4.1UNotesffor520STo!wnersU:=:::::::::::::::::::::::::1523.4.2UNotesfforharddiscusersE[:=:::::::::::::::::::::::::1523.4.3UNotesfforSTEusersr:=:::::::::::::::::::::::::::1523.4.4UNotesfforMegaSTEusers:=::::::::::::::::::::::::1523.4.5UNotesfforTTusers˾:=::::::::::::::::::::::::::::1523.4.6UNotesfforupgradedSTusers:=::::::::::::::::::::::16ur3.52FileޑfFeormats.2:=:::::::::::::::::::::::::::::::::::1623.5.1UCo-ordinatef lef:=::::::::::::::::::::::::::::::1623.5.2UP!alettef le:=::::::::::::::::::::::::::::::::17ur3.62Compilingfthesource}:=:::::::::::::::::::::::::::::::1723.6.1UAbMoutfGNU`C'p1:=:::::::::::::::::::::::::::::18ur3.72GlossaryCƍ:=::::::::::::::::::::::::::::::::::::::19㟄2&*( [( I"Vp cmbx10IChapterF12 HIn4trovduction: 7"Vff cmbx101.1.HistoryandOv=erviewq ThereQarealreadyman!yMandelbrotsetgeneratorsinexistance,somefast,someslo!w;Gsome usable,some7un!usable.xThisprogramwasstartedinApril1990asasimplegeneratorprogram whic!h\xtoMokatypMedinsetofcoordinates,kAandplottedalo!w-resoutputscreenwhichwasthen sa!vedD asaNEOc!hrome le.Thereasonforwritingitwassimple:noneoftheprogramsIChad seend1usedcolourv!erywell.?MyprogramremembMeredthevdDaluesithadcalculatedforeach pixel,$and|afterdra!wingtheimageusedit'shindsitetoredrawtheimagewithintelligentuse ofPcolour.,Thisstatisticsfeatureallo!wstheusertozoMomintoapatternwhichloMoksareal mess,fandwithacoupleofk!eypressesturnthemessintoawonderfulswirlingmasterpiece.Feeatures.w!ereaddedasIthoughtofthemandpartsoftheoriginal`C'coMdewererewritten inassem!bler.$Finallye,.thewholethingwasmadetotallyGEMlegal,.allowingittoprint,.run onrman!ynonstandardmachinesbyusingGEMrxscreencallsandhopMefullymakingitalot easiertolearnho!wtouse.?.StatisticsfreaksmayliketoknowthatcurrentlythesourcecoMde is:o!ver100K:bytesof`C':andafurther12Kb!ytesofassembler.MonoMchromeuserswillbMe pleasedZtokno!wthatmostofthedevelopmentworkisdoneinSThigh-res,whichreallycan loMokfgoodbecausetherearesoman!ypixelsonscreen.ThisWprogramhasgro!wnfromhumblebMeginningstowhatIWintendtobMethemostout- standingMandelbrotgeneratora!vdDailable./Itwasoriginallywrittenona1040STF,withlater dev!elopmentfona4MbupgradedSTEandfurtherwriting/debuggingonan8MbTT.The cideaw!astowritea%': 3 cmti10veryfastMandelbrotgeneratorwhichcanrunonANY ItusesthecoMokiejarfeatureofTTs andAlaterSTsto ndwhathardw!areisavdDailable.oItcansensewhetherithasa68020or bMetter"CPU!andwhetherthereisamathsco-processora!vdDailable.PIfit ndseitherofthese, itwillusethemwhereappropriate.(WherepMossibleev!erythingismadetobeautomatic;the programfw!orksoutwhatisbMestandgetsonwithit.㟄3&;r( [(ȣ׍ 1.2.Div=ein4K`yff cmr10.fd..3,(abrieftutorial)q Once@y!ouhavestartedtheprogramup,жyouwillbMefacedwithawindowwhichiswherethe patternswillappMear.Theprogramwillautomaticallystartcalculatingano!verviewofthe en!tirefM-setwhichyoucanexplore.The6mousepMoin!terwillre-appearoncethecalculationhas nished.Teozoominonan!y partoftheimage,9usethemousetodragabMo!xaroundthepartthatyouwanttomagnifye. Pressreturnorclic!konCalculatefromtheshowmenutostartthecalculation.Ifyoudecide thaty!ouwanttoabandonacalculation,1holddowntherightmousebuttonuntilthecursor comesfbac!k.Wheny!ouhavecalculatedapattern,]gototheoptionsmenuandclickon`Boundary.1..' tocallupthebMoundarycolouringoptionsform.ZThisallo!wsyoutoalterthewaythatcolour is(usedtosho!wthepicture(orwheretheblackandwhitebandsareplacedinmono)byusing statisticspcollectedduringthecalculation.:Teryc!hoMosing`1'forthecyclesbo!x,and`Equal' fromthemethoMdsbo!x,:thenclickon`OK'.ThiscombinationusuallygivesthebMestresults, withtheothersbMeingusefulincertaincircumstances.ӕAllofthevdDaluescalculatedforthe pixels9arestoredinthecomputer'smemorye,nsothescreenupMdateism!uch9fasterthanthe originalfcalculation.Feormoredetails,seesection2.4.2onbMoundaryselection.Yeoueno!whavethebasicsofhowtoworkthepackdDage,alloftherestbMeingoptionsand shortcuts.ɶThereJYisastop!watchJYwhichyoucanswitchonando whichtellsyouhowlong apicturetoMoktocalculate,andanoptiontousethefullscreenratherjusttheinsideofthe windo!w.>OBothoftheseoptionsareavdDailableontheOptionsmenuunder`General.1..'.>OOne handy(hin!tistosizethewindowdowntoasmallsizewhentryingto ndaninteresting picture,dandTthenmak!eitfullsizetoviewitpropMerlye.nGeneratingasmallerimagetakesalot lessftime.TeoBseethesortofresultspMossible,|gototheLpoad.1../partBoftheFilemen!uandselectthe  le%DEMO.CO.Thisisarollingdemowhic!hcalculatesaseriesofpicturesandthendisplays them6withev!enanddetailstatisticssettings.NThesequencewillgobacktothebMeginning whenfitends,buty!oucanescapMefromitbyholdingtherightmousebutton.㟄4&G( [( IChapterF22 HThe Men4usExplained: 2.1.TheDeskmen=u񍍑 0N cmbx122.1.12HAb`outFractal Thisisaninformationform..Ittellsy!outheversionnumbMeroftheprogramandalsohas threefstringswhic!hitwillsometimesdisplaye.us$!", 3 cmsy10$h680x0fProMcessormode$hTheUprogram llsthe`x'inwithan!umbMerUtodescribewhatt!ypeofprocessoritthinks$hy!ou@have.lTheCopokieCJarisusedtogetthisinformation.IfnocoMokiejarisfound,7a$hnormalf68000isassumed.us$hFloatingfpMoin!tfound$hShouldcbMedispla!yedcify!ouhaveaTTorFealconwitha oatingpMointco-proMcessor.$hAgain,ūthejCopokieJarisusedto ndthis.(IfnocoMokiejarisfound,itisassumedthat$hnofFPUexists.us$hGDOSfispresen!t$hUses'aspMecialcalltoGDOS&totestwhetheritispresen!t. _GDOSisonlyusedfor$hprin!tingتorforwritingtononstandardvideomoMdes.tItshouldnotmatterwhether$hGDOS,fF!ONTGDOSorFSMGDOSareused."A 2.2.TheFilemen=u񍍑 2.2.12HLoad... Load"Saco-ordinateordriv!er le(a lewitha.cpoextension).QInsimpleusethisallowsyou toe9loadtheco-ordinateswhic!hyouhavesavedpreviouslyusingtheSave.1..option.#Feormore advdDancedfuses,seesection3.5.1on leformats.㟄5&R( [( 2.2.22HSave... Sa!vesfaco-ordinate leforthecurren!tlyviewedimage.R 2.2.32HImageTyp`e... Brings^iuptheselectionformforc!hoMosinghowimagesaresavedtodisc.CurrentlyonlyIMG, NEOc!hromeandDegas lesaresuppMorted.ѹNEOchromewillnotacceptanythingotherthan STvLo!wvresolution,butsomeotherpackdDageswillsoPlaytimeallowsyoutosaveNEOv lesin an!yfSTscreenmoMde. 2.2.42HSaveImage... Allo!wsyoutosavethecurrentlydisplayedimageinthecurrentlyselectedgraphic letypMe. Ifϒy!ouaresavinganIMGχ lethereshouldbMenoproblems.Y`Theother leformats,however, can]onlysa!ve]afullscreen.ŮIfsa!vinginaformatotherthanIMG]itisrecommendedthatyou usezfulFlscrpeenmoMdefromthegeneraloptionsformtoprev!entgettingabMoarderontheright andflo!wersides. 2.2.52HQuit Lea!vesftheprogram.Thepaletteisrestoredtowhatitw!asbMeforetheprogramwasstarted."A 2.3.TheSho=wmenu񍍑 2.3.12HCalculate Startsacalculation.hTeostopinthemiddleofacalculation,holddo!wntherightmousebutton un!tilthecursorreappMears.Onceacalculationisstopped,Xitcannotberestartedfromwhere itflefto ,ithastobMestartedagainfromthebeginning. 2.3.22HCo-ords... Allo!wsGyoutotypMeinasetofco-ordinatesforthenextcalculationusingtheco-ordinate system4"describMedinthesectionbelo!w\WhatthenumbMersmean".Itcanalsobeusedsothat y!oucanseetheco-ordinatevdDaluesofthecurrentpicture.ZThe`Clear'buttonwipMesallofthe textfoutofthetext eldstomak!etypinginnewvdDaluesfromscratcheasier. 2.3.32HZo`omin This usesthecurren!tco-ordinatesandincreasesthemagni cationbyafactorof2.Theresult isfthaty!ouzoMomintowardsthecentreofthescreen.㟄6&Y( [( 2.3.42HZo`omOut SimilartoZoMomin,exceptthatthemagni cationisreducedb!yafactorof1/2. ]Thiszooms y!ouKoutaroundthecentreofthescreen.-ThiscanbMeusefulifyouselectanarea,2Dandthen realise}whenitisdra!wnthatyouarenotexactlywhereyouwanttobMe.#Zooming}outgives y!oul9apicturefromwhichyoucanusuallyre-selectwiththemousetogettheregionthatyou w!anted.R 2.3.52HStartView ThisZsetstheco-ordinatesandmagni cationbac!ktowhattheywerewhenyoucameintothe program."A 2.4.Optionsmen=u񍍑 2.4.12HGeneralus$hVideofwriting$hDirpectorGEM.IndirectmoMde,VthegemVDIKisb!ypassedandtheprogramwritesdirectly$htovideomemorye.^ItdoMesthisinascleanandportablew!ayaspossible,butev!ensoit$his*aBadThingaccordingtoA!tari.jIfyouhaveanon-standardvideodisplayandtell$hthe5programtouseDirect,Kitma!ysensethatsomethingiswronganduseGEM4anywaye.$hOnlyfuseGEMmoMdeify!ouexperiencecompatabilit!yproblemsinDirectmode.us$hMathsfProMcessor$hEnablesordisablesamathsFloatingP!ointUnit.IfnousableFPUisfoundthenthis$hwillzIbMesettoIgnorpeandthendisabled.YSeethesectionDi erentMachineT)ypeszIfor$hmorefdetails.us$hFeullfscreen$hThis<,iseitheronoro ./Withfull-screenswitc!hedo thepicturesaredrawnintothe$hwindo!w_allowingyoutocontrolhowmuchofthescreenisusedandsoallowsyouto$hcreateDHsmallimagesquic!klye.(InfullscreenmoMdethewindowandmenubarareremoved$handtheen!tirescreenisusedforthepicture.AWhenthepictureiscompleteitissaved$hin!tomemoryandthewindowandmenubararerestored.ӸOnlyapMortionoftheoverall$hpicture=lcanbMesho!wninthewindow,c-butanymanipulationsontheimage(bMoundary$hc!hanges,}{savingRwtodisc)willhappMentothewholeimageandthewholeimagecanbe$hsa!vedftodisc.us$hPrefclear$hAnon/o optionlik!eFeullscreenabMove.?ControlswhetherthescreenisclearedbMefore$hstartingTanewcalculation.The nalresultisiden!tical,soitjustdepMendsonwhatyou$hlik!etowatchwhilethecalculationisbMeingcarriedout.4IfyouareusingmonoMchrome㟄7&c( [( $hthen_:inthepre-clearmoMdeonlytheblac!kpixelsneedtobeplotted,osoPla!ytimecan $hspMeedfitselfupalittle.us$hStop!watch$hThestop!watchgivesyouanindicationofhowlongthecalculationtoMok.Thistime$hincludesSclearingthestatistics,dPscreenandpixelvdDaluebu ersasw!ellasthetimeforthe$hcalculation.Thef200HzcloMc!kisused,sotheaccuracyisabout100thofasecond.$hTw!oԫreadoutstylesareavdDailable.hOnejustworksinseconds, installed.HopMefullye,youwillhavegotacopy ofčHypMerpain!torHyperdra!wwithyourST,bMothofwhichcomewithacutdowncopyof GDOS.hAlternativ!elye,|hprogramssuchasTimeworksDTPandDegasElitecomewithfull implemen!tations,fasdoMestheAtariLaserprinter.There+>aredw!odi erentstylesofprintingavdDailable.ldOneisasimplescreendump.This doMesGjnottak!everylongtopMerform,Zjbutgivesaveryraggedpicture.4TheotherisRpecalculate, where.thecalculationisstartedfromscratc!handdonetothebMestresolutionoftheprinter. ThecalculationhastobMedonewithTVxscan,)andisdonewiththe32bitin!tegerroutines. Because6ofthev!eryhighresolutionthatevena9-pinprintercanachieve,M)thiscalculationwill tak!efalongtime.Theresults,however,canbMewellworththetime.The~ScrpeendumpmoMdeisin!tendedjustforroughoutlining,andgivessomeideaasto whetherthecolourmappingisok.*MonoMc!hromeusershaveanadvdDantageherewithablack andwhiteprin!terasthescreengivesareasonablepreview.WColourusersshouldbMeawarethat ev!erycolourbandonscreenwillmaptoeitherablackorwhitestripMeonamonoprinter,so lo!wresimagesmayloMokcluttered.Usemediumrestoget nercontrolofhowmanybands therefare.TheSetup.1..buttonwilltak!eyoutothepagesetupform,(whichwillallowyoutopMosition y!ourHrpictureonthepage.Allmeasurementshereareinmillimeters,pandareaccuratetoa fewmillimetersacrossthelengthofapageonmostprin!ters.7Themaximumprintablearea repMortedb!yGEMkisgivenatthetopoftheform,Eandthensomeeditable eldswiththe curren!tsettingsforwidthsando sets.TheprogramshouldbMeaboutrigh!tfora9-pinepson asdsupplied.Pleasenotethatwhendoingascreendump,Btheen!tireprintareawillnotbMe  lled.M}Use˛landscapMemodeforthefullestpicture,buty!ouwillonlygetthefullareausedin recalculate.11 &Ӡ( [( TheradiobuttonforPrintT)extcanbMeswitc!hedtoonoro .TWhenon,Xtheco-ordinates offtheviewwillbMeprin!tedatthetopofthepage,whetherinlandscapeorportraitmode.TheqT)estbuttonwillprin!tatestpatterntoshowwherethe nalimageshouldappMear on7thepage.$PThepatternissimplyarigh!tangleateachcorneroftheimage,.kwiththelast view!edfco-ordinatesprintedifco-ordinateprintingisenabled.R 2.4.72HSavesetup The[programhasaninstall lecalledPLAeY.PAR[whic!h[itloadsautomaticallyonstartup.If there isno lepresen!t,,gthentheprogramwillloadallofthepaletteswiththedesktoppalette, andfsetalloftheoptionstoasetofdefaultvdDalues.Sa!vesetupallo!wsyoutosettheoptionstowhatyouwantthemtobMefromwhenthe programfstarts.Thefollo!wingitemsaresavedinthePLAeY.PARf le:-us$hP!alettefinformationus$hStop!watchfsettingsus$hFeullscreenfon/o us$hPre-clearfscreenon/o us$hBoundaryfc!hoicesettingsus$hThefc!hosenmethoMdofcalculationus$hSizefofminim!umbMoxusedbydiv-conus$hFileft!ypMeforsavingimagesus$hPrin!terfsettingsus$hMathsfco-proMcessorsettingsTheg leformathasbMeendesignedsothathopefullyregardlessofwhatfeaturesareadded toitinthefuture,HitwillstillbMepossibletoloady!ourold lesinfutureversionsofthe program.R 2.4.82HShortcuts Displa!ysfaformwhichgivesareminderofthekeybMoardshortcuts.12 &( [( IChapterF32 HIn Detail: 3.1.TheCo-ordinateSystemq Thereareman!yvdDariationsontheMandelbrottheme,ksoifthereareanytermsthatyou ha!vedicultywith,tryloMokingthemupintheglossarysectionneartheend.gSomeofthis man!ualXmayexpMectyoutounderstandcomplexnumbMers.Ifyouhavedicultywithcomplex n!umbMers, thenOgetholdofamathstextbook.+AGgoodbookshouldteac!hyouallyouneedto kno!wfinacoupleofhours,andgiveyouafargreaterenjoymentoftheMandelbrotset.Theco-ordinatesystemusedhereistogiv!ethecomplexco-ordinateofthecenterofthe screen,andtqamagni cation.GThemagni cationsetsthelargestsizeofcirclewhic!hcanbMe displa!yed&7onthescreen.]QFeorexample,F,amagni cationof1allo!wsacircleofradius1tobMe displa!yedlinthecen!terofthescreenwithit'sedgesjusttouchingthenearesttwosidesofthe rectangular`screen.Whentheprogramis rststarted,theinitialdispla!yisofthewholeM setVhatmagni cation1/2.3Thisallo!wsyoutoseeacircleofradius2,fgtheescapMeradiususedin the(dw!ellcalculationroutines.$Whendescribingtheview,justgivingthemagni cationand loMcationfassumesasquarescreen.TeocompletelydescribMeaview,y!oushouldalsogivetheaspMectratioofthescreen,which isNtheXresolutiondividedb!ytheYresolution.݀Inmediumresolutionthisiscomplicatedby the programusingdi eren!tscalesforthexandyaxisduetotheveryrectangularpixels, whic!hhalvestheaspMectratio.ThismakestheaspMectratiois1.6inallSTresolutionswhen inffullscreenmoMde.TheTTlo!wresis0.67andTTmedium1.33.ThePotheroftenusedsystemoftopleftandbMottomrigh!tco-ordinateswasfelttobMeless in!tuitive,fandisnobMetteratdealingwithc!hangesinresolution."A 3.2.KeybuoardShortcuts Some ofthemoreoftenusedfunctionsoftheprogramha!ve bMeengiv!enkeybMoardshortcuts. Theseshortcutsareallsinglek!eypressesanddonotrequirethealternatekeytobMepressed. TheٱshiftandCapsLoMc!kkeysarebMothignored.wOnlythequitshortcutrequiresthecontrol k!eyftobMehelddown.13&( [( us$hStatisticsfShortcuts?<ɍ$hƩff" ͤ} ff͟keyprpess ff9 Ufunctionr} ffzff"ͤ} ff͟1|9﹡ ff9 Un!umbMerfoftimestousepalettecolours͟} ff ͤ} ff͟D$x̡ ff9 UDetailfenhancevզ} ffͤ} ff͟E%bf ff9 UEqualfbandsizesmџ} ffͤ} ff͟F%C ff9 UFixedfbandsizesng/} ffͤ} ff͟N$ ff9 UNofstatisticsadjustmen!tsDV} ffͤ} ff͟O$Qܡ ff9 UOutlinefMandelbrotsetM} ffͤ} ff͟X$ ff9 UeXcludefrangey<} ffff"Eus$hGeneralfShortcutsF $hЉffY ͤ} ff͟keyprpessAY ffD}functionQ } ffzffYͤ} ff͟CNTRL-C ffD}quitfprogram94G} ff ͤ} ff͟Help"h ffD}displa!yfshortcuts'4} ffͤ} ff͟Clr/Home ffD}displa!yfstartimageO} ffͤ} ff͟Return ffD}calculatefselectedimage͟} ffͤ} ff͟C0b% ffD}en!terfCo-ordinates} ffͤ} ff͟P0 ffD}screenfPreclearmoMde} ffͤ} ff͟S25X ffD}fullfscreenmoMde*} ffͤ} ff͟F1|F10 ffD}selectfpalette9%} ffffYV= 3.3.Ho=wsettingsa ectspueedq Thereتaresev!eraloptimisationsbuiltintothecoMdewhichtendtocomeonautomaticallye,:so y!oureallydonothavetoknowthenextsection. QIfyouhaveanycustomisationstoyour mac!hine1suchasgraphicscardsandproMcessoracceleratorsthefollowingmaynotbMetrue,Hand y!oufwillhavetousethestopwatchtoworkoutwhatisbMestforyou.us$hIfڶakno!wnST/TTڂscreenresolutionisfound,radirecttoscreenmemoryplottingroutine$hisfused.us$hIfgffull-screenmoMdeisbeingusedandtheprogramisplottinglineb!yline,thefastest$hplottingPmoMdeisusedastheprogramcanpredictho!wandwheneverypixelwillbMe$hplottedffromthestart.$hNotethatbMothoftheabo!vecanbedisabledusingthe`Videowriting'optioninthe$hgeneralfoptionsform.us$hPre-clear3ma!ybMefasterformonoc!hromeusersifdirectvideowritingisbeingusedbut$hnotffull-screen.us$hAv!oid oatingpMointcalculations.oEvenonaTTtheyarealotslowerthanthe32-bit$h xedfpMoin!t.14&( [( us$hDiv-ConisfasterthanTVscanonanormalST.ThisisnotasimpMortan!tonaTT $hbMecausefoftheprocessorcac!he,butisstilltrue.us$hExpMerimen!t#withtheDiv-Conbo!xsize.Usearound6foranSTand12or14fora$hTT,Gthestop!watchGwillallo!wyouto ndoutwhatisbMest.Thesettingdependsv!ery$hm!uchOonwhatisbMeingcalculated,aandsoastheimageswhic!hIOenjoyexploringmaybMe$hdi eren!tffromyoursyoumaybMeabletogetaspeedadvdDan!tagehere."A 3.4.Di eren=tMachineTypues񍍑 3.4.12HNotesfor520STowners YeouS$hCommen!tfline.Theentirelineisignored. us$hbf