Home » Archimedes archive » Acorn Computing » 1993 09 Mega Disk.adf » 93_09 » Miscellany/!4dMandia/!RunImage

Miscellany/!4dMandia/!RunImage

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 Computing » 1993 09 Mega Disk.adf » 93_09
Filename: Miscellany/!4dMandia/!RunImage
Read OK:
File size: 6A09 bytes
Load address: 0000
Exec address: 0000
File contents
   10PROCWimp_Start("!4dMandia",2033,542)
   20PROCUser_SetInitialData
   30PROCCreate_Windows
   40PROCCreate_Menus
   50PROCWimp_WaitForEvent
   60PROCWimp_CloseDown
   70END
   80DEFPROCUser_SetInitialData
   90DIMcode%&500
  100DIMimagestore 256*257
  110DIMbasestore 256*257
  120DIMnumber 100
  130DIMscrollstore 257*4
  140scro%=0
  150xlimit%=256
  160ylimit%=256
  170mode%=MODE
  180readb%=0
  190for_d%=1
  200julia%=1
  210mandy%=0
  220fastp%=1
  230count%=0
  240limit%=256
  250check%=0
  260oldxmin=0
  270oldymin=0
  280oldxmax=0
  290oldymax=0
  300oldc=0
  310oldd=0
  320oldq0=0
  330oldq1=0
  340oldq2=0
  350oldq3=0
  360ENDPROC
  370DEFPROCCreate_Windows
  380Info_Window%=FNWimp_WindowLoad("Info")
  390Me_Window%=FNWimp_WindowLoad("Me")
  400Main_Window%=FNWimp_WindowLoad("Main")
  410Bar_Icon%=FNWimp_IconBar("-4dMandia")
  420PROCWimp_IconDisable(Main_Window%,21)
  430FORi%=49TO52
  440IFFNWimp_IconPutSprite(Main_Window%,i%,"radiooff")
  450NEXT
  460IFFNWimp_IconPutSprite(Main_Window%,50,"radioon")
  470ENDPROC
  480DEFFNEvent_Save(window%)=FALSE
  490DEFFNEvent_Sprites(window%)=sprites%
  500DEFPROCCreate_Menus
  510menu$="4D-Mandia\Info>Info_Window%\Default...\Save Choices\Quit"
  520Bar_Menu%=FNWimp_MenuCreate(menu$)
  530ENDPROC
  540DEFFNEvent_Menu(window%)
  550=Bar_Menu%
  560DEFPROCEvent_WindowClose(window%,buttons%)
  570CASEwindow%OF
  580ENDCASE
  590ENDPROC
  600DEFPROCEvent_Draw(window%,x_origin%,y_origin%)
  610ENDPROC
  620DEFPROCEvent_MouseClick(window%,icon%,button%,x%,y%)
  630CASEwindow%OF
  640WHENBar_Window%:PROCUser_MouseBar(button%)
  650WHENInfo_Window%:PROCUser_MouseInfo(button%,icon%)
  660WHENMain_Window%:PROCUser_MouseMain(button%,icon%)
  670ENDCASE
  680ENDPROC
  690DEFPROCUser_MouseInfo(button%,icon%)
  700IFbutton%AND 4AND icon%=3PROCWimp_WindowBringToTop(Me_Window%)
  710ENDPROC
  720DEFPROCUser_MouseMain(button%,icon%)
  730IFbutton%AND 4THEN
  740CASEicon%OF
  750WHEN13
  760IFfor_d%=1THEN
  770PROCWimp_IconPutText(Main_Window%,13,"�")
  780ELSE
  790PROCWimp_IconPutText(Main_Window%,13,"�")
  800ENDIF
  810readb%=0:check%=1
  820WHEN15,17
  830IFjulia%=1THEN
  840PROCWimp_IconPutText(Main_Window%,15,"�")
  850PROCWimp_IconPutText(Main_Window%,17,"�")
  860ELSE
  870PROCWimp_IconPutText(Main_Window%,15,"�")
  880PROCWimp_IconPutText(Main_Window%,17,"�")
  890ENDIF
  900readb%=0:check%=1
  910WHEN19
  920IFfastp%=1THEN
  930PROCWimp_IconPutText(Main_Window%,19,"�")
  940ELSE
  950PROCWimp_IconPutText(Main_Window%,19,"�")
  960ENDIF
  970WHEN21
  980IFcount%=1THEN
  990PROCWimp_IconPutText(Main_Window%,21,"�")
 1000ELSE
 1010PROCWimp_IconPutText(Main_Window%,21,"�")
 1020ENDIF
 1030WHEN31
 1040PROCWimp_IconPutText(Main_Window%,0,".31")
 1050PROCWimp_IconPutText(Main_Window%,1,".04")
 1060for_d%=0:PROCWimp_IconPutText(Main_Window%,13,"�")
 1070FORi%=2TO5
 1080PROCWimp_IconDisable(Main_Window%,i%)
 1090NEXT
 1100readb%=0
 1110WHEN32
 1120PROCWimp_IconPutText(Main_Window%,0,"-.11")
 1130PROCWimp_IconPutText(Main_Window%,1,".656")
 1140readb%=0
 1150WHEN33
 1160PROCWimp_IconPutText(Main_Window%,0,"-.12")
 1170PROCWimp_IconPutText(Main_Window%,1,".74")
 1180readb%=0
 1190WHEN34
 1200PROCWimp_IconPutText(Main_Window%,0,"0")
 1210PROCWimp_IconPutText(Main_Window%,1,"1")
 1220readb%=0
 1230WHEN35
 1240PROCWimp_IconPutText(Main_Window%,0,"-.194")
 1250PROCWimp_IconPutText(Main_Window%,1,".656")
 1260for_d%=1:PROCWimp_IconPutText(Main_Window%,13,"�")
 1270FORi%=2TO5
 1280PROCWimp_IconEnable(Main_Window%,i%)
 1290NEXT
 1300readb%=0
 1310WHEN36
 1320PROCWimp_IconPutText(Main_Window%,0,"-.745")
 1330PROCWimp_IconPutText(Main_Window%,1,".113")
 1340for_d%=0:PROCWimp_IconPutText(Main_Window%,13,"�")
 1350FORi%=2TO5
 1360PROCWimp_IconDisable(Main_Window%,i%)
 1370NEXT
 1380readb%=0
 1390WHEN37
 1400PROCWimp_IconPutText(Main_Window%,0,"-1.25")
 1410PROCWimp_IconPutText(Main_Window%,1,"0")
 1420for_d%=0:PROCWimp_IconPutText(Main_Window%,13,"�")
 1430FORi%=2TO5
 1440PROCWimp_IconDisable(Main_Window%,i%)
 1450NEXT
 1460readb%=0
 1470WHEN38
 1480PROCWimp_IconPutText(Main_Window%,0,"-.482")
 1490PROCWimp_IconPutText(Main_Window%,1,"-.532")
 1500for_d%=1:PROCWimp_IconPutText(Main_Window%,13,"�")
 1510FORi%=2TO5
 1520PROCWimp_IconEnable(Main_Window%,i%)
 1530NEXT
 1540readb%=0
 1550WHEN39
 1560PROCWimp_IconPutText(Main_Window%,0,"-.391")
 1570PROCWimp_IconPutText(Main_Window%,1,"-.587")
 1580readb%=0
 1590WHEN40
 1600PROCWimp_IconPutText(Main_Window%,0,"-.157")
 1610PROCWimp_IconPutText(Main_Window%,1,"-1.032")
 1620for_d%=0:PROCWimp_IconPutText(Main_Window%,13,"�")
 1630FORi%=2TO5
 1640PROCWimp_IconDisable(Main_Window%,i%)
 1650NEXT
 1660readb%=0
 1670WHEN41
 1680PROCWimp_IconPutText(Main_Window%,0,"-.11")
 1690PROCWimp_IconPutText(Main_Window%,1,"-.67")
 1700for_d%=1:PROCWimp_IconPutText(Main_Window%,13,"�")
 1710FORi%=2TO5
 1720PROCWimp_IconEnable(Main_Window%,i%)
 1730NEXT
 1740readb%=0
 1750WHEN42
 1760PROCWimp_IconPutText(Main_Window%,0,".273")
 1770PROCWimp_IconPutText(Main_Window%,1,".007")
 1780for_d%=0:PROCWimp_IconPutText(Main_Window%,13,"�")
 1790FORi%=2TO5
 1800PROCWimp_IconDisable(Main_Window%,i%)
 1810NEXT
 1820readb%=0
 1830WHEN43
 1840PROCWimp_IconPutText(Main_Window%,0,"-.75")
 1850PROCWimp_IconPutText(Main_Window%,1,".1")
 1860PROCWimp_IconPutText(Main_Window%,2,".1")
 1870PROCWimp_IconPutText(Main_Window%,3,".1")
 1880PROCWimp_IconPutText(Main_Window%,4,"0")
 1890PROCWimp_IconPutText(Main_Window%,5,"0")
 1900PROCWimp_IconPutText(Main_Window%,6,"-2.5")
 1910PROCWimp_IconPutText(Main_Window%,7,"2.5")
 1920PROCWimp_IconPutText(Main_Window%,8,"-2.5")
 1930PROCWimp_IconPutText(Main_Window%,9,"2.5")
 1940for_d%=1:PROCWimp_IconPutText(Main_Window%,13,"�")
 1950FORi%=2TO5
 1960PROCWimp_IconEnable(Main_Window%,i%)
 1970NEXT
 1980julia%=1:PROCWimp_IconPutText(Main_Window%,15,"�")
 1990mandy%=0:PROCWimp_IconPutText(Main_Window%,17,"�")
 2000PROCWimp_IconEnable(Main_Window%,1)
 2010PROCWimp_IconEnable(Main_Window%,0)
 2020readb%=0
 2030WHEN49,50,51,52
 2040readb%=0
 2050IFicon%=49 limit%=128
 2060IFicon%=50 limit%=256
 2070IFicon%=51 limit%=512
 2080IFicon%=52 limit%=1024
 2090FORi%=49TO52
 2100IFFNWimp_IconPutSprite(Main_Window%,i%,"radiooff")
 2110NEXT
 2120IFFNWimp_IconPutSprite(Main_Window%,icon%,"radioon")
 2130PROCWimp_WindowForceDraw(Main_Window%)
 2140ENDCASE
 2150PROCcheckchoices
 2160ENDIF
 2170ENDPROC
 2180DEFPROCUser_MouseBar(button%)
 2190IF(button%AND 4)AND MODE>11THEN
 2200PROCreadconstants
 2210singletask%=-1
 2220mode%=MODE
 2230SYS"Wimp_CommandWindow","4d Mandia"
 2240PROCfractals
 2250SYS"Wimp_CommandWindow",-1
 2260SYS"Wimp_SetMode",mode%
 2270singletask%=0:check%=1
 2280IFjulia%=0 OR mandy%=1THEN
 2290PROCWimp_IconPutText(Main_Window%,15,"�")
 2300PROCWimp_IconPutText(Main_Window%,17,"�")
 2310ELSE
 2320PROCWimp_IconPutText(Main_Window%,15,"�")
 2330PROCWimp_IconPutText(Main_Window%,17,"�")
 2340ENDIF
 2350PROCwriteconstants
 2360PROCreadoldconstants
 2370PROCcheckchoices
 2380ENDIF
 2390IFbutton%AND 1PROCWimp_WindowBringToTop(Main_Window%)
 2400ENDPROC
 2410DEFPROCEvent_KeyPress(window%,icon%,key%)
 2420IFkey%=10OR key%=13THEN
 2430icon%+=1
 2440icon%=icon% MOD10
 2450IFicon%>-1AND icon%<2AND mandy%=1 icon%=2
 2460IFicon%>1AND icon%<6AND for_d%=0 icon%=6
 2470PROCWimp_IconCaret(Main_Window%,icon%,0)
 2480ENDIF
 2490ENDPROC
 2500DEFPROCEvent_MenuChoice(menu%)
 2510CASEFNWimp_MenuChoice(0)OF
 2520WHEN2:PROCloadchoices
 2530WHEN3:PROCsavechoices
 2540WHEN4:finished%=TRUE
 2550ENDCASE
 2560ENDPROC
 2570DEFPROCsavechoices
 2580Y%=OPENOUT("<4DMANDIA$DIR>.Choices")
 2590FORi%=0TO8
 2600PRINT#Y%,FNWimp_IconText(Main_Window%,i%)
 2610NEXT
 2620FORi%=13TO21STEP2
 2630PRINT#Y%,FNWimp_IconText(Main_Window%,i%)
 2640NEXT
 2650BPUT#Y%,(limit%/8)
 2660CLOSE#Y%
 2670ENDPROC
 2680DEFPROCloadchoices
 2690Y%=OPENUP("<4DMANDIA$DIR>.Choices")
 2700FORi%=0TO8
 2710INPUT#Y%,A$
 2720PROCWimp_IconPutText(Main_Window%,i%,A$)
 2730NEXT
 2740FORi%=13TO21STEP2
 2750INPUT#Y%,A$
 2760PROCWimp_IconPutText(Main_Window%,i%,A$)
 2770NEXT
 2780limit%=(BGET#Y%)*8
 2790CLOSE#Y%
 2800check%=1
 2810PROCcheckchoices
 2820readb%=0
 2830IFlimit%=128 icon%=49
 2840IFlimit%=256 icon%=50
 2850IFlimit%=512 icon%=51
 2860IFlimit%=1024 icon%=52
 2870FORi%=49TO52
 2880IFFNWimp_IconPutSprite(Main_Window%,i%,"radiooff")
 2890NEXT
 2900IFFNWimp_IconPutSprite(Main_Window%,icon%,"radioon")
 2910PROCWimp_WindowForceDraw(Main_Window%)
 2920ENDPROC
 2930DEFPROCEvent_LoadFile(file$,type$)
 2940ENDPROC
 2950DEFPROCcheckchoices
 2960IFFNWimp_IconText(Main_Window%,13)="�"THEN
 2970for_d%=0
 2980IFcheck%=1THEN
 2990FORi%=2TO5
 3000PROCWimp_IconDisable(Main_Window%,i%)
 3010NEXT
 3020ENDIF
 3030ELSE
 3040for_d%=1
 3050IFcheck%=1THEN
 3060FORi%=2TO5
 3070PROCWimp_IconEnable(Main_Window%,i%)
 3080NEXT
 3090ENDIF
 3100ENDIF
 3110IFFNWimp_IconText(Main_Window%,15)="�"THEN
 3120julia%=0
 3130mandy%=1
 3140PROCWimp_IconPutText(Main_Window%,17,"�")
 3150IFcheck%=1THEN
 3160PROCWimp_IconDisable(Main_Window%,1)
 3170PROCWimp_IconDisable(Main_Window%,0)
 3180ENDIF
 3190ELSE
 3200julia%=1
 3210mandy%=0:PROCWimp_IconPutText(Main_Window%,17,"�")
 3220IFcheck%=1THEN
 3230PROCWimp_IconEnable(Main_Window%,1)
 3240PROCWimp_IconEnable(Main_Window%,0)
 3250ENDIF
 3260ENDIF
 3270IFFNWimp_IconText(Main_Window%,19)="�"THEN
 3280fastp%=0
 3290PROCWimp_IconEnable(Main_Window%,21)
 3300ELSE
 3310fastp%=1
 3320PROCWimp_IconPutText(Main_Window%,21,"�")
 3330PROCWimp_IconDisable(Main_Window%,21)
 3340count%=0
 3350ENDIF
 3360IFFNWimp_IconText(Main_Window%,21)="�"THEN
 3370count%=0
 3380ELSE
 3390count%=1
 3400ENDIF
 3410check%=0
 3420ENDPROC
 3430DEFPROCWimp_Start(TaskName$,wimp_memory%,icon%)
 3440DIMwimp%wimp_memory%,icons%icon%
 3450IFwimp_memory%<256THENwimp_memory%=256
 3460icon_memory%=icons%+icon%
 3470task$=TaskName$
 3480indirect_sprites%=1:direct_sprites%=1
 3490PROCWimp_SetEventVariables
 3500ONERRORPROCWimp_Error:END
 3510SYS"Wimp_Initialise",200,&4B534154,TaskName$TOversion%,task%
 3520ENDPROC
 3530DEFPROCWimp_SetEventVariables
 3540DIMpointer_block%20
 3550interface%=FALSE
 3560null%=1:draw%=2:pointer_leaving%=1<<4
 3570pointer_entering%=1<<5:mouse%=1<<6:drag%=1<<7
 3580key%=1<<8:menu%=1<<9:scroll%=1<<10
 3590lose_caret%=1<<11:gain_caret%=1<<12:message%=(1<<17)+(1<<18)
 3600recorder%=1<<18:acknowledge%=1<<19:window%=0
 3610sprites%=1:version%=0:task%=0
 3620Bar_Window%=-2:Bar_Icon%=0:Bar_Menu%=0
 3630x_origin%=0:y_origin%=0:SaveWindow%=-3
 3640message_quit%=0:message_save%=2:message_load%=3
 3650mouse_button%=2:save_event%=0
 3660top_line%=0:bottom_line%=0
 3670ENDPROC
 3680DEFPROCWimp_Error
 3690ONERROROFF
 3700IF blanked% SYS"OS_UpdateMEMC",oldmemc,&700
 3710IF singletask% singletask%=0:PRINT"Error! ";REPORT$;" at line";ERL:SYS"Wimp_CommandWindow",0:SYS"Wimp_SetMode",mode%
 3720PROCWimp_WindowAlert("4dMandia",REPORT$+" at line:"+STR$(ERL DIV10))
 3730PROCWimp_CloseDown
 3740ENDPROC
 3750DEFPROCWimp_CloseDown
 3760SYS"Wimp_CloseDown",task%,"TASK"
 3770ENDPROC
 3780DEFPROCWimp_Quit
 3790finished%=TRUE
 3800ENDPROC
 3810DEFPROCWimp_WindowAlert(title$,message$)
 3820PROCWimp_WindowAlertBox(title$,message$,0)
 3830ENDPROC
 3840DEFPROCWimp_WindowAlertBox(title$,message$,button%)
 3850LOCALresponse%
 3860$(wimp%+4)=message$
 3870CASEbutton%OF
 3880WHEN2:response%=1
 3890WHEN1:response%=15
 3900WHEN3:response%=(1<<5)+16
 3910WHEN4:response%=(1<<6)+16
 3920OTHERWISE:response%=16
 3930ENDCASE
 3940SYS"Wimp_ReportError",wimp%,response%,title$TO,response%
 3950ENDPROC
 3960DEFFNWimp_WindowLoad(window$)
 3970=FNWimp_WindowLoadFrom(window$,"<Obey$Dir>.Templates")
 3980DEFFNWimp_WindowLoadFrom(window$,template$)
 3990LOCALc%,i%,n%,j%,sp$,sp2$
 4000SYS"Wimp_OpenTemplate",,template$
 4010SYS"Wimp_LoadTemplate",,wimp%,icons%,icon_memory%,-1,window$,0 TO,,icons%
 4020CASEsprites%OF
 4030WHEN1:wimp%!64=sprites%
 4040OTHERWISE:wimp%!64=FNEvent_Sprites(window%)
 4050ENDCASE
 4060SYS"Wimp_CreateWindow",,wimp%TOc%
 4070SYS"Wimp_CloseTemplate"
 4080SYS"Wimp_WhichIcon",c%,wimp%+40,1+2+(1<<8),2+(1<<8)
 4090CASEwimp%!40OF
 4100WHEN-1
 4110OTHERWISE:i%=40
 4120REPEAT
 4130wimp%!4=wimp%!i%:wimp%!0=c%
 4140SYS"Wimp_GetIconState",,wimp%
 4150sp$=FNWimp_GetStringAtAddress(wimp%!28)
 4160SYS"Wimp_DeleteIcon",,wimp%
 4170CASEsprites%OF
 4180WHEN1:wimp%!32=1
 4190OTHERWISE
 4200SYS"OS_SpriteOp",&108,sprites%TO,,,n%
 4210j%=0
 4220REPEAT:j%+=1
 4230SYS"OS_SpriteOp",&10D,sprites%,pointer_block%,20,j%
 4240sp2$=FNWimp_GetStringAtAddress(pointer_block%)
 4250UNTILj%=n%OR sp$=sp2$
 4260IFsp$=sp2$THENwimp%!32=sprites%ELSEwimp%!32=1
 4270ENDCASE
 4280wimp%!4=c%
 4290SYS"Wimp_CreateIcon",,wimp%+4TOhandle%
 4300i%+=4
 4310UNTIL(wimp%!i%)=-1
 4320ENDCASE
 4330=c%
 4340DEFPROCWimp_WindowBringToTop(window%)
 4350!wimp%=window%
 4360SYS"Wimp_GetWindowState",,wimp%
 4370wimp%!28=-1
 4380SYS"Wimp_OpenWindow",,wimp%
 4390ENDPROC
 4400DEFPROCWimp_WindowClose(window%)
 4410!wimp%=window%
 4420SYS"Wimp_CloseWindow",,wimp%
 4430ENDPROC
 4440DEFFNWimp_IconBar(Sprite$)
 4450LOCALicon%
 4460wimp%!0=-1
 4470wimp%!4=0:wimp%!8=0
 4480wimp%!12=68:wimp%!16=68
 4490wimp%!20=&3002
 4500$(wimp%+24)=Sprite$
 4510SYS"Wimp_CreateIcon",,wimp%TOicon%
 4520=icon%
 4530DEFFNWimp_MenuCreate(menu$)
 4540IFmenu$="Colours"THEN=FNWimp_MenuColours
 4550LOCALmenu%,index%,width%,length%,k%,s%
 4560DIMmenu%28+FNWimp_MenuNoOfEntries(menu$)*24
 4570menu%?12=7:menu%?13=2:menu%?14=7:menu%?15=0
 4580menu%!16=140:menu%!20=44:menu%!24=0
 4590index%=menu%+28
 4600$menu%=LEFT$(menu$,INSTR(menu$,"\")-1)
 4610width%=LEN(LEFT$(menu$,INSTR(menu$,"\")-1))
 4620menu$+="\":Menu_NoOfEntries%=0
 4630WHILEmenu$<>""
 4640menu$=MID$(menu$,INSTR(menu$,"\")+1)
 4650CASEmenu$OF
 4660WHEN""
 4670OTHERWISE
 4680!index%=0:index%!4=-1:index%!8=&7000021
 4690length%=INSTR(menu$,"\")-1
 4700k%=INSTR(LEFT$(menu$,length%),">")
 4710CASEk%OF
 4720WHEN0
 4730OTHERWISE
 4740s%=EVAL(MID$(menu$,k%+1,length%-k%))
 4750index%!4=s%
 4760length%=k%-1
 4770ENDCASE
 4780$(index%+12)=LEFT$(menu$,length%)
 4790IFlength%>width%THENwidth%=length%
 4800index%+=24
 4810ENDCASE
 4820ENDWHILE
 4830menu%!16=16*(width%+1)
 4840index%!-24=index%!-24OR &80:=menu%
 4850DEFPROCWimp_MenuDottedLine(menu%,item%)
 4860menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))OR2
 4870ENDPROC
 4880DEFFNWimp_MenuNoOfEntries(menu$)
 4890LOCALn%,j%:n%=0:j%=0
 4900REPEAT
 4910j%=INSTR(menu$,"\",j%+1)
 4920IFj%<>0THENn%+=1
 4930UNTILj%=0
 4940=n%
 4950DEFPROCWimp_WaitForEvent
 4960LOCALmask%,event%
 4970finished%=FALSE
 4980mask%=%111000011001
 4990REPEAT
 5000SYS"Wimp_Poll",mask%,wimp%TOevent%
 5010CASEevent%OF
 5020WHEN0
 5030WHEN1:PROCWimp_PollDrawWindow
 5040WHEN2:SYS"Wimp_OpenWindow",,wimp%
 5050WHEN3:PROCWimp_PollCloseWindow
 5060WHEN4
 5070WHEN5
 5080WHEN6:PROCWimp_PollMouseClick
 5090WHEN7:PROCWimp_PollSaveMessage
 5100WHEN8:PROCWimp_PollKeyPress
 5110WHEN9:PROCEvent_MenuChoice(menu%)
 5120WHEN10
 5130WHEN11
 5140WHEN12
 5150WHEN17,18:PROCWimp_PollMessages
 5160WHEN19
 5170ENDCASE
 5180UNTILfinished%
 5190ENDPROC
 5200DEFPROCWimp_PollDrawWindow
 5210LOCALmore%
 5220SYS"Wimp_RedrawWindow",,wimp%TOmore%
 5230window%=wimp%!0
 5240x_origin%=16+wimp%!4-wimp%!20:y_origin%=-16+wimp%!16-wimp%!24
 5250WHILEmore%
 5260IFinterface%THENSYS"Wimp_BorderWindow",,wimp%
 5270PROCEvent_Draw(window%,x_origin%,y_origin%)
 5280SYS"Wimp_GetRectangle",,wimp%TOmore%
 5290ENDWHILE
 5300ENDPROC
 5310DEFPROCWimp_PollCloseWindow
 5320SYS"Wimp_GetPointerInfo",,wimp%
 5330window%=wimp%!12:buttons%=wimp%!8
 5340PROCEvent_WindowClose(window%,buttons%)
 5350!wimp%=window%:SYS"Wimp_CloseWindow",,wimp%
 5360ENDPROC
 5370DEFPROCWimp_PollMouseClick
 5380button%=wimp%!8:window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
 5390CASEbutton%OF
 5400WHEN2:PROCWimp_PollMenuPopUp
 5410OTHERWISE:CASEFNEvent_Save(window%)OF
 5420WHENTRUE:PROCWimp_PollMouseSave
 5430WHENFALSE:PROCWimp_PollEventMouseClick
 5440ENDCASE
 5450ENDCASE
 5460ENDPROC
 5470DEFPROCWimp_PollMenuPopUp
 5480menu%=FNEvent_Menu(window%)
 5490CASEmenu%OF
 5500WHENFALSE
 5510OTHERWISE
 5520CASEwindow%OF
 5530WHEN-2:n%=0
 5540WHILE((Bar_Menu%!(28+n%*24))AND%10000000)=0
 5550n%+=1
 5560ENDWHILE
 5570SYS"Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44
 5580OTHERWISE:SYS"Wimp_CreateMenu",,menu%,x%-64,y%+20
 5590ENDCASE
 5600ENDCASE
 5610ENDPROC
 5620DEFPROCWimp_PollEventMouseClick
 5630IFinterface%THENSYS"Wimp_BorderIcon",,wimp%
 5640PROCEvent_MouseClick(window%,icon%,button%,x%,y%)
 5650CASEinterface%OF
 5660WHENTRUE
 5670wimp%!0=x%:wimp%!4=y%:wimp%!8=0
 5680wimp%!12=window%:wimp%!16=icon%
 5690SYS"Wimp_BorderIcon",,wimp%
 5700ENDCASE
 5710ENDPROC
 5720DEFPROCWimp_PollKeyPress
 5730window%=wimp%!0:icon%=wimp%!4:key%=wimp%!24
 5740CASEFNEvent_Save(window%)OF
 5750WHENTRUE:PROCWimpPoll_SaveFile(window%)
 5760WHENFALSE:PROCEvent_KeyPress(window%,icon%,key%)
 5770ENDCASE
 5780ENDPROC
 5790DEFPROCWimp_PollMessages
 5800LOCALfile$
 5810file$=FNWimp_GetStringAtAddress(wimp%+44)
 5820CASEwimp%!16OF
 5830WHEN0:finished%=TRUE
 5840WHEN1
 5850WHEN2
 5860wimp%!0=save%:wimp%!4=1:SYS"Wimp_GetIconState",,wimp%
 5870$(wimp%!28)=file$
 5880wimp%!0=save%:wimp%!4=1:wimp%!8=0:wimp%!12=0
 5890SYS"Wimp_SetIconState",,wimp%
 5900SYS"Wimp_SetCaretPosition",save%,1,,,-1,LENfile$
 5910PROCEvent_SaveFile(file$,save%)
 5920WHEN3
 5930type$=FNWimp_FileType(wimp%!40):PROCEvent_LoadFile(file$,type$)
 5940ENDCASE
 5950ENDPROC
 5960DEFFNWimp_GetStringAtAddress(array%)
 5970LOCALs$:s$=""
 5980WHILE(?array%<>13)AND(?array%<>0):s$+=CHR$(?array%):array%+=1:ENDWHILE
 5990=s$
 6000DEFFNWimp_GetFileFromPathname(f$)
 6010CASEINSTR(f$,".")OF
 6020WHEN0:=f$
 6030OTHERWISE:=FNWimp_GetFileFromPathname(RIGHT$(f$,LEN(f$)-INSTR(f$,".")))
 6040ENDCASE
 6050DEFFNWimp_FileType(type%)
 6060CASEtype%OF
 6070WHEN&FFF:="Text"
 6080WHEN&FFD:="Data"
 6090WHEN&FFB:="Basic"
 6100WHEN&FF9:="Sprite"
 6110WHEN&FED:="Palette"
 6120WHEN&FEC:="Template"
 6130WHEN&AFF:="Draw"
 6140WHEN&1000:="Folder"
 6150WHEN&2000:="Application"
 6160OTHERWISE=STR$~(type%)
 6170ENDCASE
 6180DEFPROCWimp_IconPutText(window%,icon%,text$)
 6190wimp%!0=window%:wimp%!4=icon%
 6200SYS"Wimp_GetIconState",,wimp%
 6210IF((wimp%!24)AND&100)=0ERROR1,"Icon isn't indirected"
 6220$(wimp%!28)=text$
 6230wimp%!0=window%:wimp%!4=icon%
 6240wimp%!8=0:wimp%!12=0
 6250SYS"Wimp_SetIconState",,wimp%
 6260ENDPROC
 6270DEFFNWimp_IconText(window%,icon%)
 6280wimp%!0=window%:wimp%!4=icon%
 6290SYS"Wimp_GetIconState",,wimp%
 6300IF((wimp%!24)AND&100)=0ERROR1,"Icon isn't indirected"
 6310=$(wimp%!28)
 6320DEFFNWimp_MenuChoice(level%)
 6330=(wimp%!(4*level%))+1
 6340DEFPROCWimp_MenuTick(menu%,item%)
 6350menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))EOR1
 6360ENDPROC
 6370DEFPROCWimp_IconCaret(window%,icon%,chars%)
 6380SYS"Wimp_SetCaretPosition",window%,icon%,,,-1,chars%
 6390ENDPROC
 6400DEFPROCWimp_IconDisable(window%,icon%)
 6410wimp%!0=window%:wimp%!4=icon%
 6420wimp%!8=1<<22:wimp%!12=1<<22
 6430SYS"Wimp_SetIconState",,wimp%
 6440ENDPROC
 6450DEFPROCWimp_IconEnable(window%,icon%)
 6460wimp%!0=window%:wimp%!4=icon%
 6470wimp%!8=0:wimp%!12=1<<22
 6480SYS"Wimp_SetIconState",,wimp%
 6490ENDPROC
 6500DEFFNWimp_IconPutSprite(window%,icon%,sprite$)
 6510wimp%!0=window%:wimp%!4=icon%
 6520SYS"Wimp_GetIconState",,wimp%
 6530SYS"Wimp_DeleteIcon",,wimp%
 6540wimp%!4=wimp%!8:wimp%!8=wimp%!12:wimp%!12=wimp%!16
 6550wimp%!16=wimp%!20:wimp%!20=wimp%!24:$(wimp%+24)=sprite$
 6560SYS"Wimp_CreateIcon",,wimp%TOicon%
 6570=icon%
 6580DEFPROCWimp_WindowForceDraw(window%)
 6590CASEwindow%OF
 6600WHEN-1:SYS"Wimp_ForceRedraw",-1,0,0,2*1280,2*1024
 6610OTHERWISE:SYS"Wimp_ForceRedraw",window%,0,-2*1024,2*1280,0
 6620ENDCASE
 6630ENDPROC
 6640DEFPROCreadconstants
 6650q0=VAL(FNWimp_IconText(Main_Window%,0))
 6660q1=VAL(FNWimp_IconText(Main_Window%,1))
 6670q2=VAL(FNWimp_IconText(Main_Window%,2))
 6680q3=VAL(FNWimp_IconText(Main_Window%,3))
 6690c=VAL(FNWimp_IconText(Main_Window%,4))
 6700d=VAL(FNWimp_IconText(Main_Window%,5))
 6710xmin=VAL(FNWimp_IconText(Main_Window%,6))
 6720xmax=VAL(FNWimp_IconText(Main_Window%,7))
 6730ymin=VAL(FNWimp_IconText(Main_Window%,8))
 6740ymax=VAL(FNWimp_IconText(Main_Window%,9))
 6750IFq0<>oldq0 OR q1<>oldq1 OR q2<>oldq2 OR q3<>oldq3 OR c<>oldc OR d<>oldd OR xmin<>oldxmin OR xmax<>oldxmax OR ymin<>oldymin OR ymax<>oldymax readb%=0
 6760ENDPROC
 6770DEFPROCreadoldconstants
 6780oldq0=VAL(FNWimp_IconText(Main_Window%,0))
 6790oldq1=VAL(FNWimp_IconText(Main_Window%,1))
 6800oldq2=VAL(FNWimp_IconText(Main_Window%,2))
 6810oldq3=VAL(FNWimp_IconText(Main_Window%,3))
 6820oldc=VAL(FNWimp_IconText(Main_Window%,4))
 6830oldd=VAL(FNWimp_IconText(Main_Window%,5))
 6840oldxmin=VAL(FNWimp_IconText(Main_Window%,6))
 6850oldxmax=VAL(FNWimp_IconText(Main_Window%,7))
 6860oldymin=VAL(FNWimp_IconText(Main_Window%,8))
 6870oldymax=VAL(FNWimp_IconText(Main_Window%,9))
 6880ENDPROC
 6890DEFPROCwriteconstants
 6900PROCroundks
 6910PROCWimp_IconPutText(Main_Window%,0,FNgsfm(q0))
 6920PROCWimp_IconPutText(Main_Window%,1,FNgsfm(q1))
 6930PROCWimp_IconPutText(Main_Window%,6,FNgsfm(xmin))
 6940PROCWimp_IconPutText(Main_Window%,7,FNgsfm(xmax))
 6950PROCWimp_IconPutText(Main_Window%,8,FNgsfm(ymin))
 6960PROCWimp_IconPutText(Main_Window%,9,FNgsfm(ymax))
 6970ENDPROC
 6980DEFPROCfractals
 6990PROCfrac_init
 7000PROCfrac_printoptions
 7010PROCreadconstants
 7020PROCfrac_base
 7030REPEAT
 7040A%=FNfrac_zoom
 7050IFA%=-1PROCfrac_julia:readb%=0
 7060IFA%=0PROCfrac_return:readb%=1
 7070UNTILA%=2
 7080IFreadb%=0CALLscanbase:readb%=2
 7090ENDPROC
 7100DEFPROCfrac_init
 7110MODE13
 7120DIMblock%24
 7130block%!0=150
 7140block%!4=149
 7150block%!8=-1
 7160SYS"OS_ReadVduVariables",block%,block%+12
 7170size%=block%!12
 7180start%=block%!16
 7190*FX 112,1
 7200*FX 113,1
 7210@%=&010308
 7220OFF
 7230VDU28,32,31,39,0
 7240VDU24,0;0;1023;1023;
 7250MOUSEON
 7260ENDPROC
 7270DEFPROCfrac_printoptions
 7280CLS
 7290PRINTTAB(0,0)"New Vals--------";"Min X:"'''"Max X:"'''"Min Y:"'''"Max Y:"
 7300PRINT'''"Scroll:"'"Z-Left"'"X-Right"'"'-Up"'"/-Down"''"J-Julia"'"M-Mandle"
 7310PRINTTAB(0,24)"R-Reset"'"S-Save"'"Q-Quit"''"Count:"
 7320ENDPROC
 7330DEFPROCfrac_base
 7340CASEreadb%OF
 7350WHEN0
 7360readb%=1
 7370PROCfrac_julia
 7380CALLscanbase
 7390WHEN1
 7400WAIT
 7410CALLplotsprite
 7420WHEN2
 7430CALLplotbase
 7440ENDCASE
 7450ENDPROC
 7460DEFPROCfrac_return
 7470WAIT
 7480CALLplotbase
 7490PROCreadconstants
 7500ENDPROC
 7510DEFFNfrac_zoom
 7520scro%=1:PROCfrac_assem:scro%=0
 7530GCOL4,0
 7540S%=512:MOUSETO256,256
 7550xsize=xmax-xmin
 7560ysize=ymax-ymin
 7570REPEAT
 7580MOUSERECTANGLE0,0,1024-S%,1024-S%
 7590MOUSEX%,Y%,B%
 7600WAIT
 7610RECTANGLEX%,Y%,S%-4,S%-4
 7620newX=xmin+X%*xsize/1024
 7630newY=ymin+Y%*ysize/1024
 7640key$=INKEY$(0)
 7650WAIT
 7660RECTANGLEX%,Y%,S%-4,S%-4
 7670PRINTTAB(0,3);newX
 7680PRINTTAB(0,6);newX+xsize*S%/1024
 7690PRINTTAB(0,9);newY
 7700PRINTTAB(0,12);newY+ysize*S%/1024
 7710CASEkey$OF
 7720WHEN"S","s"
 7730INPUTTAB(0,28);"Filename";F$
 7740IFF$<>""THEN
 7750SYS"Hourglass_On"
 7760F$=MID$(F$,1,10)
 7770OSCLI("SCREENSAVE "+F$)
 7780PROCfrac_printoptions
 7790SYS"Hourglass_Smash"
 7800ENDIF
 7810WHEN"Q","q":=2
 7820WHEN"J","j"
 7830IFmandy%=1THEN
 7840mandy%=0:julia%=1
 7850MOUSERECTANGLE0,0,1024,1024
 7860REPEAT
 7870MOUSEX%,Y%,B%
 7880UNTILB%AND4
 7890q0=((xmax-xmin)*X%/1024)+xmin
 7900q1=((ymax-ymin)*Y%/1024)+ymin
 7910readb%=0
 7920PROCfrac_printoptions
 7930PROCfrac_base
 7940ENDIF
 7950WHEN"M","m"
 7960IFmandy%=0THEN
 7970mandy%=1:julia%=0
 7980readb%=0
 7990PROCfrac_printoptions
 8000PROCfrac_base
 8010ENDIF
 8020WHEN"'"
 8030ysize=ymax-ymin
 8040yadd=4*(ysize/1024)
 8050ymin+=yadd
 8060ymax+=yadd
 8070L%=ylimit%
 8080ylimit%=1
 8090PROCfrac_setassemver
 8100CALLjulia
 8110WAIT
 8120CALLscrollup
 8130ylimit%=L%
 8140WHEN"/","?"
 8150L%=ylimit%
 8160ylimit%=1
 8170M=ymax
 8180ymax=ymin
 8190PROCfrac_setassemver
 8200CALLjulia
 8210WAIT
 8220CALLscrolldown
 8230ylimit%=L%
 8240ymax=M
 8250ysize=ymax-ymin
 8260yadd=4*(ysize/1024)
 8270ymin-=yadd
 8280ymax-=yadd
 8290WHEN"X","x"
 8300!scrolS=scrollstore
 8310scro%=1
 8320L%=xlimit%
 8330xlimit%=4
 8340M=xmin
 8350N=xmax
 8360xmax=xmax+(xmax-xmin)
 8370xmin=N
 8380PROCfrac_setassemver
 8390xlimit%=L%
 8400CALLjulia
 8410CALLscrollright
 8420WAIT
 8430CALLplotsprite
 8440xmin=M
 8450xmax=N
 8460xsize=xmax-xmin
 8470xadd=4*4*(xsize/1024)
 8480xmin+=xadd
 8490xmax+=xadd
 8500scro%=0
 8510!scrolS=imagestore
 8520WHEN"z","Z"
 8530!scrolS=scrollstore
 8540scro%=1
 8550L%=xlimit%
 8560xlimit%=4
 8570xsize=xmax-xmin
 8580xadd=4*4*(xsize/1024)
 8590xmin-=xadd
 8600xmax-=xadd
 8610PROCfrac_setassemver
 8620xlimit%=L%
 8630CALLjulia
 8640CALLscrollleft
 8650WAIT
 8660CALLplotsprite
 8670scro%=0
 8680!scrolS=imagestore
 8690ENDCASE
 8700IF(B%AND 1)=1AND S%<1024THENS%+=16
 8710IF(B%AND 4)=4AND S%>256THENS%-=16
 8720UNTIL(B%AND 2)=2OR key$="R"OR key$="r"
 8730xmin=newX
 8740xmax=newX+xsize*S%/1024
 8750ymin=newY
 8760ymax=newY+ysize*S%/1024
 8770PROCroundks
 8780=NOT(key$="R"OR key$="r")
 8790DEFPROCfrac_julia
 8800IFfastp%=1THEN
 8810SYS"OS_UpdateMEMC",&300,&700TOoldmemc:blanked%=TRUE
 8820ELSE
 8830SYS"Hourglass_On"
 8840ENDIF
 8850PROCfrac_assem
 8860PRINTTAB(0,29);
 8870CALLjulia
 8880PROCfrac_printoptions
 8890WAIT
 8900CALLplotsprite
 8910IFfastp%=1THEN
 8920SYS"OS_UpdateMEMC",oldmemc,&700:blanked%=FALSE
 8930ELSE
 8940SYS"Hourglass_Smash"
 8950ENDIF
 8960ENDPROC
 8970DEFPROCfrac_assem
 8980FORp%=0TO2STEP2
 8990x=0
 9000y=1
 9010uu=2
 9020vv=3
 9030sxy=4:syx=5
 9040scrn=6
 9050depth=7
 9060c1=8:c2=9
 9070c3=10
 9080u=11
 9090v=12
 9100sp=13
 9110link=14
 9120P%=code%
 9130[OPT p%
 9140.julia
 9150STR sp,stackS
 9160STR link,linkS
 9170LDR y,initY
 9180LDR scrn,scrolS
 9190sub scrn,scrn,#1
 9200ldr syx,ylimitS
 9210FNjuliaconstants
 9220LDR uu,incXS
 9230LDR vv,incYS
 9240FNfourd(1)
 9250.loopY
 9260LDR x,initX
 9270ldr sxy,xlimitS
 9280.loopX
 9290FNstack
 9300MOV u,x
 9310MOV v,y
 9320MOV depth,#limit%
 9330FNfourd(2)
 9340FNmandleconstants
 9350.loop
 9360MOV u,u,ASR#&E
 9370MUL uu,u,u
 9380MOV v,v,ASR#&E
 9390MUL vv,v,v
 9400mov vv,vv,lsl#1
 9410FNfourd(3)
 9420mul v,u,v
 9430FNfourd(4)
 9440CMP u,#&10000000
 9450BGE exit
 9460FNfourd(5)
 9470RSB u,vv,uu,lsl#1
 9480ADD v,c2,v,LSL#2
 9490ADD u,u,c1
 9500SUBS depth,depth,#1
 9510BNE loop
 9520.exit
 9530FNstack2
 9540STRB depth,[scrn,#1]!
 9550ADD x,x,uu
 9560SUBS sxy,sxy,#1
 9570BNE loopX
 9580ADD y,y,vv
 9590FNcount
 9600SUBS syx,syx,#1
 9610BNE loopY
 9620LDR sp,stackS
 9630LDR link,linkS\Return stack etc.
 9640MOVS pc,link\Quit machine code.
 9650.plotsprite
 9660STR sp,stackS
 9670STR link,linkS
 9680mov r0,#256
 9690LDR r1,imagestoreS
 9700LDR r2,scrnS
 9710.plotloop
 9720FNmultishift
 9730add r2,r2,#64
 9740subs r0,r0,#1
 9750bne plotloop
 9760LDR sp,stackS
 9770LDR link,linkS\Return stack etc.
 9780MOVS pc,link
 9790.scanbase
 9800STR sp,stackS
 9810STR link,linkS
 9820mov r0,#256
 9830LDR r1,scrnS
 9840LDR r2,basestoreS
 9850.scanloop
 9860FNmultishift
 9870add r1,r1,#64
 9880subs r0,r0,#1
 9890bne scanloop
 9900LDR sp,stackS
 9910LDR link,linkS\Return stack etc.
 9920MOVS pc,link
 9930.plotbase
 9940STR sp,stackS
 9950STR link,linkS
 9960mov r0,#256
 9970LDR r1,basestoreS
 9980LDR r2,scrnS
 9990.baseloop
10000FNmultishift
10010add r2,r2,#64
10020subs r0,r0,#1
10030bne baseloop
10040LDR sp,stackS
10050LDR link,linkS\Return stack etc.
10060MOVS pc,link
10070.scrollup
10080STR sp,stackS
10090STR link,linkS
10100mov r0,#255
10110LDR r2,scrnE
10120SUB R1,R2,#320
10130.scrolluploop
10140FNmultishift
10150LDR R3,sS
10160SUB R1,R1,R3
10170SUB R2,R2,R3
10180subs r0,r0,#1
10190bne scrolluploop
10200LDR R1,imagestoreS
10210LDR R2,scrnS
10220FNmultishift
10230LDR sp,stackS
10240LDR link,linkS
10250MOVS pc,link
10260.scrolldown
10270STR sp,stackS
10280STR link,linkS
10290mov r0,#255
10300LDR r2,scrnS
10310ADD R1,R2,#320
10320.scrolldownloop
10330FNmultishift
10340ADD R1,R1,#64
10350ADD R2,R2,#64
10360subs r0,r0,#1
10370bne scrolldownloop
10380LDR R1,imagestoreS
10390FNmultishift
10400LDR sp,stackS
10410LDR link,linkS
10420MOVS pc,link
10430.scrollright
10440STR sp,stackS
10450STR link,linkS
10460mov r0,#256
10470LDR r1,scrnS
10480ADD R1,R1,#4
10490LDR R2,imagestoreS
10500ldr r3,scrollstoreS
10510sub r3,r3,#4
10520.scrollrightloop
10530FNmultiscroll
10540ldr r4,[r3,#4]!
10550str r4,[r2]
10560ADD R2,R2,#4
10570ADD R1,R1,#68
10580subs r0,r0,#1
10590bne scrollrightloop
10600LDR sp,stackS
10610LDR link,linkS
10620MOVS pc,link
10630.scrollleft
10640STR sp,stackS
10650STR link,linkS
10660mov r0,#256
10670LDR r1,scrnS
10680LDR R2,imagestoreS
10690ldr r3,scrollstoreS
10700sub r3,r3,#4
10710.scrollleftloop
10720ldr r4,[r3,#4]!
10730str r4,[r2]
10740ADD R2,R2,#4
10750FNmultiscroll
10760ADD R1,R1,#68
10770subs r0,r0,#1
10780bne scrollleftloop
10790LDR sp,stackS
10800LDR link,linkS
10810MOVS pc,link
10820.initX EQUD xmin*(1<<27)
10830.initY EQUD ymax*(1<<27)
10840.yminS EQUD ymin*(1<<27)
10850.xmaxS EQUD xmax*(1<<27)
10860.initZ EQUD c*(1<<27)
10870.initT EQUD d*(1<<27)
10880.incXS EQUD ((xmax-xmin)/256)*(1<<27)
10890.incYS EQUD (-(ymax-ymin)/256)*(1<<27)
10900.scrnS EQUD start%
10910.scrnE EQUD start%+(320*255)
10920.sS EQUD 576
10930.raS EQUD 320
10940.xlimitS EQUD xlimit%
10950.ylimitS EQUD ylimit%
10960.imagestoreS EQUD imagestore
10970.basestoreS EQUD basestore
10980.scrollstoreS EQUD scrollstore
10990.stackS EQUD 0
11000.linkS EQUD 0
11010.c1S EQUD (q0)*(1<<27)
11020.c2S EQUD (q1)*(1<<27)
11030.c3S EQUD (q2)*(1<<27)
11040.c4S EQUD (q3)*(1<<27)
11050.scrolS EQUD imagestore
11060.numberS EQUD number
11070ALIGN
11080]NEXT
11090ENDPROC
11100DEFFNjuliaconstants
11110IFjulia%=1THEN
11120[OPT p%
11130LDR c1,c1S
11140LDR c2,c2S
11150]
11160ENDIF
11170=""
11180DEFFNmandleconstants
11190IFmandy%=1THEN
11200[OPT p%
11210mov c1,x
11220mov c2,y
11230]
11240ENDIF
11250=""
11260DEFFNfourd(f%)
11270IFfor_d%=1THEN
11280CASEf%OF
11290WHEN1
11300[OPT p%
11310LDR c3,c3S
11320]
11330WHEN2
11340[OPT p%
11350LDR sxy,initZ
11360LDR syx,initT
11370LDR scrn,c4S
11380]
11390WHEN3
11400[OPT p%
11410mov sxy,sxy,asr#&E
11420mul x,sxy,sxy
11430mov syx,syx,asr#&E
11440mul y,syx,syx
11450mul syx,u,syx
11460mul sxy,u,sxy
11470]
11480WHEN4
11490[OPT p%
11500add u,vv,x,lsl#1
11510add u,u,y,lsl#1
11520add u,u,uu,lsl#1
11530]
11540WHEN5
11550[OPT p%
11560add sxy,scrn,sxy,lsl#2
11570add syx,c3,syx,lsl#2
11580add vv,vv,x,lsl#1
11590add vv,vv,y,lsl#1
11600]
11610ENDCASE
11620ELSE
11630CASEf%OF
11640WHEN4
11650[OPT p%
11660add u,vv,uu,lsl#1
11670]
11680ENDCASE
11690ENDIF
11700=""
11710DEFFNstack
11720IFfor_d%=1THEN
11730[OPT p%
11740STMFD (sp)!,{sxy,syx,x,y,scrn,uu,vv}
11750]
11760ELSE
11770[OPT p%
11780STMFD (sp)!,{uu,vv}
11790]
11800ENDIF
11810=""
11820DEFFNstack2
11830IFfor_d%=1THEN
11840[OPT p%
11850LDMFD (sp)!,{sxy,syx,x,y,scrn,uu,vv}
11860]
11870ELSE
11880[OPT p%
11890LDMFD (sp)!,{uu,vv}
11900]
11910ENDIF
11920=""
11930DEFFNcount
11940IFcount%=1AND fastp%=0AND scro%=0THEN
11950[OPT p%
11960STMFD (sp)!,{r0-r2}
11970mov r0,syx
11980LDR r1,numberS
11990mov r2,#100
12000SWI"OS_BinaryToDecimal"
12010mov r0,#0
12020strb r0,[r1,r2]
12030mov r0,r1
12040SWI"OS_Write0"
12050SWI"OS_WriteS"
12060EQUB 32
12070EQUB 32
12080EQUB 13
12090EQUB 00
12100ALIGN
12110LDMFD (sp)!,{r0-r2}
12120]
12130ENDIF
12140=""
12150DEFFNmultishift
12160[OPT p%
12170ldmia r1!,{r3-r12}
12180stmia r2!,{r3-r12}
12190ldmia r1!,{r3-r12}
12200stmia r2!,{r3-r12}
12210ldmia r1!,{r3-r12}
12220stmia r2!,{r3-r12}
12230ldmia r1!,{r3-r12}
12240stmia r2!,{r3-r12}
12250ldmia r1!,{r3-r12}
12260stmia r2!,{r3-r12}
12270ldmia r1!,{r3-r12}
12280stmia r2!,{r3-r12}
12290ldmia r1!,{r3-r6}
12300stmia r2!,{r3-r6}
12310]
12320=""
12330DEFFNmultiscroll
12340[opt p%
12350ldmia r1!,{r4-r12}
12360stmia r2!,{r4-r12}
12370ldmia r1!,{r4-r12}
12380stmia r2!,{r4-r12}
12390ldmia r1!,{r4-r12}
12400stmia r2!,{r4-r12}
12410ldmia r1!,{r4-r12}
12420stmia r2!,{r4-r12}
12430ldmia r1!,{r4-r12}
12440stmia r2!,{r4-r12}
12450ldmia r1!,{r4-r12}
12460stmia r2!,{r4-r12}
12470ldmia r1!,{r4-r12}
12480stmia r2!,{r4-r12}
12490]
12500ENDIF
12510=""
12520DEFPROCroundks
12530q0=(INT(.5+100*q0))/100
12540q1=(INT(.5+100*q1))/100
12550q2=(INT(.5+100*q2))/100
12560q3=(INT(.5+100*q3))/100
12570c=(INT(.5+100*c))/100
12580d=(INT(.5+100*d))/100
12590xmin=(INT(.5+100*xmin))/100
12600xmax=(INT(.5+100*xmax))/100
12610ymin=(INT(.5+100*ymin))/100
12620ymax=(INT(.5+100*ymax))/100
12630ENDPROC
12640DEFFNgsfm(n)
12650LOCALA$,B
12660B=n*1000
12670A$=""
12680IFB<0 A$+="-":B=ABSB
12690A$+=CHR$((B DIV1000)+48)
12700A$+="."
12710A$+=CHR$(((B DIV100)MOD10)+48)
12720A$+=CHR$(((B DIV10)MOD10)+48)
12730=A$
12740DEFPROCfrac_setassemver
12750!initX=xmin*(1<<27)
12760!initY=ymax*(1<<27)
12770!initZ=c*(1<<27)
12780!initT=d*(1<<27)
12790!incXS=((xmax-xmin)/256)*(1<<27)
12800!incYS=(-(ymax-ymin)/256)*(1<<27)
12810!xlimitS=xlimit%
12820!ylimitS=ylimit%
12830!c1S=(q0)*(1<<27)
12840!c2S=(q1)*(1<<27)
12850!c3S=(q2)*(1<<27)
12860!c4S=(q3)*(1<<27)
12870ENDPROC
%�Wimp_Start("!4dMandia",2033,542)
�User_SetInitialData
�Create_Windows
(�Create_Menus
2�Wimp_WaitForEvent
<�Wimp_CloseDown
F�
P��User_SetInitialData
Z�code%&500
d�imagestore 256*257
n�basestore 256*257
x�number 100
��scrollstore 257*4
�scro%=0
�xlimit%=256
�ylimit%=256
�mode%=�
�readb%=0
�for_d%=1
�julia%=1
�mandy%=0
�fastp%=1
�count%=0
�limit%=256
�check%=0

oldxmin=0

oldymin=0

oldxmax=0
"
oldymax=0
,
oldc=0
6
oldd=0
@oldq0=0
Joldq1=0
Toldq2=0
^oldq3=0
h�
r��Create_Windows
|)Info_Window%=�Wimp_WindowLoad("Info")
�%Me_Window%=�Wimp_WindowLoad("Me")
�)Main_Window%=�Wimp_WindowLoad("Main")
�(Bar_Icon%=�Wimp_IconBar("-4dMandia")
�&�Wimp_IconDisable(Main_Window%,21)
�
�i%=49�52
�4�Wimp_IconPutSprite(Main_Window%,i%,"radiooff")
��
�3�Wimp_IconPutSprite(Main_Window%,50,"radioon")
��
�ݤEvent_Save(window%)=�
�%ݤEvent_Sprites(window%)=sprites%
���Create_Menus
�Dmenu$="4D-Mandia\Info>Info_Window%\Default...\Save Choices\Quit"
%Bar_Menu%=�Wimp_MenuCreate(menu$)
�
ݤEvent_Menu(window%)
&=Bar_Menu%
0)��Event_WindowClose(window%,buttons%)
:Ȏwindow%�
D�
N�
X-��Event_Draw(window%,x_origin%,y_origin%)
b�
l3��Event_MouseClick(window%,icon%,button%,x%,y%)
vȎwindow%�
�(�Bar_Window%:�User_MouseBar(button%)
�0�Info_Window%:�User_MouseInfo(button%,icon%)
�0�Main_Window%:�User_MouseMain(button%,icon%)
��
��
�#��User_MouseInfo(button%,icon%)
�:�button%� 4� icon%=3�Wimp_WindowBringToTop(Me_Window%)
��
�#��User_MouseMain(button%,icon%)
��button%� 4�
�Ȏicon%�
��13
��for_d%=1�
*�Wimp_IconPutText(Main_Window%,13,"�")
�
*�Wimp_IconPutText(Main_Window%,13,"�")
 �
*readb%=0:check%=1
4
�15,17
>�julia%=1�
H*�Wimp_IconPutText(Main_Window%,15,"�")
R*�Wimp_IconPutText(Main_Window%,17,"�")
\�
f*�Wimp_IconPutText(Main_Window%,15,"�")
p*�Wimp_IconPutText(Main_Window%,17,"�")
z�
�readb%=0:check%=1
��19
��fastp%=1�
�*�Wimp_IconPutText(Main_Window%,19,"�")
��
�*�Wimp_IconPutText(Main_Window%,19,"�")
��
��21
��count%=1�
�*�Wimp_IconPutText(Main_Window%,21,"�")
��
�*�Wimp_IconPutText(Main_Window%,21,"�")
��
�31
+�Wimp_IconPutText(Main_Window%,0,".31")
+�Wimp_IconPutText(Main_Window%,1,".04")
$3for_d%=0:�Wimp_IconPutText(Main_Window%,13,"�")
.�i%=2�5
8&�Wimp_IconDisable(Main_Window%,i%)
B�
Lreadb%=0
V�32
`,�Wimp_IconPutText(Main_Window%,0,"-.11")
j,�Wimp_IconPutText(Main_Window%,1,".656")
treadb%=0
~�33
�,�Wimp_IconPutText(Main_Window%,0,"-.12")
�+�Wimp_IconPutText(Main_Window%,1,".74")
�readb%=0
��34
�)�Wimp_IconPutText(Main_Window%,0,"0")
�)�Wimp_IconPutText(Main_Window%,1,"1")
�readb%=0
��35
�-�Wimp_IconPutText(Main_Window%,0,"-.194")
�,�Wimp_IconPutText(Main_Window%,1,".656")
�3for_d%=1:�Wimp_IconPutText(Main_Window%,13,"�")
��i%=2�5
%�Wimp_IconEnable(Main_Window%,i%)

�
readb%=0
�36
(-�Wimp_IconPutText(Main_Window%,0,"-.745")
2,�Wimp_IconPutText(Main_Window%,1,".113")
<3for_d%=0:�Wimp_IconPutText(Main_Window%,13,"�")
F�i%=2�5
P&�Wimp_IconDisable(Main_Window%,i%)
Z�
dreadb%=0
n�37
x-�Wimp_IconPutText(Main_Window%,0,"-1.25")
�)�Wimp_IconPutText(Main_Window%,1,"0")
�3for_d%=0:�Wimp_IconPutText(Main_Window%,13,"�")
��i%=2�5
�&�Wimp_IconDisable(Main_Window%,i%)
��
�readb%=0
��38
�-�Wimp_IconPutText(Main_Window%,0,"-.482")
�-�Wimp_IconPutText(Main_Window%,1,"-.532")
�3for_d%=1:�Wimp_IconPutText(Main_Window%,13,"�")
��i%=2�5
�%�Wimp_IconEnable(Main_Window%,i%)
��
readb%=0
�39
-�Wimp_IconPutText(Main_Window%,0,"-.391")
"-�Wimp_IconPutText(Main_Window%,1,"-.587")
,readb%=0
6�40
@-�Wimp_IconPutText(Main_Window%,0,"-.157")
J.�Wimp_IconPutText(Main_Window%,1,"-1.032")
T3for_d%=0:�Wimp_IconPutText(Main_Window%,13,"�")
^�i%=2�5
h&�Wimp_IconDisable(Main_Window%,i%)
r�
|readb%=0
��41
�,�Wimp_IconPutText(Main_Window%,0,"-.11")
�,�Wimp_IconPutText(Main_Window%,1,"-.67")
�3for_d%=1:�Wimp_IconPutText(Main_Window%,13,"�")
��i%=2�5
�%�Wimp_IconEnable(Main_Window%,i%)
��
�readb%=0
��42
�,�Wimp_IconPutText(Main_Window%,0,".273")
�,�Wimp_IconPutText(Main_Window%,1,".007")
�3for_d%=0:�Wimp_IconPutText(Main_Window%,13,"�")
��i%=2�5
&�Wimp_IconDisable(Main_Window%,i%)
�
readb%=0
&�43
0,�Wimp_IconPutText(Main_Window%,0,"-.75")
:*�Wimp_IconPutText(Main_Window%,1,".1")
D*�Wimp_IconPutText(Main_Window%,2,".1")
N*�Wimp_IconPutText(Main_Window%,3,".1")
X)�Wimp_IconPutText(Main_Window%,4,"0")
b)�Wimp_IconPutText(Main_Window%,5,"0")
l,�Wimp_IconPutText(Main_Window%,6,"-2.5")
v+�Wimp_IconPutText(Main_Window%,7,"2.5")
�,�Wimp_IconPutText(Main_Window%,8,"-2.5")
�+�Wimp_IconPutText(Main_Window%,9,"2.5")
�3for_d%=1:�Wimp_IconPutText(Main_Window%,13,"�")
��i%=2�5
�%�Wimp_IconEnable(Main_Window%,i%)
��
�3julia%=1:�Wimp_IconPutText(Main_Window%,15,"�")
�3mandy%=0:�Wimp_IconPutText(Main_Window%,17,"�")
�$�Wimp_IconEnable(Main_Window%,1)
�$�Wimp_IconEnable(Main_Window%,0)
�readb%=0
��49,50,51,52
�readb%=0
�icon%=49 limit%=128
�icon%=50 limit%=256
�icon%=51 limit%=512
 �icon%=52 limit%=1024
*
�i%=49�52
44�Wimp_IconPutSprite(Main_Window%,i%,"radiooff")
>�
H6�Wimp_IconPutSprite(Main_Window%,icon%,"radioon")
R'�Wimp_WindowForceDraw(Main_Window%)
\�
f�checkchoices
p�
z�
���User_MouseBar(button%)
��(button%� 4)� �>11�
��readconstants
�singletask%=-1
�mode%=�
�&ș"Wimp_CommandWindow","4d Mandia"
�
�fractals
�ș"Wimp_CommandWindow",-1
�ș"Wimp_SetMode",mode%
�singletask%=0:check%=1
��julia%=0 � mandy%=1�
�*�Wimp_IconPutText(Main_Window%,15,"�")
�*�Wimp_IconPutText(Main_Window%,17,"�")
	�
	*�Wimp_IconPutText(Main_Window%,15,"�")
	*�Wimp_IconPutText(Main_Window%,17,"�")
	$�
	.�writeconstants
	8�readoldconstants
	B�checkchoices
	L�
	V3�button%� 1�Wimp_WindowBringToTop(Main_Window%)
	`�
	j(��Event_KeyPress(window%,icon%,key%)
	t�key%=10� key%=13�
	~icon%+=1
	�icon%=icon% �10
	�(�icon%>-1� icon%<2� mandy%=1 icon%=2
	�'�icon%>1� icon%<6� for_d%=0 icon%=6
	�)�Wimp_IconCaret(Main_Window%,icon%,0)
	��
	��
	���Event_MenuChoice(menu%)
	�Ȏ�Wimp_MenuChoice(0)�
	��2:�loadchoices
	��3:�savechoices
	��4:finished%=�
	��
�

��savechoices
"Y%=�("<4DMANDIA$DIR>.Choices")
�i%=0�8
((�#Y%,�Wimp_IconText(Main_Window%,i%)
2�
<�i%=13�21�2
F(�#Y%,�Wimp_IconText(Main_Window%,i%)
P�
Z�#Y%,(limit%/8)
d�#Y%
n�
x��loadchoices
�"Y%=�("<4DMANDIA$DIR>.Choices")
��i%=0�8
��#Y%,A$
�)�Wimp_IconPutText(Main_Window%,i%,A$)
��
��i%=13�21�2
��#Y%,A$
�)�Wimp_IconPutText(Main_Window%,i%,A$)
��
�limit%=(�#Y%)*8
��#Y%
�check%=1
��checkchoices
readb%=0
�limit%=128 icon%=49
�limit%=256 icon%=50
"�limit%=512 icon%=51
,�limit%=1024 icon%=52
6
�i%=49�52
@4�Wimp_IconPutSprite(Main_Window%,i%,"radiooff")
J�
T6�Wimp_IconPutSprite(Main_Window%,icon%,"radioon")
^'�Wimp_WindowForceDraw(Main_Window%)
h�
r!��Event_LoadFile(file$,type$)
|�
���checkchoices
�)�Wimp_IconText(Main_Window%,13)="�"�
�for_d%=0
��check%=1�
��i%=2�5
�&�Wimp_IconDisable(Main_Window%,i%)
��
��
��
�for_d%=1
��check%=1�
��i%=2�5
�%�Wimp_IconEnable(Main_Window%,i%)
�
�
�
&)�Wimp_IconText(Main_Window%,15)="�"�
0julia%=0
:mandy%=1
D*�Wimp_IconPutText(Main_Window%,17,"�")
N�check%=1�
X%�Wimp_IconDisable(Main_Window%,1)
b%�Wimp_IconDisable(Main_Window%,0)
l�
v�
�julia%=1
�3mandy%=0:�Wimp_IconPutText(Main_Window%,17,"�")
��check%=1�
�$�Wimp_IconEnable(Main_Window%,1)
�$�Wimp_IconEnable(Main_Window%,0)
��
��
�)�Wimp_IconText(Main_Window%,19)="�"�
�fastp%=0
�%�Wimp_IconEnable(Main_Window%,21)
��
�fastp%=1
�*�Wimp_IconPutText(Main_Window%,21,"�")

&�Wimp_IconDisable(Main_Window%,21)

count%=0

�

 )�Wimp_IconText(Main_Window%,21)="�"�

*count%=0

4�

>count%=1

H�

Rcheck%=0

\�

f.��Wimp_Start(TaskName$,wimp_memory%,icon%)

p"�wimp%wimp_memory%,icons%icon%

z&�wimp_memory%<256�wimp_memory%=256

�icon_memory%=icons%+icon%

�task$=TaskName$

�)indirect_sprites%=1:direct_sprites%=1

��Wimp_SetEventVariables

���Wimp_Error:�

�>ș"Wimp_Initialise",200,&4B534154,TaskName$�version%,task%

��

���Wimp_SetEventVariables

��pointer_block%20

�interface%=�

�)null%=1:draw%=2:pointer_leaving%=1<<4

�1pointer_entering%=1<<5:mouse%=1<<6:drag%=1<<7

�&key%=1<<8:menu%=1<<9:scroll%=1<<10
@lose_caret%=1<<11:gain_caret%=1<<12:message%=(1<<17)+(1<<18)
0recorder%=1<<18:acknowledge%=1<<19:window%=0
!sprites%=1:version%=0:task%=0
$*Bar_Window%=-2:Bar_Icon%=0:Bar_Menu%=0
.*x_origin%=0:y_origin%=0:SaveWindow%=-3
83message_quit%=0:message_save%=2:message_load%=3
B!mouse_button%=2:save_event%=0
Ltop_line%=0:bottom_line%=0
V�
`��Wimp_Error
j
t-� blanked% ș"OS_UpdateMEMC",oldmemc,&700
~j� singletask% singletask%=0:�"Error! ";�$;" at line";�:ș"Wimp_CommandWindow",0:ș"Wimp_SetMode",mode%
�9�Wimp_WindowAlert("4dMandia",�$+" at line:"+�(� �10))
��Wimp_CloseDown
��
���Wimp_CloseDown
�#ș"Wimp_CloseDown",task%,"TASK"
��
���Wimp_Quit
�finished%=�
��
�'��Wimp_WindowAlert(title$,message$)
�+�Wimp_WindowAlertBox(title$,message$,0)
��
2��Wimp_WindowAlertBox(title$,message$,button%)

�response%
$(wimp%+4)=message$
Ȏbutton%�
(�2:response%=1
2�1:response%=15
<�3:response%=(1<<5)+16
F�4:response%=(1<<6)+16
P:response%=16
Z�
d:ș"Wimp_ReportError",wimp%,response%,title$�,response%
n�
xݤWimp_WindowLoad(window$)
�9=�Wimp_WindowLoadFrom(window$,"<Obey$Dir>.Templates")
�,ݤWimp_WindowLoadFrom(window$,template$)
��c%,i%,n%,j%,sp$,sp2$
�$ș"Wimp_OpenTemplate",,template$
�Kș"Wimp_LoadTemplate",,wimp%,icons%,icon_memory%,-1,window$,0 �,,icons%
�Ȏsprites%�
��1:wimp%!64=sprites%
�&:wimp%!64=�Event_Sprites(window%)
��
�#ș"Wimp_CreateWindow",,wimp%�c%
�ș"Wimp_CloseTemplate"
�6ș"Wimp_WhichIcon",c%,wimp%+40,1+2+(1<<8),2+(1<<8)
�Ȏwimp%!40�
�-1
:i%=40
�
"wimp%!4=wimp%!i%:wimp%!0=c%
, ș"Wimp_GetIconState",,wimp%
6*sp$=�Wimp_GetStringAtAddress(wimp%!28)
@ș"Wimp_DeleteIcon",,wimp%
JȎsprites%�
T�1:wimp%!32=1
^
h'ș"OS_SpriteOp",&108,sprites%�,,,n%
rj%=0
|�:j%+=1
�6ș"OS_SpriteOp",&10D,sprites%,pointer_block%,20,j%
�1sp2$=�Wimp_GetStringAtAddress(pointer_block%)
��j%=n%� sp$=sp2$
�*�sp$=sp2$�wimp%!32=sprites%�wimp%!32=1
��
�wimp%!4=c%
�(ș"Wimp_CreateIcon",,wimp%+4�handle%
�	i%+=4
��(wimp%!i%)=-1
��
�=c%
�$��Wimp_WindowBringToTop(window%)
�!wimp%=window%
"ș"Wimp_GetWindowState",,wimp%
wimp%!28=-1
ș"Wimp_OpenWindow",,wimp%
&�
0��Wimp_WindowClose(window%)
:!wimp%=window%
Dș"Wimp_CloseWindow",,wimp%
N�
XݤWimp_IconBar(Sprite$)
b
�icon%
lwimp%!0=-1
vwimp%!4=0:wimp%!8=0
�wimp%!12=68:wimp%!16=68
�wimp%!20=&3002
�$(wimp%+24)=Sprite$
�$ș"Wimp_CreateIcon",,wimp%�icon%
�
=icon%
�ݤWimp_MenuCreate(menu$)
�'�menu$="Colours"�=�Wimp_MenuColours
�&�menu%,index%,width%,length%,k%,s%
�,�menu%28+�Wimp_MenuNoOfEntries(menu$)*24
�/menu%?12=7:menu%?13=2:menu%?14=7:menu%?15=0
�'menu%!16=140:menu%!20=44:menu%!24=0
�index%=menu%+28
� $menu%=�menu$,�menu$,"\")-1)
#width%=�(�menu$,�menu$,"\")-1))
"menu$+="\":Menu_NoOfEntries%=0
ȕmenu$<>""
 menu$=�menu$,�menu$,"\")+1)
*Ȏmenu$�
4�""
>
H+!index%=0:index%!4=-1:index%!8=&7000021
Rlength%=�menu$,"\")-1
\k%=��menu$,length%),">")
f	Ȏk%�
p�0
z
�!s%=�(�menu$,k%+1,length%-k%))
�index%!4=s%
�length%=k%-1
��
� $(index%+12)=�menu$,length%)
�"�length%>width%�width%=length%
�index%+=24
��
��
�menu%!16=16*(width%+1)
�%index%!-24=index%!-24� &80:=menu%
�&��Wimp_MenuDottedLine(menu%,item%)
�7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�2
�
!ݤWimp_MenuNoOfEntries(menu$)
�n%,j%:n%=0:j%=0
$�
.j%=�menu$,"\",j%+1)
8�j%<>0�n%+=1
B	�j%=0
L=n%
V��Wimp_WaitForEvent
`�mask%,event%
jfinished%=�
tmask%=%111000011001
~�
�$ș"Wimp_Poll",mask%,wimp%�event%
�
Ȏevent%�
��0
��1:�Wimp_PollDrawWindow
�!�2:ș"Wimp_OpenWindow",,wimp%
��3:�Wimp_PollCloseWindow
��4
��5
��6:�Wimp_PollMouseClick
��7:�Wimp_PollSaveMessage
��8:�Wimp_PollKeyPress
��9:�Event_MenuChoice(menu%)
�10

�11
�12
�17,18:�Wimp_PollMessages
(�19
2�
<�finished%
F�
P��Wimp_PollDrawWindow
Z
�more%
d&ș"Wimp_RedrawWindow",,wimp%�more%
nwindow%=wimp%!0
xAx_origin%=16+wimp%!4-wimp%!20:y_origin%=-16+wimp%!16-wimp%!24
�ȕmore%
�,�interface%�ș"Wimp_BorderWindow",,wimp%
�,�Event_Draw(window%,x_origin%,y_origin%)
�&ș"Wimp_GetRectangle",,wimp%�more%
��
��
���Wimp_PollCloseWindow
�"ș"Wimp_GetPointerInfo",,wimp%
�%window%=wimp%!12:buttons%=wimp%!8
�(�Event_WindowClose(window%,buttons%)
�.!wimp%=window%:ș"Wimp_CloseWindow",,wimp%
��
���Wimp_PollMouseClick
Ibutton%=wimp%!8:window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
Ȏbutton%�
�2:�Wimp_PollMenuPopUp
":Ȏ�Event_Save(window%)�
,ɹ:�Wimp_PollMouseSave
6 ɣ:�Wimp_PollEventMouseClick
@�
J�
T�
^��Wimp_PollMenuPopUp
hmenu%=�Event_Menu(window%)
rȎmenu%�
|ɣ
�
�Ȏwindow%�
��-2:n%=0
�*ȕ((Bar_Menu%!(28+n%*24))�%10000000)=0
�	n%+=1
��
�1ș"Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44
�,:ș"Wimp_CreateMenu",,menu%,x%-64,y%+20
��
��
��
���Wimp_PollEventMouseClick
�*�interface%�ș"Wimp_BorderIcon",,wimp%
2�Event_MouseClick(window%,icon%,button%,x%,y%)
Ȏinterface%�
ɹ
&#wimp%!0=x%:wimp%!4=y%:wimp%!8=0
0#wimp%!12=window%:wimp%!16=icon%
:ș"Wimp_BorderIcon",,wimp%
D�
N�
X��Wimp_PollKeyPress
b/window%=wimp%!0:icon%=wimp%!4:key%=wimp%!24
lȎ�Event_Save(window%)�
v"ɹ:�WimpPoll_SaveFile(window%)
�*ɣ:�Event_KeyPress(window%,icon%,key%)
��
��
���Wimp_PollMessages
�
�file$
�,file$=�Wimp_GetStringAtAddress(wimp%+44)
�Ȏwimp%!16�
��0:finished%=�
��1
��2
�8wimp%!0=save%:wimp%!4=1:ș"Wimp_GetIconState",,wimp%
�$(wimp%!28)=file$
�0wimp%!0=save%:wimp%!4=1:wimp%!8=0:wimp%!12=0
 ș"Wimp_SetIconState",,wimp%
1ș"Wimp_SetCaretPosition",save%,1,,,-1,�file$
 �Event_SaveFile(file$,save%)
 �3
*?type$=�Wimp_FileType(wimp%!40):�Event_LoadFile(file$,type$)
4�
>�
H%ݤWimp_GetStringAtAddress(array%)
R
�s$:s$=""
\;ȕ(?array%<>13)�(?array%<>0):s$+=�(?array%):array%+=1:�
f=s$
p"ݤWimp_GetFileFromPathname(f$)
zȎ�f$,".")�
�
�0:=f$
�5:=�Wimp_GetFileFromPathname(�f$,�(f$)-�f$,".")))
��
�ݤWimp_FileType(type%)
�Ȏtype%�
��&FFF:="Text"
��&FFD:="Data"
��&FFB:="Basic"
��&FF9:="Sprite"
��&FED:="Palette"
��&FEC:="Template"
��&AFF:="Draw"
��&1000:="Folder"
�&2000:="Application"
=�~(type%)
�
$+��Wimp_IconPutText(window%,icon%,text$)
.!wimp%!0=window%:wimp%!4=icon%
8 ș"Wimp_GetIconState",,wimp%
B2�((wimp%!24)�&100)=0�1,"Icon isn't indirected"
L$(wimp%!28)=text$
V!wimp%!0=window%:wimp%!4=icon%
`wimp%!8=0:wimp%!12=0
j ș"Wimp_SetIconState",,wimp%
t�
~"ݤWimp_IconText(window%,icon%)
�!wimp%!0=window%:wimp%!4=icon%
� ș"Wimp_GetIconState",,wimp%
�2�((wimp%!24)�&100)=0�1,"Icon isn't indirected"
�=$(wimp%!28)
�ݤWimp_MenuChoice(level%)
�=(wimp%!(4*level%))+1
� ��Wimp_MenuTick(menu%,item%)
�7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�1
��
�*��Wimp_IconCaret(window%,icon%,chars%)
�7ș"Wimp_SetCaretPosition",window%,icon%,,,-1,chars%
��
%��Wimp_IconDisable(window%,icon%)

!wimp%!0=window%:wimp%!4=icon%
 wimp%!8=1<<22:wimp%!12=1<<22
 ș"Wimp_SetIconState",,wimp%
(�
2$��Wimp_IconEnable(window%,icon%)
<!wimp%!0=window%:wimp%!4=icon%
Fwimp%!8=0:wimp%!12=1<<22
P ș"Wimp_SetIconState",,wimp%
Z�
d/ݤWimp_IconPutSprite(window%,icon%,sprite$)
n!wimp%!0=window%:wimp%!4=icon%
x ș"Wimp_GetIconState",,wimp%
�ș"Wimp_DeleteIcon",,wimp%
�6wimp%!4=wimp%!8:wimp%!8=wimp%!12:wimp%!12=wimp%!16
�;wimp%!16=wimp%!20:wimp%!20=wimp%!24:$(wimp%+24)=sprite$
�$ș"Wimp_CreateIcon",,wimp%�icon%
�
=icon%
�#��Wimp_WindowForceDraw(window%)
�Ȏwindow%�
�1�-1:ș"Wimp_ForceRedraw",-1,0,0,2*1280,2*1024
�5:ș"Wimp_ForceRedraw",window%,0,-2*1024,2*1280,0
��
��
���readconstants
�(q0=�(�Wimp_IconText(Main_Window%,0))
(q1=�(�Wimp_IconText(Main_Window%,1))
(q2=�(�Wimp_IconText(Main_Window%,2))
(q3=�(�Wimp_IconText(Main_Window%,3))
"'c=�(�Wimp_IconText(Main_Window%,4))
,'d=�(�Wimp_IconText(Main_Window%,5))
6*xmin=�(�Wimp_IconText(Main_Window%,6))
@*xmax=�(�Wimp_IconText(Main_Window%,7))
J*ymin=�(�Wimp_IconText(Main_Window%,8))
T*ymax=�(�Wimp_IconText(Main_Window%,9))
^��q0<>oldq0 � q1<>oldq1 � q2<>oldq2 � q3<>oldq3 � c<>oldc � d<>oldd � xmin<>oldxmin � xmax<>oldxmax � ymin<>oldymin � ymax<>oldymax readb%=0
h�
r��readoldconstants
|+oldq0=�(�Wimp_IconText(Main_Window%,0))
�+oldq1=�(�Wimp_IconText(Main_Window%,1))
�+oldq2=�(�Wimp_IconText(Main_Window%,2))
�+oldq3=�(�Wimp_IconText(Main_Window%,3))
�*oldc=�(�Wimp_IconText(Main_Window%,4))
�*oldd=�(�Wimp_IconText(Main_Window%,5))
�-oldxmin=�(�Wimp_IconText(Main_Window%,6))
�-oldxmax=�(�Wimp_IconText(Main_Window%,7))
�-oldymin=�(�Wimp_IconText(Main_Window%,8))
�-oldymax=�(�Wimp_IconText(Main_Window%,9))
��
���writeconstants
��roundks
�/�Wimp_IconPutText(Main_Window%,0,�gsfm(q0))
/�Wimp_IconPutText(Main_Window%,1,�gsfm(q1))
1�Wimp_IconPutText(Main_Window%,6,�gsfm(xmin))
1�Wimp_IconPutText(Main_Window%,7,�gsfm(xmax))
&1�Wimp_IconPutText(Main_Window%,8,�gsfm(ymin))
01�Wimp_IconPutText(Main_Window%,9,�gsfm(ymax))
:�
D��fractals
N�frac_init
X�frac_printoptions
b�readconstants
l�frac_base
v�
�A%=�frac_zoom
��A%=-1�frac_julia:readb%=0
��A%=0�frac_return:readb%=1
�	�A%=2
��readb%=0�scanbase:readb%=2
��
���frac_init
��13
�
�block%24
�block%!0=150
�block%!4=149
�block%!8=-1
�,ș"OS_ReadVduVariables",block%,block%+12
size%=block%!12
start%=block%!16

*FX 112,1
 
*FX 113,1
*@%=&010308
4�
>�28,32,31,39,0
H�24,0;0;1023;1023;
Rȗ�
\�
f��frac_printoptions
p�
zF�0,0)"New Vals--------";"Min X:"'''"Max X:"'''"Min Y:"'''"Max Y:"
�J�'''"Scroll:"'"Z-Left"'"X-Right"'"'-Up"'"/-Down"''"J-Julia"'"M-Mandle"
�0�0,24)"R-Reset"'"S-Save"'"Q-Quit"''"Count:"
��
���frac_base
�
Ȏreadb%�
��0
�readb%=1
��frac_julia
�
�scanbase
��1
�Ȗ
��plotsprite
��2

�plotbase
�
�
$��frac_return
.Ȗ
8
�plotbase
B�readconstants
L�
Vݤfrac_zoom
`scro%=1:�frac_assem:scro%=0
j�4,0
tS%=512:ȗ�256,256
~xsize=xmax-xmin
�ysize=ymax-ymin
��
�ȗȓ0,0,1024-S%,1024-S%
�ȗX%,Y%,B%
�Ȗ
�ȓX%,Y%,S%-4,S%-4
�newX=xmin+X%*xsize/1024
�newY=ymin+Y%*ysize/1024
�
key$=�(0)
�Ȗ
�ȓX%,Y%,S%-4,S%-4
��0,3);newX
�0,6);newX+xsize*S%/1024

�0,9);newY
�0,12);newY+ysize*S%/1024
Ȏkey$�
(�"S","s"
2�0,28);"Filename";F$
<�F$<>""�
Fș"Hourglass_On"
PF$=�F$,1,10)
Z�("SCREENSAVE "+F$)
d�frac_printoptions
nș"Hourglass_Smash"
x�
��"Q","q":=2
��"J","j"
��mandy%=1�
�mandy%=0:julia%=1
�ȗȓ0,0,1024,1024
��
�ȗX%,Y%,B%
�	�B%�4
�!q0=((xmax-xmin)*X%/1024)+xmin
�!q1=((ymax-ymin)*Y%/1024)+ymin
�readb%=0
��frac_printoptions
��frac_base
�
�"M","m"
�mandy%=0�
"mandy%=1:julia%=0
,readb%=0
6�frac_printoptions
@�frac_base
J�
T�"'"
^ysize=ymax-ymin
hyadd=4*(ysize/1024)
rymin+=yadd
|ymax+=yadd
�L%=ylimit%
�
ylimit%=1
��frac_setassemver
�
�julia
�Ȗ
�
�scrollup
�ylimit%=L%
��"/","?"
�L%=ylimit%
�
ylimit%=1
�
M=ymax
�
ymax=ymin
��frac_setassemver
 
�julia
 Ȗ
 �scrolldown
 &ylimit%=L%
 0
ymax=M
 :ysize=ymax-ymin
 Dyadd=4*(ysize/1024)
 Nymin-=yadd
 Xymax-=yadd
 b�"X","x"
 l!scrolS=scrollstore
 vscro%=1
 �L%=xlimit%
 �
xlimit%=4
 �
M=xmin
 �
N=xmax
 �xmax=xmax+(xmax-xmin)
 �
xmin=N
 ��frac_setassemver
 �xlimit%=L%
 �
�julia
 ��scrollright
 �Ȗ
 ��plotsprite
 �
xmin=M
!
xmax=N
!xsize=xmax-xmin
!xadd=4*4*(xsize/1024)
! xmin+=xadd
!*xmax+=xadd
!4scro%=0
!>!scrolS=imagestore
!H�"z","Z"
!R!scrolS=scrollstore
!\scro%=1
!fL%=xlimit%
!p
xlimit%=4
!zxsize=xmax-xmin
!�xadd=4*4*(xsize/1024)
!�xmin-=xadd
!�xmax-=xadd
!��frac_setassemver
!�xlimit%=L%
!�
�julia
!��scrollleft
!�Ȗ
!��plotsprite
!�scro%=0
!�!scrolS=imagestore
!��
!��(B%� 1)=1� S%<1024�S%+=16
"�(B%� 4)=4� S%>256�S%-=16
""�(B%� 2)=2� key$="R"� key$="r"
"
xmin=newX
"$xmax=newX+xsize*S%/1024
".
ymin=newY
"8ymax=newY+ysize*S%/1024
"B�roundks
"L=�(key$="R"� key$="r")
"V��frac_julia
"`�fastp%=1�
"j2ș"OS_UpdateMEMC",&300,&700�oldmemc:blanked%=�
"t�
"~ș"Hourglass_On"
"��
"��frac_assem
"��0,29);
"�
�julia
"��frac_printoptions
"�Ȗ
"��plotsprite
"��fastp%=1�
"�-ș"OS_UpdateMEMC",oldmemc,&700:blanked%=�
"��
"�ș"Hourglass_Smash"
"��
#�
#
��frac_assem
#
�p%=0�2�2
#x=0
#(y=1
#2uu=2
#<vv=3
#Fsxy=4:syx=5
#P
scrn=6
#Zdepth=7
#d
c1=8:c2=9
#n	c3=10
#xu=11
#�v=12
#�	sp=13
#�link=14
#�P%=code%
#�[OPT p%
#�
.julia
#�STR sp,stackS
#�STR link,linkS
#�LDR y,initY
#�LDR scrn,scrolS
#�sub scrn,scrn,#1
#�ldr syx,ylimitS
#��juliaconstants
$LDR uu,incXS
$LDR vv,incYS
$
�fourd(1)
$"
.loopY
$,LDR x,initX
$6ldr sxy,xlimitS
$@
.loopX
$J
�stack
$TMOV u,x
$^MOV v,y
$hMOV depth,#limit%
$r
�fourd(2)
$|�mandleconstants
$�	.loop
$�MOV u,u,ASR#&E
$�MUL uu,u,u
$�MOV v,v,ASR#&E
$�MUL vv,v,v
$�mov vv,vv,lsl#1
$�
�fourd(3)
$�
mul v,u,v
$�
�fourd(4)
$�CMP u,#&10000000
$�BGE exit
$�
�fourd(5)
$�RSB u,vv,uu,lsl#1
%ADD v,c2,v,LSL#2
%ADD u,u,c1
%SUBS depth,depth,#1
%&BNE loop
%0	.exit
%:�stack2
%DSTRB depth,[scrn,#1]!
%NADD x,x,uu
%XSUBS sxy,sxy,#1
%b
BNE loopX
%lADD y,y,vv
%v
�count
%�SUBS syx,syx,#1
%�
BNE loopY
%�LDR sp,stackS
%�$LDR link,linkS\Return stack etc.
%�#MOVS pc,link\Quit machine code.
%�.plotsprite
%�STR sp,stackS
%�STR link,linkS
%�mov r0,#256
%�LDR r1,imagestoreS
%�LDR r2,scrnS
%�
.plotloop
%��multishift
&add r2,r2,#64
&subs r0,r0,#1
&bne plotloop
& LDR sp,stackS
&*$LDR link,linkS\Return stack etc.
&4MOVS pc,link
&>
.scanbase
&HSTR sp,stackS
&RSTR link,linkS
&\mov r0,#256
&fLDR r1,scrnS
&pLDR r2,basestoreS
&z
.scanloop
&��multishift
&�add r1,r1,#64
&�subs r0,r0,#1
&�bne scanloop
&�LDR sp,stackS
&�$LDR link,linkS\Return stack etc.
&�MOVS pc,link
&�
.plotbase
&�STR sp,stackS
&�STR link,linkS
&�mov r0,#256
&�LDR r1,basestoreS
&�LDR r2,scrnS
'
.baseloop
'�multishift
'add r2,r2,#64
'$subs r0,r0,#1
'.bne baseloop
'8LDR sp,stackS
'B$LDR link,linkS\Return stack etc.
'LMOVS pc,link
'V
.scrollup
'`STR sp,stackS
'jSTR link,linkS
'tmov r0,#255
'~LDR r2,scrnE
'�SUB R1,R2,#320
'�.scrolluploop
'��multishift
'�
LDR R3,sS
'�SUB R1,R1,R3
'�SUB R2,R2,R3
'�subs r0,r0,#1
'�bne scrolluploop
'�LDR R1,imagestoreS
'�LDR R2,scrnS
'��multishift
'�LDR sp,stackS
(LDR link,linkS
(
MOVS pc,link
(.scrolldown
(STR sp,stackS
((STR link,linkS
(2mov r0,#255
(<LDR r2,scrnS
(FADD R1,R2,#320
(P.scrolldownloop
(Z�multishift
(dADD R1,R1,#64
(nADD R2,R2,#64
(xsubs r0,r0,#1
(�bne scrolldownloop
(�LDR R1,imagestoreS
(��multishift
(�LDR sp,stackS
(�LDR link,linkS
(�MOVS pc,link
(�.scrollright
(�STR sp,stackS
(�STR link,linkS
(�mov r0,#256
(�LDR r1,scrnS
(�ADD R1,R1,#4
(�LDR R2,imagestoreS
)ldr r3,scrollstoreS
)sub r3,r3,#4
).scrollrightloop
)"�multiscroll
),ldr r4,[r3,#4]!
)6str r4,[r2]
)@ADD R2,R2,#4
)JADD R1,R1,#68
)Tsubs r0,r0,#1
)^bne scrollrightloop
)hLDR sp,stackS
)rLDR link,linkS
)|MOVS pc,link
)�.scrollleft
)�STR sp,stackS
)�STR link,linkS
)�mov r0,#256
)�LDR r1,scrnS
)�LDR R2,imagestoreS
)�ldr r3,scrollstoreS
)�sub r3,r3,#4
)�.scrollleftloop
)�ldr r4,[r3,#4]!
)�str r4,[r2]
)�ADD R2,R2,#4
)��multiscroll
*ADD R1,R1,#68
*subs r0,r0,#1
*bne scrollleftloop
*&LDR sp,stackS
*0LDR link,linkS
*:MOVS pc,link
*D.initX EQUD xmin*(1<<27)
*N.initY EQUD ymax*(1<<27)
*X.yminS EQUD ymin*(1<<27)
*b.xmaxS EQUD xmax*(1<<27)
*l.initZ EQUD c*(1<<27)
*v.initT EQUD d*(1<<27)
*�).incXS EQUD ((xmax-xmin)/256)*(1<<27)
*�*.incYS EQUD (-(ymax-ymin)/256)*(1<<27)
*�.scrnS EQUD start%
*� .scrnE EQUD start%+(320*255)
*�.sS EQUD 576
*�.raS EQUD 320
*�.xlimitS EQUD xlimit%
*�.ylimitS EQUD ylimit%
*� .imagestoreS EQUD imagestore
*�.basestoreS EQUD basestore
*�".scrollstoreS EQUD scrollstore
*�.stackS EQUD 0
*�.linkS EQUD 0
+.c1S EQUD (q0)*(1<<27)
+.c2S EQUD (q1)*(1<<27)
+.c3S EQUD (q2)*(1<<27)
+ .c4S EQUD (q3)*(1<<27)
+*.scrolS EQUD imagestore
+4.numberS EQUD number
+>	ALIGN
+H]�
+R�
+\ݤjuliaconstants
+f�julia%=1�
+p[OPT p%
+zLDR c1,c1S
+�LDR c2,c2S
+�]
+��
+�=""
+�ݤmandleconstants
+��mandy%=1�
+�[OPT p%
+�mov c1,x
+�mov c2,y
+�]
+��
+�=""
+�ݤfourd(f%)
,�for_d%=1�
,	Ȏf%�
,�1
,$[OPT p%
,.LDR c3,c3S
,8]
,B�2
,L[OPT p%
,VLDR sxy,initZ
,`LDR syx,initT
,jLDR scrn,c4S
,t]
,~�3
,�[OPT p%
,�mov sxy,sxy,asr#&E
,�mul x,sxy,sxy
,�mov syx,syx,asr#&E
,�mul y,syx,syx
,�mul syx,u,syx
,�mul sxy,u,sxy
,�]
,��4
,�[OPT p%
,�add u,vv,x,lsl#1
,�add u,u,y,lsl#1
-add u,u,uu,lsl#1
-
]
-�5
-[OPT p%
-(add sxy,scrn,sxy,lsl#2
-2add syx,c3,syx,lsl#2
-<add vv,vv,x,lsl#1
-Fadd vv,vv,y,lsl#1
-P]
-Z�
-d�
-n	Ȏf%�
-x�4
-�[OPT p%
-�add u,vv,uu,lsl#1
-�]
-��
-��
-�=""
-�ݤstack
-��for_d%=1�
-�[OPT p%
-�(STMFD (sp)!,{sxy,syx,x,y,scrn,uu,vv}
-�]
-��
-�[OPT p%
.STMFD (sp)!,{uu,vv}
.]
.�
."=""
.,ݤstack2
.6�for_d%=1�
.@[OPT p%
.J(LDMFD (sp)!,{sxy,syx,x,y,scrn,uu,vv}
.T]
.^�
.h[OPT p%
.rLDMFD (sp)!,{uu,vv}
.|]
.��
.�=""
.�ݤcount
.�!�count%=1� fastp%=0� scro%=0�
.�[OPT p%
.�STMFD (sp)!,{r0-r2}
.�mov r0,syx
.�LDR r1,numberS
.�mov r2,#100
.�SWI"OS_BinaryToDecimal"
.�
mov r0,#0
.�strb r0,[r1,r2]
.�
mov r0,r1
/SWI"OS_Write0"
/SWI"OS_WriteS"
/EQUB 32
/&EQUB 32
/0EQUB 13
/:EQUB 00
/D	ALIGN
/NLDMFD (sp)!,{r0-r2}
/X]
/b�
/l=""
/vݤmultishift
/�[OPT p%
/�ldmia r1!,{r3-r12}
/�stmia r2!,{r3-r12}
/�ldmia r1!,{r3-r12}
/�stmia r2!,{r3-r12}
/�ldmia r1!,{r3-r12}
/�stmia r2!,{r3-r12}
/�ldmia r1!,{r3-r12}
/�stmia r2!,{r3-r12}
/�ldmia r1!,{r3-r12}
/�stmia r2!,{r3-r12}
/�ldmia r1!,{r3-r12}
/�stmia r2!,{r3-r12}
0ldmia r1!,{r3-r6}
0stmia r2!,{r3-r6}
0]
0 =""
0*ݤmultiscroll
04[opt p%
0>ldmia r1!,{r4-r12}
0Hstmia r2!,{r4-r12}
0Rldmia r1!,{r4-r12}
0\stmia r2!,{r4-r12}
0fldmia r1!,{r4-r12}
0pstmia r2!,{r4-r12}
0zldmia r1!,{r4-r12}
0�stmia r2!,{r4-r12}
0�ldmia r1!,{r4-r12}
0�stmia r2!,{r4-r12}
0�ldmia r1!,{r4-r12}
0�stmia r2!,{r4-r12}
0�ldmia r1!,{r4-r12}
0�stmia r2!,{r4-r12}
0�]
0��
0�=""
0�
��roundks
0�q0=(�(.5+100*q0))/100
0�q1=(�(.5+100*q1))/100
1q2=(�(.5+100*q2))/100
1q3=(�(.5+100*q3))/100
1c=(�(.5+100*c))/100
1$d=(�(.5+100*d))/100
1.xmin=(�(.5+100*xmin))/100
18xmax=(�(.5+100*xmax))/100
1Bymin=(�(.5+100*ymin))/100
1Lymax=(�(.5+100*ymax))/100
1V�
1`
ݤgsfm(n)
1j	�A$,B
1tB=n*1000
1~	A$=""
1��B<0 A$+="-":B=�B
1�A$+=�((B �1000)+48)
1�A$+="."
1�A$+=�(((B �100)�10)+48)
1�A$+=�(((B �10)�10)+48)
1�=A$
1���frac_setassemver
1�!initX=xmin*(1<<27)
1�!initY=ymax*(1<<27)
1�!initZ=c*(1<<27)
1�!initT=d*(1<<27)
1�$!incXS=((xmax-xmin)/256)*(1<<27)
2%!incYS=(-(ymax-ymin)/256)*(1<<27)
2
!xlimitS=xlimit%
2!ylimitS=ylimit%
2!c1S=(q0)*(1<<27)
2(!c2S=(q1)*(1<<27)
22!c3S=(q2)*(1<<27)
2<!c4S=(q3)*(1<<27)
2F�
�
00000000  0d 00 0a 25 f2 57 69 6d  70 5f 53 74 61 72 74 28  |...%.Wimp_Start(|
00000010  22 21 34 64 4d 61 6e 64  69 61 22 2c 32 30 33 33  |"!4dMandia",2033|
00000020  2c 35 34 32 29 0d 00 14  18 f2 55 73 65 72 5f 53  |,542).....User_S|
00000030  65 74 49 6e 69 74 69 61  6c 44 61 74 61 0d 00 1e  |etInitialData...|
00000040  13 f2 43 72 65 61 74 65  5f 57 69 6e 64 6f 77 73  |..Create_Windows|
00000050  0d 00 28 11 f2 43 72 65  61 74 65 5f 4d 65 6e 75  |..(..Create_Menu|
00000060  73 0d 00 32 16 f2 57 69  6d 70 5f 57 61 69 74 46  |s..2..Wimp_WaitF|
00000070  6f 72 45 76 65 6e 74 0d  00 3c 13 f2 57 69 6d 70  |orEvent..<..Wimp|
00000080  5f 43 6c 6f 73 65 44 6f  77 6e 0d 00 46 05 e0 0d  |_CloseDown..F...|
00000090  00 50 19 dd f2 55 73 65  72 5f 53 65 74 49 6e 69  |.P...User_SetIni|
000000a0  74 69 61 6c 44 61 74 61  0d 00 5a 0e de 63 6f 64  |tialData..Z..cod|
000000b0  65 25 26 35 30 30 0d 00  64 17 de 69 6d 61 67 65  |e%&500..d..image|
000000c0  73 74 6f 72 65 20 32 35  36 2a 32 35 37 0d 00 6e  |store 256*257..n|
000000d0  16 de 62 61 73 65 73 74  6f 72 65 20 32 35 36 2a  |..basestore 256*|
000000e0  32 35 37 0d 00 78 0f de  6e 75 6d 62 65 72 20 31  |257..x..number 1|
000000f0  30 30 0d 00 82 16 de 73  63 72 6f 6c 6c 73 74 6f  |00.....scrollsto|
00000100  72 65 20 32 35 37 2a 34  0d 00 8c 0b 73 63 72 6f  |re 257*4....scro|
00000110  25 3d 30 0d 00 96 0f 78  6c 69 6d 69 74 25 3d 32  |%=0....xlimit%=2|
00000120  35 36 0d 00 a0 0f 79 6c  69 6d 69 74 25 3d 32 35  |56....ylimit%=25|
00000130  36 0d 00 aa 0b 6d 6f 64  65 25 3d eb 0d 00 b4 0c  |6....mode%=.....|
00000140  72 65 61 64 62 25 3d 30  0d 00 be 0c 66 6f 72 5f  |readb%=0....for_|
00000150  64 25 3d 31 0d 00 c8 0c  6a 75 6c 69 61 25 3d 31  |d%=1....julia%=1|
00000160  0d 00 d2 0c 6d 61 6e 64  79 25 3d 30 0d 00 dc 0c  |....mandy%=0....|
00000170  66 61 73 74 70 25 3d 31  0d 00 e6 0c 63 6f 75 6e  |fastp%=1....coun|
00000180  74 25 3d 30 0d 00 f0 0e  6c 69 6d 69 74 25 3d 32  |t%=0....limit%=2|
00000190  35 36 0d 00 fa 0c 63 68  65 63 6b 25 3d 30 0d 01  |56....check%=0..|
000001a0  04 0d 6f 6c 64 78 6d 69  6e 3d 30 0d 01 0e 0d 6f  |..oldxmin=0....o|
000001b0  6c 64 79 6d 69 6e 3d 30  0d 01 18 0d 6f 6c 64 78  |ldymin=0....oldx|
000001c0  6d 61 78 3d 30 0d 01 22  0d 6f 6c 64 79 6d 61 78  |max=0..".oldymax|
000001d0  3d 30 0d 01 2c 0a 6f 6c  64 63 3d 30 0d 01 36 0a  |=0..,.oldc=0..6.|
000001e0  6f 6c 64 64 3d 30 0d 01  40 0b 6f 6c 64 71 30 3d  |oldd=0..@.oldq0=|
000001f0  30 0d 01 4a 0b 6f 6c 64  71 31 3d 30 0d 01 54 0b  |0..J.oldq1=0..T.|
00000200  6f 6c 64 71 32 3d 30 0d  01 5e 0b 6f 6c 64 71 33  |oldq2=0..^.oldq3|
00000210  3d 30 0d 01 68 05 e1 0d  01 72 14 dd f2 43 72 65  |=0..h....r...Cre|
00000220  61 74 65 5f 57 69 6e 64  6f 77 73 0d 01 7c 29 49  |ate_Windows..|)I|
00000230  6e 66 6f 5f 57 69 6e 64  6f 77 25 3d a4 57 69 6d  |nfo_Window%=.Wim|
00000240  70 5f 57 69 6e 64 6f 77  4c 6f 61 64 28 22 49 6e  |p_WindowLoad("In|
00000250  66 6f 22 29 0d 01 86 25  4d 65 5f 57 69 6e 64 6f  |fo")...%Me_Windo|
00000260  77 25 3d a4 57 69 6d 70  5f 57 69 6e 64 6f 77 4c  |w%=.Wimp_WindowL|
00000270  6f 61 64 28 22 4d 65 22  29 0d 01 90 29 4d 61 69  |oad("Me")...)Mai|
00000280  6e 5f 57 69 6e 64 6f 77  25 3d a4 57 69 6d 70 5f  |n_Window%=.Wimp_|
00000290  57 69 6e 64 6f 77 4c 6f  61 64 28 22 4d 61 69 6e  |WindowLoad("Main|
000002a0  22 29 0d 01 9a 28 42 61  72 5f 49 63 6f 6e 25 3d  |")...(Bar_Icon%=|
000002b0  a4 57 69 6d 70 5f 49 63  6f 6e 42 61 72 28 22 2d  |.Wimp_IconBar("-|
000002c0  34 64 4d 61 6e 64 69 61  22 29 0d 01 a4 26 f2 57  |4dMandia")...&.W|
000002d0  69 6d 70 5f 49 63 6f 6e  44 69 73 61 62 6c 65 28  |imp_IconDisable(|
000002e0  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 2c 32 31 29  |Main_Window%,21)|
000002f0  0d 01 ae 0d e3 69 25 3d  34 39 b8 35 32 0d 01 b8  |.....i%=49.52...|
00000300  34 e7 a4 57 69 6d 70 5f  49 63 6f 6e 50 75 74 53  |4..Wimp_IconPutS|
00000310  70 72 69 74 65 28 4d 61  69 6e 5f 57 69 6e 64 6f  |prite(Main_Windo|
00000320  77 25 2c 69 25 2c 22 72  61 64 69 6f 6f 66 66 22  |w%,i%,"radiooff"|
00000330  29 0d 01 c2 05 ed 0d 01  cc 33 e7 a4 57 69 6d 70  |)........3..Wimp|
00000340  5f 49 63 6f 6e 50 75 74  53 70 72 69 74 65 28 4d  |_IconPutSprite(M|
00000350  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 35 30 2c 22  |ain_Window%,50,"|
00000360  72 61 64 69 6f 6f 6e 22  29 0d 01 d6 05 e1 0d 01  |radioon").......|
00000370  e0 1b dd a4 45 76 65 6e  74 5f 53 61 76 65 28 77  |....Event_Save(w|
00000380  69 6e 64 6f 77 25 29 3d  a3 0d 01 ea 25 dd a4 45  |indow%)=....%..E|
00000390  76 65 6e 74 5f 53 70 72  69 74 65 73 28 77 69 6e  |vent_Sprites(win|
000003a0  64 6f 77 25 29 3d 73 70  72 69 74 65 73 25 0d 01  |dow%)=sprites%..|
000003b0  f4 12 dd f2 43 72 65 61  74 65 5f 4d 65 6e 75 73  |....Create_Menus|
000003c0  0d 01 fe 44 6d 65 6e 75  24 3d 22 34 44 2d 4d 61  |...Dmenu$="4D-Ma|
000003d0  6e 64 69 61 5c 49 6e 66  6f 3e 49 6e 66 6f 5f 57  |ndia\Info>Info_W|
000003e0  69 6e 64 6f 77 25 5c 44  65 66 61 75 6c 74 2e 2e  |indow%\Default..|
000003f0  2e 5c 53 61 76 65 20 43  68 6f 69 63 65 73 5c 51  |.\Save Choices\Q|
00000400  75 69 74 22 0d 02 08 25  42 61 72 5f 4d 65 6e 75  |uit"...%Bar_Menu|
00000410  25 3d a4 57 69 6d 70 5f  4d 65 6e 75 43 72 65 61  |%=.Wimp_MenuCrea|
00000420  74 65 28 6d 65 6e 75 24  29 0d 02 12 05 e1 0d 02  |te(menu$).......|
00000430  1c 19 dd a4 45 76 65 6e  74 5f 4d 65 6e 75 28 77  |....Event_Menu(w|
00000440  69 6e 64 6f 77 25 29 0d  02 26 0e 3d 42 61 72 5f  |indow%)..&.=Bar_|
00000450  4d 65 6e 75 25 0d 02 30  29 dd f2 45 76 65 6e 74  |Menu%..0)..Event|
00000460  5f 57 69 6e 64 6f 77 43  6c 6f 73 65 28 77 69 6e  |_WindowClose(win|
00000470  64 6f 77 25 2c 62 75 74  74 6f 6e 73 25 29 0d 02  |dow%,buttons%)..|
00000480  3a 0e c8 8e 77 69 6e 64  6f 77 25 ca 0d 02 44 05  |:...window%...D.|
00000490  cb 0d 02 4e 05 e1 0d 02  58 2d dd f2 45 76 65 6e  |...N....X-..Even|
000004a0  74 5f 44 72 61 77 28 77  69 6e 64 6f 77 25 2c 78  |t_Draw(window%,x|
000004b0  5f 6f 72 69 67 69 6e 25  2c 79 5f 6f 72 69 67 69  |_origin%,y_origi|
000004c0  6e 25 29 0d 02 62 05 e1  0d 02 6c 33 dd f2 45 76  |n%)..b....l3..Ev|
000004d0  65 6e 74 5f 4d 6f 75 73  65 43 6c 69 63 6b 28 77  |ent_MouseClick(w|
000004e0  69 6e 64 6f 77 25 2c 69  63 6f 6e 25 2c 62 75 74  |indow%,icon%,but|
000004f0  74 6f 6e 25 2c 78 25 2c  79 25 29 0d 02 76 0e c8  |ton%,x%,y%)..v..|
00000500  8e 77 69 6e 64 6f 77 25  ca 0d 02 80 28 c9 42 61  |.window%....(.Ba|
00000510  72 5f 57 69 6e 64 6f 77  25 3a f2 55 73 65 72 5f  |r_Window%:.User_|
00000520  4d 6f 75 73 65 42 61 72  28 62 75 74 74 6f 6e 25  |MouseBar(button%|
00000530  29 0d 02 8a 30 c9 49 6e  66 6f 5f 57 69 6e 64 6f  |)...0.Info_Windo|
00000540  77 25 3a f2 55 73 65 72  5f 4d 6f 75 73 65 49 6e  |w%:.User_MouseIn|
00000550  66 6f 28 62 75 74 74 6f  6e 25 2c 69 63 6f 6e 25  |fo(button%,icon%|
00000560  29 0d 02 94 30 c9 4d 61  69 6e 5f 57 69 6e 64 6f  |)...0.Main_Windo|
00000570  77 25 3a f2 55 73 65 72  5f 4d 6f 75 73 65 4d 61  |w%:.User_MouseMa|
00000580  69 6e 28 62 75 74 74 6f  6e 25 2c 69 63 6f 6e 25  |in(button%,icon%|
00000590  29 0d 02 9e 05 cb 0d 02  a8 05 e1 0d 02 b2 23 dd  |).............#.|
000005a0  f2 55 73 65 72 5f 4d 6f  75 73 65 49 6e 66 6f 28  |.User_MouseInfo(|
000005b0  62 75 74 74 6f 6e 25 2c  69 63 6f 6e 25 29 0d 02  |button%,icon%)..|
000005c0  bc 3a e7 62 75 74 74 6f  6e 25 80 20 34 80 20 69  |.:.button%. 4. i|
000005d0  63 6f 6e 25 3d 33 f2 57  69 6d 70 5f 57 69 6e 64  |con%=3.Wimp_Wind|
000005e0  6f 77 42 72 69 6e 67 54  6f 54 6f 70 28 4d 65 5f  |owBringToTop(Me_|
000005f0  57 69 6e 64 6f 77 25 29  0d 02 c6 05 e1 0d 02 d0  |Window%)........|
00000600  23 dd f2 55 73 65 72 5f  4d 6f 75 73 65 4d 61 69  |#..User_MouseMai|
00000610  6e 28 62 75 74 74 6f 6e  25 2c 69 63 6f 6e 25 29  |n(button%,icon%)|
00000620  0d 02 da 10 e7 62 75 74  74 6f 6e 25 80 20 34 8c  |.....button%. 4.|
00000630  0d 02 e4 0c c8 8e 69 63  6f 6e 25 ca 0d 02 ee 07  |......icon%.....|
00000640  c9 31 33 0d 02 f8 0e e7  66 6f 72 5f 64 25 3d 31  |.13.....for_d%=1|
00000650  8c 0d 03 02 2a f2 57 69  6d 70 5f 49 63 6f 6e 50  |....*.Wimp_IconP|
00000660  75 74 54 65 78 74 28 4d  61 69 6e 5f 57 69 6e 64  |utText(Main_Wind|
00000670  6f 77 25 2c 31 33 2c 22  84 22 29 0d 03 0c 05 cc  |ow%,13,".").....|
00000680  0d 03 16 2a f2 57 69 6d  70 5f 49 63 6f 6e 50 75  |...*.Wimp_IconPu|
00000690  74 54 65 78 74 28 4d 61  69 6e 5f 57 69 6e 64 6f  |tText(Main_Windo|
000006a0  77 25 2c 31 33 2c 22 80  22 29 0d 03 20 05 cd 0d  |w%,13,".").. ...|
000006b0  03 2a 15 72 65 61 64 62  25 3d 30 3a 63 68 65 63  |.*.readb%=0:chec|
000006c0  6b 25 3d 31 0d 03 34 0a  c9 31 35 2c 31 37 0d 03  |k%=1..4..15,17..|
000006d0  3e 0e e7 6a 75 6c 69 61  25 3d 31 8c 0d 03 48 2a  |>..julia%=1...H*|
000006e0  f2 57 69 6d 70 5f 49 63  6f 6e 50 75 74 54 65 78  |.Wimp_IconPutTex|
000006f0  74 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 31  |t(Main_Window%,1|
00000700  35 2c 22 84 22 29 0d 03  52 2a f2 57 69 6d 70 5f  |5,".")..R*.Wimp_|
00000710  49 63 6f 6e 50 75 74 54  65 78 74 28 4d 61 69 6e  |IconPutText(Main|
00000720  5f 57 69 6e 64 6f 77 25  2c 31 37 2c 22 80 22 29  |_Window%,17,".")|
00000730  0d 03 5c 05 cc 0d 03 66  2a f2 57 69 6d 70 5f 49  |..\....f*.Wimp_I|
00000740  63 6f 6e 50 75 74 54 65  78 74 28 4d 61 69 6e 5f  |conPutText(Main_|
00000750  57 69 6e 64 6f 77 25 2c  31 35 2c 22 80 22 29 0d  |Window%,15,".").|
00000760  03 70 2a f2 57 69 6d 70  5f 49 63 6f 6e 50 75 74  |.p*.Wimp_IconPut|
00000770  54 65 78 74 28 4d 61 69  6e 5f 57 69 6e 64 6f 77  |Text(Main_Window|
00000780  25 2c 31 37 2c 22 84 22  29 0d 03 7a 05 cd 0d 03  |%,17,".")..z....|
00000790  84 15 72 65 61 64 62 25  3d 30 3a 63 68 65 63 6b  |..readb%=0:check|
000007a0  25 3d 31 0d 03 8e 07 c9  31 39 0d 03 98 0e e7 66  |%=1.....19.....f|
000007b0  61 73 74 70 25 3d 31 8c  0d 03 a2 2a f2 57 69 6d  |astp%=1....*.Wim|
000007c0  70 5f 49 63 6f 6e 50 75  74 54 65 78 74 28 4d 61  |p_IconPutText(Ma|
000007d0  69 6e 5f 57 69 6e 64 6f  77 25 2c 31 39 2c 22 84  |in_Window%,19,".|
000007e0  22 29 0d 03 ac 05 cc 0d  03 b6 2a f2 57 69 6d 70  |")........*.Wimp|
000007f0  5f 49 63 6f 6e 50 75 74  54 65 78 74 28 4d 61 69  |_IconPutText(Mai|
00000800  6e 5f 57 69 6e 64 6f 77  25 2c 31 39 2c 22 80 22  |n_Window%,19,"."|
00000810  29 0d 03 c0 05 cd 0d 03  ca 07 c9 32 31 0d 03 d4  |)..........21...|
00000820  0e e7 63 6f 75 6e 74 25  3d 31 8c 0d 03 de 2a f2  |..count%=1....*.|
00000830  57 69 6d 70 5f 49 63 6f  6e 50 75 74 54 65 78 74  |Wimp_IconPutText|
00000840  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 32 31  |(Main_Window%,21|
00000850  2c 22 84 22 29 0d 03 e8  05 cc 0d 03 f2 2a f2 57  |,".")........*.W|
00000860  69 6d 70 5f 49 63 6f 6e  50 75 74 54 65 78 74 28  |imp_IconPutText(|
00000870  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 2c 32 31 2c  |Main_Window%,21,|
00000880  22 80 22 29 0d 03 fc 05  cd 0d 04 06 07 c9 33 31  |".")..........31|
00000890  0d 04 10 2b f2 57 69 6d  70 5f 49 63 6f 6e 50 75  |...+.Wimp_IconPu|
000008a0  74 54 65 78 74 28 4d 61  69 6e 5f 57 69 6e 64 6f  |tText(Main_Windo|
000008b0  77 25 2c 30 2c 22 2e 33  31 22 29 0d 04 1a 2b f2  |w%,0,".31")...+.|
000008c0  57 69 6d 70 5f 49 63 6f  6e 50 75 74 54 65 78 74  |Wimp_IconPutText|
000008d0  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 31 2c  |(Main_Window%,1,|
000008e0  22 2e 30 34 22 29 0d 04  24 33 66 6f 72 5f 64 25  |".04")..$3for_d%|
000008f0  3d 30 3a f2 57 69 6d 70  5f 49 63 6f 6e 50 75 74  |=0:.Wimp_IconPut|
00000900  54 65 78 74 28 4d 61 69  6e 5f 57 69 6e 64 6f 77  |Text(Main_Window|
00000910  25 2c 31 33 2c 22 84 22  29 0d 04 2e 0b e3 69 25  |%,13,".").....i%|
00000920  3d 32 b8 35 0d 04 38 26  f2 57 69 6d 70 5f 49 63  |=2.5..8&.Wimp_Ic|
00000930  6f 6e 44 69 73 61 62 6c  65 28 4d 61 69 6e 5f 57  |onDisable(Main_W|
00000940  69 6e 64 6f 77 25 2c 69  25 29 0d 04 42 05 ed 0d  |indow%,i%)..B...|
00000950  04 4c 0c 72 65 61 64 62  25 3d 30 0d 04 56 07 c9  |.L.readb%=0..V..|
00000960  33 32 0d 04 60 2c f2 57  69 6d 70 5f 49 63 6f 6e  |32..`,.Wimp_Icon|
00000970  50 75 74 54 65 78 74 28  4d 61 69 6e 5f 57 69 6e  |PutText(Main_Win|
00000980  64 6f 77 25 2c 30 2c 22  2d 2e 31 31 22 29 0d 04  |dow%,0,"-.11")..|
00000990  6a 2c f2 57 69 6d 70 5f  49 63 6f 6e 50 75 74 54  |j,.Wimp_IconPutT|
000009a0  65 78 74 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ext(Main_Window%|
000009b0  2c 31 2c 22 2e 36 35 36  22 29 0d 04 74 0c 72 65  |,1,".656")..t.re|
000009c0  61 64 62 25 3d 30 0d 04  7e 07 c9 33 33 0d 04 88  |adb%=0..~..33...|
000009d0  2c f2 57 69 6d 70 5f 49  63 6f 6e 50 75 74 54 65  |,.Wimp_IconPutTe|
000009e0  78 74 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |xt(Main_Window%,|
000009f0  30 2c 22 2d 2e 31 32 22  29 0d 04 92 2b f2 57 69  |0,"-.12")...+.Wi|
00000a00  6d 70 5f 49 63 6f 6e 50  75 74 54 65 78 74 28 4d  |mp_IconPutText(M|
00000a10  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 31 2c 22 2e  |ain_Window%,1,".|
00000a20  37 34 22 29 0d 04 9c 0c  72 65 61 64 62 25 3d 30  |74")....readb%=0|
00000a30  0d 04 a6 07 c9 33 34 0d  04 b0 29 f2 57 69 6d 70  |.....34...).Wimp|
00000a40  5f 49 63 6f 6e 50 75 74  54 65 78 74 28 4d 61 69  |_IconPutText(Mai|
00000a50  6e 5f 57 69 6e 64 6f 77  25 2c 30 2c 22 30 22 29  |n_Window%,0,"0")|
00000a60  0d 04 ba 29 f2 57 69 6d  70 5f 49 63 6f 6e 50 75  |...).Wimp_IconPu|
00000a70  74 54 65 78 74 28 4d 61  69 6e 5f 57 69 6e 64 6f  |tText(Main_Windo|
00000a80  77 25 2c 31 2c 22 31 22  29 0d 04 c4 0c 72 65 61  |w%,1,"1")....rea|
00000a90  64 62 25 3d 30 0d 04 ce  07 c9 33 35 0d 04 d8 2d  |db%=0.....35...-|
00000aa0  f2 57 69 6d 70 5f 49 63  6f 6e 50 75 74 54 65 78  |.Wimp_IconPutTex|
00000ab0  74 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 30  |t(Main_Window%,0|
00000ac0  2c 22 2d 2e 31 39 34 22  29 0d 04 e2 2c f2 57 69  |,"-.194")...,.Wi|
00000ad0  6d 70 5f 49 63 6f 6e 50  75 74 54 65 78 74 28 4d  |mp_IconPutText(M|
00000ae0  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 31 2c 22 2e  |ain_Window%,1,".|
00000af0  36 35 36 22 29 0d 04 ec  33 66 6f 72 5f 64 25 3d  |656")...3for_d%=|
00000b00  31 3a f2 57 69 6d 70 5f  49 63 6f 6e 50 75 74 54  |1:.Wimp_IconPutT|
00000b10  65 78 74 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ext(Main_Window%|
00000b20  2c 31 33 2c 22 80 22 29  0d 04 f6 0b e3 69 25 3d  |,13,".").....i%=|
00000b30  32 b8 35 0d 05 00 25 f2  57 69 6d 70 5f 49 63 6f  |2.5...%.Wimp_Ico|
00000b40  6e 45 6e 61 62 6c 65 28  4d 61 69 6e 5f 57 69 6e  |nEnable(Main_Win|
00000b50  64 6f 77 25 2c 69 25 29  0d 05 0a 05 ed 0d 05 14  |dow%,i%)........|
00000b60  0c 72 65 61 64 62 25 3d  30 0d 05 1e 07 c9 33 36  |.readb%=0.....36|
00000b70  0d 05 28 2d f2 57 69 6d  70 5f 49 63 6f 6e 50 75  |..(-.Wimp_IconPu|
00000b80  74 54 65 78 74 28 4d 61  69 6e 5f 57 69 6e 64 6f  |tText(Main_Windo|
00000b90  77 25 2c 30 2c 22 2d 2e  37 34 35 22 29 0d 05 32  |w%,0,"-.745")..2|
00000ba0  2c f2 57 69 6d 70 5f 49  63 6f 6e 50 75 74 54 65  |,.Wimp_IconPutTe|
00000bb0  78 74 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |xt(Main_Window%,|
00000bc0  31 2c 22 2e 31 31 33 22  29 0d 05 3c 33 66 6f 72  |1,".113")..<3for|
00000bd0  5f 64 25 3d 30 3a f2 57  69 6d 70 5f 49 63 6f 6e  |_d%=0:.Wimp_Icon|
00000be0  50 75 74 54 65 78 74 28  4d 61 69 6e 5f 57 69 6e  |PutText(Main_Win|
00000bf0  64 6f 77 25 2c 31 33 2c  22 84 22 29 0d 05 46 0b  |dow%,13,".")..F.|
00000c00  e3 69 25 3d 32 b8 35 0d  05 50 26 f2 57 69 6d 70  |.i%=2.5..P&.Wimp|
00000c10  5f 49 63 6f 6e 44 69 73  61 62 6c 65 28 4d 61 69  |_IconDisable(Mai|
00000c20  6e 5f 57 69 6e 64 6f 77  25 2c 69 25 29 0d 05 5a  |n_Window%,i%)..Z|
00000c30  05 ed 0d 05 64 0c 72 65  61 64 62 25 3d 30 0d 05  |....d.readb%=0..|
00000c40  6e 07 c9 33 37 0d 05 78  2d f2 57 69 6d 70 5f 49  |n..37..x-.Wimp_I|
00000c50  63 6f 6e 50 75 74 54 65  78 74 28 4d 61 69 6e 5f  |conPutText(Main_|
00000c60  57 69 6e 64 6f 77 25 2c  30 2c 22 2d 31 2e 32 35  |Window%,0,"-1.25|
00000c70  22 29 0d 05 82 29 f2 57  69 6d 70 5f 49 63 6f 6e  |")...).Wimp_Icon|
00000c80  50 75 74 54 65 78 74 28  4d 61 69 6e 5f 57 69 6e  |PutText(Main_Win|
00000c90  64 6f 77 25 2c 31 2c 22  30 22 29 0d 05 8c 33 66  |dow%,1,"0")...3f|
00000ca0  6f 72 5f 64 25 3d 30 3a  f2 57 69 6d 70 5f 49 63  |or_d%=0:.Wimp_Ic|
00000cb0  6f 6e 50 75 74 54 65 78  74 28 4d 61 69 6e 5f 57  |onPutText(Main_W|
00000cc0  69 6e 64 6f 77 25 2c 31  33 2c 22 84 22 29 0d 05  |indow%,13,".")..|
00000cd0  96 0b e3 69 25 3d 32 b8  35 0d 05 a0 26 f2 57 69  |...i%=2.5...&.Wi|
00000ce0  6d 70 5f 49 63 6f 6e 44  69 73 61 62 6c 65 28 4d  |mp_IconDisable(M|
00000cf0  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 69 25 29 0d  |ain_Window%,i%).|
00000d00  05 aa 05 ed 0d 05 b4 0c  72 65 61 64 62 25 3d 30  |........readb%=0|
00000d10  0d 05 be 07 c9 33 38 0d  05 c8 2d f2 57 69 6d 70  |.....38...-.Wimp|
00000d20  5f 49 63 6f 6e 50 75 74  54 65 78 74 28 4d 61 69  |_IconPutText(Mai|
00000d30  6e 5f 57 69 6e 64 6f 77  25 2c 30 2c 22 2d 2e 34  |n_Window%,0,"-.4|
00000d40  38 32 22 29 0d 05 d2 2d  f2 57 69 6d 70 5f 49 63  |82")...-.Wimp_Ic|
00000d50  6f 6e 50 75 74 54 65 78  74 28 4d 61 69 6e 5f 57  |onPutText(Main_W|
00000d60  69 6e 64 6f 77 25 2c 31  2c 22 2d 2e 35 33 32 22  |indow%,1,"-.532"|
00000d70  29 0d 05 dc 33 66 6f 72  5f 64 25 3d 31 3a f2 57  |)...3for_d%=1:.W|
00000d80  69 6d 70 5f 49 63 6f 6e  50 75 74 54 65 78 74 28  |imp_IconPutText(|
00000d90  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 2c 31 33 2c  |Main_Window%,13,|
00000da0  22 80 22 29 0d 05 e6 0b  e3 69 25 3d 32 b8 35 0d  |".").....i%=2.5.|
00000db0  05 f0 25 f2 57 69 6d 70  5f 49 63 6f 6e 45 6e 61  |..%.Wimp_IconEna|
00000dc0  62 6c 65 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ble(Main_Window%|
00000dd0  2c 69 25 29 0d 05 fa 05  ed 0d 06 04 0c 72 65 61  |,i%).........rea|
00000de0  64 62 25 3d 30 0d 06 0e  07 c9 33 39 0d 06 18 2d  |db%=0.....39...-|
00000df0  f2 57 69 6d 70 5f 49 63  6f 6e 50 75 74 54 65 78  |.Wimp_IconPutTex|
00000e00  74 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 30  |t(Main_Window%,0|
00000e10  2c 22 2d 2e 33 39 31 22  29 0d 06 22 2d f2 57 69  |,"-.391").."-.Wi|
00000e20  6d 70 5f 49 63 6f 6e 50  75 74 54 65 78 74 28 4d  |mp_IconPutText(M|
00000e30  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 31 2c 22 2d  |ain_Window%,1,"-|
00000e40  2e 35 38 37 22 29 0d 06  2c 0c 72 65 61 64 62 25  |.587")..,.readb%|
00000e50  3d 30 0d 06 36 07 c9 34  30 0d 06 40 2d f2 57 69  |=0..6..40..@-.Wi|
00000e60  6d 70 5f 49 63 6f 6e 50  75 74 54 65 78 74 28 4d  |mp_IconPutText(M|
00000e70  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 30 2c 22 2d  |ain_Window%,0,"-|
00000e80  2e 31 35 37 22 29 0d 06  4a 2e f2 57 69 6d 70 5f  |.157")..J..Wimp_|
00000e90  49 63 6f 6e 50 75 74 54  65 78 74 28 4d 61 69 6e  |IconPutText(Main|
00000ea0  5f 57 69 6e 64 6f 77 25  2c 31 2c 22 2d 31 2e 30  |_Window%,1,"-1.0|
00000eb0  33 32 22 29 0d 06 54 33  66 6f 72 5f 64 25 3d 30  |32")..T3for_d%=0|
00000ec0  3a f2 57 69 6d 70 5f 49  63 6f 6e 50 75 74 54 65  |:.Wimp_IconPutTe|
00000ed0  78 74 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |xt(Main_Window%,|
00000ee0  31 33 2c 22 84 22 29 0d  06 5e 0b e3 69 25 3d 32  |13,".")..^..i%=2|
00000ef0  b8 35 0d 06 68 26 f2 57  69 6d 70 5f 49 63 6f 6e  |.5..h&.Wimp_Icon|
00000f00  44 69 73 61 62 6c 65 28  4d 61 69 6e 5f 57 69 6e  |Disable(Main_Win|
00000f10  64 6f 77 25 2c 69 25 29  0d 06 72 05 ed 0d 06 7c  |dow%,i%)..r....||
00000f20  0c 72 65 61 64 62 25 3d  30 0d 06 86 07 c9 34 31  |.readb%=0.....41|
00000f30  0d 06 90 2c f2 57 69 6d  70 5f 49 63 6f 6e 50 75  |...,.Wimp_IconPu|
00000f40  74 54 65 78 74 28 4d 61  69 6e 5f 57 69 6e 64 6f  |tText(Main_Windo|
00000f50  77 25 2c 30 2c 22 2d 2e  31 31 22 29 0d 06 9a 2c  |w%,0,"-.11")...,|
00000f60  f2 57 69 6d 70 5f 49 63  6f 6e 50 75 74 54 65 78  |.Wimp_IconPutTex|
00000f70  74 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 31  |t(Main_Window%,1|
00000f80  2c 22 2d 2e 36 37 22 29  0d 06 a4 33 66 6f 72 5f  |,"-.67")...3for_|
00000f90  64 25 3d 31 3a f2 57 69  6d 70 5f 49 63 6f 6e 50  |d%=1:.Wimp_IconP|
00000fa0  75 74 54 65 78 74 28 4d  61 69 6e 5f 57 69 6e 64  |utText(Main_Wind|
00000fb0  6f 77 25 2c 31 33 2c 22  80 22 29 0d 06 ae 0b e3  |ow%,13,".").....|
00000fc0  69 25 3d 32 b8 35 0d 06  b8 25 f2 57 69 6d 70 5f  |i%=2.5...%.Wimp_|
00000fd0  49 63 6f 6e 45 6e 61 62  6c 65 28 4d 61 69 6e 5f  |IconEnable(Main_|
00000fe0  57 69 6e 64 6f 77 25 2c  69 25 29 0d 06 c2 05 ed  |Window%,i%).....|
00000ff0  0d 06 cc 0c 72 65 61 64  62 25 3d 30 0d 06 d6 07  |....readb%=0....|
00001000  c9 34 32 0d 06 e0 2c f2  57 69 6d 70 5f 49 63 6f  |.42...,.Wimp_Ico|
00001010  6e 50 75 74 54 65 78 74  28 4d 61 69 6e 5f 57 69  |nPutText(Main_Wi|
00001020  6e 64 6f 77 25 2c 30 2c  22 2e 32 37 33 22 29 0d  |ndow%,0,".273").|
00001030  06 ea 2c f2 57 69 6d 70  5f 49 63 6f 6e 50 75 74  |..,.Wimp_IconPut|
00001040  54 65 78 74 28 4d 61 69  6e 5f 57 69 6e 64 6f 77  |Text(Main_Window|
00001050  25 2c 31 2c 22 2e 30 30  37 22 29 0d 06 f4 33 66  |%,1,".007")...3f|
00001060  6f 72 5f 64 25 3d 30 3a  f2 57 69 6d 70 5f 49 63  |or_d%=0:.Wimp_Ic|
00001070  6f 6e 50 75 74 54 65 78  74 28 4d 61 69 6e 5f 57  |onPutText(Main_W|
00001080  69 6e 64 6f 77 25 2c 31  33 2c 22 84 22 29 0d 06  |indow%,13,".")..|
00001090  fe 0b e3 69 25 3d 32 b8  35 0d 07 08 26 f2 57 69  |...i%=2.5...&.Wi|
000010a0  6d 70 5f 49 63 6f 6e 44  69 73 61 62 6c 65 28 4d  |mp_IconDisable(M|
000010b0  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 69 25 29 0d  |ain_Window%,i%).|
000010c0  07 12 05 ed 0d 07 1c 0c  72 65 61 64 62 25 3d 30  |........readb%=0|
000010d0  0d 07 26 07 c9 34 33 0d  07 30 2c f2 57 69 6d 70  |..&..43..0,.Wimp|
000010e0  5f 49 63 6f 6e 50 75 74  54 65 78 74 28 4d 61 69  |_IconPutText(Mai|
000010f0  6e 5f 57 69 6e 64 6f 77  25 2c 30 2c 22 2d 2e 37  |n_Window%,0,"-.7|
00001100  35 22 29 0d 07 3a 2a f2  57 69 6d 70 5f 49 63 6f  |5")..:*.Wimp_Ico|
00001110  6e 50 75 74 54 65 78 74  28 4d 61 69 6e 5f 57 69  |nPutText(Main_Wi|
00001120  6e 64 6f 77 25 2c 31 2c  22 2e 31 22 29 0d 07 44  |ndow%,1,".1")..D|
00001130  2a f2 57 69 6d 70 5f 49  63 6f 6e 50 75 74 54 65  |*.Wimp_IconPutTe|
00001140  78 74 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |xt(Main_Window%,|
00001150  32 2c 22 2e 31 22 29 0d  07 4e 2a f2 57 69 6d 70  |2,".1")..N*.Wimp|
00001160  5f 49 63 6f 6e 50 75 74  54 65 78 74 28 4d 61 69  |_IconPutText(Mai|
00001170  6e 5f 57 69 6e 64 6f 77  25 2c 33 2c 22 2e 31 22  |n_Window%,3,".1"|
00001180  29 0d 07 58 29 f2 57 69  6d 70 5f 49 63 6f 6e 50  |)..X).Wimp_IconP|
00001190  75 74 54 65 78 74 28 4d  61 69 6e 5f 57 69 6e 64  |utText(Main_Wind|
000011a0  6f 77 25 2c 34 2c 22 30  22 29 0d 07 62 29 f2 57  |ow%,4,"0")..b).W|
000011b0  69 6d 70 5f 49 63 6f 6e  50 75 74 54 65 78 74 28  |imp_IconPutText(|
000011c0  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 2c 35 2c 22  |Main_Window%,5,"|
000011d0  30 22 29 0d 07 6c 2c f2  57 69 6d 70 5f 49 63 6f  |0")..l,.Wimp_Ico|
000011e0  6e 50 75 74 54 65 78 74  28 4d 61 69 6e 5f 57 69  |nPutText(Main_Wi|
000011f0  6e 64 6f 77 25 2c 36 2c  22 2d 32 2e 35 22 29 0d  |ndow%,6,"-2.5").|
00001200  07 76 2b f2 57 69 6d 70  5f 49 63 6f 6e 50 75 74  |.v+.Wimp_IconPut|
00001210  54 65 78 74 28 4d 61 69  6e 5f 57 69 6e 64 6f 77  |Text(Main_Window|
00001220  25 2c 37 2c 22 32 2e 35  22 29 0d 07 80 2c f2 57  |%,7,"2.5")...,.W|
00001230  69 6d 70 5f 49 63 6f 6e  50 75 74 54 65 78 74 28  |imp_IconPutText(|
00001240  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 2c 38 2c 22  |Main_Window%,8,"|
00001250  2d 32 2e 35 22 29 0d 07  8a 2b f2 57 69 6d 70 5f  |-2.5")...+.Wimp_|
00001260  49 63 6f 6e 50 75 74 54  65 78 74 28 4d 61 69 6e  |IconPutText(Main|
00001270  5f 57 69 6e 64 6f 77 25  2c 39 2c 22 32 2e 35 22  |_Window%,9,"2.5"|
00001280  29 0d 07 94 33 66 6f 72  5f 64 25 3d 31 3a f2 57  |)...3for_d%=1:.W|
00001290  69 6d 70 5f 49 63 6f 6e  50 75 74 54 65 78 74 28  |imp_IconPutText(|
000012a0  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 2c 31 33 2c  |Main_Window%,13,|
000012b0  22 80 22 29 0d 07 9e 0b  e3 69 25 3d 32 b8 35 0d  |".").....i%=2.5.|
000012c0  07 a8 25 f2 57 69 6d 70  5f 49 63 6f 6e 45 6e 61  |..%.Wimp_IconEna|
000012d0  62 6c 65 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ble(Main_Window%|
000012e0  2c 69 25 29 0d 07 b2 05  ed 0d 07 bc 33 6a 75 6c  |,i%)........3jul|
000012f0  69 61 25 3d 31 3a f2 57  69 6d 70 5f 49 63 6f 6e  |ia%=1:.Wimp_Icon|
00001300  50 75 74 54 65 78 74 28  4d 61 69 6e 5f 57 69 6e  |PutText(Main_Win|
00001310  64 6f 77 25 2c 31 35 2c  22 80 22 29 0d 07 c6 33  |dow%,15,".")...3|
00001320  6d 61 6e 64 79 25 3d 30  3a f2 57 69 6d 70 5f 49  |mandy%=0:.Wimp_I|
00001330  63 6f 6e 50 75 74 54 65  78 74 28 4d 61 69 6e 5f  |conPutText(Main_|
00001340  57 69 6e 64 6f 77 25 2c  31 37 2c 22 84 22 29 0d  |Window%,17,".").|
00001350  07 d0 24 f2 57 69 6d 70  5f 49 63 6f 6e 45 6e 61  |..$.Wimp_IconEna|
00001360  62 6c 65 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ble(Main_Window%|
00001370  2c 31 29 0d 07 da 24 f2  57 69 6d 70 5f 49 63 6f  |,1)...$.Wimp_Ico|
00001380  6e 45 6e 61 62 6c 65 28  4d 61 69 6e 5f 57 69 6e  |nEnable(Main_Win|
00001390  64 6f 77 25 2c 30 29 0d  07 e4 0c 72 65 61 64 62  |dow%,0)....readb|
000013a0  25 3d 30 0d 07 ee 10 c9  34 39 2c 35 30 2c 35 31  |%=0.....49,50,51|
000013b0  2c 35 32 0d 07 f8 0c 72  65 61 64 62 25 3d 30 0d  |,52....readb%=0.|
000013c0  08 02 18 e7 69 63 6f 6e  25 3d 34 39 20 6c 69 6d  |....icon%=49 lim|
000013d0  69 74 25 3d 31 32 38 0d  08 0c 18 e7 69 63 6f 6e  |it%=128.....icon|
000013e0  25 3d 35 30 20 6c 69 6d  69 74 25 3d 32 35 36 0d  |%=50 limit%=256.|
000013f0  08 16 18 e7 69 63 6f 6e  25 3d 35 31 20 6c 69 6d  |....icon%=51 lim|
00001400  69 74 25 3d 35 31 32 0d  08 20 19 e7 69 63 6f 6e  |it%=512.. ..icon|
00001410  25 3d 35 32 20 6c 69 6d  69 74 25 3d 31 30 32 34  |%=52 limit%=1024|
00001420  0d 08 2a 0d e3 69 25 3d  34 39 b8 35 32 0d 08 34  |..*..i%=49.52..4|
00001430  34 e7 a4 57 69 6d 70 5f  49 63 6f 6e 50 75 74 53  |4..Wimp_IconPutS|
00001440  70 72 69 74 65 28 4d 61  69 6e 5f 57 69 6e 64 6f  |prite(Main_Windo|
00001450  77 25 2c 69 25 2c 22 72  61 64 69 6f 6f 66 66 22  |w%,i%,"radiooff"|
00001460  29 0d 08 3e 05 ed 0d 08  48 36 e7 a4 57 69 6d 70  |)..>....H6..Wimp|
00001470  5f 49 63 6f 6e 50 75 74  53 70 72 69 74 65 28 4d  |_IconPutSprite(M|
00001480  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 69 63 6f 6e  |ain_Window%,icon|
00001490  25 2c 22 72 61 64 69 6f  6f 6e 22 29 0d 08 52 27  |%,"radioon")..R'|
000014a0  f2 57 69 6d 70 5f 57 69  6e 64 6f 77 46 6f 72 63  |.Wimp_WindowForc|
000014b0  65 44 72 61 77 28 4d 61  69 6e 5f 57 69 6e 64 6f  |eDraw(Main_Windo|
000014c0  77 25 29 0d 08 5c 05 cb  0d 08 66 11 f2 63 68 65  |w%)..\....f..che|
000014d0  63 6b 63 68 6f 69 63 65  73 0d 08 70 05 cd 0d 08  |ckchoices..p....|
000014e0  7a 05 e1 0d 08 84 1c dd  f2 55 73 65 72 5f 4d 6f  |z........User_Mo|
000014f0  75 73 65 42 61 72 28 62  75 74 74 6f 6e 25 29 0d  |useBar(button%).|
00001500  08 8e 18 e7 28 62 75 74  74 6f 6e 25 80 20 34 29  |....(button%. 4)|
00001510  80 20 eb 3e 31 31 8c 0d  08 98 12 f2 72 65 61 64  |. .>11......read|
00001520  63 6f 6e 73 74 61 6e 74  73 0d 08 a2 12 73 69 6e  |constants....sin|
00001530  67 6c 65 74 61 73 6b 25  3d 2d 31 0d 08 ac 0b 6d  |gletask%=-1....m|
00001540  6f 64 65 25 3d eb 0d 08  b6 26 c8 99 22 57 69 6d  |ode%=....&.."Wim|
00001550  70 5f 43 6f 6d 6d 61 6e  64 57 69 6e 64 6f 77 22  |p_CommandWindow"|
00001560  2c 22 34 64 20 4d 61 6e  64 69 61 22 0d 08 c0 0d  |,"4d Mandia"....|
00001570  f2 66 72 61 63 74 61 6c  73 0d 08 ca 1d c8 99 22  |.fractals......"|
00001580  57 69 6d 70 5f 43 6f 6d  6d 61 6e 64 57 69 6e 64  |Wimp_CommandWind|
00001590  6f 77 22 2c 2d 31 0d 08  d4 1a c8 99 22 57 69 6d  |ow",-1......"Wim|
000015a0  70 5f 53 65 74 4d 6f 64  65 22 2c 6d 6f 64 65 25  |p_SetMode",mode%|
000015b0  0d 08 de 1a 73 69 6e 67  6c 65 74 61 73 6b 25 3d  |....singletask%=|
000015c0  30 3a 63 68 65 63 6b 25  3d 31 0d 08 e8 19 e7 6a  |0:check%=1.....j|
000015d0  75 6c 69 61 25 3d 30 20  84 20 6d 61 6e 64 79 25  |ulia%=0 . mandy%|
000015e0  3d 31 8c 0d 08 f2 2a f2  57 69 6d 70 5f 49 63 6f  |=1....*.Wimp_Ico|
000015f0  6e 50 75 74 54 65 78 74  28 4d 61 69 6e 5f 57 69  |nPutText(Main_Wi|
00001600  6e 64 6f 77 25 2c 31 35  2c 22 84 22 29 0d 08 fc  |ndow%,15,".")...|
00001610  2a f2 57 69 6d 70 5f 49  63 6f 6e 50 75 74 54 65  |*.Wimp_IconPutTe|
00001620  78 74 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |xt(Main_Window%,|
00001630  31 37 2c 22 80 22 29 0d  09 06 05 cc 0d 09 10 2a  |17,".")........*|
00001640  f2 57 69 6d 70 5f 49 63  6f 6e 50 75 74 54 65 78  |.Wimp_IconPutTex|
00001650  74 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 31  |t(Main_Window%,1|
00001660  35 2c 22 80 22 29 0d 09  1a 2a f2 57 69 6d 70 5f  |5,".")...*.Wimp_|
00001670  49 63 6f 6e 50 75 74 54  65 78 74 28 4d 61 69 6e  |IconPutText(Main|
00001680  5f 57 69 6e 64 6f 77 25  2c 31 37 2c 22 84 22 29  |_Window%,17,".")|
00001690  0d 09 24 05 cd 0d 09 2e  13 f2 77 72 69 74 65 63  |..$.......writec|
000016a0  6f 6e 73 74 61 6e 74 73  0d 09 38 15 f2 72 65 61  |onstants..8..rea|
000016b0  64 6f 6c 64 63 6f 6e 73  74 61 6e 74 73 0d 09 42  |doldconstants..B|
000016c0  11 f2 63 68 65 63 6b 63  68 6f 69 63 65 73 0d 09  |..checkchoices..|
000016d0  4c 05 cd 0d 09 56 33 e7  62 75 74 74 6f 6e 25 80  |L....V3.button%.|
000016e0  20 31 f2 57 69 6d 70 5f  57 69 6e 64 6f 77 42 72  | 1.Wimp_WindowBr|
000016f0  69 6e 67 54 6f 54 6f 70  28 4d 61 69 6e 5f 57 69  |ingToTop(Main_Wi|
00001700  6e 64 6f 77 25 29 0d 09  60 05 e1 0d 09 6a 28 dd  |ndow%)..`....j(.|
00001710  f2 45 76 65 6e 74 5f 4b  65 79 50 72 65 73 73 28  |.Event_KeyPress(|
00001720  77 69 6e 64 6f 77 25 2c  69 63 6f 6e 25 2c 6b 65  |window%,icon%,ke|
00001730  79 25 29 0d 09 74 16 e7  6b 65 79 25 3d 31 30 84  |y%)..t..key%=10.|
00001740  20 6b 65 79 25 3d 31 33  8c 0d 09 7e 0c 69 63 6f  | key%=13...~.ico|
00001750  6e 25 2b 3d 31 0d 09 88  13 69 63 6f 6e 25 3d 69  |n%+=1....icon%=i|
00001760  63 6f 6e 25 20 83 31 30  0d 09 92 28 e7 69 63 6f  |con% .10...(.ico|
00001770  6e 25 3e 2d 31 80 20 69  63 6f 6e 25 3c 32 80 20  |n%>-1. icon%<2. |
00001780  6d 61 6e 64 79 25 3d 31  20 69 63 6f 6e 25 3d 32  |mandy%=1 icon%=2|
00001790  0d 09 9c 27 e7 69 63 6f  6e 25 3e 31 80 20 69 63  |...'.icon%>1. ic|
000017a0  6f 6e 25 3c 36 80 20 66  6f 72 5f 64 25 3d 30 20  |on%<6. for_d%=0 |
000017b0  69 63 6f 6e 25 3d 36 0d  09 a6 29 f2 57 69 6d 70  |icon%=6...).Wimp|
000017c0  5f 49 63 6f 6e 43 61 72  65 74 28 4d 61 69 6e 5f  |_IconCaret(Main_|
000017d0  57 69 6e 64 6f 77 25 2c  69 63 6f 6e 25 2c 30 29  |Window%,icon%,0)|
000017e0  0d 09 b0 05 cd 0d 09 ba  05 e1 0d 09 c4 1d dd f2  |................|
000017f0  45 76 65 6e 74 5f 4d 65  6e 75 43 68 6f 69 63 65  |Event_MenuChoice|
00001800  28 6d 65 6e 75 25 29 0d  09 ce 1a c8 8e a4 57 69  |(menu%).......Wi|
00001810  6d 70 5f 4d 65 6e 75 43  68 6f 69 63 65 28 30 29  |mp_MenuChoice(0)|
00001820  ca 0d 09 d8 13 c9 32 3a  f2 6c 6f 61 64 63 68 6f  |......2:.loadcho|
00001830  69 63 65 73 0d 09 e2 13  c9 33 3a f2 73 61 76 65  |ices.....3:.save|
00001840  63 68 6f 69 63 65 73 0d  09 ec 12 c9 34 3a 66 69  |choices.....4:fi|
00001850  6e 69 73 68 65 64 25 3d  b9 0d 09 f6 05 cb 0d 0a  |nished%=........|
00001860  00 05 e1 0d 0a 0a 11 dd  f2 73 61 76 65 63 68 6f  |.........savecho|
00001870  69 63 65 73 0d 0a 14 22  59 25 3d ae 28 22 3c 34  |ices..."Y%=.("<4|
00001880  44 4d 41 4e 44 49 41 24  44 49 52 3e 2e 43 68 6f  |DMANDIA$DIR>.Cho|
00001890  69 63 65 73 22 29 0d 0a  1e 0b e3 69 25 3d 30 b8  |ices").....i%=0.|
000018a0  38 0d 0a 28 28 f1 23 59  25 2c a4 57 69 6d 70 5f  |8..((.#Y%,.Wimp_|
000018b0  49 63 6f 6e 54 65 78 74  28 4d 61 69 6e 5f 57 69  |IconText(Main_Wi|
000018c0  6e 64 6f 77 25 2c 69 25  29 0d 0a 32 05 ed 0d 0a  |ndow%,i%)..2....|
000018d0  3c 0f e3 69 25 3d 31 33  b8 32 31 88 32 0d 0a 46  |<..i%=13.21.2..F|
000018e0  28 f1 23 59 25 2c a4 57  69 6d 70 5f 49 63 6f 6e  |(.#Y%,.Wimp_Icon|
000018f0  54 65 78 74 28 4d 61 69  6e 5f 57 69 6e 64 6f 77  |Text(Main_Window|
00001900  25 2c 69 25 29 0d 0a 50  05 ed 0d 0a 5a 13 d5 23  |%,i%)..P....Z..#|
00001910  59 25 2c 28 6c 69 6d 69  74 25 2f 38 29 0d 0a 64  |Y%,(limit%/8)..d|
00001920  08 d9 23 59 25 0d 0a 6e  05 e1 0d 0a 78 11 dd f2  |..#Y%..n....x...|
00001930  6c 6f 61 64 63 68 6f 69  63 65 73 0d 0a 82 22 59  |loadchoices..."Y|
00001940  25 3d ad 28 22 3c 34 44  4d 41 4e 44 49 41 24 44  |%=.("<4DMANDIA$D|
00001950  49 52 3e 2e 43 68 6f 69  63 65 73 22 29 0d 0a 8c  |IR>.Choices")...|
00001960  0b e3 69 25 3d 30 b8 38  0d 0a 96 0b e8 23 59 25  |..i%=0.8.....#Y%|
00001970  2c 41 24 0d 0a a0 29 f2  57 69 6d 70 5f 49 63 6f  |,A$...).Wimp_Ico|
00001980  6e 50 75 74 54 65 78 74  28 4d 61 69 6e 5f 57 69  |nPutText(Main_Wi|
00001990  6e 64 6f 77 25 2c 69 25  2c 41 24 29 0d 0a aa 05  |ndow%,i%,A$)....|
000019a0  ed 0d 0a b4 0f e3 69 25  3d 31 33 b8 32 31 88 32  |......i%=13.21.2|
000019b0  0d 0a be 0b e8 23 59 25  2c 41 24 0d 0a c8 29 f2  |.....#Y%,A$...).|
000019c0  57 69 6d 70 5f 49 63 6f  6e 50 75 74 54 65 78 74  |Wimp_IconPutText|
000019d0  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 69 25  |(Main_Window%,i%|
000019e0  2c 41 24 29 0d 0a d2 05  ed 0d 0a dc 13 6c 69 6d  |,A$).........lim|
000019f0  69 74 25 3d 28 9a 23 59  25 29 2a 38 0d 0a e6 08  |it%=(.#Y%)*8....|
00001a00  d9 23 59 25 0d 0a f0 0c  63 68 65 63 6b 25 3d 31  |.#Y%....check%=1|
00001a10  0d 0a fa 11 f2 63 68 65  63 6b 63 68 6f 69 63 65  |.....checkchoice|
00001a20  73 0d 0b 04 0c 72 65 61  64 62 25 3d 30 0d 0b 0e  |s....readb%=0...|
00001a30  18 e7 6c 69 6d 69 74 25  3d 31 32 38 20 69 63 6f  |..limit%=128 ico|
00001a40  6e 25 3d 34 39 0d 0b 18  18 e7 6c 69 6d 69 74 25  |n%=49.....limit%|
00001a50  3d 32 35 36 20 69 63 6f  6e 25 3d 35 30 0d 0b 22  |=256 icon%=50.."|
00001a60  18 e7 6c 69 6d 69 74 25  3d 35 31 32 20 69 63 6f  |..limit%=512 ico|
00001a70  6e 25 3d 35 31 0d 0b 2c  19 e7 6c 69 6d 69 74 25  |n%=51..,..limit%|
00001a80  3d 31 30 32 34 20 69 63  6f 6e 25 3d 35 32 0d 0b  |=1024 icon%=52..|
00001a90  36 0d e3 69 25 3d 34 39  b8 35 32 0d 0b 40 34 e7  |6..i%=49.52..@4.|
00001aa0  a4 57 69 6d 70 5f 49 63  6f 6e 50 75 74 53 70 72  |.Wimp_IconPutSpr|
00001ab0  69 74 65 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ite(Main_Window%|
00001ac0  2c 69 25 2c 22 72 61 64  69 6f 6f 66 66 22 29 0d  |,i%,"radiooff").|
00001ad0  0b 4a 05 ed 0d 0b 54 36  e7 a4 57 69 6d 70 5f 49  |.J....T6..Wimp_I|
00001ae0  63 6f 6e 50 75 74 53 70  72 69 74 65 28 4d 61 69  |conPutSprite(Mai|
00001af0  6e 5f 57 69 6e 64 6f 77  25 2c 69 63 6f 6e 25 2c  |n_Window%,icon%,|
00001b00  22 72 61 64 69 6f 6f 6e  22 29 0d 0b 5e 27 f2 57  |"radioon")..^'.W|
00001b10  69 6d 70 5f 57 69 6e 64  6f 77 46 6f 72 63 65 44  |imp_WindowForceD|
00001b20  72 61 77 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |raw(Main_Window%|
00001b30  29 0d 0b 68 05 e1 0d 0b  72 21 dd f2 45 76 65 6e  |)..h....r!..Even|
00001b40  74 5f 4c 6f 61 64 46 69  6c 65 28 66 69 6c 65 24  |t_LoadFile(file$|
00001b50  2c 74 79 70 65 24 29 0d  0b 7c 05 e1 0d 0b 86 12  |,type$)..|......|
00001b60  dd f2 63 68 65 63 6b 63  68 6f 69 63 65 73 0d 0b  |..checkchoices..|
00001b70  90 29 e7 a4 57 69 6d 70  5f 49 63 6f 6e 54 65 78  |.)..Wimp_IconTex|
00001b80  74 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 31  |t(Main_Window%,1|
00001b90  33 29 3d 22 84 22 8c 0d  0b 9a 0c 66 6f 72 5f 64  |3)=".".....for_d|
00001ba0  25 3d 30 0d 0b a4 0e e7  63 68 65 63 6b 25 3d 31  |%=0.....check%=1|
00001bb0  8c 0d 0b ae 0b e3 69 25  3d 32 b8 35 0d 0b b8 26  |......i%=2.5...&|
00001bc0  f2 57 69 6d 70 5f 49 63  6f 6e 44 69 73 61 62 6c  |.Wimp_IconDisabl|
00001bd0  65 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 69  |e(Main_Window%,i|
00001be0  25 29 0d 0b c2 05 ed 0d  0b cc 05 cd 0d 0b d6 05  |%)..............|
00001bf0  cc 0d 0b e0 0c 66 6f 72  5f 64 25 3d 31 0d 0b ea  |.....for_d%=1...|
00001c00  0e e7 63 68 65 63 6b 25  3d 31 8c 0d 0b f4 0b e3  |..check%=1......|
00001c10  69 25 3d 32 b8 35 0d 0b  fe 25 f2 57 69 6d 70 5f  |i%=2.5...%.Wimp_|
00001c20  49 63 6f 6e 45 6e 61 62  6c 65 28 4d 61 69 6e 5f  |IconEnable(Main_|
00001c30  57 69 6e 64 6f 77 25 2c  69 25 29 0d 0c 08 05 ed  |Window%,i%).....|
00001c40  0d 0c 12 05 cd 0d 0c 1c  05 cd 0d 0c 26 29 e7 a4  |............&)..|
00001c50  57 69 6d 70 5f 49 63 6f  6e 54 65 78 74 28 4d 61  |Wimp_IconText(Ma|
00001c60  69 6e 5f 57 69 6e 64 6f  77 25 2c 31 35 29 3d 22  |in_Window%,15)="|
00001c70  84 22 8c 0d 0c 30 0c 6a  75 6c 69 61 25 3d 30 0d  |."...0.julia%=0.|
00001c80  0c 3a 0c 6d 61 6e 64 79  25 3d 31 0d 0c 44 2a f2  |.:.mandy%=1..D*.|
00001c90  57 69 6d 70 5f 49 63 6f  6e 50 75 74 54 65 78 74  |Wimp_IconPutText|
00001ca0  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 31 37  |(Main_Window%,17|
00001cb0  2c 22 80 22 29 0d 0c 4e  0e e7 63 68 65 63 6b 25  |,".")..N..check%|
00001cc0  3d 31 8c 0d 0c 58 25 f2  57 69 6d 70 5f 49 63 6f  |=1...X%.Wimp_Ico|
00001cd0  6e 44 69 73 61 62 6c 65  28 4d 61 69 6e 5f 57 69  |nDisable(Main_Wi|
00001ce0  6e 64 6f 77 25 2c 31 29  0d 0c 62 25 f2 57 69 6d  |ndow%,1)..b%.Wim|
00001cf0  70 5f 49 63 6f 6e 44 69  73 61 62 6c 65 28 4d 61  |p_IconDisable(Ma|
00001d00  69 6e 5f 57 69 6e 64 6f  77 25 2c 30 29 0d 0c 6c  |in_Window%,0)..l|
00001d10  05 cd 0d 0c 76 05 cc 0d  0c 80 0c 6a 75 6c 69 61  |....v......julia|
00001d20  25 3d 31 0d 0c 8a 33 6d  61 6e 64 79 25 3d 30 3a  |%=1...3mandy%=0:|
00001d30  f2 57 69 6d 70 5f 49 63  6f 6e 50 75 74 54 65 78  |.Wimp_IconPutTex|
00001d40  74 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 31  |t(Main_Window%,1|
00001d50  37 2c 22 84 22 29 0d 0c  94 0e e7 63 68 65 63 6b  |7,".").....check|
00001d60  25 3d 31 8c 0d 0c 9e 24  f2 57 69 6d 70 5f 49 63  |%=1....$.Wimp_Ic|
00001d70  6f 6e 45 6e 61 62 6c 65  28 4d 61 69 6e 5f 57 69  |onEnable(Main_Wi|
00001d80  6e 64 6f 77 25 2c 31 29  0d 0c a8 24 f2 57 69 6d  |ndow%,1)...$.Wim|
00001d90  70 5f 49 63 6f 6e 45 6e  61 62 6c 65 28 4d 61 69  |p_IconEnable(Mai|
00001da0  6e 5f 57 69 6e 64 6f 77  25 2c 30 29 0d 0c b2 05  |n_Window%,0)....|
00001db0  cd 0d 0c bc 05 cd 0d 0c  c6 29 e7 a4 57 69 6d 70  |.........)..Wimp|
00001dc0  5f 49 63 6f 6e 54 65 78  74 28 4d 61 69 6e 5f 57  |_IconText(Main_W|
00001dd0  69 6e 64 6f 77 25 2c 31  39 29 3d 22 84 22 8c 0d  |indow%,19)="."..|
00001de0  0c d0 0c 66 61 73 74 70  25 3d 30 0d 0c da 25 f2  |...fastp%=0...%.|
00001df0  57 69 6d 70 5f 49 63 6f  6e 45 6e 61 62 6c 65 28  |Wimp_IconEnable(|
00001e00  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 2c 32 31 29  |Main_Window%,21)|
00001e10  0d 0c e4 05 cc 0d 0c ee  0c 66 61 73 74 70 25 3d  |.........fastp%=|
00001e20  31 0d 0c f8 2a f2 57 69  6d 70 5f 49 63 6f 6e 50  |1...*.Wimp_IconP|
00001e30  75 74 54 65 78 74 28 4d  61 69 6e 5f 57 69 6e 64  |utText(Main_Wind|
00001e40  6f 77 25 2c 32 31 2c 22  84 22 29 0d 0d 02 26 f2  |ow%,21,".")...&.|
00001e50  57 69 6d 70 5f 49 63 6f  6e 44 69 73 61 62 6c 65  |Wimp_IconDisable|
00001e60  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 32 31  |(Main_Window%,21|
00001e70  29 0d 0d 0c 0c 63 6f 75  6e 74 25 3d 30 0d 0d 16  |)....count%=0...|
00001e80  05 cd 0d 0d 20 29 e7 a4  57 69 6d 70 5f 49 63 6f  |.... )..Wimp_Ico|
00001e90  6e 54 65 78 74 28 4d 61  69 6e 5f 57 69 6e 64 6f  |nText(Main_Windo|
00001ea0  77 25 2c 32 31 29 3d 22  84 22 8c 0d 0d 2a 0c 63  |w%,21)="."...*.c|
00001eb0  6f 75 6e 74 25 3d 30 0d  0d 34 05 cc 0d 0d 3e 0c  |ount%=0..4....>.|
00001ec0  63 6f 75 6e 74 25 3d 31  0d 0d 48 05 cd 0d 0d 52  |count%=1..H....R|
00001ed0  0c 63 68 65 63 6b 25 3d  30 0d 0d 5c 05 e1 0d 0d  |.check%=0..\....|
00001ee0  66 2e dd f2 57 69 6d 70  5f 53 74 61 72 74 28 54  |f...Wimp_Start(T|
00001ef0  61 73 6b 4e 61 6d 65 24  2c 77 69 6d 70 5f 6d 65  |askName$,wimp_me|
00001f00  6d 6f 72 79 25 2c 69 63  6f 6e 25 29 0d 0d 70 22  |mory%,icon%)..p"|
00001f10  de 77 69 6d 70 25 77 69  6d 70 5f 6d 65 6d 6f 72  |.wimp%wimp_memor|
00001f20  79 25 2c 69 63 6f 6e 73  25 69 63 6f 6e 25 0d 0d  |y%,icons%icon%..|
00001f30  7a 26 e7 77 69 6d 70 5f  6d 65 6d 6f 72 79 25 3c  |z&.wimp_memory%<|
00001f40  32 35 36 8c 77 69 6d 70  5f 6d 65 6d 6f 72 79 25  |256.wimp_memory%|
00001f50  3d 32 35 36 0d 0d 84 1d  69 63 6f 6e 5f 6d 65 6d  |=256....icon_mem|
00001f60  6f 72 79 25 3d 69 63 6f  6e 73 25 2b 69 63 6f 6e  |ory%=icons%+icon|
00001f70  25 0d 0d 8e 13 74 61 73  6b 24 3d 54 61 73 6b 4e  |%....task$=TaskN|
00001f80  61 6d 65 24 0d 0d 98 29  69 6e 64 69 72 65 63 74  |ame$...)indirect|
00001f90  5f 73 70 72 69 74 65 73  25 3d 31 3a 64 69 72 65  |_sprites%=1:dire|
00001fa0  63 74 5f 73 70 72 69 74  65 73 25 3d 31 0d 0d a2  |ct_sprites%=1...|
00001fb0  1b f2 57 69 6d 70 5f 53  65 74 45 76 65 6e 74 56  |..Wimp_SetEventV|
00001fc0  61 72 69 61 62 6c 65 73  0d 0d ac 13 ee 85 f2 57  |ariables.......W|
00001fd0  69 6d 70 5f 45 72 72 6f  72 3a e0 0d 0d b6 3e c8  |imp_Error:....>.|
00001fe0  99 22 57 69 6d 70 5f 49  6e 69 74 69 61 6c 69 73  |."Wimp_Initialis|
00001ff0  65 22 2c 32 30 30 2c 26  34 42 35 33 34 31 35 34  |e",200,&4B534154|
00002000  2c 54 61 73 6b 4e 61 6d  65 24 b8 76 65 72 73 69  |,TaskName$.versi|
00002010  6f 6e 25 2c 74 61 73 6b  25 0d 0d c0 05 e1 0d 0d  |on%,task%.......|
00002020  ca 1c dd f2 57 69 6d 70  5f 53 65 74 45 76 65 6e  |....Wimp_SetEven|
00002030  74 56 61 72 69 61 62 6c  65 73 0d 0d d4 15 de 70  |tVariables.....p|
00002040  6f 69 6e 74 65 72 5f 62  6c 6f 63 6b 25 32 30 0d  |ointer_block%20.|
00002050  0d de 10 69 6e 74 65 72  66 61 63 65 25 3d a3 0d  |...interface%=..|
00002060  0d e8 29 6e 75 6c 6c 25  3d 31 3a 64 72 61 77 25  |..)null%=1:draw%|
00002070  3d 32 3a 70 6f 69 6e 74  65 72 5f 6c 65 61 76 69  |=2:pointer_leavi|
00002080  6e 67 25 3d 31 3c 3c 34  0d 0d f2 31 70 6f 69 6e  |ng%=1<<4...1poin|
00002090  74 65 72 5f 65 6e 74 65  72 69 6e 67 25 3d 31 3c  |ter_entering%=1<|
000020a0  3c 35 3a 6d 6f 75 73 65  25 3d 31 3c 3c 36 3a 64  |<5:mouse%=1<<6:d|
000020b0  72 61 67 25 3d 31 3c 3c  37 0d 0d fc 26 6b 65 79  |rag%=1<<7...&key|
000020c0  25 3d 31 3c 3c 38 3a 6d  65 6e 75 25 3d 31 3c 3c  |%=1<<8:menu%=1<<|
000020d0  39 3a 73 63 72 6f 6c 6c  25 3d 31 3c 3c 31 30 0d  |9:scroll%=1<<10.|
000020e0  0e 06 40 6c 6f 73 65 5f  63 61 72 65 74 25 3d 31  |..@lose_caret%=1|
000020f0  3c 3c 31 31 3a 67 61 69  6e 5f 63 61 72 65 74 25  |<<11:gain_caret%|
00002100  3d 31 3c 3c 31 32 3a 6d  65 73 73 61 67 65 25 3d  |=1<<12:message%=|
00002110  28 31 3c 3c 31 37 29 2b  28 31 3c 3c 31 38 29 0d  |(1<<17)+(1<<18).|
00002120  0e 10 30 72 65 63 6f 72  64 65 72 25 3d 31 3c 3c  |..0recorder%=1<<|
00002130  31 38 3a 61 63 6b 6e 6f  77 6c 65 64 67 65 25 3d  |18:acknowledge%=|
00002140  31 3c 3c 31 39 3a 77 69  6e 64 6f 77 25 3d 30 0d  |1<<19:window%=0.|
00002150  0e 1a 21 73 70 72 69 74  65 73 25 3d 31 3a 76 65  |..!sprites%=1:ve|
00002160  72 73 69 6f 6e 25 3d 30  3a 74 61 73 6b 25 3d 30  |rsion%=0:task%=0|
00002170  0d 0e 24 2a 42 61 72 5f  57 69 6e 64 6f 77 25 3d  |..$*Bar_Window%=|
00002180  2d 32 3a 42 61 72 5f 49  63 6f 6e 25 3d 30 3a 42  |-2:Bar_Icon%=0:B|
00002190  61 72 5f 4d 65 6e 75 25  3d 30 0d 0e 2e 2a 78 5f  |ar_Menu%=0...*x_|
000021a0  6f 72 69 67 69 6e 25 3d  30 3a 79 5f 6f 72 69 67  |origin%=0:y_orig|
000021b0  69 6e 25 3d 30 3a 53 61  76 65 57 69 6e 64 6f 77  |in%=0:SaveWindow|
000021c0  25 3d 2d 33 0d 0e 38 33  6d 65 73 73 61 67 65 5f  |%=-3..83message_|
000021d0  71 75 69 74 25 3d 30 3a  6d 65 73 73 61 67 65 5f  |quit%=0:message_|
000021e0  73 61 76 65 25 3d 32 3a  6d 65 73 73 61 67 65 5f  |save%=2:message_|
000021f0  6c 6f 61 64 25 3d 33 0d  0e 42 21 6d 6f 75 73 65  |load%=3..B!mouse|
00002200  5f 62 75 74 74 6f 6e 25  3d 32 3a 73 61 76 65 5f  |_button%=2:save_|
00002210  65 76 65 6e 74 25 3d 30  0d 0e 4c 1e 74 6f 70 5f  |event%=0..L.top_|
00002220  6c 69 6e 65 25 3d 30 3a  62 6f 74 74 6f 6d 5f 6c  |line%=0:bottom_l|
00002230  69 6e 65 25 3d 30 0d 0e  56 05 e1 0d 0e 60 10 dd  |ine%=0..V....`..|
00002240  f2 57 69 6d 70 5f 45 72  72 6f 72 0d 0e 6a 07 ee  |.Wimp_Error..j..|
00002250  85 87 0d 0e 74 2d e7 20  62 6c 61 6e 6b 65 64 25  |....t-. blanked%|
00002260  20 c8 99 22 4f 53 5f 55  70 64 61 74 65 4d 45 4d  | .."OS_UpdateMEM|
00002270  43 22 2c 6f 6c 64 6d 65  6d 63 2c 26 37 30 30 0d  |C",oldmemc,&700.|
00002280  0e 7e 6a e7 20 73 69 6e  67 6c 65 74 61 73 6b 25  |.~j. singletask%|
00002290  20 73 69 6e 67 6c 65 74  61 73 6b 25 3d 30 3a f1  | singletask%=0:.|
000022a0  22 45 72 72 6f 72 21 20  22 3b f6 24 3b 22 20 61  |"Error! ";.$;" a|
000022b0  74 20 6c 69 6e 65 22 3b  9e 3a c8 99 22 57 69 6d  |t line";.:.."Wim|
000022c0  70 5f 43 6f 6d 6d 61 6e  64 57 69 6e 64 6f 77 22  |p_CommandWindow"|
000022d0  2c 30 3a c8 99 22 57 69  6d 70 5f 53 65 74 4d 6f  |,0:.."Wimp_SetMo|
000022e0  64 65 22 2c 6d 6f 64 65  25 0d 0e 88 39 f2 57 69  |de",mode%...9.Wi|
000022f0  6d 70 5f 57 69 6e 64 6f  77 41 6c 65 72 74 28 22  |mp_WindowAlert("|
00002300  34 64 4d 61 6e 64 69 61  22 2c f6 24 2b 22 20 61  |4dMandia",.$+" a|
00002310  74 20 6c 69 6e 65 3a 22  2b c3 28 9e 20 81 31 30  |t line:"+.(. .10|
00002320  29 29 0d 0e 92 13 f2 57  69 6d 70 5f 43 6c 6f 73  |)).....Wimp_Clos|
00002330  65 44 6f 77 6e 0d 0e 9c  05 e1 0d 0e a6 14 dd f2  |eDown...........|
00002340  57 69 6d 70 5f 43 6c 6f  73 65 44 6f 77 6e 0d 0e  |Wimp_CloseDown..|
00002350  b0 23 c8 99 22 57 69 6d  70 5f 43 6c 6f 73 65 44  |.#.."Wimp_CloseD|
00002360  6f 77 6e 22 2c 74 61 73  6b 25 2c 22 54 41 53 4b  |own",task%,"TASK|
00002370  22 0d 0e ba 05 e1 0d 0e  c4 0f dd f2 57 69 6d 70  |"...........Wimp|
00002380  5f 51 75 69 74 0d 0e ce  0f 66 69 6e 69 73 68 65  |_Quit....finishe|
00002390  64 25 3d b9 0d 0e d8 05  e1 0d 0e e2 27 dd f2 57  |d%=.........'..W|
000023a0  69 6d 70 5f 57 69 6e 64  6f 77 41 6c 65 72 74 28  |imp_WindowAlert(|
000023b0  74 69 74 6c 65 24 2c 6d  65 73 73 61 67 65 24 29  |title$,message$)|
000023c0  0d 0e ec 2b f2 57 69 6d  70 5f 57 69 6e 64 6f 77  |...+.Wimp_Window|
000023d0  41 6c 65 72 74 42 6f 78  28 74 69 74 6c 65 24 2c  |AlertBox(title$,|
000023e0  6d 65 73 73 61 67 65 24  2c 30 29 0d 0e f6 05 e1  |message$,0).....|
000023f0  0d 0f 00 32 dd f2 57 69  6d 70 5f 57 69 6e 64 6f  |...2..Wimp_Windo|
00002400  77 41 6c 65 72 74 42 6f  78 28 74 69 74 6c 65 24  |wAlertBox(title$|
00002410  2c 6d 65 73 73 61 67 65  24 2c 62 75 74 74 6f 6e  |,message$,button|
00002420  25 29 0d 0f 0a 0e ea 72  65 73 70 6f 6e 73 65 25  |%).....response%|
00002430  0d 0f 14 17 24 28 77 69  6d 70 25 2b 34 29 3d 6d  |....$(wimp%+4)=m|
00002440  65 73 73 61 67 65 24 0d  0f 1e 0e c8 8e 62 75 74  |essage$......but|
00002450  74 6f 6e 25 ca 0d 0f 28  12 c9 32 3a 72 65 73 70  |ton%...(..2:resp|
00002460  6f 6e 73 65 25 3d 31 0d  0f 32 13 c9 31 3a 72 65  |onse%=1..2..1:re|
00002470  73 70 6f 6e 73 65 25 3d  31 35 0d 0f 3c 1a c9 33  |sponse%=15..<..3|
00002480  3a 72 65 73 70 6f 6e 73  65 25 3d 28 31 3c 3c 35  |:response%=(1<<5|
00002490  29 2b 31 36 0d 0f 46 1a  c9 34 3a 72 65 73 70 6f  |)+16..F..4:respo|
000024a0  6e 73 65 25 3d 28 31 3c  3c 36 29 2b 31 36 0d 0f  |nse%=(1<<6)+16..|
000024b0  50 12 7f 3a 72 65 73 70  6f 6e 73 65 25 3d 31 36  |P..:response%=16|
000024c0  0d 0f 5a 05 cb 0d 0f 64  3a c8 99 22 57 69 6d 70  |..Z....d:.."Wimp|
000024d0  5f 52 65 70 6f 72 74 45  72 72 6f 72 22 2c 77 69  |_ReportError",wi|
000024e0  6d 70 25 2c 72 65 73 70  6f 6e 73 65 25 2c 74 69  |mp%,response%,ti|
000024f0  74 6c 65 24 b8 2c 72 65  73 70 6f 6e 73 65 25 0d  |tle$.,response%.|
00002500  0f 6e 05 e1 0d 0f 78 1e  dd a4 57 69 6d 70 5f 57  |.n....x...Wimp_W|
00002510  69 6e 64 6f 77 4c 6f 61  64 28 77 69 6e 64 6f 77  |indowLoad(window|
00002520  24 29 0d 0f 82 39 3d a4  57 69 6d 70 5f 57 69 6e  |$)...9=.Wimp_Win|
00002530  64 6f 77 4c 6f 61 64 46  72 6f 6d 28 77 69 6e 64  |dowLoadFrom(wind|
00002540  6f 77 24 2c 22 3c 4f 62  65 79 24 44 69 72 3e 2e  |ow$,"<Obey$Dir>.|
00002550  54 65 6d 70 6c 61 74 65  73 22 29 0d 0f 8c 2c dd  |Templates")...,.|
00002560  a4 57 69 6d 70 5f 57 69  6e 64 6f 77 4c 6f 61 64  |.Wimp_WindowLoad|
00002570  46 72 6f 6d 28 77 69 6e  64 6f 77 24 2c 74 65 6d  |From(window$,tem|
00002580  70 6c 61 74 65 24 29 0d  0f 96 19 ea 63 25 2c 69  |plate$).....c%,i|
00002590  25 2c 6e 25 2c 6a 25 2c  73 70 24 2c 73 70 32 24  |%,n%,j%,sp$,sp2$|
000025a0  0d 0f a0 24 c8 99 22 57  69 6d 70 5f 4f 70 65 6e  |...$.."Wimp_Open|
000025b0  54 65 6d 70 6c 61 74 65  22 2c 2c 74 65 6d 70 6c  |Template",,templ|
000025c0  61 74 65 24 0d 0f aa 4b  c8 99 22 57 69 6d 70 5f  |ate$...K.."Wimp_|
000025d0  4c 6f 61 64 54 65 6d 70  6c 61 74 65 22 2c 2c 77  |LoadTemplate",,w|
000025e0  69 6d 70 25 2c 69 63 6f  6e 73 25 2c 69 63 6f 6e  |imp%,icons%,icon|
000025f0  5f 6d 65 6d 6f 72 79 25  2c 2d 31 2c 77 69 6e 64  |_memory%,-1,wind|
00002600  6f 77 24 2c 30 20 b8 2c  2c 69 63 6f 6e 73 25 0d  |ow$,0 .,,icons%.|
00002610  0f b4 0f c8 8e 73 70 72  69 74 65 73 25 ca 0d 0f  |.....sprites%...|
00002620  be 18 c9 31 3a 77 69 6d  70 25 21 36 34 3d 73 70  |...1:wimp%!64=sp|
00002630  72 69 74 65 73 25 0d 0f  c8 26 7f 3a 77 69 6d 70  |rites%...&.:wimp|
00002640  25 21 36 34 3d a4 45 76  65 6e 74 5f 53 70 72 69  |%!64=.Event_Spri|
00002650  74 65 73 28 77 69 6e 64  6f 77 25 29 0d 0f d2 05  |tes(window%)....|
00002660  cb 0d 0f dc 23 c8 99 22  57 69 6d 70 5f 43 72 65  |....#.."Wimp_Cre|
00002670  61 74 65 57 69 6e 64 6f  77 22 2c 2c 77 69 6d 70  |ateWindow",,wimp|
00002680  25 b8 63 25 0d 0f e6 1a  c8 99 22 57 69 6d 70 5f  |%.c%......"Wimp_|
00002690  43 6c 6f 73 65 54 65 6d  70 6c 61 74 65 22 0d 0f  |CloseTemplate"..|
000026a0  f0 36 c8 99 22 57 69 6d  70 5f 57 68 69 63 68 49  |.6.."Wimp_WhichI|
000026b0  63 6f 6e 22 2c 63 25 2c  77 69 6d 70 25 2b 34 30  |con",c%,wimp%+40|
000026c0  2c 31 2b 32 2b 28 31 3c  3c 38 29 2c 32 2b 28 31  |,1+2+(1<<8),2+(1|
000026d0  3c 3c 38 29 0d 0f fa 0f  c8 8e 77 69 6d 70 25 21  |<<8)......wimp%!|
000026e0  34 30 ca 0d 10 04 07 c9  2d 31 0d 10 0e 0b 7f 3a  |40......-1.....:|
000026f0  69 25 3d 34 30 0d 10 18  05 f5 0d 10 22 1f 77 69  |i%=40.......".wi|
00002700  6d 70 25 21 34 3d 77 69  6d 70 25 21 69 25 3a 77  |mp%!4=wimp%!i%:w|
00002710  69 6d 70 25 21 30 3d 63  25 0d 10 2c 20 c8 99 22  |imp%!0=c%.., .."|
00002720  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
00002730  65 22 2c 2c 77 69 6d 70  25 0d 10 36 2a 73 70 24  |e",,wimp%..6*sp$|
00002740  3d a4 57 69 6d 70 5f 47  65 74 53 74 72 69 6e 67  |=.Wimp_GetString|
00002750  41 74 41 64 64 72 65 73  73 28 77 69 6d 70 25 21  |AtAddress(wimp%!|
00002760  32 38 29 0d 10 40 1e c8  99 22 57 69 6d 70 5f 44  |28)..@..."Wimp_D|
00002770  65 6c 65 74 65 49 63 6f  6e 22 2c 2c 77 69 6d 70  |eleteIcon",,wimp|
00002780  25 0d 10 4a 0f c8 8e 73  70 72 69 74 65 73 25 ca  |%..J...sprites%.|
00002790  0d 10 54 11 c9 31 3a 77  69 6d 70 25 21 33 32 3d  |..T..1:wimp%!32=|
000027a0  31 0d 10 5e 05 7f 0d 10  68 27 c8 99 22 4f 53 5f  |1..^....h'.."OS_|
000027b0  53 70 72 69 74 65 4f 70  22 2c 26 31 30 38 2c 73  |SpriteOp",&108,s|
000027c0  70 72 69 74 65 73 25 b8  2c 2c 2c 6e 25 0d 10 72  |prites%.,,,n%..r|
000027d0  08 6a 25 3d 30 0d 10 7c  0b f5 3a 6a 25 2b 3d 31  |.j%=0..|..:j%+=1|
000027e0  0d 10 86 36 c8 99 22 4f  53 5f 53 70 72 69 74 65  |...6.."OS_Sprite|
000027f0  4f 70 22 2c 26 31 30 44  2c 73 70 72 69 74 65 73  |Op",&10D,sprites|
00002800  25 2c 70 6f 69 6e 74 65  72 5f 62 6c 6f 63 6b 25  |%,pointer_block%|
00002810  2c 32 30 2c 6a 25 0d 10  90 31 73 70 32 24 3d a4  |,20,j%...1sp2$=.|
00002820  57 69 6d 70 5f 47 65 74  53 74 72 69 6e 67 41 74  |Wimp_GetStringAt|
00002830  41 64 64 72 65 73 73 28  70 6f 69 6e 74 65 72 5f  |Address(pointer_|
00002840  62 6c 6f 63 6b 25 29 0d  10 9a 14 fd 6a 25 3d 6e  |block%).....j%=n|
00002850  25 84 20 73 70 24 3d 73  70 32 24 0d 10 a4 2a e7  |%. sp$=sp2$...*.|
00002860  73 70 24 3d 73 70 32 24  8c 77 69 6d 70 25 21 33  |sp$=sp2$.wimp%!3|
00002870  32 3d 73 70 72 69 74 65  73 25 8b 77 69 6d 70 25  |2=sprites%.wimp%|
00002880  21 33 32 3d 31 0d 10 ae  05 cb 0d 10 b8 0e 77 69  |!32=1.........wi|
00002890  6d 70 25 21 34 3d 63 25  0d 10 c2 28 c8 99 22 57  |mp%!4=c%...(.."W|
000028a0  69 6d 70 5f 43 72 65 61  74 65 49 63 6f 6e 22 2c  |imp_CreateIcon",|
000028b0  2c 77 69 6d 70 25 2b 34  b8 68 61 6e 64 6c 65 25  |,wimp%+4.handle%|
000028c0  0d 10 cc 09 69 25 2b 3d  34 0d 10 d6 12 fd 28 77  |....i%+=4.....(w|
000028d0  69 6d 70 25 21 69 25 29  3d 2d 31 0d 10 e0 05 cb  |imp%!i%)=-1.....|
000028e0  0d 10 ea 07 3d 63 25 0d  10 f4 24 dd f2 57 69 6d  |....=c%...$..Wim|
000028f0  70 5f 57 69 6e 64 6f 77  42 72 69 6e 67 54 6f 54  |p_WindowBringToT|
00002900  6f 70 28 77 69 6e 64 6f  77 25 29 0d 10 fe 12 21  |op(window%)....!|
00002910  77 69 6d 70 25 3d 77 69  6e 64 6f 77 25 0d 11 08  |wimp%=window%...|
00002920  22 c8 99 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |".."Wimp_GetWind|
00002930  6f 77 53 74 61 74 65 22  2c 2c 77 69 6d 70 25 0d  |owState",,wimp%.|
00002940  11 12 0f 77 69 6d 70 25  21 32 38 3d 2d 31 0d 11  |...wimp%!28=-1..|
00002950  1c 1e c8 99 22 57 69 6d  70 5f 4f 70 65 6e 57 69  |...."Wimp_OpenWi|
00002960  6e 64 6f 77 22 2c 2c 77  69 6d 70 25 0d 11 26 05  |ndow",,wimp%..&.|
00002970  e1 0d 11 30 1f dd f2 57  69 6d 70 5f 57 69 6e 64  |...0...Wimp_Wind|
00002980  6f 77 43 6c 6f 73 65 28  77 69 6e 64 6f 77 25 29  |owClose(window%)|
00002990  0d 11 3a 12 21 77 69 6d  70 25 3d 77 69 6e 64 6f  |..:.!wimp%=windo|
000029a0  77 25 0d 11 44 1f c8 99  22 57 69 6d 70 5f 43 6c  |w%..D..."Wimp_Cl|
000029b0  6f 73 65 57 69 6e 64 6f  77 22 2c 2c 77 69 6d 70  |oseWindow",,wimp|
000029c0  25 0d 11 4e 05 e1 0d 11  58 1b dd a4 57 69 6d 70  |%..N....X...Wimp|
000029d0  5f 49 63 6f 6e 42 61 72  28 53 70 72 69 74 65 24  |_IconBar(Sprite$|
000029e0  29 0d 11 62 0a ea 69 63  6f 6e 25 0d 11 6c 0e 77  |)..b..icon%..l.w|
000029f0  69 6d 70 25 21 30 3d 2d  31 0d 11 76 17 77 69 6d  |imp%!0=-1..v.wim|
00002a00  70 25 21 34 3d 30 3a 77  69 6d 70 25 21 38 3d 30  |p%!4=0:wimp%!8=0|
00002a10  0d 11 80 1b 77 69 6d 70  25 21 31 32 3d 36 38 3a  |....wimp%!12=68:|
00002a20  77 69 6d 70 25 21 31 36  3d 36 38 0d 11 8a 12 77  |wimp%!16=68....w|
00002a30  69 6d 70 25 21 32 30 3d  26 33 30 30 32 0d 11 94  |imp%!20=&3002...|
00002a40  17 24 28 77 69 6d 70 25  2b 32 34 29 3d 53 70 72  |.$(wimp%+24)=Spr|
00002a50  69 74 65 24 0d 11 9e 24  c8 99 22 57 69 6d 70 5f  |ite$...$.."Wimp_|
00002a60  43 72 65 61 74 65 49 63  6f 6e 22 2c 2c 77 69 6d  |CreateIcon",,wim|
00002a70  70 25 b8 69 63 6f 6e 25  0d 11 a8 0a 3d 69 63 6f  |p%.icon%....=ico|
00002a80  6e 25 0d 11 b2 1c dd a4  57 69 6d 70 5f 4d 65 6e  |n%......Wimp_Men|
00002a90  75 43 72 65 61 74 65 28  6d 65 6e 75 24 29 0d 11  |uCreate(menu$)..|
00002aa0  bc 27 e7 6d 65 6e 75 24  3d 22 43 6f 6c 6f 75 72  |.'.menu$="Colour|
00002ab0  73 22 8c 3d a4 57 69 6d  70 5f 4d 65 6e 75 43 6f  |s".=.Wimp_MenuCo|
00002ac0  6c 6f 75 72 73 0d 11 c6  26 ea 6d 65 6e 75 25 2c  |lours...&.menu%,|
00002ad0  69 6e 64 65 78 25 2c 77  69 64 74 68 25 2c 6c 65  |index%,width%,le|
00002ae0  6e 67 74 68 25 2c 6b 25  2c 73 25 0d 11 d0 2c de  |ngth%,k%,s%...,.|
00002af0  6d 65 6e 75 25 32 38 2b  a4 57 69 6d 70 5f 4d 65  |menu%28+.Wimp_Me|
00002b00  6e 75 4e 6f 4f 66 45 6e  74 72 69 65 73 28 6d 65  |nuNoOfEntries(me|
00002b10  6e 75 24 29 2a 32 34 0d  11 da 2f 6d 65 6e 75 25  |nu$)*24.../menu%|
00002b20  3f 31 32 3d 37 3a 6d 65  6e 75 25 3f 31 33 3d 32  |?12=7:menu%?13=2|
00002b30  3a 6d 65 6e 75 25 3f 31  34 3d 37 3a 6d 65 6e 75  |:menu%?14=7:menu|
00002b40  25 3f 31 35 3d 30 0d 11  e4 27 6d 65 6e 75 25 21  |%?15=0...'menu%!|
00002b50  31 36 3d 31 34 30 3a 6d  65 6e 75 25 21 32 30 3d  |16=140:menu%!20=|
00002b60  34 34 3a 6d 65 6e 75 25  21 32 34 3d 30 0d 11 ee  |44:menu%!24=0...|
00002b70  13 69 6e 64 65 78 25 3d  6d 65 6e 75 25 2b 32 38  |.index%=menu%+28|
00002b80  0d 11 f8 20 24 6d 65 6e  75 25 3d c0 6d 65 6e 75  |... $menu%=.menu|
00002b90  24 2c a7 6d 65 6e 75 24  2c 22 5c 22 29 2d 31 29  |$,.menu$,"\")-1)|
00002ba0  0d 12 02 23 77 69 64 74  68 25 3d a9 28 c0 6d 65  |...#width%=.(.me|
00002bb0  6e 75 24 2c a7 6d 65 6e  75 24 2c 22 5c 22 29 2d  |nu$,.menu$,"\")-|
00002bc0  31 29 29 0d 12 0c 22 6d  65 6e 75 24 2b 3d 22 5c  |1))..."menu$+="\|
00002bd0  22 3a 4d 65 6e 75 5f 4e  6f 4f 66 45 6e 74 72 69  |":Menu_NoOfEntri|
00002be0  65 73 25 3d 30 0d 12 16  0f c8 95 6d 65 6e 75 24  |es%=0......menu$|
00002bf0  3c 3e 22 22 0d 12 20 1f  6d 65 6e 75 24 3d c1 6d  |<>"".. .menu$=.m|
00002c00  65 6e 75 24 2c a7 6d 65  6e 75 24 2c 22 5c 22 29  |enu$,.menu$,"\")|
00002c10  2b 31 29 0d 12 2a 0c c8  8e 6d 65 6e 75 24 ca 0d  |+1)..*...menu$..|
00002c20  12 34 07 c9 22 22 0d 12  3e 05 7f 0d 12 48 2b 21  |.4..""..>....H+!|
00002c30  69 6e 64 65 78 25 3d 30  3a 69 6e 64 65 78 25 21  |index%=0:index%!|
00002c40  34 3d 2d 31 3a 69 6e 64  65 78 25 21 38 3d 26 37  |4=-1:index%!8=&7|
00002c50  30 30 30 30 32 31 0d 12  52 19 6c 65 6e 67 74 68  |000021..R.length|
00002c60  25 3d a7 6d 65 6e 75 24  2c 22 5c 22 29 2d 31 0d  |%=.menu$,"\")-1.|
00002c70  12 5c 1c 6b 25 3d a7 c0  6d 65 6e 75 24 2c 6c 65  |.\.k%=..menu$,le|
00002c80  6e 67 74 68 25 29 2c 22  3e 22 29 0d 12 66 09 c8  |ngth%),">")..f..|
00002c90  8e 6b 25 ca 0d 12 70 06  c9 30 0d 12 7a 05 7f 0d  |.k%...p..0..z...|
00002ca0  12 84 21 73 25 3d a0 28  c1 6d 65 6e 75 24 2c 6b  |..!s%=.(.menu$,k|
00002cb0  25 2b 31 2c 6c 65 6e 67  74 68 25 2d 6b 25 29 29  |%+1,length%-k%))|
00002cc0  0d 12 8e 0f 69 6e 64 65  78 25 21 34 3d 73 25 0d  |....index%!4=s%.|
00002cd0  12 98 10 6c 65 6e 67 74  68 25 3d 6b 25 2d 31 0d  |...length%=k%-1.|
00002ce0  12 a2 05 cb 0d 12 ac 20  24 28 69 6e 64 65 78 25  |....... $(index%|
00002cf0  2b 31 32 29 3d c0 6d 65  6e 75 24 2c 6c 65 6e 67  |+12)=.menu$,leng|
00002d00  74 68 25 29 0d 12 b6 22  e7 6c 65 6e 67 74 68 25  |th%)...".length%|
00002d10  3e 77 69 64 74 68 25 8c  77 69 64 74 68 25 3d 6c  |>width%.width%=l|
00002d20  65 6e 67 74 68 25 0d 12  c0 0e 69 6e 64 65 78 25  |ength%....index%|
00002d30  2b 3d 32 34 0d 12 ca 05  cb 0d 12 d4 05 ce 0d 12  |+=24............|
00002d40  de 1a 6d 65 6e 75 25 21  31 36 3d 31 36 2a 28 77  |..menu%!16=16*(w|
00002d50  69 64 74 68 25 2b 31 29  0d 12 e8 25 69 6e 64 65  |idth%+1)...%inde|
00002d60  78 25 21 2d 32 34 3d 69  6e 64 65 78 25 21 2d 32  |x%!-24=index%!-2|
00002d70  34 84 20 26 38 30 3a 3d  6d 65 6e 75 25 0d 12 f2  |4. &80:=menu%...|
00002d80  26 dd f2 57 69 6d 70 5f  4d 65 6e 75 44 6f 74 74  |&..Wimp_MenuDott|
00002d90  65 64 4c 69 6e 65 28 6d  65 6e 75 25 2c 69 74 65  |edLine(menu%,ite|
00002da0  6d 25 29 0d 12 fc 37 6d  65 6e 75 25 21 28 32 38  |m%)...7menu%!(28|
00002db0  2b 28 69 74 65 6d 25 2d  31 29 2a 32 34 29 3d 28  |+(item%-1)*24)=(|
00002dc0  6d 65 6e 75 25 21 28 32  38 2b 28 69 74 65 6d 25  |menu%!(28+(item%|
00002dd0  2d 31 29 2a 32 34 29 29  84 32 0d 13 06 05 e1 0d  |-1)*24)).2......|
00002de0  13 10 21 dd a4 57 69 6d  70 5f 4d 65 6e 75 4e 6f  |..!..Wimp_MenuNo|
00002df0  4f 66 45 6e 74 72 69 65  73 28 6d 65 6e 75 24 29  |OfEntries(menu$)|
00002e00  0d 13 1a 14 ea 6e 25 2c  6a 25 3a 6e 25 3d 30 3a  |.....n%,j%:n%=0:|
00002e10  6a 25 3d 30 0d 13 24 05  f5 0d 13 2e 17 6a 25 3d  |j%=0..$......j%=|
00002e20  a7 6d 65 6e 75 24 2c 22  5c 22 2c 6a 25 2b 31 29  |.menu$,"\",j%+1)|
00002e30  0d 13 38 10 e7 6a 25 3c  3e 30 8c 6e 25 2b 3d 31  |..8..j%<>0.n%+=1|
00002e40  0d 13 42 09 fd 6a 25 3d  30 0d 13 4c 07 3d 6e 25  |..B..j%=0..L.=n%|
00002e50  0d 13 56 17 dd f2 57 69  6d 70 5f 57 61 69 74 46  |..V...Wimp_WaitF|
00002e60  6f 72 45 76 65 6e 74 0d  13 60 11 ea 6d 61 73 6b  |orEvent..`..mask|
00002e70  25 2c 65 76 65 6e 74 25  0d 13 6a 0f 66 69 6e 69  |%,event%..j.fini|
00002e80  73 68 65 64 25 3d a3 0d  13 74 17 6d 61 73 6b 25  |shed%=...t.mask%|
00002e90  3d 25 31 31 31 30 30 30  30 31 31 30 30 31 0d 13  |=%111000011001..|
00002ea0  7e 05 f5 0d 13 88 24 c8  99 22 57 69 6d 70 5f 50  |~.....$.."Wimp_P|
00002eb0  6f 6c 6c 22 2c 6d 61 73  6b 25 2c 77 69 6d 70 25  |oll",mask%,wimp%|
00002ec0  b8 65 76 65 6e 74 25 0d  13 92 0d c8 8e 65 76 65  |.event%......eve|
00002ed0  6e 74 25 ca 0d 13 9c 06  c9 30 0d 13 a6 1b c9 31  |nt%......0.....1|
00002ee0  3a f2 57 69 6d 70 5f 50  6f 6c 6c 44 72 61 77 57  |:.Wimp_PollDrawW|
00002ef0  69 6e 64 6f 77 0d 13 b0  21 c9 32 3a c8 99 22 57  |indow...!.2:.."W|
00002f00  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
00002f10  2c 77 69 6d 70 25 0d 13  ba 1c c9 33 3a f2 57 69  |,wimp%.....3:.Wi|
00002f20  6d 70 5f 50 6f 6c 6c 43  6c 6f 73 65 57 69 6e 64  |mp_PollCloseWind|
00002f30  6f 77 0d 13 c4 06 c9 34  0d 13 ce 06 c9 35 0d 13  |ow.....4.....5..|
00002f40  d8 1b c9 36 3a f2 57 69  6d 70 5f 50 6f 6c 6c 4d  |...6:.Wimp_PollM|
00002f50  6f 75 73 65 43 6c 69 63  6b 0d 13 e2 1c c9 37 3a  |ouseClick.....7:|
00002f60  f2 57 69 6d 70 5f 50 6f  6c 6c 53 61 76 65 4d 65  |.Wimp_PollSaveMe|
00002f70  73 73 61 67 65 0d 13 ec  19 c9 38 3a f2 57 69 6d  |ssage.....8:.Wim|
00002f80  70 5f 50 6f 6c 6c 4b 65  79 50 72 65 73 73 0d 13  |p_PollKeyPress..|
00002f90  f6 1f c9 39 3a f2 45 76  65 6e 74 5f 4d 65 6e 75  |...9:.Event_Menu|
00002fa0  43 68 6f 69 63 65 28 6d  65 6e 75 25 29 0d 14 00  |Choice(menu%)...|
00002fb0  07 c9 31 30 0d 14 0a 07  c9 31 31 0d 14 14 07 c9  |..10.....11.....|
00002fc0  31 32 0d 14 1e 1d c9 31  37 2c 31 38 3a f2 57 69  |12.....17,18:.Wi|
00002fd0  6d 70 5f 50 6f 6c 6c 4d  65 73 73 61 67 65 73 0d  |mp_PollMessages.|
00002fe0  14 28 07 c9 31 39 0d 14  32 05 cb 0d 14 3c 0e fd  |.(..19..2....<..|
00002ff0  66 69 6e 69 73 68 65 64  25 0d 14 46 05 e1 0d 14  |finished%..F....|
00003000  50 19 dd f2 57 69 6d 70  5f 50 6f 6c 6c 44 72 61  |P...Wimp_PollDra|
00003010  77 57 69 6e 64 6f 77 0d  14 5a 0a ea 6d 6f 72 65  |wWindow..Z..more|
00003020  25 0d 14 64 26 c8 99 22  57 69 6d 70 5f 52 65 64  |%..d&.."Wimp_Red|
00003030  72 61 77 57 69 6e 64 6f  77 22 2c 2c 77 69 6d 70  |rawWindow",,wimp|
00003040  25 b8 6d 6f 72 65 25 0d  14 6e 13 77 69 6e 64 6f  |%.more%..n.windo|
00003050  77 25 3d 77 69 6d 70 25  21 30 0d 14 78 41 78 5f  |w%=wimp%!0..xAx_|
00003060  6f 72 69 67 69 6e 25 3d  31 36 2b 77 69 6d 70 25  |origin%=16+wimp%|
00003070  21 34 2d 77 69 6d 70 25  21 32 30 3a 79 5f 6f 72  |!4-wimp%!20:y_or|
00003080  69 67 69 6e 25 3d 2d 31  36 2b 77 69 6d 70 25 21  |igin%=-16+wimp%!|
00003090  31 36 2d 77 69 6d 70 25  21 32 34 0d 14 82 0b c8  |16-wimp%!24.....|
000030a0  95 6d 6f 72 65 25 0d 14  8c 2c e7 69 6e 74 65 72  |.more%...,.inter|
000030b0  66 61 63 65 25 8c c8 99  22 57 69 6d 70 5f 42 6f  |face%..."Wimp_Bo|
000030c0  72 64 65 72 57 69 6e 64  6f 77 22 2c 2c 77 69 6d  |rderWindow",,wim|
000030d0  70 25 0d 14 96 2c f2 45  76 65 6e 74 5f 44 72 61  |p%...,.Event_Dra|
000030e0  77 28 77 69 6e 64 6f 77  25 2c 78 5f 6f 72 69 67  |w(window%,x_orig|
000030f0  69 6e 25 2c 79 5f 6f 72  69 67 69 6e 25 29 0d 14  |in%,y_origin%)..|
00003100  a0 26 c8 99 22 57 69 6d  70 5f 47 65 74 52 65 63  |.&.."Wimp_GetRec|
00003110  74 61 6e 67 6c 65 22 2c  2c 77 69 6d 70 25 b8 6d  |tangle",,wimp%.m|
00003120  6f 72 65 25 0d 14 aa 05  ce 0d 14 b4 05 e1 0d 14  |ore%............|
00003130  be 1a dd f2 57 69 6d 70  5f 50 6f 6c 6c 43 6c 6f  |....Wimp_PollClo|
00003140  73 65 57 69 6e 64 6f 77  0d 14 c8 22 c8 99 22 57  |seWindow...".."W|
00003150  69 6d 70 5f 47 65 74 50  6f 69 6e 74 65 72 49 6e  |imp_GetPointerIn|
00003160  66 6f 22 2c 2c 77 69 6d  70 25 0d 14 d2 25 77 69  |fo",,wimp%...%wi|
00003170  6e 64 6f 77 25 3d 77 69  6d 70 25 21 31 32 3a 62  |ndow%=wimp%!12:b|
00003180  75 74 74 6f 6e 73 25 3d  77 69 6d 70 25 21 38 0d  |uttons%=wimp%!8.|
00003190  14 dc 28 f2 45 76 65 6e  74 5f 57 69 6e 64 6f 77  |..(.Event_Window|
000031a0  43 6c 6f 73 65 28 77 69  6e 64 6f 77 25 2c 62 75  |Close(window%,bu|
000031b0  74 74 6f 6e 73 25 29 0d  14 e6 2e 21 77 69 6d 70  |ttons%)....!wimp|
000031c0  25 3d 77 69 6e 64 6f 77  25 3a c8 99 22 57 69 6d  |%=window%:.."Wim|
000031d0  70 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 22 2c 2c  |p_CloseWindow",,|
000031e0  77 69 6d 70 25 0d 14 f0  05 e1 0d 14 fa 19 dd f2  |wimp%...........|
000031f0  57 69 6d 70 5f 50 6f 6c  6c 4d 6f 75 73 65 43 6c  |Wimp_PollMouseCl|
00003200  69 63 6b 0d 15 04 49 62  75 74 74 6f 6e 25 3d 77  |ick...Ibutton%=w|
00003210  69 6d 70 25 21 38 3a 77  69 6e 64 6f 77 25 3d 77  |imp%!8:window%=w|
00003220  69 6d 70 25 21 31 32 3a  69 63 6f 6e 25 3d 77 69  |imp%!12:icon%=wi|
00003230  6d 70 25 21 31 36 3a 78  25 3d 77 69 6d 70 25 21  |mp%!16:x%=wimp%!|
00003240  30 3a 79 25 3d 77 69 6d  70 25 21 34 0d 15 0e 0e  |0:y%=wimp%!4....|
00003250  c8 8e 62 75 74 74 6f 6e  25 ca 0d 15 18 1a c9 32  |..button%......2|
00003260  3a f2 57 69 6d 70 5f 50  6f 6c 6c 4d 65 6e 75 50  |:.Wimp_PollMenuP|
00003270  6f 70 55 70 0d 15 22 1d  7f 3a c8 8e a4 45 76 65  |opUp.."..:...Eve|
00003280  6e 74 5f 53 61 76 65 28  77 69 6e 64 6f 77 25 29  |nt_Save(window%)|
00003290  ca 0d 15 2c 1a c9 b9 3a  f2 57 69 6d 70 5f 50 6f  |...,...:.Wimp_Po|
000032a0  6c 6c 4d 6f 75 73 65 53  61 76 65 0d 15 36 20 c9  |llMouseSave..6 .|
000032b0  a3 3a f2 57 69 6d 70 5f  50 6f 6c 6c 45 76 65 6e  |.:.Wimp_PollEven|
000032c0  74 4d 6f 75 73 65 43 6c  69 63 6b 0d 15 40 05 cb  |tMouseClick..@..|
000032d0  0d 15 4a 05 cb 0d 15 54  05 e1 0d 15 5e 18 dd f2  |..J....T....^...|
000032e0  57 69 6d 70 5f 50 6f 6c  6c 4d 65 6e 75 50 6f 70  |Wimp_PollMenuPop|
000032f0  55 70 0d 15 68 1e 6d 65  6e 75 25 3d a4 45 76 65  |Up..h.menu%=.Eve|
00003300  6e 74 5f 4d 65 6e 75 28  77 69 6e 64 6f 77 25 29  |nt_Menu(window%)|
00003310  0d 15 72 0c c8 8e 6d 65  6e 75 25 ca 0d 15 7c 06  |..r...menu%...|.|
00003320  c9 a3 0d 15 86 05 7f 0d  15 90 0e c8 8e 77 69 6e  |.............win|
00003330  64 6f 77 25 ca 0d 15 9a  0c c9 2d 32 3a 6e 25 3d  |dow%......-2:n%=|
00003340  30 0d 15 a4 2a c8 95 28  28 42 61 72 5f 4d 65 6e  |0...*..((Bar_Men|
00003350  75 25 21 28 32 38 2b 6e  25 2a 32 34 29 29 80 25  |u%!(28+n%*24)).%|
00003360  31 30 30 30 30 30 30 30  29 3d 30 0d 15 ae 09 6e  |10000000)=0....n|
00003370  25 2b 3d 31 0d 15 b8 05  ce 0d 15 c2 31 c8 99 22  |%+=1........1.."|
00003380  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
00003390  2c 2c 42 61 72 5f 4d 65  6e 75 25 2c 78 25 2d 36  |,,Bar_Menu%,x%-6|
000033a0  34 2c 39 36 2b 6e 25 2a  34 34 0d 15 cc 2c 7f 3a  |4,96+n%*44...,.:|
000033b0  c8 99 22 57 69 6d 70 5f  43 72 65 61 74 65 4d 65  |.."Wimp_CreateMe|
000033c0  6e 75 22 2c 2c 6d 65 6e  75 25 2c 78 25 2d 36 34  |nu",,menu%,x%-64|
000033d0  2c 79 25 2b 32 30 0d 15  d6 05 cb 0d 15 e0 05 cb  |,y%+20..........|
000033e0  0d 15 ea 05 e1 0d 15 f4  1e dd f2 57 69 6d 70 5f  |...........Wimp_|
000033f0  50 6f 6c 6c 45 76 65 6e  74 4d 6f 75 73 65 43 6c  |PollEventMouseCl|
00003400  69 63 6b 0d 15 fe 2a e7  69 6e 74 65 72 66 61 63  |ick...*.interfac|
00003410  65 25 8c c8 99 22 57 69  6d 70 5f 42 6f 72 64 65  |e%..."Wimp_Borde|
00003420  72 49 63 6f 6e 22 2c 2c  77 69 6d 70 25 0d 16 08  |rIcon",,wimp%...|
00003430  32 f2 45 76 65 6e 74 5f  4d 6f 75 73 65 43 6c 69  |2.Event_MouseCli|
00003440  63 6b 28 77 69 6e 64 6f  77 25 2c 69 63 6f 6e 25  |ck(window%,icon%|
00003450  2c 62 75 74 74 6f 6e 25  2c 78 25 2c 79 25 29 0d  |,button%,x%,y%).|
00003460  16 12 11 c8 8e 69 6e 74  65 72 66 61 63 65 25 ca  |.....interface%.|
00003470  0d 16 1c 06 c9 b9 0d 16  26 23 77 69 6d 70 25 21  |........&#wimp%!|
00003480  30 3d 78 25 3a 77 69 6d  70 25 21 34 3d 79 25 3a  |0=x%:wimp%!4=y%:|
00003490  77 69 6d 70 25 21 38 3d  30 0d 16 30 23 77 69 6d  |wimp%!8=0..0#wim|
000034a0  70 25 21 31 32 3d 77 69  6e 64 6f 77 25 3a 77 69  |p%!12=window%:wi|
000034b0  6d 70 25 21 31 36 3d 69  63 6f 6e 25 0d 16 3a 1e  |mp%!16=icon%..:.|
000034c0  c8 99 22 57 69 6d 70 5f  42 6f 72 64 65 72 49 63  |.."Wimp_BorderIc|
000034d0  6f 6e 22 2c 2c 77 69 6d  70 25 0d 16 44 05 cb 0d  |on",,wimp%..D...|
000034e0  16 4e 05 e1 0d 16 58 17  dd f2 57 69 6d 70 5f 50  |.N....X...Wimp_P|
000034f0  6f 6c 6c 4b 65 79 50 72  65 73 73 0d 16 62 2f 77  |ollKeyPress..b/w|
00003500  69 6e 64 6f 77 25 3d 77  69 6d 70 25 21 30 3a 69  |indow%=wimp%!0:i|
00003510  63 6f 6e 25 3d 77 69 6d  70 25 21 34 3a 6b 65 79  |con%=wimp%!4:key|
00003520  25 3d 77 69 6d 70 25 21  32 34 0d 16 6c 1b c8 8e  |%=wimp%!24..l...|
00003530  a4 45 76 65 6e 74 5f 53  61 76 65 28 77 69 6e 64  |.Event_Save(wind|
00003540  6f 77 25 29 ca 0d 16 76  22 c9 b9 3a f2 57 69 6d  |ow%)...v"..:.Wim|
00003550  70 50 6f 6c 6c 5f 53 61  76 65 46 69 6c 65 28 77  |pPoll_SaveFile(w|
00003560  69 6e 64 6f 77 25 29 0d  16 80 2a c9 a3 3a f2 45  |indow%)...*..:.E|
00003570  76 65 6e 74 5f 4b 65 79  50 72 65 73 73 28 77 69  |vent_KeyPress(wi|
00003580  6e 64 6f 77 25 2c 69 63  6f 6e 25 2c 6b 65 79 25  |ndow%,icon%,key%|
00003590  29 0d 16 8a 05 cb 0d 16  94 05 e1 0d 16 9e 17 dd  |)...............|
000035a0  f2 57 69 6d 70 5f 50 6f  6c 6c 4d 65 73 73 61 67  |.Wimp_PollMessag|
000035b0  65 73 0d 16 a8 0a ea 66  69 6c 65 24 0d 16 b2 2c  |es.....file$...,|
000035c0  66 69 6c 65 24 3d a4 57  69 6d 70 5f 47 65 74 53  |file$=.Wimp_GetS|
000035d0  74 72 69 6e 67 41 74 41  64 64 72 65 73 73 28 77  |tringAtAddress(w|
000035e0  69 6d 70 25 2b 34 34 29  0d 16 bc 0f c8 8e 77 69  |imp%+44)......wi|
000035f0  6d 70 25 21 31 36 ca 0d  16 c6 12 c9 30 3a 66 69  |mp%!16......0:fi|
00003600  6e 69 73 68 65 64 25 3d  b9 0d 16 d0 06 c9 31 0d  |nished%=......1.|
00003610  16 da 06 c9 32 0d 16 e4  38 77 69 6d 70 25 21 30  |....2...8wimp%!0|
00003620  3d 73 61 76 65 25 3a 77  69 6d 70 25 21 34 3d 31  |=save%:wimp%!4=1|
00003630  3a c8 99 22 57 69 6d 70  5f 47 65 74 49 63 6f 6e  |:.."Wimp_GetIcon|
00003640  53 74 61 74 65 22 2c 2c  77 69 6d 70 25 0d 16 ee  |State",,wimp%...|
00003650  15 24 28 77 69 6d 70 25  21 32 38 29 3d 66 69 6c  |.$(wimp%!28)=fil|
00003660  65 24 0d 16 f8 30 77 69  6d 70 25 21 30 3d 73 61  |e$...0wimp%!0=sa|
00003670  76 65 25 3a 77 69 6d 70  25 21 34 3d 31 3a 77 69  |ve%:wimp%!4=1:wi|
00003680  6d 70 25 21 38 3d 30 3a  77 69 6d 70 25 21 31 32  |mp%!8=0:wimp%!12|
00003690  3d 30 0d 17 02 20 c8 99  22 57 69 6d 70 5f 53 65  |=0... .."Wimp_Se|
000036a0  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 77 69 6d  |tIconState",,wim|
000036b0  70 25 0d 17 0c 31 c8 99  22 57 69 6d 70 5f 53 65  |p%...1.."Wimp_Se|
000036c0  74 43 61 72 65 74 50 6f  73 69 74 69 6f 6e 22 2c  |tCaretPosition",|
000036d0  73 61 76 65 25 2c 31 2c  2c 2c 2d 31 2c a9 66 69  |save%,1,,,-1,.fi|
000036e0  6c 65 24 0d 17 16 20 f2  45 76 65 6e 74 5f 53 61  |le$... .Event_Sa|
000036f0  76 65 46 69 6c 65 28 66  69 6c 65 24 2c 73 61 76  |veFile(file$,sav|
00003700  65 25 29 0d 17 20 06 c9  33 0d 17 2a 3f 74 79 70  |e%).. ..3..*?typ|
00003710  65 24 3d a4 57 69 6d 70  5f 46 69 6c 65 54 79 70  |e$=.Wimp_FileTyp|
00003720  65 28 77 69 6d 70 25 21  34 30 29 3a f2 45 76 65  |e(wimp%!40):.Eve|
00003730  6e 74 5f 4c 6f 61 64 46  69 6c 65 28 66 69 6c 65  |nt_LoadFile(file|
00003740  24 2c 74 79 70 65 24 29  0d 17 34 05 cb 0d 17 3e  |$,type$)..4....>|
00003750  05 e1 0d 17 48 25 dd a4  57 69 6d 70 5f 47 65 74  |....H%..Wimp_Get|
00003760  53 74 72 69 6e 67 41 74  41 64 64 72 65 73 73 28  |StringAtAddress(|
00003770  61 72 72 61 79 25 29 0d  17 52 0d ea 73 24 3a 73  |array%)..R..s$:s|
00003780  24 3d 22 22 0d 17 5c 3b  c8 95 28 3f 61 72 72 61  |$=""..\;..(?arra|
00003790  79 25 3c 3e 31 33 29 80  28 3f 61 72 72 61 79 25  |y%<>13).(?array%|
000037a0  3c 3e 30 29 3a 73 24 2b  3d bd 28 3f 61 72 72 61  |<>0):s$+=.(?arra|
000037b0  79 25 29 3a 61 72 72 61  79 25 2b 3d 31 3a ce 0d  |y%):array%+=1:..|
000037c0  17 66 07 3d 73 24 0d 17  70 22 dd a4 57 69 6d 70  |.f.=s$..p"..Wimp|
000037d0  5f 47 65 74 46 69 6c 65  46 72 6f 6d 50 61 74 68  |_GetFileFromPath|
000037e0  6e 61 6d 65 28 66 24 29  0d 17 7a 0f c8 8e a7 66  |name(f$)..z....f|
000037f0  24 2c 22 2e 22 29 ca 0d  17 84 0a c9 30 3a 3d 66  |$,".")......0:=f|
00003800  24 0d 17 8e 35 7f 3a 3d  a4 57 69 6d 70 5f 47 65  |$...5.:=.Wimp_Ge|
00003810  74 46 69 6c 65 46 72 6f  6d 50 61 74 68 6e 61 6d  |tFileFromPathnam|
00003820  65 28 c2 66 24 2c a9 28  66 24 29 2d a7 66 24 2c  |e(.f$,.(f$)-.f$,|
00003830  22 2e 22 29 29 29 0d 17  98 05 cb 0d 17 a2 1a dd  |".")))..........|
00003840  a4 57 69 6d 70 5f 46 69  6c 65 54 79 70 65 28 74  |.Wimp_FileType(t|
00003850  79 70 65 25 29 0d 17 ac  0c c8 8e 74 79 70 65 25  |ype%)......type%|
00003860  ca 0d 17 b6 11 c9 26 46  46 46 3a 3d 22 54 65 78  |......&FFF:="Tex|
00003870  74 22 0d 17 c0 11 c9 26  46 46 44 3a 3d 22 44 61  |t".....&FFD:="Da|
00003880  74 61 22 0d 17 ca 12 c9  26 46 46 42 3a 3d 22 42  |ta".....&FFB:="B|
00003890  61 73 69 63 22 0d 17 d4  13 c9 26 46 46 39 3a 3d  |asic".....&FF9:=|
000038a0  22 53 70 72 69 74 65 22  0d 17 de 14 c9 26 46 45  |"Sprite".....&FE|
000038b0  44 3a 3d 22 50 61 6c 65  74 74 65 22 0d 17 e8 15  |D:="Palette"....|
000038c0  c9 26 46 45 43 3a 3d 22  54 65 6d 70 6c 61 74 65  |.&FEC:="Template|
000038d0  22 0d 17 f2 11 c9 26 41  46 46 3a 3d 22 44 72 61  |".....&AFF:="Dra|
000038e0  77 22 0d 17 fc 14 c9 26  31 30 30 30 3a 3d 22 46  |w".....&1000:="F|
000038f0  6f 6c 64 65 72 22 0d 18  06 19 c9 26 32 30 30 30  |older".....&2000|
00003900  3a 3d 22 41 70 70 6c 69  63 61 74 69 6f 6e 22 0d  |:="Application".|
00003910  18 10 0f 7f 3d c3 7e 28  74 79 70 65 25 29 0d 18  |....=.~(type%)..|
00003920  1a 05 cb 0d 18 24 2b dd  f2 57 69 6d 70 5f 49 63  |.....$+..Wimp_Ic|
00003930  6f 6e 50 75 74 54 65 78  74 28 77 69 6e 64 6f 77  |onPutText(window|
00003940  25 2c 69 63 6f 6e 25 2c  74 65 78 74 24 29 0d 18  |%,icon%,text$)..|
00003950  2e 21 77 69 6d 70 25 21  30 3d 77 69 6e 64 6f 77  |.!wimp%!0=window|
00003960  25 3a 77 69 6d 70 25 21  34 3d 69 63 6f 6e 25 0d  |%:wimp%!4=icon%.|
00003970  18 38 20 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |.8 .."Wimp_GetIc|
00003980  6f 6e 53 74 61 74 65 22  2c 2c 77 69 6d 70 25 0d  |onState",,wimp%.|
00003990  18 42 32 e7 28 28 77 69  6d 70 25 21 32 34 29 80  |.B2.((wimp%!24).|
000039a0  26 31 30 30 29 3d 30 85  31 2c 22 49 63 6f 6e 20  |&100)=0.1,"Icon |
000039b0  69 73 6e 27 74 20 69 6e  64 69 72 65 63 74 65 64  |isn't indirected|
000039c0  22 0d 18 4c 15 24 28 77  69 6d 70 25 21 32 38 29  |"..L.$(wimp%!28)|
000039d0  3d 74 65 78 74 24 0d 18  56 21 77 69 6d 70 25 21  |=text$..V!wimp%!|
000039e0  30 3d 77 69 6e 64 6f 77  25 3a 77 69 6d 70 25 21  |0=window%:wimp%!|
000039f0  34 3d 69 63 6f 6e 25 0d  18 60 18 77 69 6d 70 25  |4=icon%..`.wimp%|
00003a00  21 38 3d 30 3a 77 69 6d  70 25 21 31 32 3d 30 0d  |!8=0:wimp%!12=0.|
00003a10  18 6a 20 c8 99 22 57 69  6d 70 5f 53 65 74 49 63  |.j .."Wimp_SetIc|
00003a20  6f 6e 53 74 61 74 65 22  2c 2c 77 69 6d 70 25 0d  |onState",,wimp%.|
00003a30  18 74 05 e1 0d 18 7e 22  dd a4 57 69 6d 70 5f 49  |.t....~"..Wimp_I|
00003a40  63 6f 6e 54 65 78 74 28  77 69 6e 64 6f 77 25 2c  |conText(window%,|
00003a50  69 63 6f 6e 25 29 0d 18  88 21 77 69 6d 70 25 21  |icon%)...!wimp%!|
00003a60  30 3d 77 69 6e 64 6f 77  25 3a 77 69 6d 70 25 21  |0=window%:wimp%!|
00003a70  34 3d 69 63 6f 6e 25 0d  18 92 20 c8 99 22 57 69  |4=icon%... .."Wi|
00003a80  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
00003a90  2c 2c 77 69 6d 70 25 0d  18 9c 32 e7 28 28 77 69  |,,wimp%...2.((wi|
00003aa0  6d 70 25 21 32 34 29 80  26 31 30 30 29 3d 30 85  |mp%!24).&100)=0.|
00003ab0  31 2c 22 49 63 6f 6e 20  69 73 6e 27 74 20 69 6e  |1,"Icon isn't in|
00003ac0  64 69 72 65 63 74 65 64  22 0d 18 a6 10 3d 24 28  |directed"....=$(|
00003ad0  77 69 6d 70 25 21 32 38  29 0d 18 b0 1d dd a4 57  |wimp%!28)......W|
00003ae0  69 6d 70 5f 4d 65 6e 75  43 68 6f 69 63 65 28 6c  |imp_MenuChoice(l|
00003af0  65 76 65 6c 25 29 0d 18  ba 19 3d 28 77 69 6d 70  |evel%)....=(wimp|
00003b00  25 21 28 34 2a 6c 65 76  65 6c 25 29 29 2b 31 0d  |%!(4*level%))+1.|
00003b10  18 c4 20 dd f2 57 69 6d  70 5f 4d 65 6e 75 54 69  |.. ..Wimp_MenuTi|
00003b20  63 6b 28 6d 65 6e 75 25  2c 69 74 65 6d 25 29 0d  |ck(menu%,item%).|
00003b30  18 ce 37 6d 65 6e 75 25  21 28 32 38 2b 28 69 74  |..7menu%!(28+(it|
00003b40  65 6d 25 2d 31 29 2a 32  34 29 3d 28 6d 65 6e 75  |em%-1)*24)=(menu|
00003b50  25 21 28 32 38 2b 28 69  74 65 6d 25 2d 31 29 2a  |%!(28+(item%-1)*|
00003b60  32 34 29 29 82 31 0d 18  d8 05 e1 0d 18 e2 2a dd  |24)).1........*.|
00003b70  f2 57 69 6d 70 5f 49 63  6f 6e 43 61 72 65 74 28  |.Wimp_IconCaret(|
00003b80  77 69 6e 64 6f 77 25 2c  69 63 6f 6e 25 2c 63 68  |window%,icon%,ch|
00003b90  61 72 73 25 29 0d 18 ec  37 c8 99 22 57 69 6d 70  |ars%)...7.."Wimp|
00003ba0  5f 53 65 74 43 61 72 65  74 50 6f 73 69 74 69 6f  |_SetCaretPositio|
00003bb0  6e 22 2c 77 69 6e 64 6f  77 25 2c 69 63 6f 6e 25  |n",window%,icon%|
00003bc0  2c 2c 2c 2d 31 2c 63 68  61 72 73 25 0d 18 f6 05  |,,,-1,chars%....|
00003bd0  e1 0d 19 00 25 dd f2 57  69 6d 70 5f 49 63 6f 6e  |....%..Wimp_Icon|
00003be0  44 69 73 61 62 6c 65 28  77 69 6e 64 6f 77 25 2c  |Disable(window%,|
00003bf0  69 63 6f 6e 25 29 0d 19  0a 21 77 69 6d 70 25 21  |icon%)...!wimp%!|
00003c00  30 3d 77 69 6e 64 6f 77  25 3a 77 69 6d 70 25 21  |0=window%:wimp%!|
00003c10  34 3d 69 63 6f 6e 25 0d  19 14 20 77 69 6d 70 25  |4=icon%... wimp%|
00003c20  21 38 3d 31 3c 3c 32 32  3a 77 69 6d 70 25 21 31  |!8=1<<22:wimp%!1|
00003c30  32 3d 31 3c 3c 32 32 0d  19 1e 20 c8 99 22 57 69  |2=1<<22... .."Wi|
00003c40  6d 70 5f 53 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_SetIconState"|
00003c50  2c 2c 77 69 6d 70 25 0d  19 28 05 e1 0d 19 32 24  |,,wimp%..(....2$|
00003c60  dd f2 57 69 6d 70 5f 49  63 6f 6e 45 6e 61 62 6c  |..Wimp_IconEnabl|
00003c70  65 28 77 69 6e 64 6f 77  25 2c 69 63 6f 6e 25 29  |e(window%,icon%)|
00003c80  0d 19 3c 21 77 69 6d 70  25 21 30 3d 77 69 6e 64  |..<!wimp%!0=wind|
00003c90  6f 77 25 3a 77 69 6d 70  25 21 34 3d 69 63 6f 6e  |ow%:wimp%!4=icon|
00003ca0  25 0d 19 46 1c 77 69 6d  70 25 21 38 3d 30 3a 77  |%..F.wimp%!8=0:w|
00003cb0  69 6d 70 25 21 31 32 3d  31 3c 3c 32 32 0d 19 50  |imp%!12=1<<22..P|
00003cc0  20 c8 99 22 57 69 6d 70  5f 53 65 74 49 63 6f 6e  | .."Wimp_SetIcon|
00003cd0  53 74 61 74 65 22 2c 2c  77 69 6d 70 25 0d 19 5a  |State",,wimp%..Z|
00003ce0  05 e1 0d 19 64 2f dd a4  57 69 6d 70 5f 49 63 6f  |....d/..Wimp_Ico|
00003cf0  6e 50 75 74 53 70 72 69  74 65 28 77 69 6e 64 6f  |nPutSprite(windo|
00003d00  77 25 2c 69 63 6f 6e 25  2c 73 70 72 69 74 65 24  |w%,icon%,sprite$|
00003d10  29 0d 19 6e 21 77 69 6d  70 25 21 30 3d 77 69 6e  |)..n!wimp%!0=win|
00003d20  64 6f 77 25 3a 77 69 6d  70 25 21 34 3d 69 63 6f  |dow%:wimp%!4=ico|
00003d30  6e 25 0d 19 78 20 c8 99  22 57 69 6d 70 5f 47 65  |n%..x .."Wimp_Ge|
00003d40  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 77 69 6d  |tIconState",,wim|
00003d50  70 25 0d 19 82 1e c8 99  22 57 69 6d 70 5f 44 65  |p%......"Wimp_De|
00003d60  6c 65 74 65 49 63 6f 6e  22 2c 2c 77 69 6d 70 25  |leteIcon",,wimp%|
00003d70  0d 19 8c 36 77 69 6d 70  25 21 34 3d 77 69 6d 70  |...6wimp%!4=wimp|
00003d80  25 21 38 3a 77 69 6d 70  25 21 38 3d 77 69 6d 70  |%!8:wimp%!8=wimp|
00003d90  25 21 31 32 3a 77 69 6d  70 25 21 31 32 3d 77 69  |%!12:wimp%!12=wi|
00003da0  6d 70 25 21 31 36 0d 19  96 3b 77 69 6d 70 25 21  |mp%!16...;wimp%!|
00003db0  31 36 3d 77 69 6d 70 25  21 32 30 3a 77 69 6d 70  |16=wimp%!20:wimp|
00003dc0  25 21 32 30 3d 77 69 6d  70 25 21 32 34 3a 24 28  |%!20=wimp%!24:$(|
00003dd0  77 69 6d 70 25 2b 32 34  29 3d 73 70 72 69 74 65  |wimp%+24)=sprite|
00003de0  24 0d 19 a0 24 c8 99 22  57 69 6d 70 5f 43 72 65  |$...$.."Wimp_Cre|
00003df0  61 74 65 49 63 6f 6e 22  2c 2c 77 69 6d 70 25 b8  |ateIcon",,wimp%.|
00003e00  69 63 6f 6e 25 0d 19 aa  0a 3d 69 63 6f 6e 25 0d  |icon%....=icon%.|
00003e10  19 b4 23 dd f2 57 69 6d  70 5f 57 69 6e 64 6f 77  |..#..Wimp_Window|
00003e20  46 6f 72 63 65 44 72 61  77 28 77 69 6e 64 6f 77  |ForceDraw(window|
00003e30  25 29 0d 19 be 0e c8 8e  77 69 6e 64 6f 77 25 ca  |%)......window%.|
00003e40  0d 19 c8 31 c9 2d 31 3a  c8 99 22 57 69 6d 70 5f  |...1.-1:.."Wimp_|
00003e50  46 6f 72 63 65 52 65 64  72 61 77 22 2c 2d 31 2c  |ForceRedraw",-1,|
00003e60  30 2c 30 2c 32 2a 31 32  38 30 2c 32 2a 31 30 32  |0,0,2*1280,2*102|
00003e70  34 0d 19 d2 35 7f 3a c8  99 22 57 69 6d 70 5f 46  |4...5.:.."Wimp_F|
00003e80  6f 72 63 65 52 65 64 72  61 77 22 2c 77 69 6e 64  |orceRedraw",wind|
00003e90  6f 77 25 2c 30 2c 2d 32  2a 31 30 32 34 2c 32 2a  |ow%,0,-2*1024,2*|
00003ea0  31 32 38 30 2c 30 0d 19  dc 05 cb 0d 19 e6 05 e1  |1280,0..........|
00003eb0  0d 19 f0 13 dd f2 72 65  61 64 63 6f 6e 73 74 61  |......readconsta|
00003ec0  6e 74 73 0d 19 fa 28 71  30 3d bb 28 a4 57 69 6d  |nts...(q0=.(.Wim|
00003ed0  70 5f 49 63 6f 6e 54 65  78 74 28 4d 61 69 6e 5f  |p_IconText(Main_|
00003ee0  57 69 6e 64 6f 77 25 2c  30 29 29 0d 1a 04 28 71  |Window%,0))...(q|
00003ef0  31 3d bb 28 a4 57 69 6d  70 5f 49 63 6f 6e 54 65  |1=.(.Wimp_IconTe|
00003f00  78 74 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |xt(Main_Window%,|
00003f10  31 29 29 0d 1a 0e 28 71  32 3d bb 28 a4 57 69 6d  |1))...(q2=.(.Wim|
00003f20  70 5f 49 63 6f 6e 54 65  78 74 28 4d 61 69 6e 5f  |p_IconText(Main_|
00003f30  57 69 6e 64 6f 77 25 2c  32 29 29 0d 1a 18 28 71  |Window%,2))...(q|
00003f40  33 3d bb 28 a4 57 69 6d  70 5f 49 63 6f 6e 54 65  |3=.(.Wimp_IconTe|
00003f50  78 74 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |xt(Main_Window%,|
00003f60  33 29 29 0d 1a 22 27 63  3d bb 28 a4 57 69 6d 70  |3)).."'c=.(.Wimp|
00003f70  5f 49 63 6f 6e 54 65 78  74 28 4d 61 69 6e 5f 57  |_IconText(Main_W|
00003f80  69 6e 64 6f 77 25 2c 34  29 29 0d 1a 2c 27 64 3d  |indow%,4))..,'d=|
00003f90  bb 28 a4 57 69 6d 70 5f  49 63 6f 6e 54 65 78 74  |.(.Wimp_IconText|
00003fa0  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 35 29  |(Main_Window%,5)|
00003fb0  29 0d 1a 36 2a 78 6d 69  6e 3d bb 28 a4 57 69 6d  |)..6*xmin=.(.Wim|
00003fc0  70 5f 49 63 6f 6e 54 65  78 74 28 4d 61 69 6e 5f  |p_IconText(Main_|
00003fd0  57 69 6e 64 6f 77 25 2c  36 29 29 0d 1a 40 2a 78  |Window%,6))..@*x|
00003fe0  6d 61 78 3d bb 28 a4 57  69 6d 70 5f 49 63 6f 6e  |max=.(.Wimp_Icon|
00003ff0  54 65 78 74 28 4d 61 69  6e 5f 57 69 6e 64 6f 77  |Text(Main_Window|
00004000  25 2c 37 29 29 0d 1a 4a  2a 79 6d 69 6e 3d bb 28  |%,7))..J*ymin=.(|
00004010  a4 57 69 6d 70 5f 49 63  6f 6e 54 65 78 74 28 4d  |.Wimp_IconText(M|
00004020  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 38 29 29 0d  |ain_Window%,8)).|
00004030  1a 54 2a 79 6d 61 78 3d  bb 28 a4 57 69 6d 70 5f  |.T*ymax=.(.Wimp_|
00004040  49 63 6f 6e 54 65 78 74  28 4d 61 69 6e 5f 57 69  |IconText(Main_Wi|
00004050  6e 64 6f 77 25 2c 39 29  29 0d 1a 5e 8f e7 71 30  |ndow%,9))..^..q0|
00004060  3c 3e 6f 6c 64 71 30 20  84 20 71 31 3c 3e 6f 6c  |<>oldq0 . q1<>ol|
00004070  64 71 31 20 84 20 71 32  3c 3e 6f 6c 64 71 32 20  |dq1 . q2<>oldq2 |
00004080  84 20 71 33 3c 3e 6f 6c  64 71 33 20 84 20 63 3c  |. q3<>oldq3 . c<|
00004090  3e 6f 6c 64 63 20 84 20  64 3c 3e 6f 6c 64 64 20  |>oldc . d<>oldd |
000040a0  84 20 78 6d 69 6e 3c 3e  6f 6c 64 78 6d 69 6e 20  |. xmin<>oldxmin |
000040b0  84 20 78 6d 61 78 3c 3e  6f 6c 64 78 6d 61 78 20  |. xmax<>oldxmax |
000040c0  84 20 79 6d 69 6e 3c 3e  6f 6c 64 79 6d 69 6e 20  |. ymin<>oldymin |
000040d0  84 20 79 6d 61 78 3c 3e  6f 6c 64 79 6d 61 78 20  |. ymax<>oldymax |
000040e0  72 65 61 64 62 25 3d 30  0d 1a 68 05 e1 0d 1a 72  |readb%=0..h....r|
000040f0  16 dd f2 72 65 61 64 6f  6c 64 63 6f 6e 73 74 61  |...readoldconsta|
00004100  6e 74 73 0d 1a 7c 2b 6f  6c 64 71 30 3d bb 28 a4  |nts..|+oldq0=.(.|
00004110  57 69 6d 70 5f 49 63 6f  6e 54 65 78 74 28 4d 61  |Wimp_IconText(Ma|
00004120  69 6e 5f 57 69 6e 64 6f  77 25 2c 30 29 29 0d 1a  |in_Window%,0))..|
00004130  86 2b 6f 6c 64 71 31 3d  bb 28 a4 57 69 6d 70 5f  |.+oldq1=.(.Wimp_|
00004140  49 63 6f 6e 54 65 78 74  28 4d 61 69 6e 5f 57 69  |IconText(Main_Wi|
00004150  6e 64 6f 77 25 2c 31 29  29 0d 1a 90 2b 6f 6c 64  |ndow%,1))...+old|
00004160  71 32 3d bb 28 a4 57 69  6d 70 5f 49 63 6f 6e 54  |q2=.(.Wimp_IconT|
00004170  65 78 74 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ext(Main_Window%|
00004180  2c 32 29 29 0d 1a 9a 2b  6f 6c 64 71 33 3d bb 28  |,2))...+oldq3=.(|
00004190  a4 57 69 6d 70 5f 49 63  6f 6e 54 65 78 74 28 4d  |.Wimp_IconText(M|
000041a0  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 33 29 29 0d  |ain_Window%,3)).|
000041b0  1a a4 2a 6f 6c 64 63 3d  bb 28 a4 57 69 6d 70 5f  |..*oldc=.(.Wimp_|
000041c0  49 63 6f 6e 54 65 78 74  28 4d 61 69 6e 5f 57 69  |IconText(Main_Wi|
000041d0  6e 64 6f 77 25 2c 34 29  29 0d 1a ae 2a 6f 6c 64  |ndow%,4))...*old|
000041e0  64 3d bb 28 a4 57 69 6d  70 5f 49 63 6f 6e 54 65  |d=.(.Wimp_IconTe|
000041f0  78 74 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |xt(Main_Window%,|
00004200  35 29 29 0d 1a b8 2d 6f  6c 64 78 6d 69 6e 3d bb  |5))...-oldxmin=.|
00004210  28 a4 57 69 6d 70 5f 49  63 6f 6e 54 65 78 74 28  |(.Wimp_IconText(|
00004220  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 2c 36 29 29  |Main_Window%,6))|
00004230  0d 1a c2 2d 6f 6c 64 78  6d 61 78 3d bb 28 a4 57  |...-oldxmax=.(.W|
00004240  69 6d 70 5f 49 63 6f 6e  54 65 78 74 28 4d 61 69  |imp_IconText(Mai|
00004250  6e 5f 57 69 6e 64 6f 77  25 2c 37 29 29 0d 1a cc  |n_Window%,7))...|
00004260  2d 6f 6c 64 79 6d 69 6e  3d bb 28 a4 57 69 6d 70  |-oldymin=.(.Wimp|
00004270  5f 49 63 6f 6e 54 65 78  74 28 4d 61 69 6e 5f 57  |_IconText(Main_W|
00004280  69 6e 64 6f 77 25 2c 38  29 29 0d 1a d6 2d 6f 6c  |indow%,8))...-ol|
00004290  64 79 6d 61 78 3d bb 28  a4 57 69 6d 70 5f 49 63  |dymax=.(.Wimp_Ic|
000042a0  6f 6e 54 65 78 74 28 4d  61 69 6e 5f 57 69 6e 64  |onText(Main_Wind|
000042b0  6f 77 25 2c 39 29 29 0d  1a e0 05 e1 0d 1a ea 14  |ow%,9)).........|
000042c0  dd f2 77 72 69 74 65 63  6f 6e 73 74 61 6e 74 73  |..writeconstants|
000042d0  0d 1a f4 0c f2 72 6f 75  6e 64 6b 73 0d 1a fe 2f  |.....roundks.../|
000042e0  f2 57 69 6d 70 5f 49 63  6f 6e 50 75 74 54 65 78  |.Wimp_IconPutTex|
000042f0  74 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 30  |t(Main_Window%,0|
00004300  2c a4 67 73 66 6d 28 71  30 29 29 0d 1b 08 2f f2  |,.gsfm(q0)).../.|
00004310  57 69 6d 70 5f 49 63 6f  6e 50 75 74 54 65 78 74  |Wimp_IconPutText|
00004320  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 31 2c  |(Main_Window%,1,|
00004330  a4 67 73 66 6d 28 71 31  29 29 0d 1b 12 31 f2 57  |.gsfm(q1))...1.W|
00004340  69 6d 70 5f 49 63 6f 6e  50 75 74 54 65 78 74 28  |imp_IconPutText(|
00004350  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 2c 36 2c a4  |Main_Window%,6,.|
00004360  67 73 66 6d 28 78 6d 69  6e 29 29 0d 1b 1c 31 f2  |gsfm(xmin))...1.|
00004370  57 69 6d 70 5f 49 63 6f  6e 50 75 74 54 65 78 74  |Wimp_IconPutText|
00004380  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 37 2c  |(Main_Window%,7,|
00004390  a4 67 73 66 6d 28 78 6d  61 78 29 29 0d 1b 26 31  |.gsfm(xmax))..&1|
000043a0  f2 57 69 6d 70 5f 49 63  6f 6e 50 75 74 54 65 78  |.Wimp_IconPutTex|
000043b0  74 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 38  |t(Main_Window%,8|
000043c0  2c a4 67 73 66 6d 28 79  6d 69 6e 29 29 0d 1b 30  |,.gsfm(ymin))..0|
000043d0  31 f2 57 69 6d 70 5f 49  63 6f 6e 50 75 74 54 65  |1.Wimp_IconPutTe|
000043e0  78 74 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |xt(Main_Window%,|
000043f0  39 2c a4 67 73 66 6d 28  79 6d 61 78 29 29 0d 1b  |9,.gsfm(ymax))..|
00004400  3a 05 e1 0d 1b 44 0e dd  f2 66 72 61 63 74 61 6c  |:....D...fractal|
00004410  73 0d 1b 4e 0e f2 66 72  61 63 5f 69 6e 69 74 0d  |s..N..frac_init.|
00004420  1b 58 16 f2 66 72 61 63  5f 70 72 69 6e 74 6f 70  |.X..frac_printop|
00004430  74 69 6f 6e 73 0d 1b 62  12 f2 72 65 61 64 63 6f  |tions..b..readco|
00004440  6e 73 74 61 6e 74 73 0d  1b 6c 0e f2 66 72 61 63  |nstants..l..frac|
00004450  5f 62 61 73 65 0d 1b 76  05 f5 0d 1b 80 11 41 25  |_base..v......A%|
00004460  3d a4 66 72 61 63 5f 7a  6f 6f 6d 0d 1b 8a 1e e7  |=.frac_zoom.....|
00004470  41 25 3d 2d 31 f2 66 72  61 63 5f 6a 75 6c 69 61  |A%=-1.frac_julia|
00004480  3a 72 65 61 64 62 25 3d  30 0d 1b 94 1e e7 41 25  |:readb%=0.....A%|
00004490  3d 30 f2 66 72 61 63 5f  72 65 74 75 72 6e 3a 72  |=0.frac_return:r|
000044a0  65 61 64 62 25 3d 31 0d  1b 9e 09 fd 41 25 3d 32  |eadb%=1.....A%=2|
000044b0  0d 1b a8 1f e7 72 65 61  64 62 25 3d 30 d6 73 63  |.....readb%=0.sc|
000044c0  61 6e 62 61 73 65 3a 72  65 61 64 62 25 3d 32 0d  |anbase:readb%=2.|
000044d0  1b b2 05 e1 0d 1b bc 0f  dd f2 66 72 61 63 5f 69  |..........frac_i|
000044e0  6e 69 74 0d 1b c6 07 eb  31 33 0d 1b d0 0d de 62  |nit.....13.....b|
000044f0  6c 6f 63 6b 25 32 34 0d  1b da 10 62 6c 6f 63 6b  |lock%24....block|
00004500  25 21 30 3d 31 35 30 0d  1b e4 10 62 6c 6f 63 6b  |%!0=150....block|
00004510  25 21 34 3d 31 34 39 0d  1b ee 0f 62 6c 6f 63 6b  |%!4=149....block|
00004520  25 21 38 3d 2d 31 0d 1b  f8 2c c8 99 22 4f 53 5f  |%!8=-1...,.."OS_|
00004530  52 65 61 64 56 64 75 56  61 72 69 61 62 6c 65 73  |ReadVduVariables|
00004540  22 2c 62 6c 6f 63 6b 25  2c 62 6c 6f 63 6b 25 2b  |",block%,block%+|
00004550  31 32 0d 1c 02 13 73 69  7a 65 25 3d 62 6c 6f 63  |12....size%=bloc|
00004560  6b 25 21 31 32 0d 1c 0c  14 73 74 61 72 74 25 3d  |k%!12....start%=|
00004570  62 6c 6f 63 6b 25 21 31  36 0d 1c 16 0d 2a 46 58  |block%!16....*FX|
00004580  20 31 31 32 2c 31 0d 1c  20 0d 2a 46 58 20 31 31  | 112,1.. .*FX 11|
00004590  33 2c 31 0d 1c 2a 0e 40  25 3d 26 30 31 30 33 30  |3,1..*.@%=&01030|
000045a0  38 0d 1c 34 05 87 0d 1c  3e 12 ef 32 38 2c 33 32  |8..4....>..28,32|
000045b0  2c 33 31 2c 33 39 2c 30  0d 1c 48 16 ef 32 34 2c  |,31,39,0..H..24,|
000045c0  30 3b 30 3b 31 30 32 33  3b 31 30 32 33 3b 0d 1c  |0;0;1023;1023;..|
000045d0  52 07 c8 97 ee 0d 1c 5c  05 e1 0d 1c 66 17 dd f2  |R......\....f...|
000045e0  66 72 61 63 5f 70 72 69  6e 74 6f 70 74 69 6f 6e  |frac_printoption|
000045f0  73 0d 1c 70 05 db 0d 1c  7a 46 f1 8a 30 2c 30 29  |s..p....zF..0,0)|
00004600  22 4e 65 77 20 56 61 6c  73 2d 2d 2d 2d 2d 2d 2d  |"New Vals-------|
00004610  2d 22 3b 22 4d 69 6e 20  58 3a 22 27 27 27 22 4d  |-";"Min X:"'''"M|
00004620  61 78 20 58 3a 22 27 27  27 22 4d 69 6e 20 59 3a  |ax X:"'''"Min Y:|
00004630  22 27 27 27 22 4d 61 78  20 59 3a 22 0d 1c 84 4a  |"'''"Max Y:"...J|
00004640  f1 27 27 27 22 53 63 72  6f 6c 6c 3a 22 27 22 5a  |.'''"Scroll:"'"Z|
00004650  2d 4c 65 66 74 22 27 22  58 2d 52 69 67 68 74 22  |-Left"'"X-Right"|
00004660  27 22 27 2d 55 70 22 27  22 2f 2d 44 6f 77 6e 22  |'"'-Up"'"/-Down"|
00004670  27 27 22 4a 2d 4a 75 6c  69 61 22 27 22 4d 2d 4d  |''"J-Julia"'"M-M|
00004680  61 6e 64 6c 65 22 0d 1c  8e 30 f1 8a 30 2c 32 34  |andle"...0..0,24|
00004690  29 22 52 2d 52 65 73 65  74 22 27 22 53 2d 53 61  |)"R-Reset"'"S-Sa|
000046a0  76 65 22 27 22 51 2d 51  75 69 74 22 27 27 22 43  |ve"'"Q-Quit"''"C|
000046b0  6f 75 6e 74 3a 22 0d 1c  98 05 e1 0d 1c a2 0f dd  |ount:"..........|
000046c0  f2 66 72 61 63 5f 62 61  73 65 0d 1c ac 0d c8 8e  |.frac_base......|
000046d0  72 65 61 64 62 25 ca 0d  1c b6 06 c9 30 0d 1c c0  |readb%......0...|
000046e0  0c 72 65 61 64 62 25 3d  31 0d 1c ca 0f f2 66 72  |.readb%=1.....fr|
000046f0  61 63 5f 6a 75 6c 69 61  0d 1c d4 0d d6 73 63 61  |ac_julia.....sca|
00004700  6e 62 61 73 65 0d 1c de  06 c9 31 0d 1c e8 06 c8  |nbase.....1.....|
00004710  96 0d 1c f2 0f d6 70 6c  6f 74 73 70 72 69 74 65  |......plotsprite|
00004720  0d 1c fc 06 c9 32 0d 1d  06 0d d6 70 6c 6f 74 62  |.....2.....plotb|
00004730  61 73 65 0d 1d 10 05 cb  0d 1d 1a 05 e1 0d 1d 24  |ase............$|
00004740  11 dd f2 66 72 61 63 5f  72 65 74 75 72 6e 0d 1d  |...frac_return..|
00004750  2e 06 c8 96 0d 1d 38 0d  d6 70 6c 6f 74 62 61 73  |......8..plotbas|
00004760  65 0d 1d 42 12 f2 72 65  61 64 63 6f 6e 73 74 61  |e..B..readconsta|
00004770  6e 74 73 0d 1d 4c 05 e1  0d 1d 56 0f dd a4 66 72  |nts..L....V...fr|
00004780  61 63 5f 7a 6f 6f 6d 0d  1d 60 1f 73 63 72 6f 25  |ac_zoom..`.scro%|
00004790  3d 31 3a f2 66 72 61 63  5f 61 73 73 65 6d 3a 73  |=1:.frac_assem:s|
000047a0  63 72 6f 25 3d 30 0d 1d  6a 08 e6 34 2c 30 0d 1d  |cro%=0..j..4,0..|
000047b0  74 15 53 25 3d 35 31 32  3a c8 97 b8 32 35 36 2c  |t.S%=512:...256,|
000047c0  32 35 36 0d 1d 7e 13 78  73 69 7a 65 3d 78 6d 61  |256..~.xsize=xma|
000047d0  78 2d 78 6d 69 6e 0d 1d  88 13 79 73 69 7a 65 3d  |x-xmin....ysize=|
000047e0  79 6d 61 78 2d 79 6d 69  6e 0d 1d 92 05 f5 0d 1d  |ymax-ymin.......|
000047f0  9c 1b c8 97 c8 93 30 2c  30 2c 31 30 32 34 2d 53  |......0,0,1024-S|
00004800  25 2c 31 30 32 34 2d 53  25 0d 1d a6 0e c8 97 58  |%,1024-S%......X|
00004810  25 2c 59 25 2c 42 25 0d  1d b0 06 c8 96 0d 1d ba  |%,Y%,B%.........|
00004820  15 c8 93 58 25 2c 59 25  2c 53 25 2d 34 2c 53 25  |...X%,Y%,S%-4,S%|
00004830  2d 34 0d 1d c4 1b 6e 65  77 58 3d 78 6d 69 6e 2b  |-4....newX=xmin+|
00004840  58 25 2a 78 73 69 7a 65  2f 31 30 32 34 0d 1d ce  |X%*xsize/1024...|
00004850  1b 6e 65 77 59 3d 79 6d  69 6e 2b 59 25 2a 79 73  |.newY=ymin+Y%*ys|
00004860  69 7a 65 2f 31 30 32 34  0d 1d d8 0d 6b 65 79 24  |ize/1024....key$|
00004870  3d bf 28 30 29 0d 1d e2  06 c8 96 0d 1d ec 15 c8  |=.(0)...........|
00004880  93 58 25 2c 59 25 2c 53  25 2d 34 2c 53 25 2d 34  |.X%,Y%,S%-4,S%-4|
00004890  0d 1d f6 0f f1 8a 30 2c  33 29 3b 6e 65 77 58 0d  |......0,3);newX.|
000048a0  1e 00 1d f1 8a 30 2c 36  29 3b 6e 65 77 58 2b 78  |.....0,6);newX+x|
000048b0  73 69 7a 65 2a 53 25 2f  31 30 32 34 0d 1e 0a 0f  |size*S%/1024....|
000048c0  f1 8a 30 2c 39 29 3b 6e  65 77 59 0d 1e 14 1e f1  |..0,9);newY.....|
000048d0  8a 30 2c 31 32 29 3b 6e  65 77 59 2b 79 73 69 7a  |.0,12);newY+ysiz|
000048e0  65 2a 53 25 2f 31 30 32  34 0d 1e 1e 0b c8 8e 6b  |e*S%/1024......k|
000048f0  65 79 24 ca 0d 1e 28 0c  c9 22 53 22 2c 22 73 22  |ey$...(.."S","s"|
00004900  0d 1e 32 19 e8 8a 30 2c  32 38 29 3b 22 46 69 6c  |..2...0,28);"Fil|
00004910  65 6e 61 6d 65 22 3b 46  24 0d 1e 3c 0c e7 46 24  |ename";F$..<..F$|
00004920  3c 3e 22 22 8c 0d 1e 46  14 c8 99 22 48 6f 75 72  |<>""...F..."Hour|
00004930  67 6c 61 73 73 5f 4f 6e  22 0d 1e 50 10 46 24 3d  |glass_On"..P.F$=|
00004940  c1 46 24 2c 31 2c 31 30  29 0d 1e 5a 17 ff 28 22  |.F$,1,10)..Z..("|
00004950  53 43 52 45 45 4e 53 41  56 45 20 22 2b 46 24 29  |SCREENSAVE "+F$)|
00004960  0d 1e 64 16 f2 66 72 61  63 5f 70 72 69 6e 74 6f  |..d..frac_printo|
00004970  70 74 69 6f 6e 73 0d 1e  6e 17 c8 99 22 48 6f 75  |ptions..n..."Hou|
00004980  72 67 6c 61 73 73 5f 53  6d 61 73 68 22 0d 1e 78  |rglass_Smash"..x|
00004990  05 cd 0d 1e 82 0f c9 22  51 22 2c 22 71 22 3a 3d  |......."Q","q":=|
000049a0  32 0d 1e 8c 0c c9 22 4a  22 2c 22 6a 22 0d 1e 96  |2....."J","j"...|
000049b0  0e e7 6d 61 6e 64 79 25  3d 31 8c 0d 1e a0 15 6d  |..mandy%=1.....m|
000049c0  61 6e 64 79 25 3d 30 3a  6a 75 6c 69 61 25 3d 31  |andy%=0:julia%=1|
000049d0  0d 1e aa 15 c8 97 c8 93  30 2c 30 2c 31 30 32 34  |........0,0,1024|
000049e0  2c 31 30 32 34 0d 1e b4  05 f5 0d 1e be 0e c8 97  |,1024...........|
000049f0  58 25 2c 59 25 2c 42 25  0d 1e c8 09 fd 42 25 80  |X%,Y%,B%.....B%.|
00004a00  34 0d 1e d2 21 71 30 3d  28 28 78 6d 61 78 2d 78  |4...!q0=((xmax-x|
00004a10  6d 69 6e 29 2a 58 25 2f  31 30 32 34 29 2b 78 6d  |min)*X%/1024)+xm|
00004a20  69 6e 0d 1e dc 21 71 31  3d 28 28 79 6d 61 78 2d  |in...!q1=((ymax-|
00004a30  79 6d 69 6e 29 2a 59 25  2f 31 30 32 34 29 2b 79  |ymin)*Y%/1024)+y|
00004a40  6d 69 6e 0d 1e e6 0c 72  65 61 64 62 25 3d 30 0d  |min....readb%=0.|
00004a50  1e f0 16 f2 66 72 61 63  5f 70 72 69 6e 74 6f 70  |....frac_printop|
00004a60  74 69 6f 6e 73 0d 1e fa  0e f2 66 72 61 63 5f 62  |tions.....frac_b|
00004a70  61 73 65 0d 1f 04 05 cd  0d 1f 0e 0c c9 22 4d 22  |ase.........."M"|
00004a80  2c 22 6d 22 0d 1f 18 0e  e7 6d 61 6e 64 79 25 3d  |,"m".....mandy%=|
00004a90  30 8c 0d 1f 22 15 6d 61  6e 64 79 25 3d 31 3a 6a  |0...".mandy%=1:j|
00004aa0  75 6c 69 61 25 3d 30 0d  1f 2c 0c 72 65 61 64 62  |ulia%=0..,.readb|
00004ab0  25 3d 30 0d 1f 36 16 f2  66 72 61 63 5f 70 72 69  |%=0..6..frac_pri|
00004ac0  6e 74 6f 70 74 69 6f 6e  73 0d 1f 40 0e f2 66 72  |ntoptions..@..fr|
00004ad0  61 63 5f 62 61 73 65 0d  1f 4a 05 cd 0d 1f 54 08  |ac_base..J....T.|
00004ae0  c9 22 27 22 0d 1f 5e 13  79 73 69 7a 65 3d 79 6d  |."'"..^.ysize=ym|
00004af0  61 78 2d 79 6d 69 6e 0d  1f 68 17 79 61 64 64 3d  |ax-ymin..h.yadd=|
00004b00  34 2a 28 79 73 69 7a 65  2f 31 30 32 34 29 0d 1f  |4*(ysize/1024)..|
00004b10  72 0e 79 6d 69 6e 2b 3d  79 61 64 64 0d 1f 7c 0e  |r.ymin+=yadd..|.|
00004b20  79 6d 61 78 2b 3d 79 61  64 64 0d 1f 86 0e 4c 25  |ymax+=yadd....L%|
00004b30  3d 79 6c 69 6d 69 74 25  0d 1f 90 0d 79 6c 69 6d  |=ylimit%....ylim|
00004b40  69 74 25 3d 31 0d 1f 9a  15 f2 66 72 61 63 5f 73  |it%=1.....frac_s|
00004b50  65 74 61 73 73 65 6d 76  65 72 0d 1f a4 0a d6 6a  |etassemver.....j|
00004b60  75 6c 69 61 0d 1f ae 06  c8 96 0d 1f b8 0d d6 73  |ulia...........s|
00004b70  63 72 6f 6c 6c 75 70 0d  1f c2 0e 79 6c 69 6d 69  |crollup....ylimi|
00004b80  74 25 3d 4c 25 0d 1f cc  0c c9 22 2f 22 2c 22 3f  |t%=L%....."/","?|
00004b90  22 0d 1f d6 0e 4c 25 3d  79 6c 69 6d 69 74 25 0d  |"....L%=ylimit%.|
00004ba0  1f e0 0d 79 6c 69 6d 69  74 25 3d 31 0d 1f ea 0a  |...ylimit%=1....|
00004bb0  4d 3d 79 6d 61 78 0d 1f  f4 0d 79 6d 61 78 3d 79  |M=ymax....ymax=y|
00004bc0  6d 69 6e 0d 1f fe 15 f2  66 72 61 63 5f 73 65 74  |min.....frac_set|
00004bd0  61 73 73 65 6d 76 65 72  0d 20 08 0a d6 6a 75 6c  |assemver. ...jul|
00004be0  69 61 0d 20 12 06 c8 96  0d 20 1c 0f d6 73 63 72  |ia. ..... ...scr|
00004bf0  6f 6c 6c 64 6f 77 6e 0d  20 26 0e 79 6c 69 6d 69  |olldown. &.ylimi|
00004c00  74 25 3d 4c 25 0d 20 30  0a 79 6d 61 78 3d 4d 0d  |t%=L%. 0.ymax=M.|
00004c10  20 3a 13 79 73 69 7a 65  3d 79 6d 61 78 2d 79 6d  | :.ysize=ymax-ym|
00004c20  69 6e 0d 20 44 17 79 61  64 64 3d 34 2a 28 79 73  |in. D.yadd=4*(ys|
00004c30  69 7a 65 2f 31 30 32 34  29 0d 20 4e 0e 79 6d 69  |ize/1024). N.ymi|
00004c40  6e 2d 3d 79 61 64 64 0d  20 58 0e 79 6d 61 78 2d  |n-=yadd. X.ymax-|
00004c50  3d 79 61 64 64 0d 20 62  0c c9 22 58 22 2c 22 78  |=yadd. b.."X","x|
00004c60  22 0d 20 6c 17 21 73 63  72 6f 6c 53 3d 73 63 72  |". l.!scrolS=scr|
00004c70  6f 6c 6c 73 74 6f 72 65  0d 20 76 0b 73 63 72 6f  |ollstore. v.scro|
00004c80  25 3d 31 0d 20 80 0e 4c  25 3d 78 6c 69 6d 69 74  |%=1. ..L%=xlimit|
00004c90  25 0d 20 8a 0d 78 6c 69  6d 69 74 25 3d 34 0d 20  |%. ..xlimit%=4. |
00004ca0  94 0a 4d 3d 78 6d 69 6e  0d 20 9e 0a 4e 3d 78 6d  |..M=xmin. ..N=xm|
00004cb0  61 78 0d 20 a8 19 78 6d  61 78 3d 78 6d 61 78 2b  |ax. ..xmax=xmax+|
00004cc0  28 78 6d 61 78 2d 78 6d  69 6e 29 0d 20 b2 0a 78  |(xmax-xmin). ..x|
00004cd0  6d 69 6e 3d 4e 0d 20 bc  15 f2 66 72 61 63 5f 73  |min=N. ...frac_s|
00004ce0  65 74 61 73 73 65 6d 76  65 72 0d 20 c6 0e 78 6c  |etassemver. ..xl|
00004cf0  69 6d 69 74 25 3d 4c 25  0d 20 d0 0a d6 6a 75 6c  |imit%=L%. ...jul|
00004d00  69 61 0d 20 da 10 d6 73  63 72 6f 6c 6c 72 69 67  |ia. ...scrollrig|
00004d10  68 74 0d 20 e4 06 c8 96  0d 20 ee 0f d6 70 6c 6f  |ht. ..... ...plo|
00004d20  74 73 70 72 69 74 65 0d  20 f8 0a 78 6d 69 6e 3d  |tsprite. ..xmin=|
00004d30  4d 0d 21 02 0a 78 6d 61  78 3d 4e 0d 21 0c 13 78  |M.!..xmax=N.!..x|
00004d40  73 69 7a 65 3d 78 6d 61  78 2d 78 6d 69 6e 0d 21  |size=xmax-xmin.!|
00004d50  16 19 78 61 64 64 3d 34  2a 34 2a 28 78 73 69 7a  |..xadd=4*4*(xsiz|
00004d60  65 2f 31 30 32 34 29 0d  21 20 0e 78 6d 69 6e 2b  |e/1024).! .xmin+|
00004d70  3d 78 61 64 64 0d 21 2a  0e 78 6d 61 78 2b 3d 78  |=xadd.!*.xmax+=x|
00004d80  61 64 64 0d 21 34 0b 73  63 72 6f 25 3d 30 0d 21  |add.!4.scro%=0.!|
00004d90  3e 16 21 73 63 72 6f 6c  53 3d 69 6d 61 67 65 73  |>.!scrolS=images|
00004da0  74 6f 72 65 0d 21 48 0c  c9 22 7a 22 2c 22 5a 22  |tore.!H.."z","Z"|
00004db0  0d 21 52 17 21 73 63 72  6f 6c 53 3d 73 63 72 6f  |.!R.!scrolS=scro|
00004dc0  6c 6c 73 74 6f 72 65 0d  21 5c 0b 73 63 72 6f 25  |llstore.!\.scro%|
00004dd0  3d 31 0d 21 66 0e 4c 25  3d 78 6c 69 6d 69 74 25  |=1.!f.L%=xlimit%|
00004de0  0d 21 70 0d 78 6c 69 6d  69 74 25 3d 34 0d 21 7a  |.!p.xlimit%=4.!z|
00004df0  13 78 73 69 7a 65 3d 78  6d 61 78 2d 78 6d 69 6e  |.xsize=xmax-xmin|
00004e00  0d 21 84 19 78 61 64 64  3d 34 2a 34 2a 28 78 73  |.!..xadd=4*4*(xs|
00004e10  69 7a 65 2f 31 30 32 34  29 0d 21 8e 0e 78 6d 69  |ize/1024).!..xmi|
00004e20  6e 2d 3d 78 61 64 64 0d  21 98 0e 78 6d 61 78 2d  |n-=xadd.!..xmax-|
00004e30  3d 78 61 64 64 0d 21 a2  15 f2 66 72 61 63 5f 73  |=xadd.!...frac_s|
00004e40  65 74 61 73 73 65 6d 76  65 72 0d 21 ac 0e 78 6c  |etassemver.!..xl|
00004e50  69 6d 69 74 25 3d 4c 25  0d 21 b6 0a d6 6a 75 6c  |imit%=L%.!...jul|
00004e60  69 61 0d 21 c0 0f d6 73  63 72 6f 6c 6c 6c 65 66  |ia.!...scrolllef|
00004e70  74 0d 21 ca 06 c8 96 0d  21 d4 0f d6 70 6c 6f 74  |t.!.....!...plot|
00004e80  73 70 72 69 74 65 0d 21  de 0b 73 63 72 6f 25 3d  |sprite.!..scro%=|
00004e90  30 0d 21 e8 16 21 73 63  72 6f 6c 53 3d 69 6d 61  |0.!..!scrolS=ima|
00004ea0  67 65 73 74 6f 72 65 0d  21 f2 05 cb 0d 21 fc 1e  |gestore.!....!..|
00004eb0  e7 28 42 25 80 20 31 29  3d 31 80 20 53 25 3c 31  |.(B%. 1)=1. S%<1|
00004ec0  30 32 34 8c 53 25 2b 3d  31 36 0d 22 06 1d e7 28  |024.S%+=16."...(|
00004ed0  42 25 80 20 34 29 3d 34  80 20 53 25 3e 32 35 36  |B%. 4)=4. S%>256|
00004ee0  8c 53 25 2d 3d 31 36 0d  22 10 22 fd 28 42 25 80  |.S%-=16.".".(B%.|
00004ef0  20 32 29 3d 32 84 20 6b  65 79 24 3d 22 52 22 84  | 2)=2. key$="R".|
00004f00  20 6b 65 79 24 3d 22 72  22 0d 22 1a 0d 78 6d 69  | key$="r"."..xmi|
00004f10  6e 3d 6e 65 77 58 0d 22  24 1b 78 6d 61 78 3d 6e  |n=newX."$.xmax=n|
00004f20  65 77 58 2b 78 73 69 7a  65 2a 53 25 2f 31 30 32  |ewX+xsize*S%/102|
00004f30  34 0d 22 2e 0d 79 6d 69  6e 3d 6e 65 77 59 0d 22  |4."..ymin=newY."|
00004f40  38 1b 79 6d 61 78 3d 6e  65 77 59 2b 79 73 69 7a  |8.ymax=newY+ysiz|
00004f50  65 2a 53 25 2f 31 30 32  34 0d 22 42 0c f2 72 6f  |e*S%/1024."B..ro|
00004f60  75 6e 64 6b 73 0d 22 4c  1a 3d ac 28 6b 65 79 24  |undks."L.=.(key$|
00004f70  3d 22 52 22 84 20 6b 65  79 24 3d 22 72 22 29 0d  |="R". key$="r").|
00004f80  22 56 10 dd f2 66 72 61  63 5f 6a 75 6c 69 61 0d  |"V...frac_julia.|
00004f90  22 60 0e e7 66 61 73 74  70 25 3d 31 8c 0d 22 6a  |"`..fastp%=1.."j|
00004fa0  32 c8 99 22 4f 53 5f 55  70 64 61 74 65 4d 45 4d  |2.."OS_UpdateMEM|
00004fb0  43 22 2c 26 33 30 30 2c  26 37 30 30 b8 6f 6c 64  |C",&300,&700.old|
00004fc0  6d 65 6d 63 3a 62 6c 61  6e 6b 65 64 25 3d b9 0d  |memc:blanked%=..|
00004fd0  22 74 05 cc 0d 22 7e 14  c8 99 22 48 6f 75 72 67  |"t..."~..."Hourg|
00004fe0  6c 61 73 73 5f 4f 6e 22  0d 22 88 05 cd 0d 22 92  |lass_On"."....".|
00004ff0  0f f2 66 72 61 63 5f 61  73 73 65 6d 0d 22 9c 0c  |..frac_assem."..|
00005000  f1 8a 30 2c 32 39 29 3b  0d 22 a6 0a d6 6a 75 6c  |..0,29);."...jul|
00005010  69 61 0d 22 b0 16 f2 66  72 61 63 5f 70 72 69 6e  |ia."...frac_prin|
00005020  74 6f 70 74 69 6f 6e 73  0d 22 ba 06 c8 96 0d 22  |toptions."....."|
00005030  c4 0f d6 70 6c 6f 74 73  70 72 69 74 65 0d 22 ce  |...plotsprite.".|
00005040  0e e7 66 61 73 74 70 25  3d 31 8c 0d 22 d8 2d c8  |..fastp%=1..".-.|
00005050  99 22 4f 53 5f 55 70 64  61 74 65 4d 45 4d 43 22  |."OS_UpdateMEMC"|
00005060  2c 6f 6c 64 6d 65 6d 63  2c 26 37 30 30 3a 62 6c  |,oldmemc,&700:bl|
00005070  61 6e 6b 65 64 25 3d a3  0d 22 e2 05 cc 0d 22 ec  |anked%=.."....".|
00005080  17 c8 99 22 48 6f 75 72  67 6c 61 73 73 5f 53 6d  |..."Hourglass_Sm|
00005090  61 73 68 22 0d 22 f6 05  cd 0d 23 00 05 e1 0d 23  |ash"."....#....#|
000050a0  0a 10 dd f2 66 72 61 63  5f 61 73 73 65 6d 0d 23  |....frac_assem.#|
000050b0  14 0d e3 70 25 3d 30 b8  32 88 32 0d 23 1e 07 78  |...p%=0.2.2.#..x|
000050c0  3d 30 0d 23 28 07 79 3d  31 0d 23 32 08 75 75 3d  |=0.#(.y=1.#2.uu=|
000050d0  32 0d 23 3c 08 76 76 3d  33 0d 23 46 0f 73 78 79  |2.#<.vv=3.#F.sxy|
000050e0  3d 34 3a 73 79 78 3d 35  0d 23 50 0a 73 63 72 6e  |=4:syx=5.#P.scrn|
000050f0  3d 36 0d 23 5a 0b 64 65  70 74 68 3d 37 0d 23 64  |=6.#Z.depth=7.#d|
00005100  0d 63 31 3d 38 3a 63 32  3d 39 0d 23 6e 09 63 33  |.c1=8:c2=9.#n.c3|
00005110  3d 31 30 0d 23 78 08 75  3d 31 31 0d 23 82 08 76  |=10.#x.u=11.#..v|
00005120  3d 31 32 0d 23 8c 09 73  70 3d 31 33 0d 23 96 0b  |=12.#..sp=13.#..|
00005130  6c 69 6e 6b 3d 31 34 0d  23 a0 0c 50 25 3d 63 6f  |link=14.#..P%=co|
00005140  64 65 25 0d 23 aa 0b 5b  4f 50 54 20 70 25 0d 23  |de%.#..[OPT p%.#|
00005150  b4 0a 2e 6a 75 6c 69 61  0d 23 be 11 53 54 52 20  |...julia.#..STR |
00005160  73 70 2c 73 74 61 63 6b  53 0d 23 c8 12 53 54 52  |sp,stackS.#..STR|
00005170  20 6c 69 6e 6b 2c 6c 69  6e 6b 53 0d 23 d2 0f 4c  | link,linkS.#..L|
00005180  44 52 20 79 2c 69 6e 69  74 59 0d 23 dc 13 4c 44  |DR y,initY.#..LD|
00005190  52 20 73 63 72 6e 2c 73  63 72 6f 6c 53 0d 23 e6  |R scrn,scrolS.#.|
000051a0  14 73 75 62 20 73 63 72  6e 2c 73 63 72 6e 2c 23  |.sub scrn,scrn,#|
000051b0  31 0d 23 f0 13 6c 64 72  20 73 79 78 2c 79 6c 69  |1.#..ldr syx,yli|
000051c0  6d 69 74 53 0d 23 fa 13  a4 6a 75 6c 69 61 63 6f  |mitS.#...juliaco|
000051d0  6e 73 74 61 6e 74 73 0d  24 04 10 4c 44 52 20 75  |nstants.$..LDR u|
000051e0  75 2c 69 6e 63 58 53 0d  24 0e 10 4c 44 52 20 76  |u,incXS.$..LDR v|
000051f0  76 2c 69 6e 63 59 53 0d  24 18 0d a4 66 6f 75 72  |v,incYS.$...four|
00005200  64 28 31 29 0d 24 22 0a  2e 6c 6f 6f 70 59 0d 24  |d(1).$"..loopY.$|
00005210  2c 0f 4c 44 52 20 78 2c  69 6e 69 74 58 0d 24 36  |,.LDR x,initX.$6|
00005220  13 6c 64 72 20 73 78 79  2c 78 6c 69 6d 69 74 53  |.ldr sxy,xlimitS|
00005230  0d 24 40 0a 2e 6c 6f 6f  70 58 0d 24 4a 0a a4 73  |.$@..loopX.$J..s|
00005240  74 61 63 6b 0d 24 54 0b  4d 4f 56 20 75 2c 78 0d  |tack.$T.MOV u,x.|
00005250  24 5e 0b 4d 4f 56 20 76  2c 79 0d 24 68 15 4d 4f  |$^.MOV v,y.$h.MO|
00005260  56 20 64 65 70 74 68 2c  23 6c 69 6d 69 74 25 0d  |V depth,#limit%.|
00005270  24 72 0d a4 66 6f 75 72  64 28 32 29 0d 24 7c 14  |$r..fourd(2).$|.|
00005280  a4 6d 61 6e 64 6c 65 63  6f 6e 73 74 61 6e 74 73  |.mandleconstants|
00005290  0d 24 86 09 2e 6c 6f 6f  70 0d 24 90 12 4d 4f 56  |.$...loop.$..MOV|
000052a0  20 75 2c 75 2c 41 53 52  23 26 45 0d 24 9a 0e 4d  | u,u,ASR#&E.$..M|
000052b0  55 4c 20 75 75 2c 75 2c  75 0d 24 a4 12 4d 4f 56  |UL uu,u,u.$..MOV|
000052c0  20 76 2c 76 2c 41 53 52  23 26 45 0d 24 ae 0e 4d  | v,v,ASR#&E.$..M|
000052d0  55 4c 20 76 76 2c 76 2c  76 0d 24 b8 13 6d 6f 76  |UL vv,v,v.$..mov|
000052e0  20 76 76 2c 76 76 2c 6c  73 6c 23 31 0d 24 c2 0d  | vv,vv,lsl#1.$..|
000052f0  a4 66 6f 75 72 64 28 33  29 0d 24 cc 0d 6d 75 6c  |.fourd(3).$..mul|
00005300  20 76 2c 75 2c 76 0d 24  d6 0d a4 66 6f 75 72 64  | v,u,v.$...fourd|
00005310  28 34 29 0d 24 e0 14 43  4d 50 20 75 2c 23 26 31  |(4).$..CMP u,#&1|
00005320  30 30 30 30 30 30 30 0d  24 ea 0c 42 47 45 20 65  |0000000.$..BGE e|
00005330  78 69 74 0d 24 f4 0d a4  66 6f 75 72 64 28 35 29  |xit.$...fourd(5)|
00005340  0d 24 fe 15 52 53 42 20  75 2c 76 76 2c 75 75 2c  |.$..RSB u,vv,uu,|
00005350  6c 73 6c 23 31 0d 25 08  14 41 44 44 20 76 2c 63  |lsl#1.%..ADD v,c|
00005360  32 2c 76 2c 4c 53 4c 23  32 0d 25 12 0e 41 44 44  |2,v,LSL#2.%..ADD|
00005370  20 75 2c 75 2c 63 31 0d  25 1c 17 53 55 42 53 20  | u,u,c1.%..SUBS |
00005380  64 65 70 74 68 2c 64 65  70 74 68 2c 23 31 0d 25  |depth,depth,#1.%|
00005390  26 0c 42 4e 45 20 6c 6f  6f 70 0d 25 30 09 2e 65  |&.BNE loop.%0..e|
000053a0  78 69 74 0d 25 3a 0b a4  73 74 61 63 6b 32 0d 25  |xit.%:..stack2.%|
000053b0  44 19 53 54 52 42 20 64  65 70 74 68 2c 5b 73 63  |D.STRB depth,[sc|
000053c0  72 6e 2c 23 31 5d 21 0d  25 4e 0e 41 44 44 20 78  |rn,#1]!.%N.ADD x|
000053d0  2c 78 2c 75 75 0d 25 58  13 53 55 42 53 20 73 78  |,x,uu.%X.SUBS sx|
000053e0  79 2c 73 78 79 2c 23 31  0d 25 62 0d 42 4e 45 20  |y,sxy,#1.%b.BNE |
000053f0  6c 6f 6f 70 58 0d 25 6c  0e 41 44 44 20 79 2c 79  |loopX.%l.ADD y,y|
00005400  2c 76 76 0d 25 76 0a a4  63 6f 75 6e 74 0d 25 80  |,vv.%v..count.%.|
00005410  13 53 55 42 53 20 73 79  78 2c 73 79 78 2c 23 31  |.SUBS syx,syx,#1|
00005420  0d 25 8a 0d 42 4e 45 20  6c 6f 6f 70 59 0d 25 94  |.%..BNE loopY.%.|
00005430  11 4c 44 52 20 73 70 2c  73 74 61 63 6b 53 0d 25  |.LDR sp,stackS.%|
00005440  9e 24 4c 44 52 20 6c 69  6e 6b 2c 6c 69 6e 6b 53  |.$LDR link,linkS|
00005450  5c 52 65 74 75 72 6e 20  73 74 61 63 6b 20 65 74  |\Return stack et|
00005460  63 2e 0d 25 a8 23 4d 4f  56 53 20 70 63 2c 6c 69  |c..%.#MOVS pc,li|
00005470  6e 6b 5c 51 75 69 74 20  6d 61 63 68 69 6e 65 20  |nk\Quit machine |
00005480  63 6f 64 65 2e 0d 25 b2  0f 2e 70 6c 6f 74 73 70  |code..%...plotsp|
00005490  72 69 74 65 0d 25 bc 11  53 54 52 20 73 70 2c 73  |rite.%..STR sp,s|
000054a0  74 61 63 6b 53 0d 25 c6  12 53 54 52 20 6c 69 6e  |tackS.%..STR lin|
000054b0  6b 2c 6c 69 6e 6b 53 0d  25 d0 0f 6d 6f 76 20 72  |k,linkS.%..mov r|
000054c0  30 2c 23 32 35 36 0d 25  da 16 4c 44 52 20 72 31  |0,#256.%..LDR r1|
000054d0  2c 69 6d 61 67 65 73 74  6f 72 65 53 0d 25 e4 10  |,imagestoreS.%..|
000054e0  4c 44 52 20 72 32 2c 73  63 72 6e 53 0d 25 ee 0d  |LDR r2,scrnS.%..|
000054f0  2e 70 6c 6f 74 6c 6f 6f  70 0d 25 f8 0f a4 6d 75  |.plotloop.%...mu|
00005500  6c 74 69 73 68 69 66 74  0d 26 02 11 61 64 64 20  |ltishift.&..add |
00005510  72 32 2c 72 32 2c 23 36  34 0d 26 0c 11 73 75 62  |r2,r2,#64.&..sub|
00005520  73 20 72 30 2c 72 30 2c  23 31 0d 26 16 10 62 6e  |s r0,r0,#1.&..bn|
00005530  65 20 70 6c 6f 74 6c 6f  6f 70 0d 26 20 11 4c 44  |e plotloop.& .LD|
00005540  52 20 73 70 2c 73 74 61  63 6b 53 0d 26 2a 24 4c  |R sp,stackS.&*$L|
00005550  44 52 20 6c 69 6e 6b 2c  6c 69 6e 6b 53 5c 52 65  |DR link,linkS\Re|
00005560  74 75 72 6e 20 73 74 61  63 6b 20 65 74 63 2e 0d  |turn stack etc..|
00005570  26 34 10 4d 4f 56 53 20  70 63 2c 6c 69 6e 6b 0d  |&4.MOVS pc,link.|
00005580  26 3e 0d 2e 73 63 61 6e  62 61 73 65 0d 26 48 11  |&>..scanbase.&H.|
00005590  53 54 52 20 73 70 2c 73  74 61 63 6b 53 0d 26 52  |STR sp,stackS.&R|
000055a0  12 53 54 52 20 6c 69 6e  6b 2c 6c 69 6e 6b 53 0d  |.STR link,linkS.|
000055b0  26 5c 0f 6d 6f 76 20 72  30 2c 23 32 35 36 0d 26  |&\.mov r0,#256.&|
000055c0  66 10 4c 44 52 20 72 31  2c 73 63 72 6e 53 0d 26  |f.LDR r1,scrnS.&|
000055d0  70 15 4c 44 52 20 72 32  2c 62 61 73 65 73 74 6f  |p.LDR r2,basesto|
000055e0  72 65 53 0d 26 7a 0d 2e  73 63 61 6e 6c 6f 6f 70  |reS.&z..scanloop|
000055f0  0d 26 84 0f a4 6d 75 6c  74 69 73 68 69 66 74 0d  |.&...multishift.|
00005600  26 8e 11 61 64 64 20 72  31 2c 72 31 2c 23 36 34  |&..add r1,r1,#64|
00005610  0d 26 98 11 73 75 62 73  20 72 30 2c 72 30 2c 23  |.&..subs r0,r0,#|
00005620  31 0d 26 a2 10 62 6e 65  20 73 63 61 6e 6c 6f 6f  |1.&..bne scanloo|
00005630  70 0d 26 ac 11 4c 44 52  20 73 70 2c 73 74 61 63  |p.&..LDR sp,stac|
00005640  6b 53 0d 26 b6 24 4c 44  52 20 6c 69 6e 6b 2c 6c  |kS.&.$LDR link,l|
00005650  69 6e 6b 53 5c 52 65 74  75 72 6e 20 73 74 61 63  |inkS\Return stac|
00005660  6b 20 65 74 63 2e 0d 26  c0 10 4d 4f 56 53 20 70  |k etc..&..MOVS p|
00005670  63 2c 6c 69 6e 6b 0d 26  ca 0d 2e 70 6c 6f 74 62  |c,link.&...plotb|
00005680  61 73 65 0d 26 d4 11 53  54 52 20 73 70 2c 73 74  |ase.&..STR sp,st|
00005690  61 63 6b 53 0d 26 de 12  53 54 52 20 6c 69 6e 6b  |ackS.&..STR link|
000056a0  2c 6c 69 6e 6b 53 0d 26  e8 0f 6d 6f 76 20 72 30  |,linkS.&..mov r0|
000056b0  2c 23 32 35 36 0d 26 f2  15 4c 44 52 20 72 31 2c  |,#256.&..LDR r1,|
000056c0  62 61 73 65 73 74 6f 72  65 53 0d 26 fc 10 4c 44  |basestoreS.&..LD|
000056d0  52 20 72 32 2c 73 63 72  6e 53 0d 27 06 0d 2e 62  |R r2,scrnS.'...b|
000056e0  61 73 65 6c 6f 6f 70 0d  27 10 0f a4 6d 75 6c 74  |aseloop.'...mult|
000056f0  69 73 68 69 66 74 0d 27  1a 11 61 64 64 20 72 32  |ishift.'..add r2|
00005700  2c 72 32 2c 23 36 34 0d  27 24 11 73 75 62 73 20  |,r2,#64.'$.subs |
00005710  72 30 2c 72 30 2c 23 31  0d 27 2e 10 62 6e 65 20  |r0,r0,#1.'..bne |
00005720  62 61 73 65 6c 6f 6f 70  0d 27 38 11 4c 44 52 20  |baseloop.'8.LDR |
00005730  73 70 2c 73 74 61 63 6b  53 0d 27 42 24 4c 44 52  |sp,stackS.'B$LDR|
00005740  20 6c 69 6e 6b 2c 6c 69  6e 6b 53 5c 52 65 74 75  | link,linkS\Retu|
00005750  72 6e 20 73 74 61 63 6b  20 65 74 63 2e 0d 27 4c  |rn stack etc..'L|
00005760  10 4d 4f 56 53 20 70 63  2c 6c 69 6e 6b 0d 27 56  |.MOVS pc,link.'V|
00005770  0d 2e 73 63 72 6f 6c 6c  75 70 0d 27 60 11 53 54  |..scrollup.'`.ST|
00005780  52 20 73 70 2c 73 74 61  63 6b 53 0d 27 6a 12 53  |R sp,stackS.'j.S|
00005790  54 52 20 6c 69 6e 6b 2c  6c 69 6e 6b 53 0d 27 74  |TR link,linkS.'t|
000057a0  0f 6d 6f 76 20 72 30 2c  23 32 35 35 0d 27 7e 10  |.mov r0,#255.'~.|
000057b0  4c 44 52 20 72 32 2c 73  63 72 6e 45 0d 27 88 12  |LDR r2,scrnE.'..|
000057c0  53 55 42 20 52 31 2c 52  32 2c 23 33 32 30 0d 27  |SUB R1,R2,#320.'|
000057d0  92 11 2e 73 63 72 6f 6c  6c 75 70 6c 6f 6f 70 0d  |...scrolluploop.|
000057e0  27 9c 0f a4 6d 75 6c 74  69 73 68 69 66 74 0d 27  |'...multishift.'|
000057f0  a6 0d 4c 44 52 20 52 33  2c 73 53 0d 27 b0 10 53  |..LDR R3,sS.'..S|
00005800  55 42 20 52 31 2c 52 31  2c 52 33 0d 27 ba 10 53  |UB R1,R1,R3.'..S|
00005810  55 42 20 52 32 2c 52 32  2c 52 33 0d 27 c4 11 73  |UB R2,R2,R3.'..s|
00005820  75 62 73 20 72 30 2c 72  30 2c 23 31 0d 27 ce 14  |ubs r0,r0,#1.'..|
00005830  62 6e 65 20 73 63 72 6f  6c 6c 75 70 6c 6f 6f 70  |bne scrolluploop|
00005840  0d 27 d8 16 4c 44 52 20  52 31 2c 69 6d 61 67 65  |.'..LDR R1,image|
00005850  73 74 6f 72 65 53 0d 27  e2 10 4c 44 52 20 52 32  |storeS.'..LDR R2|
00005860  2c 73 63 72 6e 53 0d 27  ec 0f a4 6d 75 6c 74 69  |,scrnS.'...multi|
00005870  73 68 69 66 74 0d 27 f6  11 4c 44 52 20 73 70 2c  |shift.'..LDR sp,|
00005880  73 74 61 63 6b 53 0d 28  00 12 4c 44 52 20 6c 69  |stackS.(..LDR li|
00005890  6e 6b 2c 6c 69 6e 6b 53  0d 28 0a 10 4d 4f 56 53  |nk,linkS.(..MOVS|
000058a0  20 70 63 2c 6c 69 6e 6b  0d 28 14 0f 2e 73 63 72  | pc,link.(...scr|
000058b0  6f 6c 6c 64 6f 77 6e 0d  28 1e 11 53 54 52 20 73  |olldown.(..STR s|
000058c0  70 2c 73 74 61 63 6b 53  0d 28 28 12 53 54 52 20  |p,stackS.((.STR |
000058d0  6c 69 6e 6b 2c 6c 69 6e  6b 53 0d 28 32 0f 6d 6f  |link,linkS.(2.mo|
000058e0  76 20 72 30 2c 23 32 35  35 0d 28 3c 10 4c 44 52  |v r0,#255.(<.LDR|
000058f0  20 72 32 2c 73 63 72 6e  53 0d 28 46 12 41 44 44  | r2,scrnS.(F.ADD|
00005900  20 52 31 2c 52 32 2c 23  33 32 30 0d 28 50 13 2e  | R1,R2,#320.(P..|
00005910  73 63 72 6f 6c 6c 64 6f  77 6e 6c 6f 6f 70 0d 28  |scrolldownloop.(|
00005920  5a 0f a4 6d 75 6c 74 69  73 68 69 66 74 0d 28 64  |Z..multishift.(d|
00005930  11 41 44 44 20 52 31 2c  52 31 2c 23 36 34 0d 28  |.ADD R1,R1,#64.(|
00005940  6e 11 41 44 44 20 52 32  2c 52 32 2c 23 36 34 0d  |n.ADD R2,R2,#64.|
00005950  28 78 11 73 75 62 73 20  72 30 2c 72 30 2c 23 31  |(x.subs r0,r0,#1|
00005960  0d 28 82 16 62 6e 65 20  73 63 72 6f 6c 6c 64 6f  |.(..bne scrolldo|
00005970  77 6e 6c 6f 6f 70 0d 28  8c 16 4c 44 52 20 52 31  |wnloop.(..LDR R1|
00005980  2c 69 6d 61 67 65 73 74  6f 72 65 53 0d 28 96 0f  |,imagestoreS.(..|
00005990  a4 6d 75 6c 74 69 73 68  69 66 74 0d 28 a0 11 4c  |.multishift.(..L|
000059a0  44 52 20 73 70 2c 73 74  61 63 6b 53 0d 28 aa 12  |DR sp,stackS.(..|
000059b0  4c 44 52 20 6c 69 6e 6b  2c 6c 69 6e 6b 53 0d 28  |LDR link,linkS.(|
000059c0  b4 10 4d 4f 56 53 20 70  63 2c 6c 69 6e 6b 0d 28  |..MOVS pc,link.(|
000059d0  be 10 2e 73 63 72 6f 6c  6c 72 69 67 68 74 0d 28  |...scrollright.(|
000059e0  c8 11 53 54 52 20 73 70  2c 73 74 61 63 6b 53 0d  |..STR sp,stackS.|
000059f0  28 d2 12 53 54 52 20 6c  69 6e 6b 2c 6c 69 6e 6b  |(..STR link,link|
00005a00  53 0d 28 dc 0f 6d 6f 76  20 72 30 2c 23 32 35 36  |S.(..mov r0,#256|
00005a10  0d 28 e6 10 4c 44 52 20  72 31 2c 73 63 72 6e 53  |.(..LDR r1,scrnS|
00005a20  0d 28 f0 10 41 44 44 20  52 31 2c 52 31 2c 23 34  |.(..ADD R1,R1,#4|
00005a30  0d 28 fa 16 4c 44 52 20  52 32 2c 69 6d 61 67 65  |.(..LDR R2,image|
00005a40  73 74 6f 72 65 53 0d 29  04 17 6c 64 72 20 72 33  |storeS.)..ldr r3|
00005a50  2c 73 63 72 6f 6c 6c 73  74 6f 72 65 53 0d 29 0e  |,scrollstoreS.).|
00005a60  10 73 75 62 20 72 33 2c  72 33 2c 23 34 0d 29 18  |.sub r3,r3,#4.).|
00005a70  14 2e 73 63 72 6f 6c 6c  72 69 67 68 74 6c 6f 6f  |..scrollrightloo|
00005a80  70 0d 29 22 10 a4 6d 75  6c 74 69 73 63 72 6f 6c  |p.)"..multiscrol|
00005a90  6c 0d 29 2c 13 6c 64 72  20 72 34 2c 5b 72 33 2c  |l.),.ldr r4,[r3,|
00005aa0  23 34 5d 21 0d 29 36 0f  73 74 72 20 72 34 2c 5b  |#4]!.)6.str r4,[|
00005ab0  72 32 5d 0d 29 40 10 41  44 44 20 52 32 2c 52 32  |r2].)@.ADD R2,R2|
00005ac0  2c 23 34 0d 29 4a 11 41  44 44 20 52 31 2c 52 31  |,#4.)J.ADD R1,R1|
00005ad0  2c 23 36 38 0d 29 54 11  73 75 62 73 20 72 30 2c  |,#68.)T.subs r0,|
00005ae0  72 30 2c 23 31 0d 29 5e  17 62 6e 65 20 73 63 72  |r0,#1.)^.bne scr|
00005af0  6f 6c 6c 72 69 67 68 74  6c 6f 6f 70 0d 29 68 11  |ollrightloop.)h.|
00005b00  4c 44 52 20 73 70 2c 73  74 61 63 6b 53 0d 29 72  |LDR sp,stackS.)r|
00005b10  12 4c 44 52 20 6c 69 6e  6b 2c 6c 69 6e 6b 53 0d  |.LDR link,linkS.|
00005b20  29 7c 10 4d 4f 56 53 20  70 63 2c 6c 69 6e 6b 0d  |)|.MOVS pc,link.|
00005b30  29 86 0f 2e 73 63 72 6f  6c 6c 6c 65 66 74 0d 29  |)...scrollleft.)|
00005b40  90 11 53 54 52 20 73 70  2c 73 74 61 63 6b 53 0d  |..STR sp,stackS.|
00005b50  29 9a 12 53 54 52 20 6c  69 6e 6b 2c 6c 69 6e 6b  |)..STR link,link|
00005b60  53 0d 29 a4 0f 6d 6f 76  20 72 30 2c 23 32 35 36  |S.)..mov r0,#256|
00005b70  0d 29 ae 10 4c 44 52 20  72 31 2c 73 63 72 6e 53  |.)..LDR r1,scrnS|
00005b80  0d 29 b8 16 4c 44 52 20  52 32 2c 69 6d 61 67 65  |.)..LDR R2,image|
00005b90  73 74 6f 72 65 53 0d 29  c2 17 6c 64 72 20 72 33  |storeS.)..ldr r3|
00005ba0  2c 73 63 72 6f 6c 6c 73  74 6f 72 65 53 0d 29 cc  |,scrollstoreS.).|
00005bb0  10 73 75 62 20 72 33 2c  72 33 2c 23 34 0d 29 d6  |.sub r3,r3,#4.).|
00005bc0  13 2e 73 63 72 6f 6c 6c  6c 65 66 74 6c 6f 6f 70  |..scrollleftloop|
00005bd0  0d 29 e0 13 6c 64 72 20  72 34 2c 5b 72 33 2c 23  |.)..ldr r4,[r3,#|
00005be0  34 5d 21 0d 29 ea 0f 73  74 72 20 72 34 2c 5b 72  |4]!.)..str r4,[r|
00005bf0  32 5d 0d 29 f4 10 41 44  44 20 52 32 2c 52 32 2c  |2].)..ADD R2,R2,|
00005c00  23 34 0d 29 fe 10 a4 6d  75 6c 74 69 73 63 72 6f  |#4.)...multiscro|
00005c10  6c 6c 0d 2a 08 11 41 44  44 20 52 31 2c 52 31 2c  |ll.*..ADD R1,R1,|
00005c20  23 36 38 0d 2a 12 11 73  75 62 73 20 72 30 2c 72  |#68.*..subs r0,r|
00005c30  30 2c 23 31 0d 2a 1c 16  62 6e 65 20 73 63 72 6f  |0,#1.*..bne scro|
00005c40  6c 6c 6c 65 66 74 6c 6f  6f 70 0d 2a 26 11 4c 44  |llleftloop.*&.LD|
00005c50  52 20 73 70 2c 73 74 61  63 6b 53 0d 2a 30 12 4c  |R sp,stackS.*0.L|
00005c60  44 52 20 6c 69 6e 6b 2c  6c 69 6e 6b 53 0d 2a 3a  |DR link,linkS.*:|
00005c70  10 4d 4f 56 53 20 70 63  2c 6c 69 6e 6b 0d 2a 44  |.MOVS pc,link.*D|
00005c80  1c 2e 69 6e 69 74 58 20  45 51 55 44 20 78 6d 69  |..initX EQUD xmi|
00005c90  6e 2a 28 31 3c 3c 32 37  29 0d 2a 4e 1c 2e 69 6e  |n*(1<<27).*N..in|
00005ca0  69 74 59 20 45 51 55 44  20 79 6d 61 78 2a 28 31  |itY EQUD ymax*(1|
00005cb0  3c 3c 32 37 29 0d 2a 58  1c 2e 79 6d 69 6e 53 20  |<<27).*X..yminS |
00005cc0  45 51 55 44 20 79 6d 69  6e 2a 28 31 3c 3c 32 37  |EQUD ymin*(1<<27|
00005cd0  29 0d 2a 62 1c 2e 78 6d  61 78 53 20 45 51 55 44  |).*b..xmaxS EQUD|
00005ce0  20 78 6d 61 78 2a 28 31  3c 3c 32 37 29 0d 2a 6c  | xmax*(1<<27).*l|
00005cf0  19 2e 69 6e 69 74 5a 20  45 51 55 44 20 63 2a 28  |..initZ EQUD c*(|
00005d00  31 3c 3c 32 37 29 0d 2a  76 19 2e 69 6e 69 74 54  |1<<27).*v..initT|
00005d10  20 45 51 55 44 20 64 2a  28 31 3c 3c 32 37 29 0d  | EQUD d*(1<<27).|
00005d20  2a 80 29 2e 69 6e 63 58  53 20 45 51 55 44 20 28  |*.).incXS EQUD (|
00005d30  28 78 6d 61 78 2d 78 6d  69 6e 29 2f 32 35 36 29  |(xmax-xmin)/256)|
00005d40  2a 28 31 3c 3c 32 37 29  0d 2a 8a 2a 2e 69 6e 63  |*(1<<27).*.*.inc|
00005d50  59 53 20 45 51 55 44 20  28 2d 28 79 6d 61 78 2d  |YS EQUD (-(ymax-|
00005d60  79 6d 69 6e 29 2f 32 35  36 29 2a 28 31 3c 3c 32  |ymin)/256)*(1<<2|
00005d70  37 29 0d 2a 94 16 2e 73  63 72 6e 53 20 45 51 55  |7).*...scrnS EQU|
00005d80  44 20 73 74 61 72 74 25  0d 2a 9e 20 2e 73 63 72  |D start%.*. .scr|
00005d90  6e 45 20 45 51 55 44 20  73 74 61 72 74 25 2b 28  |nE EQUD start%+(|
00005da0  33 32 30 2a 32 35 35 29  0d 2a a8 10 2e 73 53 20  |320*255).*...sS |
00005db0  45 51 55 44 20 35 37 36  0d 2a b2 11 2e 72 61 53  |EQUD 576.*...raS|
00005dc0  20 45 51 55 44 20 33 32  30 0d 2a bc 19 2e 78 6c  | EQUD 320.*...xl|
00005dd0  69 6d 69 74 53 20 45 51  55 44 20 78 6c 69 6d 69  |imitS EQUD xlimi|
00005de0  74 25 0d 2a c6 19 2e 79  6c 69 6d 69 74 53 20 45  |t%.*...ylimitS E|
00005df0  51 55 44 20 79 6c 69 6d  69 74 25 0d 2a d0 20 2e  |QUD ylimit%.*. .|
00005e00  69 6d 61 67 65 73 74 6f  72 65 53 20 45 51 55 44  |imagestoreS EQUD|
00005e10  20 69 6d 61 67 65 73 74  6f 72 65 0d 2a da 1e 2e  | imagestore.*...|
00005e20  62 61 73 65 73 74 6f 72  65 53 20 45 51 55 44 20  |basestoreS EQUD |
00005e30  62 61 73 65 73 74 6f 72  65 0d 2a e4 22 2e 73 63  |basestore.*.".sc|
00005e40  72 6f 6c 6c 73 74 6f 72  65 53 20 45 51 55 44 20  |rollstoreS EQUD |
00005e50  73 63 72 6f 6c 6c 73 74  6f 72 65 0d 2a ee 12 2e  |scrollstore.*...|
00005e60  73 74 61 63 6b 53 20 45  51 55 44 20 30 0d 2a f8  |stackS EQUD 0.*.|
00005e70  11 2e 6c 69 6e 6b 53 20  45 51 55 44 20 30 0d 2b  |..linkS EQUD 0.+|
00005e80  02 1a 2e 63 31 53 20 45  51 55 44 20 28 71 30 29  |...c1S EQUD (q0)|
00005e90  2a 28 31 3c 3c 32 37 29  0d 2b 0c 1a 2e 63 32 53  |*(1<<27).+...c2S|
00005ea0  20 45 51 55 44 20 28 71  31 29 2a 28 31 3c 3c 32  | EQUD (q1)*(1<<2|
00005eb0  37 29 0d 2b 16 1a 2e 63  33 53 20 45 51 55 44 20  |7).+...c3S EQUD |
00005ec0  28 71 32 29 2a 28 31 3c  3c 32 37 29 0d 2b 20 1a  |(q2)*(1<<27).+ .|
00005ed0  2e 63 34 53 20 45 51 55  44 20 28 71 33 29 2a 28  |.c4S EQUD (q3)*(|
00005ee0  31 3c 3c 32 37 29 0d 2b  2a 1b 2e 73 63 72 6f 6c  |1<<27).+*..scrol|
00005ef0  53 20 45 51 55 44 20 69  6d 61 67 65 73 74 6f 72  |S EQUD imagestor|
00005f00  65 0d 2b 34 18 2e 6e 75  6d 62 65 72 53 20 45 51  |e.+4..numberS EQ|
00005f10  55 44 20 6e 75 6d 62 65  72 0d 2b 3e 09 41 4c 49  |UD number.+>.ALI|
00005f20  47 4e 0d 2b 48 06 5d ed  0d 2b 52 05 e1 0d 2b 5c  |GN.+H.]..+R...+\|
00005f30  14 dd a4 6a 75 6c 69 61  63 6f 6e 73 74 61 6e 74  |...juliaconstant|
00005f40  73 0d 2b 66 0e e7 6a 75  6c 69 61 25 3d 31 8c 0d  |s.+f..julia%=1..|
00005f50  2b 70 0b 5b 4f 50 54 20  70 25 0d 2b 7a 0e 4c 44  |+p.[OPT p%.+z.LD|
00005f60  52 20 63 31 2c 63 31 53  0d 2b 84 0e 4c 44 52 20  |R c1,c1S.+..LDR |
00005f70  63 32 2c 63 32 53 0d 2b  8e 05 5d 0d 2b 98 05 cd  |c2,c2S.+..].+...|
00005f80  0d 2b a2 07 3d 22 22 0d  2b ac 15 dd a4 6d 61 6e  |.+..="".+....man|
00005f90  64 6c 65 63 6f 6e 73 74  61 6e 74 73 0d 2b b6 0e  |dleconstants.+..|
00005fa0  e7 6d 61 6e 64 79 25 3d  31 8c 0d 2b c0 0b 5b 4f  |.mandy%=1..+..[O|
00005fb0  50 54 20 70 25 0d 2b ca  0c 6d 6f 76 20 63 31 2c  |PT p%.+..mov c1,|
00005fc0  78 0d 2b d4 0c 6d 6f 76  20 63 32 2c 79 0d 2b de  |x.+..mov c2,y.+.|
00005fd0  05 5d 0d 2b e8 05 cd 0d  2b f2 07 3d 22 22 0d 2b  |.].+....+..="".+|
00005fe0  fc 0f dd a4 66 6f 75 72  64 28 66 25 29 0d 2c 06  |....fourd(f%).,.|
00005ff0  0e e7 66 6f 72 5f 64 25  3d 31 8c 0d 2c 10 09 c8  |..for_d%=1..,...|
00006000  8e 66 25 ca 0d 2c 1a 06  c9 31 0d 2c 24 0b 5b 4f  |.f%..,...1.,$.[O|
00006010  50 54 20 70 25 0d 2c 2e  0e 4c 44 52 20 63 33 2c  |PT p%.,..LDR c3,|
00006020  63 33 53 0d 2c 38 05 5d  0d 2c 42 06 c9 32 0d 2c  |c3S.,8.].,B..2.,|
00006030  4c 0b 5b 4f 50 54 20 70  25 0d 2c 56 11 4c 44 52  |L.[OPT p%.,V.LDR|
00006040  20 73 78 79 2c 69 6e 69  74 5a 0d 2c 60 11 4c 44  | sxy,initZ.,`.LD|
00006050  52 20 73 79 78 2c 69 6e  69 74 54 0d 2c 6a 10 4c  |R syx,initT.,j.L|
00006060  44 52 20 73 63 72 6e 2c  63 34 53 0d 2c 74 05 5d  |DR scrn,c4S.,t.]|
00006070  0d 2c 7e 06 c9 33 0d 2c  88 0b 5b 4f 50 54 20 70  |.,~..3.,..[OPT p|
00006080  25 0d 2c 92 16 6d 6f 76  20 73 78 79 2c 73 78 79  |%.,..mov sxy,sxy|
00006090  2c 61 73 72 23 26 45 0d  2c 9c 11 6d 75 6c 20 78  |,asr#&E.,..mul x|
000060a0  2c 73 78 79 2c 73 78 79  0d 2c a6 16 6d 6f 76 20  |,sxy,sxy.,..mov |
000060b0  73 79 78 2c 73 79 78 2c  61 73 72 23 26 45 0d 2c  |syx,syx,asr#&E.,|
000060c0  b0 11 6d 75 6c 20 79 2c  73 79 78 2c 73 79 78 0d  |..mul y,syx,syx.|
000060d0  2c ba 11 6d 75 6c 20 73  79 78 2c 75 2c 73 79 78  |,..mul syx,u,syx|
000060e0  0d 2c c4 11 6d 75 6c 20  73 78 79 2c 75 2c 73 78  |.,..mul sxy,u,sx|
000060f0  79 0d 2c ce 05 5d 0d 2c  d8 06 c9 34 0d 2c e2 0b  |y.,..].,...4.,..|
00006100  5b 4f 50 54 20 70 25 0d  2c ec 14 61 64 64 20 75  |[OPT p%.,..add u|
00006110  2c 76 76 2c 78 2c 6c 73  6c 23 31 0d 2c f6 13 61  |,vv,x,lsl#1.,..a|
00006120  64 64 20 75 2c 75 2c 79  2c 6c 73 6c 23 31 0d 2d  |dd u,u,y,lsl#1.-|
00006130  00 14 61 64 64 20 75 2c  75 2c 75 75 2c 6c 73 6c  |..add u,u,uu,lsl|
00006140  23 31 0d 2d 0a 05 5d 0d  2d 14 06 c9 35 0d 2d 1e  |#1.-..].-...5.-.|
00006150  0b 5b 4f 50 54 20 70 25  0d 2d 28 1a 61 64 64 20  |.[OPT p%.-(.add |
00006160  73 78 79 2c 73 63 72 6e  2c 73 78 79 2c 6c 73 6c  |sxy,scrn,sxy,lsl|
00006170  23 32 0d 2d 32 18 61 64  64 20 73 79 78 2c 63 33  |#2.-2.add syx,c3|
00006180  2c 73 79 78 2c 6c 73 6c  23 32 0d 2d 3c 15 61 64  |,syx,lsl#2.-<.ad|
00006190  64 20 76 76 2c 76 76 2c  78 2c 6c 73 6c 23 31 0d  |d vv,vv,x,lsl#1.|
000061a0  2d 46 15 61 64 64 20 76  76 2c 76 76 2c 79 2c 6c  |-F.add vv,vv,y,l|
000061b0  73 6c 23 31 0d 2d 50 05  5d 0d 2d 5a 05 cb 0d 2d  |sl#1.-P.].-Z...-|
000061c0  64 05 cc 0d 2d 6e 09 c8  8e 66 25 ca 0d 2d 78 06  |d...-n...f%..-x.|
000061d0  c9 34 0d 2d 82 0b 5b 4f  50 54 20 70 25 0d 2d 8c  |.4.-..[OPT p%.-.|
000061e0  15 61 64 64 20 75 2c 76  76 2c 75 75 2c 6c 73 6c  |.add u,vv,uu,lsl|
000061f0  23 31 0d 2d 96 05 5d 0d  2d a0 05 cb 0d 2d aa 05  |#1.-..].-....-..|
00006200  cd 0d 2d b4 07 3d 22 22  0d 2d be 0b dd a4 73 74  |..-..="".-....st|
00006210  61 63 6b 0d 2d c8 0e e7  66 6f 72 5f 64 25 3d 31  |ack.-...for_d%=1|
00006220  8c 0d 2d d2 0b 5b 4f 50  54 20 70 25 0d 2d dc 28  |..-..[OPT p%.-.(|
00006230  53 54 4d 46 44 20 28 73  70 29 21 2c 7b 73 78 79  |STMFD (sp)!,{sxy|
00006240  2c 73 79 78 2c 78 2c 79  2c 73 63 72 6e 2c 75 75  |,syx,x,y,scrn,uu|
00006250  2c 76 76 7d 0d 2d e6 05  5d 0d 2d f0 05 cc 0d 2d  |,vv}.-..].-....-|
00006260  fa 0b 5b 4f 50 54 20 70  25 0d 2e 04 17 53 54 4d  |..[OPT p%....STM|
00006270  46 44 20 28 73 70 29 21  2c 7b 75 75 2c 76 76 7d  |FD (sp)!,{uu,vv}|
00006280  0d 2e 0e 05 5d 0d 2e 18  05 cd 0d 2e 22 07 3d 22  |....].......".="|
00006290  22 0d 2e 2c 0c dd a4 73  74 61 63 6b 32 0d 2e 36  |"..,...stack2..6|
000062a0  0e e7 66 6f 72 5f 64 25  3d 31 8c 0d 2e 40 0b 5b  |..for_d%=1...@.[|
000062b0  4f 50 54 20 70 25 0d 2e  4a 28 4c 44 4d 46 44 20  |OPT p%..J(LDMFD |
000062c0  28 73 70 29 21 2c 7b 73  78 79 2c 73 79 78 2c 78  |(sp)!,{sxy,syx,x|
000062d0  2c 79 2c 73 63 72 6e 2c  75 75 2c 76 76 7d 0d 2e  |,y,scrn,uu,vv}..|
000062e0  54 05 5d 0d 2e 5e 05 cc  0d 2e 68 0b 5b 4f 50 54  |T.]..^....h.[OPT|
000062f0  20 70 25 0d 2e 72 17 4c  44 4d 46 44 20 28 73 70  | p%..r.LDMFD (sp|
00006300  29 21 2c 7b 75 75 2c 76  76 7d 0d 2e 7c 05 5d 0d  |)!,{uu,vv}..|.].|
00006310  2e 86 05 cd 0d 2e 90 07  3d 22 22 0d 2e 9a 0b dd  |........="".....|
00006320  a4 63 6f 75 6e 74 0d 2e  a4 21 e7 63 6f 75 6e 74  |.count...!.count|
00006330  25 3d 31 80 20 66 61 73  74 70 25 3d 30 80 20 73  |%=1. fastp%=0. s|
00006340  63 72 6f 25 3d 30 8c 0d  2e ae 0b 5b 4f 50 54 20  |cro%=0.....[OPT |
00006350  70 25 0d 2e b8 17 53 54  4d 46 44 20 28 73 70 29  |p%....STMFD (sp)|
00006360  21 2c 7b 72 30 2d 72 32  7d 0d 2e c2 0e 6d 6f 76  |!,{r0-r2}....mov|
00006370  20 72 30 2c 73 79 78 0d  2e cc 12 4c 44 52 20 72  | r0,syx....LDR r|
00006380  31 2c 6e 75 6d 62 65 72  53 0d 2e d6 0f 6d 6f 76  |1,numberS....mov|
00006390  20 72 32 2c 23 31 30 30  0d 2e e0 1b 53 57 49 22  | r2,#100....SWI"|
000063a0  4f 53 5f 42 69 6e 61 72  79 54 6f 44 65 63 69 6d  |OS_BinaryToDecim|
000063b0  61 6c 22 0d 2e ea 0d 6d  6f 76 20 72 30 2c 23 30  |al"....mov r0,#0|
000063c0  0d 2e f4 13 73 74 72 62  20 72 30 2c 5b 72 31 2c  |....strb r0,[r1,|
000063d0  72 32 5d 0d 2e fe 0d 6d  6f 76 20 72 30 2c 72 31  |r2]....mov r0,r1|
000063e0  0d 2f 08 12 53 57 49 22  4f 53 5f 57 72 69 74 65  |./..SWI"OS_Write|
000063f0  30 22 0d 2f 12 12 53 57  49 22 4f 53 5f 57 72 69  |0"./..SWI"OS_Wri|
00006400  74 65 53 22 0d 2f 1c 0b  45 51 55 42 20 33 32 0d  |teS"./..EQUB 32.|
00006410  2f 26 0b 45 51 55 42 20  33 32 0d 2f 30 0b 45 51  |/&.EQUB 32./0.EQ|
00006420  55 42 20 31 33 0d 2f 3a  0b 45 51 55 42 20 30 30  |UB 13./:.EQUB 00|
00006430  0d 2f 44 09 41 4c 49 47  4e 0d 2f 4e 17 4c 44 4d  |./D.ALIGN./N.LDM|
00006440  46 44 20 28 73 70 29 21  2c 7b 72 30 2d 72 32 7d  |FD (sp)!,{r0-r2}|
00006450  0d 2f 58 05 5d 0d 2f 62  05 cd 0d 2f 6c 07 3d 22  |./X.]./b.../l.="|
00006460  22 0d 2f 76 10 dd a4 6d  75 6c 74 69 73 68 69 66  |"./v...multishif|
00006470  74 0d 2f 80 0b 5b 4f 50  54 20 70 25 0d 2f 8a 16  |t./..[OPT p%./..|
00006480  6c 64 6d 69 61 20 72 31  21 2c 7b 72 33 2d 72 31  |ldmia r1!,{r3-r1|
00006490  32 7d 0d 2f 94 16 73 74  6d 69 61 20 72 32 21 2c  |2}./..stmia r2!,|
000064a0  7b 72 33 2d 72 31 32 7d  0d 2f 9e 16 6c 64 6d 69  |{r3-r12}./..ldmi|
000064b0  61 20 72 31 21 2c 7b 72  33 2d 72 31 32 7d 0d 2f  |a r1!,{r3-r12}./|
000064c0  a8 16 73 74 6d 69 61 20  72 32 21 2c 7b 72 33 2d  |..stmia r2!,{r3-|
000064d0  72 31 32 7d 0d 2f b2 16  6c 64 6d 69 61 20 72 31  |r12}./..ldmia r1|
000064e0  21 2c 7b 72 33 2d 72 31  32 7d 0d 2f bc 16 73 74  |!,{r3-r12}./..st|
000064f0  6d 69 61 20 72 32 21 2c  7b 72 33 2d 72 31 32 7d  |mia r2!,{r3-r12}|
00006500  0d 2f c6 16 6c 64 6d 69  61 20 72 31 21 2c 7b 72  |./..ldmia r1!,{r|
00006510  33 2d 72 31 32 7d 0d 2f  d0 16 73 74 6d 69 61 20  |3-r12}./..stmia |
00006520  72 32 21 2c 7b 72 33 2d  72 31 32 7d 0d 2f da 16  |r2!,{r3-r12}./..|
00006530  6c 64 6d 69 61 20 72 31  21 2c 7b 72 33 2d 72 31  |ldmia r1!,{r3-r1|
00006540  32 7d 0d 2f e4 16 73 74  6d 69 61 20 72 32 21 2c  |2}./..stmia r2!,|
00006550  7b 72 33 2d 72 31 32 7d  0d 2f ee 16 6c 64 6d 69  |{r3-r12}./..ldmi|
00006560  61 20 72 31 21 2c 7b 72  33 2d 72 31 32 7d 0d 2f  |a r1!,{r3-r12}./|
00006570  f8 16 73 74 6d 69 61 20  72 32 21 2c 7b 72 33 2d  |..stmia r2!,{r3-|
00006580  72 31 32 7d 0d 30 02 15  6c 64 6d 69 61 20 72 31  |r12}.0..ldmia r1|
00006590  21 2c 7b 72 33 2d 72 36  7d 0d 30 0c 15 73 74 6d  |!,{r3-r6}.0..stm|
000065a0  69 61 20 72 32 21 2c 7b  72 33 2d 72 36 7d 0d 30  |ia r2!,{r3-r6}.0|
000065b0  16 05 5d 0d 30 20 07 3d  22 22 0d 30 2a 11 dd a4  |..].0 .="".0*...|
000065c0  6d 75 6c 74 69 73 63 72  6f 6c 6c 0d 30 34 0b 5b  |multiscroll.04.[|
000065d0  6f 70 74 20 70 25 0d 30  3e 16 6c 64 6d 69 61 20  |opt p%.0>.ldmia |
000065e0  72 31 21 2c 7b 72 34 2d  72 31 32 7d 0d 30 48 16  |r1!,{r4-r12}.0H.|
000065f0  73 74 6d 69 61 20 72 32  21 2c 7b 72 34 2d 72 31  |stmia r2!,{r4-r1|
00006600  32 7d 0d 30 52 16 6c 64  6d 69 61 20 72 31 21 2c  |2}.0R.ldmia r1!,|
00006610  7b 72 34 2d 72 31 32 7d  0d 30 5c 16 73 74 6d 69  |{r4-r12}.0\.stmi|
00006620  61 20 72 32 21 2c 7b 72  34 2d 72 31 32 7d 0d 30  |a r2!,{r4-r12}.0|
00006630  66 16 6c 64 6d 69 61 20  72 31 21 2c 7b 72 34 2d  |f.ldmia r1!,{r4-|
00006640  72 31 32 7d 0d 30 70 16  73 74 6d 69 61 20 72 32  |r12}.0p.stmia r2|
00006650  21 2c 7b 72 34 2d 72 31  32 7d 0d 30 7a 16 6c 64  |!,{r4-r12}.0z.ld|
00006660  6d 69 61 20 72 31 21 2c  7b 72 34 2d 72 31 32 7d  |mia r1!,{r4-r12}|
00006670  0d 30 84 16 73 74 6d 69  61 20 72 32 21 2c 7b 72  |.0..stmia r2!,{r|
00006680  34 2d 72 31 32 7d 0d 30  8e 16 6c 64 6d 69 61 20  |4-r12}.0..ldmia |
00006690  72 31 21 2c 7b 72 34 2d  72 31 32 7d 0d 30 98 16  |r1!,{r4-r12}.0..|
000066a0  73 74 6d 69 61 20 72 32  21 2c 7b 72 34 2d 72 31  |stmia r2!,{r4-r1|
000066b0  32 7d 0d 30 a2 16 6c 64  6d 69 61 20 72 31 21 2c  |2}.0..ldmia r1!,|
000066c0  7b 72 34 2d 72 31 32 7d  0d 30 ac 16 73 74 6d 69  |{r4-r12}.0..stmi|
000066d0  61 20 72 32 21 2c 7b 72  34 2d 72 31 32 7d 0d 30  |a r2!,{r4-r12}.0|
000066e0  b6 16 6c 64 6d 69 61 20  72 31 21 2c 7b 72 34 2d  |..ldmia r1!,{r4-|
000066f0  72 31 32 7d 0d 30 c0 16  73 74 6d 69 61 20 72 32  |r12}.0..stmia r2|
00006700  21 2c 7b 72 34 2d 72 31  32 7d 0d 30 ca 05 5d 0d  |!,{r4-r12}.0..].|
00006710  30 d4 05 cd 0d 30 de 07  3d 22 22 0d 30 e8 0d dd  |0....0..="".0...|
00006720  f2 72 6f 75 6e 64 6b 73  0d 30 f2 19 71 30 3d 28  |.roundks.0..q0=(|
00006730  a8 28 2e 35 2b 31 30 30  2a 71 30 29 29 2f 31 30  |.(.5+100*q0))/10|
00006740  30 0d 30 fc 19 71 31 3d  28 a8 28 2e 35 2b 31 30  |0.0..q1=(.(.5+10|
00006750  30 2a 71 31 29 29 2f 31  30 30 0d 31 06 19 71 32  |0*q1))/100.1..q2|
00006760  3d 28 a8 28 2e 35 2b 31  30 30 2a 71 32 29 29 2f  |=(.(.5+100*q2))/|
00006770  31 30 30 0d 31 10 19 71  33 3d 28 a8 28 2e 35 2b  |100.1..q3=(.(.5+|
00006780  31 30 30 2a 71 33 29 29  2f 31 30 30 0d 31 1a 17  |100*q3))/100.1..|
00006790  63 3d 28 a8 28 2e 35 2b  31 30 30 2a 63 29 29 2f  |c=(.(.5+100*c))/|
000067a0  31 30 30 0d 31 24 17 64  3d 28 a8 28 2e 35 2b 31  |100.1$.d=(.(.5+1|
000067b0  30 30 2a 64 29 29 2f 31  30 30 0d 31 2e 1d 78 6d  |00*d))/100.1..xm|
000067c0  69 6e 3d 28 a8 28 2e 35  2b 31 30 30 2a 78 6d 69  |in=(.(.5+100*xmi|
000067d0  6e 29 29 2f 31 30 30 0d  31 38 1d 78 6d 61 78 3d  |n))/100.18.xmax=|
000067e0  28 a8 28 2e 35 2b 31 30  30 2a 78 6d 61 78 29 29  |(.(.5+100*xmax))|
000067f0  2f 31 30 30 0d 31 42 1d  79 6d 69 6e 3d 28 a8 28  |/100.1B.ymin=(.(|
00006800  2e 35 2b 31 30 30 2a 79  6d 69 6e 29 29 2f 31 30  |.5+100*ymin))/10|
00006810  30 0d 31 4c 1d 79 6d 61  78 3d 28 a8 28 2e 35 2b  |0.1L.ymax=(.(.5+|
00006820  31 30 30 2a 79 6d 61 78  29 29 2f 31 30 30 0d 31  |100*ymax))/100.1|
00006830  56 05 e1 0d 31 60 0d dd  a4 67 73 66 6d 28 6e 29  |V...1`...gsfm(n)|
00006840  0d 31 6a 09 ea 41 24 2c  42 0d 31 74 0c 42 3d 6e  |.1j..A$,B.1t.B=n|
00006850  2a 31 30 30 30 0d 31 7e  09 41 24 3d 22 22 0d 31  |*1000.1~.A$="".1|
00006860  88 15 e7 42 3c 30 20 41  24 2b 3d 22 2d 22 3a 42  |...B<0 A$+="-":B|
00006870  3d 94 42 0d 31 92 17 41  24 2b 3d bd 28 28 42 20  |=.B.1..A$+=.((B |
00006880  81 31 30 30 30 29 2b 34  38 29 0d 31 9c 0b 41 24  |.1000)+48).1..A$|
00006890  2b 3d 22 2e 22 0d 31 a6  1b 41 24 2b 3d bd 28 28  |+=".".1..A$+=.((|
000068a0  28 42 20 81 31 30 30 29  83 31 30 29 2b 34 38 29  |(B .100).10)+48)|
000068b0  0d 31 b0 1a 41 24 2b 3d  bd 28 28 28 42 20 81 31  |.1..A$+=.(((B .1|
000068c0  30 29 83 31 30 29 2b 34  38 29 0d 31 ba 07 3d 41  |0).10)+48).1..=A|
000068d0  24 0d 31 c4 16 dd f2 66  72 61 63 5f 73 65 74 61  |$.1....frac_seta|
000068e0  73 73 65 6d 76 65 72 0d  31 ce 17 21 69 6e 69 74  |ssemver.1..!init|
000068f0  58 3d 78 6d 69 6e 2a 28  31 3c 3c 32 37 29 0d 31  |X=xmin*(1<<27).1|
00006900  d8 17 21 69 6e 69 74 59  3d 79 6d 61 78 2a 28 31  |..!initY=ymax*(1|
00006910  3c 3c 32 37 29 0d 31 e2  14 21 69 6e 69 74 5a 3d  |<<27).1..!initZ=|
00006920  63 2a 28 31 3c 3c 32 37  29 0d 31 ec 14 21 69 6e  |c*(1<<27).1..!in|
00006930  69 74 54 3d 64 2a 28 31  3c 3c 32 37 29 0d 31 f6  |itT=d*(1<<27).1.|
00006940  24 21 69 6e 63 58 53 3d  28 28 78 6d 61 78 2d 78  |$!incXS=((xmax-x|
00006950  6d 69 6e 29 2f 32 35 36  29 2a 28 31 3c 3c 32 37  |min)/256)*(1<<27|
00006960  29 0d 32 00 25 21 69 6e  63 59 53 3d 28 2d 28 79  |).2.%!incYS=(-(y|
00006970  6d 61 78 2d 79 6d 69 6e  29 2f 32 35 36 29 2a 28  |max-ymin)/256)*(|
00006980  31 3c 3c 32 37 29 0d 32  0a 14 21 78 6c 69 6d 69  |1<<27).2..!xlimi|
00006990  74 53 3d 78 6c 69 6d 69  74 25 0d 32 14 14 21 79  |tS=xlimit%.2..!y|
000069a0  6c 69 6d 69 74 53 3d 79  6c 69 6d 69 74 25 0d 32  |limitS=ylimit%.2|
000069b0  1e 15 21 63 31 53 3d 28  71 30 29 2a 28 31 3c 3c  |..!c1S=(q0)*(1<<|
000069c0  32 37 29 0d 32 28 15 21  63 32 53 3d 28 71 31 29  |27).2(.!c2S=(q1)|
000069d0  2a 28 31 3c 3c 32 37 29  0d 32 32 15 21 63 33 53  |*(1<<27).22.!c3S|
000069e0  3d 28 71 32 29 2a 28 31  3c 3c 32 37 29 0d 32 3c  |=(q2)*(1<<27).2<|
000069f0  15 21 63 34 53 3d 28 71  33 29 2a 28 31 3c 3c 32  |.!c4S=(q3)*(1<<2|
00006a00  37 29 0d 32 46 05 e1 0d  ff                       |7).2F....|
00006a09