Home » Personal collection » Acorn hard disk » zipped_disks » 2000_apps_1 » apps1/Apps/!Mandel/!RunImage

apps1/Apps/!Mandel/!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 » Personal collection » Acorn hard disk » zipped_disks » 2000_apps_1
Filename: apps1/Apps/!Mandel/!RunImage
Read OK:
File size: 5BB1 bytes
Load address: 0000
Exec address: 0000
Duplicates

There are 2 duplicate copies of this file in the archive:

File contents
   10REM Mandelbrot Set Plotter
   20REM By Dominic Ford
   30:
   40ON ERROR PROCerror:END
   50:
   60PROCassemble
   70CALL start
   80END
   90:
  100DEFPROCerror
  110ON ERROR OFF
  120REPORT:PRINT" at line ";ERL
  130FORR=0TO5000:NEXT
  140ENDPROC
  150:
  160DEFPROCassemble
  170DIM space &30000
  180:
  190FOR p=0 TO 2 STEP 2
  200REM O%=space:P%=&8000
  210P%=space
  220[OPT p
  230:
  240\ TASK START-UP
  250.start          BL setup
  260                MOV R0,#3
  270                MOV R1,#&28000
  280                SWI "OS_ChangeDynamicArea"
  290                ADR R0,sload
  300                SWI "OS_CLI"
  310                ADR R0,startspr
  320                SWI "OS_CLI"
  330                SWI 256+22
  340                SWI 256+15
  350                MOV R0,#&ED
  360                MOV R1,#&80
  370                MOV R2,#&100
  380                SWI "OS_Plot"
  390.startsploop    SWI "OS_Mouse"
  400                CMP R2,#0
  410                BEQ startsploop
  420                MOV R0,#200
  430                ADR R1,taskno
  440                LDR R1,[R1]
  450                ADR R2,taskname
  460                SWI "Wimp_Initialise"
  470                MOV R0,#0
  480                ADR R1,sprinfo
  490                SWI "Wimp_CreateIcon"
  500                ADR R1,sprnum
  510                STR R0,[R1]
  520                MOV R0,#0
  530                SUB R0,R0,#1
  540                MOV R1,#0
  550                MOV R2,#0
  560                MOV R3,#1280
  570                MOV R4,#1024
  580                SWI "Wimp_ForceRedraw"
  590.mainloop       MOV R0,#0
  600                ADR R1,qbuffer
  610                SWI "Wimp_Poll"
  620                CMP R0,#17
  630                BEQ quitcheck
  640                CMP R0,#18
  650                BEQ quitcheck
  660.notquitted     CMP R0,#6
  670                BNE notactive
  680                ADR R1,qbuffer
  690                MOV R2,#12
  700                LDR R3,[R1,R2]
  710                ADD R3,R3,#2
  720                CMP R3,#0
  730                BNE notactive
  740                MOV R2,#&10
  750                LDR R3,[R1,R2]
  760                ADR R4,sprnum
  770                LDR R4,[R4]
  780                CMP R3,R4
  790                BNE notactive
  800.mousewait      SWI "OS_Mouse"
  810                CMP R2,#0
  820                BNE mousewait
  830                MOV R0,#0
  840                ADR R1,wimpstat
  850                STR R0,[R1]
  860                ADR R0,prev
  870                LDR R0,[R0]
  880                CMP R0,#0
  890                BEQ first
  900                BL restart
  910                B activec
  920.first          BL startup
  930.activec        BL mandelplot
  940                BL savescr
  950                MOV R0,#0
  960                SUB R0,R0,#1
  970                MOV R1,#0
  980                MOV R2,#0
  990                MOV R3,#1280
 1000                MOV R4,#1024
 1010                SWI "Wimp_ForceRedraw"
 1020.notactive      ADR R0,prev
 1030                LDR R0,[R0]
 1040                CMP R0,#1
 1050                BNE noextraplot
 1060                ADR R0,plotstat
 1070                LDR R0,[R0]
 1080                CMP R0,#1
 1090                BNE noextraplot
 1100                MOV R0,#1
 1110                ADR R1,wimpstat
 1120                STR R0,[R1]
 1130                BL contplot
 1140                ADR R1,plotstat
 1150                STR R0,[R1]
 1160.noextraplot    B mainloop
 1170.quitcheck      ADR R1,qbuffer
 1180                MOV R2,#&10
 1190                LDR R2,[R1,R2]
 1200                CMP R2,#0
 1210                BNE notquitted
 1220                SWI "OS_Exit"
 1230.sload          EQUS "SLOAD <Obey$Dir>.!Sprites":EQUD 0
 1240                ALIGN
 1250.taskname       EQUS "MandelPlot":EQUD 0
 1260                ALIGN
 1270.taskno         EQUD &4B534154
 1280                ALIGN
 1290.sprinfo        EQUD &FFFFFFFF:EQUD 0:EQUD 0:EQUD &64:EQUD &44
 1300                EQUD &1100302A:EQUD &6E616D21:EQUD &6C6564:EQUD &D
 1310                ALIGN
 1320.sprnum         EQUD 0
 1330                ALIGN
 1340.qbuffer        EQUS"                                             "
 1350                ALIGN
 1360.wimpstat       EQUD 0
 1370                ALIGN
 1380.startspr       EQUS "SCHOOSE startup":EQUD 0
 1390                ALIGN
 1400:
 1410\ MANDELBROT SET CALCULATION
 1420\ R1=x |R2=y
 1430:
 1440\ F0=xpos
 1450\ F1=ypos
 1460\ F2=u
 1470\ F3=v
 1480:
 1490.mandpix         STMFD R13!,{R14}
 1500                 MOV R11,#0
 1510                 ADR R0,xmin                    \ Get X co-ordinate
 1520EQUD &ECF00100 \ LDFE F0,[R0]
 1530                 ADR R0,xstep
 1540EQUD &ECF01100 \ LDFE F1,[R0]
 1550EQUD &EE0711D7 \ FLTE F7,R1
 1560EQUD &EE192107 \ MLFE F2,F1,F7
 1570EQUD &EE080102 \ ADFE F0,F0,F2
 1580:
 1590                 ADR R0,ymin                    \ Get Y co-ordinate
 1600EQUD &ECF01100 \ LDFE F1,[R0]
 1610                 ADR R0,ystep
 1620EQUD &ECF02100 \ LDFE F2,[R0]
 1630EQUD &EE0721D7 \ FLTE F7,R2
 1640EQUD &EE1A3107 \ MLFE F3,F2,F7
 1650EQUD &EE091103 \ ADFE F1,F1,F3
 1660:
 1670EQUD &EE08A100 \ MVFE F2,F0
 1680EQUD &EE08B101\  MVFE F3,F1
 1690.pixloop
 1700EQUD &EE1A4102 \ MLFE F4,F2,F2        \ Finished?
 1710EQUD &EE1B5103 \ MLFE F5,F3,F3
 1720EQUD &EE0C6105 \ ADFE F6,F4,F5
 1730EQUD &EED6F11C \ CMFE F6,#4           \ u^2+v^2>4 ?
 1740                 BCS found
 1750                 ADD R11,R11,#1
 1760                 ADR R3,maxit
 1770                 LDR R10,[R3]
 1780                 CMP R11,R10
 1790                 BEQ found
 1800EQUD &EE2C6105 \ SBFE F6,F4,F5                \ u=u^2-v^2+x
 1810EQUD &EE0E6100 \ ADFE F6,F6,F0
 1820EQUD &EE1A4103 \ MLFE F4,F2,F3                \ v=2uv+y
 1830EQUD &EE0C4104 \ ADFE F4,F4,F4
 1840EQUD &EE0C4101 \ ADFE F4,F4,F1
 1850EQUD &EE08A106 \ MVFE F2,F6
 1860EQUD &EE08B104 \ MVFE F3,F4
 1870                 B pixloop
 1880:
 1890.found
 1900MOV R0,R11
 1910LDMFD R13!,{PC}
 1920:
 1930.setup
 1940EQUD &EE088108 \ MVFE F0,#0
 1950EQUD &EE28010A \ SBFE F0,F0,#2
 1960                 ADR R0,xmin
 1970EQUD &ECE00100 \ STFE F0,[R0]
 1980                 ADR R0,ymin
 1990EQUD &ECE00100 \ STFE F0,[R0]
 2000EQUD &EE08910A \ MVFE F0,#2
 2010EQUD &EE49010C \ DVFE F0,F0,#4
 2020EQUD &EE48110C \ DVFE F0,F0,#4
 2030EQUD &EE49010C \ DVFE F0,F0,#4
 2040EQUD &EE48110C \ DVFE F0,F0,#4
 2050EQUD &EE49010A \ DVFE F0,F0,#2
 2060                 ADR R0,ystep
 2070EQUD &ECE00100 \ STFE F0,[R0]
 2080                 ADR R0,xstep
 2090EQUD &ECE00100 \ STFE F0,[R0]
 2100                 MOV PC,R14
 2110:
 2120.plotstat EQUD 0
 2130ALIGN
 2140.prev EQUD 0
 2150ALIGN
 2160:
 2170\ MAIN PLOT CONTROLLER
 2180:
 2190.plotter         STMFD R13!,{R14}
 2200                 MOV R9,#512
 2210                 ADR R2,step
 2220                 STR R9,[R2]
 2230.newstep         MOV R0,#0
 2240                 MOV R1,#0
 2250                 MOV R7,#0
 2260                 MOV R8,#0
 2270.pltloop         ADR R2,xstr
 2280                 STR R0,[R2]
 2290                 ADR R2,ystr
 2300                 STR R1,[R2]
 2310                 AND R2,R7,#1
 2320                 CMP R2,#0
 2330                 BNE plotpix
 2340                 AND R2,R8,#1
 2350                 CMP R2,#0
 2360                 BEQ plotted
 2370.plotpix         ADR R2,wimpstat
 2380                 LDR R3,[R2]
 2390                 CMP R3,#&100
 2400                 BEQ plotstop
 2410                 MOV R3,R3,ASL #1
 2420                 STR R3,[R2]
 2430                 MOV R2,R1
 2440                 MOV R1,R0
 2450                 BL mandpix
 2460                 BL point
 2470                 ADR R0,wimpstat
 2480                 LDR R0,[R0]
 2490                 CMP R0,#0
 2500                 BNE plotstop
 2510.plottedb        ADR R2,xstr
 2520                 LDR R0,[R2]
 2530                 ADR R2,ystr
 2540                 LDR R1,[R2]
 2550                 ADR R2,step
 2560                 LDR R9,[R2]
 2570                 ADD R0,R0,R9
 2580                 ADD R7,R7,#1
 2590                 CMP R0,#1024
 2600                 BNE pltloop
 2610                 MOV R0,#0
 2620                 MOV R7,#0
 2630                 CMP R9,#3
 2640                 BCS notfinal
 2650                 MOV R9,#4
 2660.notfinal        ADD R1,R1,R9
 2670                 ADD R8,R8,#1
 2680                 CMP R1,#1024
 2690                 BNE pltloop
 2700                 LDR R9,[R2]
 2710                 MOV R9,R9,LSR #1
 2720                 STR R9,[R2]
 2730                 CMP R9,#1
 2740                 BNE newstep
 2750                 MOV R0,#0
 2760                 LDMFD R13!,{PC}
 2770.plotted         ADR R0,wimpstat
 2780                 LDR R1,[R0]
 2790                 CMP R1,#1
 2800                 BEQ plottedb
 2810                 SWI "OS_Mouse"
 2820                 CMP R2,#0
 2830                 BEQ plottedb
 2840.plotstop        ADR R0,xpns
 2850                 STR R7,[R0]
 2860                 ADR R0,ypns
 2870                 STR R8,[R0]
 2880                 MOV R0,#1
 2890                 LDMFD R13!,{PC}
 2900:
 2910.contplot        STMFD R13!,{R14}
 2920                 ADR R0,xpns
 2930                 LDR R7,[R0]
 2940                 ADR R0,ypns
 2950                 LDR R8,[R0]
 2960                 B plottedb
 2970:
 2980\ SCREEN MEMORY HANDLING
 2990:
 3000.point           ADD R10,R0,#7
 3010                 AND R10,R10,#127
 3020                 ADR R2,xstr
 3030                 LDR R0,[R2]
 3040                 ADR R2,ystr
 3050                 LDR R1,[R2]
 3060                 MOV R11,#&280
 3070                 MOV R0,R0,LSR #1
 3080                 MOV R1,R1,LSR #2
 3090                 SUB R0,R11,R0
 3100                 ADR R11,wimpstat
 3110                 LDR R11,[R11]
 3120                 CMP R11,#0
 3130                 MOVEQ R11,#&2000000
 3140                 ADRNE R11,scread
 3150                 LDRNE R11,[R11]
 3160                 ADDNE R11,R11,#&28000
 3170                 SUB R11,R11,R0
 3180                 MOV R12,#&280
 3190                 MUL R2,R1,R12
 3200                 SUB R11,R11,R2
 3210                 ADR R0,step
 3220                 LDR R2,[R0]
 3230                 MOV R0,#0
 3240                 MOV R1,#0
 3250.squplop         LDRB R3,[R11,R0]
 3260                 AND R3,R3,#128
 3270                 ADD R3,R3,R10
 3280                 STRB R3,[R11,R0]
 3290                 ADD R0,R0,#1
 3300                 CMP R0,R2,LSR #1
 3310                 BCC squplop
 3320                 MOV R0,#0
 3330                 SUB R11,R11,#&280
 3340                 ADD R1,R1,#1
 3350                 CMP R1,R2,LSR #2
 3360                 BCC squplop
 3370                 MOV PC,R14
 3380:
 3390.mousebox        ADR R0,xboxa
 3400                 LDR R0,[R0]
 3410                 ADR R1,xboxb
 3420                 LDR R1,[R1]
 3430                 CMP R0,R1
 3440                 MOVCS R2,R0
 3450                 MOVCS R0,R1
 3460                 MOVCS R1,R2
 3470                 ADR R2,yboxa
 3480                 LDR R2,[R2]
 3490                 ADR R3,yboxb
 3500                 LDR R3,[R3]
 3510                 CMP R2,R3
 3520                 MOVCS R4,R2
 3530                 MOVCS R2,R3
 3540                 MOVCS R3,R4
 3550                 MOV R11,#&280
 3560                 MOV R4,R0,LSR #1
 3570                 MOV R5,R2,LSR #2
 3580                 SUB R4,R11,R4
 3590                 MOV R11,#&2000000
 3600                 SUB R11,R11,R4
 3610                 MOV R12,#&280
 3620                 MUL R6,R5,R12
 3630                 SUB R11,R11,R6
 3640                 MOV R4,#0
 3650                 MOV R5,R1
 3660                 SUB R5,R5,R0
 3670                 MOV R5,R5,LSR #1
 3680.xbotlop         LDRB R6,[R11,R4]
 3690                 EOR R6,R6,#128
 3700                 STRB R6,[R11,R4]
 3710                 ADD R4,R4,#1
 3720                 CMP R4,R5
 3730                 BCC xbotlop
 3740                 MOV R6,R3
 3750                 SUB R6,R6,R2
 3760                 MOV R6,R6,LSR #2
 3770                 MOV R4,#&280
 3780                 MUL R7,R6,R4
 3790                 MOV R6,R7
 3800                 MOV R4,#0
 3810.yleftlop        LDRB R7,[R11,-R4]
 3820                 EOR R7,R7,#128
 3830                 STRB R7,[R11,-R4]
 3840                 ADD R4,R4,#&280
 3850                 CMP R4,R6
 3860                 BCC yleftlop
 3870                 RSB R4,R5,#&280
 3880                 \SUB R6,R6,R5
 3890.yrightlop       LDRB R7,[R11,-R4]
 3900                 EOR R7,R7,#128
 3910                 STRB R7,[R11,-R4]
 3920                 ADD R4,R4,#&280
 3930                 CMP R4,R6
 3940                 BCC yrightlop
 3950                 \ADD R6,R6,R5
 3960                 SUB R11,R11,R6
 3970                 MOV R4,#0
 3980.xtoplop         LDRB R6,[R11,R4]
 3990                 EOR R6,R6,#128
 4000                 STRB R6,[R11,R4]
 4010                 ADD R4,R4,#1
 4020                 CMP R4,R5
 4030                 BCC xtoplop
 4040                 MOV PC,R14
 4050:
 4060.savescr         ADR R1,scrmem
 4070                 LDR R0,[R1]
 4080                 ADR R1,scread
 4090                 LDR R1,[R1]
 4100                 MOV R2,#0
 4110.savlop          LDR R3,[R0,R2]
 4120                 STR R3,[R1,R2]
 4130                 ADD R2,R2,#4
 4140                 CMP R2,#&28000
 4150                 BCC savlop
 4160                 MOV PC,R14
 4170.loadscr         ADR R0,scrmem
 4180                 LDR R1,[R0]
 4190                 ADR R0,scread
 4200                 LDR R0,[R0]
 4210                 MOV R2,#0
 4220                 B savlop
 4230:
 4240.xmin EQUD 0:EQUD0:EQUD0
 4250.ymin EQUD 0:EQUD0:EQUD0
 4260.xstep EQUD 0:EQUD0:EQUD0
 4270.ystep EQUD 0:EQUD0:EQUD0
 4280.scrmem EQUD &1FD8000
 4290.scread EQUD screen
 4300.maxit EQUD 25
 4310.xstr EQUD 0
 4320.ystr EQUD 0
 4330.xpns EQUD 0
 4340.ypns EQUD 0
 4350.step EQUD 0
 4360.xboxa EQUD 0
 4370.xboxb EQUD 0
 4380.yboxa EQUD 0
 4390.yboxb EQUD 0
 4400:
 4410.startup STMFD R13!,{R14}
 4420         SWI 256+22
 4430         SWI 256+15
 4440         MOV R0,#106
 4450         MOV R1,#1
 4460         SWI "OS_Byte"
 4470         SWI 256+23
 4480         SWI 256+1
 4490         SWI 256
 4500         SWI 256
 4510         SWI 256
 4520         SWI 256
 4530         SWI 256
 4540         SWI 256
 4550         SWI 256
 4560         SWI 256
 4570         ADR R0,schoose
 4580         SWI "OS_CLI"
 4590         MOV R0,#&ED
 4600         MOV R1,#1024
 4610         ADR R2,ploty
 4620         LDR R2,[R2]
 4630         SWI "OS_Plot"
 4640         SWI "OS_WriteS"
 4650         EQUB17:EQUB255:EQUB17:EQUB32
 4660         EQUB31:EQUB64:EQUB10:EQUS"Zoom In         "
 4670         EQUB31:EQUB64:EQUB12:EQUS"Reset           "
 4680         EQUB17:EQUB8
 4690         EQUB31:EQUB64:EQUB16:EQUS"Iterations      "
 4700         EQUB31:EQUB64:EQUB18:EQUS"Colour Cycling  "
 4710         EQUB31:EQUB64:EQUB20:EQUS"Save Screen     "
 4720         EQUB17:EQUB6
 4730         EQUB31:EQUB64:EQUB28:EQUS"Desktop         "
 4740         EQUB31:EQUB64:EQUB30:EQUS"Quit Program    "
 4750         EQUB17:EQUB128:EQUB0
 4760         ALIGN
 4770         BL plotter
 4780         ADR R1,plotad
 4790         LDR R1,[R1]
 4800         STR R0,[R1]
 4810         MOV R0,#1
 4820         ADR R1,prevad
 4830         LDR R1,[R1]
 4840         STR R0,[R1]
 4850         LDMFD R13!,{PC}
 4860.restart STMFD R13!,{R14}
 4870         SWI 256+22
 4880         SWI 256+15
 4890         MOV R0,#106
 4900         MOV R1,#1
 4910         SWI "OS_Byte"
 4920         SWI 256+23
 4930         SWI 256+1
 4940         SWI 256
 4950         SWI 256
 4960         SWI 256
 4970         SWI 256
 4980         SWI 256
 4990         SWI 256
 5000         SWI 256
 5010         SWI 256
 5020         BL loadscr
 5030         LDMFD R13!,{PC}
 5040.mandelplot
 5050         STMFD R13!,{R14}
 5060.mploop  ADR R0,plotad
 5070         LDR R0,[R0]
 5080         LDR R0,[R0]
 5090         CMP R0,#1
 5100         BNE noplot
 5110         BL contplot
 5120         ADR R1,plotad
 5130         LDR R1,[R1]
 5140         STR R0,[R1]
 5150.noplot  SWI "OS_Mouse"
 5160         CMP R2,#0
 5170         BEQ mploop
 5180         CMP R0,#1024
 5190         BCC boxout
 5200         B function
 5210.schoose EQUS "SCHOOSE logo":EQUD 0
 5220         ALIGN
 5230.ploty   EQUD 775
 5240         ALIGN
 5250:
 5260.boxout  BL mousebox
 5270         BL savescr
 5280         SWI"OS_Mouse"
 5290         ADR R2,xboxa
 5300         STR R0,[R2]
 5310         ADR R2,yboxa
 5320         STR R1,[R2]
 5330.boxoutl CMP R0,#1024
 5340         MOVCS R0,#1024
 5350         SUBCS R0,R0,#1
 5360         ADR R2,xboxb
 5370         STR R0,[R2]
 5380         ADR R2,yboxb
 5390         STR R1,[R2]
 5400         ADR R2,wimpad
 5410         LDR R2,[R2]
 5420         MOV R0,#1
 5430         STR R0,[R2]
 5440         BL mousebox
 5450         BL contplot
 5460         BL mousebox
 5470         SWI "OS_Mouse"
 5480         CMP R2,#0
 5490         BNE boxoutl
 5500         ADR R2,wimpad
 5510         LDR R2,[R2]
 5520         MOV R0,#0
 5530         STR R0,[R2]
 5540         BL loadscr
 5550         BL mousebox
 5560         B mploop
 5570.plotad  EQUD plotstat
 5580.wimpad  EQUD wimpstat
 5590.prevad  EQUD prev
 5600.function MOV R1,R1,LSR #5
 5610         CMP R1,#1
 5620         BEQ quittask
 5630         CMP R1,#3
 5640         BEQ desktop
 5650         CMP R1,#11
 5660         BEQ scrstore
 5670         CMP R1,#13
 5680         BEQ colcycle
 5690         CMP R1,#15
 5700         BEQ iterate
 5710         CMP R1,#19
 5720         BEQ resetpos
 5730         CMP R1,#21
 5740         BEQ zoomin
 5750         B mploop
 5760:
 5770\               QUIT FUNCTIONS
 5780:
 5790.desktop ADR R0,restcols
 5800         SWI "OS_CLI"
 5810         LDMFD R13!,{PC}
 5820:
 5830.quittask BL savescr
 5840         SWI 256+31
 5850         SWI 256
 5860         SWI 256
 5870         SWI "OS_WriteS"
 5880         EQUB16:EQUB17:EQUB127:EQUS"Quit: Are You Sure?"
 5890         EQUB13:EQUB10:EQUB13:EQUB10
 5900         EQUS"Click LEFT to quit; RIGHT to cancel.":EQUB0
 5910         ALIGN
 5920.stopcl  SWI"OS_Mouse"
 5930         CMP R2,#0
 5940         BNE stopcl
 5950.quitlop SWI"OS_Mouse"
 5960         CMP R2,#4
 5970         BEQ quitokay
 5980         CMP R2,#1
 5990         BLEQ loadscr
 6000         BEQ mploop
 6010         B quitlop
 6020.quitokay LDMFD R13!,{R0}
 6030         ADR R0,restcols
 6040         SWI "OS_CLI"
 6050         MOV R0,#0
 6060         SUB R0,R0,#1
 6070         MOV R1,#0
 6080         MOV R2,#0
 6090         MOV R3,#1280
 6100         MOV R4,#1024
 6110         SWI "Wimp_ForceRedraw"
 6120         SWI "OS_Exit"
 6130.restcols EQUS "<Obey$Dir>.!Palette":EQUD0:ALIGN
 6140:
 6150\        ZOOM FUNCTIONS
 6160:
 6170.resetpos        BL setup
 6180                 BL plotter
 6190                 B mploop
 6200:
 6210.zoomin          SWI "OS_Mouse"
 6220                 CMP R2,#0
 6230                 BNE zoomin
 6240                 ADR R0,xminad
 6250                 LDR R0,[R0]
 6260                 ADR R1,xstepad
 6270                 LDR R1,[R1]
 6280                 ADR R2,yminad
 6290                 LDR R2,[R2]
 6300                 ADR R3,ystepad
 6310                 LDR R3,[R3]
 6320                 ADR R4,xboxat
 6330                LDR R4,[R4]
 6340                 LDR R4,[R4]
 6350                 ADR R5,xboxbt
 6360                 LDR R5,[R5]
 6370                 LDR R5,[R5]
 6380                 CMP R4,R5
 6390                 MOVCS R6,R4
 6400                 MOVCS R4,R5
 6410                 MOVCS R5,R6
 6420                 ADR R6,yboxat
 6430                 LDR R6,[R6]
 6440                 LDR R6,[R6]
 6450                 ADR R7,yboxbt     \ R0=xmin
 6460                 LDR R7,[R7]       \ R1=xstep
 6470                 LDR R7,[R7]       \ R2=ymin
 6480                 CMP R6,R7         \ R3=ystep
 6490                 MOVCS R8,R6       \ R4=xboxa
 6500                 MOVCS R6,R7       \ R5=xboxb
 6510                 MOVCS R7,R8       \ R6=yboxa
 6520EQUD &ECF00100 \ LDFE F0,[R0]      \ R7=yboxb
 6530EQUD &ECF11100 \ LDFE F1,[R1]
 6540EQUD &EE0241D2 \ FLTE F2,R4
 6550EQUD &EE1A3101 \ MLFE F3,F2,F1
 6560EQUD &EE0B3100 \ ADFE F3,F3,F0
 6570EQUD &EE0451D4 \ FLTE F4,R5
 6580EQUD &EE1C5101 \ MLFE F5,F4,F1
 6590EQUD &EE0D5100 \ ADFE F5,F5,F0
 6600EQUD &EE2D5103 \ SBFE F5,F5,F3
 6610                 MOV R8,#1024
 6620EQUD &EE0681D6 \ FLTE F6,R8
 6630EQUD &EE4D7106 \ DVFE F7,F5,F6
 6640EQUD &ECE03100 \ STFE F3,[R0]
 6650EQUD &ECE17100 \ STFE F7,[R1]
 6660:
 6670EQUD &ECF20100 \ LDFE F0,[R2]
 6680EQUD &ECF31100 \ LDFE F1,[R3]
 6690EQUD &EE0261D2 \ FLTE F2,R6
 6700EQUD &EE1A3101 \ MLFE F3,F2,F1
 6710EQUD &EE0B3100 \ ADFE F3,F3,F0
 6720EQUD &EE0471D4 \ FLTE F4,R7
 6730EQUD &EE1C5101 \ MLFE F5,F4,F1
 6740EQUD &EE0D5100 \ ADFE F5,F5,F0
 6750EQUD &EE2D5103 \ SBFE F5,F5,F3
 6760EQUD &EE4D7106 \ DVFE F7,F5,F6
 6770EQUD &ECE23100 \ STFE F3,[R2]
 6780EQUD &ECE37100 \ STFE F7,[R3]
 6790                 BL plotter
 6800                 B mploop
 6810:
 6820.xminad          EQUD xmin
 6830.yminad          EQUD ymin
 6840.xstepad         EQUD xstep
 6850.ystepad         EQUD ystep
 6860.xboxat          EQUD xboxa
 6870.yboxat          EQUD yboxa
 6880.xboxbt          EQUD xboxb
 6890.yboxbt          EQUD yboxb
 6900:
 6910\ CHANGE MAXIMUM ITERATIONS
 6920.iterate         BL savescr
 6930                 SWI "OS_WriteS"
 6940                 EQUB31:EQUB1:EQUB1
 6950                 EQUB16:EQUB17:EQUB127:EQUS"Current Iterations: "
 6960                 EQUB 0
 6970                 ALIGN
 6980.iterloop        SWI "OS_WriteS"
 6990                 EQUB31:EQUB21:EQUB1
 7000.maxstr          EQUS "025"
 7010                 EQUB 0
 7020                 ALIGN
 7030.getkey          MOV R0,#&81
 7040                 MOV R1,#0
 7050                 MOV R2,#0
 7060                 SWI "OS_Byte"
 7070                 BCS getkey
 7080                 CMP R1,#13
 7090                 BEQ itergot
 7100                 CMP R1,#48
 7110                 BCC getkey
 7120                 CMP R1,#58
 7130                 BCS getkey
 7140                 ADR R0,maxstr
 7150                 LDRB R2,[R0,#1]
 7160                 STRB R2,[R0]
 7170                 LDRB R2,[R0,#2]
 7180                 STRB R2,[R0,#1]
 7190                 STRB R1,[R0,#2]
 7200                 B iterloop
 7210.itergot         ADR R0,maxstr
 7220                 LDRB R1,[R0]
 7230                 SUB R1,R1,#48
 7240                 MOV R2,#100
 7250                 MUL R3,R2,R1
 7260                 MOV R4,R3
 7270                 LDRB R1,[R0,#1]
 7280                 SUB R1,R1,#48
 7290                 MOV R2,#10
 7300                 MUL R3,R2,R1
 7310                 ADD R4,R4,R3
 7320                 LDRB R1,[R0,#2]
 7330                 SUB R1,R1,#48
 7340                 ADD R4,R4,R1
 7350                 ADR R0,maxiad
 7360                 LDR R0,[R0]
 7370                 STR R4,[R0]
 7380                 BL loadscr
 7390                 BL plotter
 7400                 B mploop
 7410.maxiad          EQUD maxit
 7420:
 7430\ COLOUR CYCLING
 7440:
 7450.colcycle        SWI "OS_Mouse"
 7460                 CMP R2,#0
 7470                 BNE colcycle
 7480                 BL savescr
 7490.cyloop          BL setcols
 7500                 MOV R0,#0
 7510.wastetime       ADD R0,R0,#1
 7520                 CMP R0,#&1000
 7530                 BNE wastetime
 7540                 SWI "OS_Mouse"
 7550                 CMP R2,#0
 7560                 BEQ cyloop
 7570                 SWI "OS_WriteS"
 7580                 EQUB22:EQUB15:EQUB0
 7590                 ALIGN
 7600                 MOV R0,#106
 7610                 MOV R1,#1
 7620                 SWI "OS_Byte"
 7630                 BL loadscr
 7640                 B mploop
 7650:
 7660.setcols         ADR R0,startcyc
 7670                 LDR R4,[R0]
 7680                 ADR R0,addoncyc
 7690                 LDR R5,[R0]
 7700                 MOV R6,#0
 7710.setloop         MOV R3,#0
 7720.setline         LDR R0,[R4]
 7730                 ADD R0,R0,R5
 7740                 STR R0,[R4]
 7750                 ADD R4,R4,#4
 7760                 ADD R3,R3,#1
 7770                 CMP R3,#&80
 7780                 BNE setline
 7790                 ADD R4,R4,#&80
 7800                 ADD R6,R6,#1
 7810                 CMP R6,#256
 7820                 BNE setloop
 7830                 MOV PC,R14
 7840.startcyc        EQUD &1FD8000
 7850.addoncyc        EQUD &01010101
 7860:
 7870\ SCREEN SAVE
 7880:
 7890.scrstore        ADR R0,ramdisc
 7900                 SWI "OS_CLI"
 7910                 ADR R0,scrsav
 7920                 SWI "OS_CLI"
 7930                 B mploop
 7940.ramdisc         EQUS"RAM":EQUD0
 7950.scrsav          EQUS"SCREENSAVE mandelscr":EQUD0
 7960:
 7970ALIGN
 7980.screen
 7990]
 8000NEXT
 8010REMOSCLI ("MEMORYI "+STR$~zoomin+" + 100"):END
 8020ENDPROC

� Mandelbrot Set Plotter
� By Dominic Ford
:
(� � �error:�
2:
<
�assemble
F� start
P�
Z:
d��error
n	� � �
x�:�" at line ";�
��R=0�5000:�
��
�:
���assemble
�� space &30000
�:
�� p=0 � 2 � 2
�� O%=space:P%=&8000
�P%=space
�
[OPT p
�:
�\ TASK START-UP
�.start          BL setup
                MOV R0,#3
"                MOV R1,#&28000
.                SWI "OS_ChangeDynamicArea"
"                 ADR R0,sload
,                 SWI "OS_CLI"
6#                ADR R0,startspr
@                 SWI "OS_CLI"
J                SWI 256+22
T                SWI 256+15
^                MOV R0,#&ED
h                MOV R1,#&80
r                 MOV R2,#&100
|!                SWI "OS_Plot"
�".startsploop    SWI "OS_Mouse"
�                CMP R2,#0
�#                BEQ startsploop
�                MOV R0,#200
�!                ADR R1,taskno
�                LDR R1,[R1]
�#                ADR R2,taskname
�)                SWI "Wimp_Initialise"
�                MOV R0,#0
�"                ADR R1,sprinfo
�)                SWI "Wimp_CreateIcon"
�!                ADR R1,sprnum
�                STR R0,[R1]
                MOV R0,#0
                 SUB R0,R0,#1
                MOV R1,#0
&                MOV R2,#0
0                 MOV R3,#1280
:                 MOV R4,#1024
D*                SWI "Wimp_ForceRedraw"
N.mainloop       MOV R0,#0
X"                ADR R1,qbuffer
b#                SWI "Wimp_Poll"
l                CMP R0,#17
v!                BEQ quitcheck
�                CMP R0,#18
�!                BEQ quitcheck
�.notquitted     CMP R0,#6
�!                BNE notactive
�"                ADR R1,qbuffer
�                MOV R2,#12
�"                LDR R3,[R1,R2]
�                 ADD R3,R3,#2
�                CMP R3,#0
�!                BNE notactive
�                MOV R2,#&10
�"                LDR R3,[R1,R2]
�!                ADR R4,sprnum
                LDR R4,[R4]
                CMP R3,R4
!                BNE notactive
 ".mousewait      SWI "OS_Mouse"
*                CMP R2,#0
4!                BNE mousewait
>                MOV R0,#0
H#                ADR R1,wimpstat
R                STR R0,[R1]
\                ADR R0,prev
f                LDR R0,[R0]
p                CMP R0,#0
z                BEQ first
�                BL restart
�                B activec
�.first          BL startup
�!.activec        BL mandelplot
�                BL savescr
�                MOV R0,#0
�                 SUB R0,R0,#1
�                MOV R1,#0
�                MOV R2,#0
�                 MOV R3,#1280
�                 MOV R4,#1024
�*                SWI "Wimp_ForceRedraw"
�.notactive      ADR R0,prev
                LDR R0,[R0]
                CMP R0,#1
#                BNE noextraplot
$#                ADR R0,plotstat
.                LDR R0,[R0]
8                CMP R0,#1
B#                BNE noextraplot
L                MOV R0,#1
V#                ADR R1,wimpstat
`                STR R0,[R1]
j                BL contplot
t#                ADR R1,plotstat
~                STR R0,[R1]
�.noextraplot    B mainloop
�".quitcheck      ADR R1,qbuffer
�                MOV R2,#&10
�"                LDR R2,[R1,R2]
�                CMP R2,#0
�"                BNE notquitted
�!                SWI "OS_Exit"
�;.sload          EQUS "SLOAD <Obey$Dir>.!Sprites":EQUD 0
�                ALIGN
�,.taskname       EQUS "MandelPlot":EQUD 0
�                ALIGN
�".taskno         EQUD &4B534154
                ALIGN

B.sprinfo        EQUD &FFFFFFFF:EQUD 0:EQUD 0:EQUD &64:EQUD &44
F                EQUD &1100302A:EQUD &6E616D21:EQUD &6C6564:EQUD &D
                ALIGN
(.sprnum         EQUD 0
2                ALIGN
<G.qbuffer        EQUS"                                             "
F                ALIGN
P.wimpstat       EQUD 0
Z                ALIGN
d1.startspr       EQUS "SCHOOSE startup":EQUD 0
n                ALIGN
x:
� \ MANDELBROT SET CALCULATION
�\ R1=x |R2=y
�:
�
\ F0=xpos
�
\ F1=ypos
�
\ F2=u
�
\ F3=v
�:
�%.mandpix         STMFD R13!,{R14}
�                 MOV R11,#0
�G                 ADR R0,xmin                    \ Get X co-ordinate
�!EQUD &ECF00100 \ LDFE F0,[R0]
�!                 ADR R0,xstep
!EQUD &ECF01100 \ LDFE F1,[R0]
EQUD &EE0711D7 \ FLTE F7,R1
"EQUD &EE192107 \ MLFE F2,F1,F7
""EQUD &EE080102 \ ADFE F0,F0,F2
,:
6G                 ADR R0,ymin                    \ Get Y co-ordinate
@!EQUD &ECF01100 \ LDFE F1,[R0]
J!                 ADR R0,ystep
T!EQUD &ECF02100 \ LDFE F2,[R0]
^EQUD &EE0721D7 \ FLTE F7,R2
h"EQUD &EE1A3107 \ MLFE F3,F2,F7
r"EQUD &EE091103 \ ADFE F1,F1,F3
|:
�EQUD &EE08A100 \ MVFE F2,F0
�EQUD &EE08B101\  MVFE F3,F1
�.pixloop
�5EQUD &EE1A4102 \ MLFE F4,F2,F2        \ Finished?
�"EQUD &EE1B5103 \ MLFE F5,F3,F3
�"EQUD &EE0C6105 \ ADFE F6,F4,F5
�7EQUD &EED6F11C \ CMFE F6,#4           \ u^2+v^2>4 ?
�                 BCS found
�#                 ADD R11,R11,#1
�!                 ADR R3,maxit
�!                 LDR R10,[R3]
�                  CMP R11,R10
�                 BEQ found
?EQUD &EE2C6105 \ SBFE F6,F4,F5                \ u=u^2-v^2+x
"EQUD &EE0E6100 \ ADFE F6,F6,F0
;EQUD &EE1A4103 \ MLFE F4,F2,F3                \ v=2uv+y
&"EQUD &EE0C4104 \ ADFE F4,F4,F4
0"EQUD &EE0C4101 \ ADFE F4,F4,F1
:EQUD &EE08A106 \ MVFE F2,F6
DEQUD &EE08B104 \ MVFE F3,F4
N                 B pixloop
X:
b
.found
lMOV R0,R11
vLDMFD R13!,{PC}
�:
�
.setup
�EQUD &EE088108 \ MVFE F0,#0
�"EQUD &EE28010A \ SBFE F0,F0,#2
�                  ADR R0,xmin
�!EQUD &ECE00100 \ STFE F0,[R0]
�                  ADR R0,ymin
�!EQUD &ECE00100 \ STFE F0,[R0]
�EQUD &EE08910A \ MVFE F0,#2
�"EQUD &EE49010C \ DVFE F0,F0,#4
�"EQUD &EE48110C \ DVFE F0,F0,#4
�"EQUD &EE49010C \ DVFE F0,F0,#4
�"EQUD &EE48110C \ DVFE F0,F0,#4
"EQUD &EE49010A \ DVFE F0,F0,#2
!                 ADR R0,ystep
!EQUD &ECE00100 \ STFE F0,[R0]
 !                 ADR R0,xstep
*!EQUD &ECE00100 \ STFE F0,[R0]
4                 MOV PC,R14
>:
H.plotstat EQUD 0
R	ALIGN
\.prev EQUD 0
f	ALIGN
p:
z\ MAIN � CONTROLLER
�:
�%.plotter         STMFD R13!,{R14}
�                  MOV R9,#512
�                  ADR R2,step
�                  STR R9,[R2]
�.newstep         MOV R0,#0
�                 MOV R1,#0
�                 MOV R7,#0
�                 MOV R8,#0
� .pltloop         ADR R2,xstr
�                  STR R0,[R2]
�                  ADR R2,ystr
�                  STR R1,[R2]
	                 � R2,R7,#1
	                 CMP R2,#0
	                  BNE plotpix
	$                 � R2,R8,#1
	.                 CMP R2,#0
	8                  BEQ plotted
	B$.plotpix         ADR R2,wimpstat
	L                  LDR R3,[R2]
	V!                 CMP R3,#&100
	`!                 BEQ plotstop
	j%                 MOV R3,R3,ASL #1
	t                  STR R3,[R2]
	~                 MOV R2,R1
	�                 MOV R1,R0
	�                 BL mandpix
	�                 BL point
	�$                 ADR R0,wimpstat
	�                  LDR R0,[R0]
	�                 CMP R0,#0
	�!                 BNE plotstop
	� .plottedb        ADR R2,xstr
	�                  LDR R0,[R2]
	�                  ADR R2,ystr
	�                  LDR R1,[R2]
	�                  ADR R2,step
                  LDR R9,[R2]

!                 ADD R0,R0,R9
!                 ADD R7,R7,#1
!                 CMP R0,#1024
(                  BNE pltloop
2                 MOV R0,#0
<                 MOV R7,#0
F                 CMP R9,#3
P!                 BCS notfinal
Z                 MOV R9,#4
d!.notfinal        ADD R1,R1,R9
n!                 ADD R8,R8,#1
x!                 CMP R1,#1024
�                  BNE pltloop
�                  LDR R9,[R2]
�%                 MOV R9,R9,LSR #1
�                  STR R9,[R2]
�                 CMP R9,#1
�                  BNE newstep
�                 MOV R0,#0
�$                 LDMFD R13!,{PC}
�$.plotted         ADR R0,wimpstat
�                  LDR R1,[R0]
�                 CMP R1,#1
�!                 BEQ plottedb
�#                 SWI "OS_Mouse"
                 CMP R2,#0
!                 BEQ plottedb
 .plotstop        ADR R0,xpns
"                  STR R7,[R0]
,                  ADR R0,ypns
6                  STR R8,[R0]
@                 MOV R0,#1
J$                 LDMFD R13!,{PC}
T:
^%.contplot        STMFD R13!,{R14}
h                  ADR R0,xpns
r                  LDR R7,[R0]
|                  ADR R0,ypns
�                  LDR R8,[R0]
�                 B plottedb
�:
�\ SCREEN MEMORY HANDLING
�:
�".point           ADD R10,R0,#7
�#                 � R10,R10,#127
�                  ADR R2,xstr
�                  LDR R0,[R2]
�                  ADR R2,ystr
�                  LDR R1,[R2]
�"                 MOV R11,#&280
�%                 MOV R0,R0,LSR #1
%                 MOV R1,R1,LSR #2
"                 SUB R0,R11,R0
%                 ADR R11,wimpstat
&"                 LDR R11,[R11]
0                 CMP R11,#0
:%                 �Q R11,#&2000000
D%                 ADRNE R11,scread
N$                 LDRNE R11,[R11]
X*                 ADDNE R11,R11,#&28000
b#                 SUB R11,R11,R0
l"                 MOV R12,#&280
v"                 MUL R2,R1,R12
�#                 SUB R11,R11,R2
�                  ADR R0,step
�                  LDR R2,[R0]
�                 MOV R0,#0
�                 MOV R1,#0
�%.squplop         LDRB R3,[R11,R0]
�!                 � R3,R3,#128
�"                 ADD R3,R3,R10
�%                 STRB R3,[R11,R0]
�!                 ADD R0,R0,#1
�%                 CMP R0,R2,LSR #1
�                  BCC squplop
�                 MOV R0,#0

&                 SUB R11,R11,#&280

!                 ADD R1,R1,#1

%                 CMP R1,R2,LSR #2

                   BCC squplop

*                 MOV PC,R14

4:

>!.mousebox        ADR R0,xboxa

H                  LDR R0,[R0]

R!                 ADR R1,xboxb

\                  LDR R1,[R1]

f                 CMP R0,R1

p                  MOVCS R2,R0

z                  MOVCS R0,R1

�                  MOVCS R1,R2

�!                 ADR R2,yboxa

�                  LDR R2,[R2]

�!                 ADR R3,yboxb

�                  LDR R3,[R3]

�                 CMP R2,R3

�                  MOVCS R4,R2

�                  MOVCS R2,R3

�                  MOVCS R3,R4

�"                 MOV R11,#&280

�%                 MOV R4,R0,LSR #1

�%                 MOV R5,R2,LSR #2

�"                 SUB R4,R11,R4
&                 MOV R11,#&2000000
#                 SUB R11,R11,R4
"                 MOV R12,#&280
$"                 MUL R6,R5,R12
.#                 SUB R11,R11,R6
8                 MOV R4,#0
B                 MOV R5,R1
L!                 SUB R5,R5,R0
V%                 MOV R5,R5,LSR #1
`%.xbotlop         LDRB R6,[R11,R4]
j!                 � R6,R6,#128
t%                 STRB R6,[R11,R4]
~!                 ADD R4,R4,#1
�                 CMP R4,R5
�                  BCC xbotlop
�                 MOV R6,R3
�!                 SUB R6,R6,R2
�%                 MOV R6,R6,LSR #2
�!                 MOV R4,#&280
�!                 MUL R7,R6,R4
�                 MOV R6,R7
�                 MOV R4,#0
�&.yleftlop        LDRB R7,[R11,-R4]
�!                 � R7,R7,#128
�&                 STRB R7,[R11,-R4]
$                 ADD R4,R4,#&280

                 CMP R4,R6
!                 BCC yleftlop
$                 RSB R4,R5,#&280
("                 \SUB R6,R6,R5
2&.yrightlop       LDRB R7,[R11,-R4]
<!                 � R7,R7,#128
F&                 STRB R7,[R11,-R4]
P$                 ADD R4,R4,#&280
Z                 CMP R4,R6
d"                 BCC yrightlop
n"                 \ADD R6,R6,R5
x#                 SUB R11,R11,R6
�                 MOV R4,#0
�%.xtoplop         LDRB R6,[R11,R4]
�!                 � R6,R6,#128
�%                 STRB R6,[R11,R4]
�!                 ADD R4,R4,#1
�                 CMP R4,R5
�                  BCC xtoplop
�                 MOV PC,R14
�:
�".savescr         ADR R1,scrmem
�                  LDR R0,[R1]
�"                 ADR R1,scread
�                  LDR R1,[R1]
                 MOV R2,#0
#.savlop          LDR R3,[R0,R2]
#                 STR R3,[R1,R2]
"!                 ADD R2,R2,#4
,#                 CMP R2,#&28000
6                 BCC savlop
@                 MOV PC,R14
J".loadscr         ADR R0,scrmem
T                  LDR R1,[R0]
^"                 ADR R0,scread
h                  LDR R0,[R0]
r                 MOV R2,#0
|                 B savlop
�:
�.xmin EQUD 0:EQUD0:EQUD0
�.ymin EQUD 0:EQUD0:EQUD0
�.xstep EQUD 0:EQUD0:EQUD0
�.ystep EQUD 0:EQUD0:EQUD0
�.scrmem EQUD &1FD8000
�.scread EQUD screen
�.maxit EQUD 25
�.xstr EQUD 0
�.ystr EQUD 0
�.xpns EQUD 0
�.ypns EQUD 0
�.step EQUD 0
.xboxa EQUD 0
.xboxb EQUD 0
.yboxa EQUD 0
&.yboxb EQUD 0
0:
:.startup STMFD R13!,{R14}
D         SWI 256+22
N         SWI 256+15
X         MOV R0,#106
b         MOV R1,#1
l         SWI "OS_Byte"
v         SWI 256+23
�         SWI 256+1
�         SWI 256
�         SWI 256
�         SWI 256
�         SWI 256
�         SWI 256
�         SWI 256
�         SWI 256
�         SWI 256
�         ADR R0,schoose
�         SWI "OS_CLI"
�         MOV R0,#&ED
�         MOV R1,#1024
         ADR R2,ploty
         LDR R2,[R2]
         SWI "OS_Plot"
          SWI "OS_WriteS"
*)         EQUB17:EQUB255:EQUB17:EQUB32
48         EQUB31:EQUB64:EQUB10:EQUS"Zoom In         "
>8         EQUB31:EQUB64:EQUB12:EQUS"Reset           "
H         EQUB17:EQUB8
R8         EQUB31:EQUB64:EQUB16:EQUS"Iterations      "
\8         EQUB31:EQUB64:EQUB18:EQUS"Colour Cycling  "
f8         EQUB31:EQUB64:EQUB20:EQUS"Save Screen     "
p         EQUB17:EQUB6
z8         EQUB31:EQUB64:EQUB28:EQUS"Desktop         "
�8         EQUB31:EQUB64:EQUB30:EQUS"Quit Program    "
�!         EQUB17:EQUB128:EQUB0
�         ALIGN
�         BL plotter
�         ADR R1,plotad
�         LDR R1,[R1]
�         STR R0,[R1]
�         MOV R0,#1
�         ADR R1,prevad
�         LDR R1,[R1]
�         STR R0,[R1]
�         LDMFD R13!,{PC}
�.restart STMFD R13!,{R14}
         SWI 256+22
         SWI 256+15
         MOV R0,#106
$         MOV R1,#1
.         SWI "OS_Byte"
8         SWI 256+23
B         SWI 256+1
L         SWI 256
V         SWI 256
`         SWI 256
j         SWI 256
t         SWI 256
~         SWI 256
�         SWI 256
�         SWI 256
�         BL loadscr
�         LDMFD R13!,{PC}
�.mandelplot
�         STMFD R13!,{R14}
�.mploop  ADR R0,plotad
�         LDR R0,[R0]
�         LDR R0,[R0]
�         CMP R0,#1
�         BNE noplot
�         BL contplot
         ADR R1,plotad

         LDR R1,[R1]
         STR R0,[R1]
.noplot  SWI "OS_Mouse"
(         CMP R2,#0
2         BEQ mploop
<         CMP R0,#1024
F         BCC boxout
P         B function
Z'.schoose EQUS "SCHOOSE logo":EQUD 0
d         ALIGN
n.ploty   EQUD 775
x         ALIGN
�:
�.boxout  BL mousebox
�         BL savescr
�         SWI"OS_Mouse"
�         ADR R2,xboxa
�         STR R0,[R2]
�         ADR R2,yboxa
�         STR R1,[R2]
�.boxoutl CMP R0,#1024
�         MOVCS R0,#1024
�         SUBCS R0,R0,#1
�         ADR R2,xboxb
�         STR R0,[R2]
         ADR R2,yboxb
         STR R1,[R2]
         ADR R2,wimpad
"         LDR R2,[R2]
,         MOV R0,#1
6         STR R0,[R2]
@         BL mousebox
J         BL contplot
T         BL mousebox
^         SWI "OS_Mouse"
h         CMP R2,#0
r         BNE boxoutl
|         ADR R2,wimpad
�         LDR R2,[R2]
�         MOV R0,#0
�         STR R0,[R2]
�         BL loadscr
�         BL mousebox
�         B mploop
�.plotad  EQUD plotstat
�.wimpad  EQUD wimpstat
�.prevad  EQUD prev
�.function MOV R1,R1,LSR #5
�         CMP R1,#1
�         BEQ quittask
�         CMP R1,#3
         BEQ desktop
         CMP R1,#11
         BEQ scrstore
&         CMP R1,#13
0         BEQ colcycle
:         CMP R1,#15
D         BEQ iterate
N         CMP R1,#19
X         BEQ resetpos
b         CMP R1,#21
l         BEQ zoomin
v         B mploop
�:
� \               Ș FUNCTIONS
�:
�.desktop ADR R0,restcols
�         SWI "OS_CLI"
�         LDMFD R13!,{PC}
�:
�.quittask BL savescr
�         SWI 256+31
�         SWI 256
�         SWI 256
�         SWI "OS_WriteS"
�<         EQUB16:EQUB17:EQUB127:EQUS"Quit: Are You Sure?"
(         EQUB13:EQUB10:EQUB13:EQUB10
=         EQUS"Click LEFT to quit; RIGHT to cancel.":EQUB0
         ALIGN
 .stopcl  SWI"OS_Mouse"
*         CMP R2,#0
4         BNE stopcl
>.quitlop SWI"OS_Mouse"
H         CMP R2,#4
R         BEQ quitokay
\         CMP R2,#1
f         BLEQ loadscr
p         BEQ mploop
z         B quitlop
�.quitokay LDMFD R13!,{R0}
�         ADR R0,restcols
�         SWI "OS_CLI"
�         MOV R0,#0
�         SUB R0,R0,#1
�         MOV R1,#0
�         MOV R2,#0
�         MOV R3,#1280
�         MOV R4,#1024
�#         SWI "Wimp_ForceRedraw"
�         SWI "OS_Exit"
�4.restcols EQUS "<Obey$Dir>.!Palette":EQUD0:ALIGN
�:
\        ZOOM FUNCTIONS
:
.resetpos        BL setup
$                 BL plotter
.                 B mploop
8:
B#.zoomin          SWI "OS_Mouse"
L                 CMP R2,#0
V                 BNE zoomin
`"                 ADR R0,xminad
j                  LDR R0,[R0]
t#                 ADR R1,xstepad
~                  LDR R1,[R1]
�"                 ADR R2,yminad
�                  LDR R2,[R2]
�#                 ADR R3,ystepad
�                  LDR R3,[R3]
�"                 ADR R4,xboxat
�                LDR R4,[R4]
�                  LDR R4,[R4]
�"                 ADR R5,xboxbt
�                  LDR R5,[R5]
�                  LDR R5,[R5]
�                 CMP R4,R5
�                  MOVCS R6,R4
                  MOVCS R4,R5

                  MOVCS R5,R6
"                 ADR R6,yboxat
                  LDR R6,[R6]
(                  LDR R6,[R6]
20                 ADR R7,yboxbt     \ R0=xmin
<1                 LDR R7,[R7]       \ R1=xstep
F0                 LDR R7,[R7]       \ R2=ymin
P1                 CMP R6,R7         \ R3=ystep
Z1                 MOVCS R8,R6       \ R4=xboxa
d1                 MOVCS R6,R7       \ R5=xboxb
n1                 MOVCS R7,R8       \ R6=yboxa
x1EQUD &ECF00100 \ LDFE F0,[R0]      \ R7=yboxb
�!EQUD &ECF11100 \ LDFE F1,[R1]
�EQUD &EE0241D2 \ FLTE F2,R4
�"EQUD &EE1A3101 \ MLFE F3,F2,F1
�"EQUD &EE0B3100 \ ADFE F3,F3,F0
�EQUD &EE0451D4 \ FLTE F4,R5
�"EQUD &EE1C5101 \ MLFE F5,F4,F1
�"EQUD &EE0D5100 \ ADFE F5,F5,F0
�"EQUD &EE2D5103 \ SBFE F5,F5,F3
�!                 MOV R8,#1024
�EQUD &EE0681D6 \ FLTE F6,R8
�"EQUD &EE4D7106 \ DVFE F7,F5,F6
�!EQUD &ECE03100 \ STFE F3,[R0]
�!EQUD &ECE17100 \ STFE F7,[R1]
:
!EQUD &ECF20100 \ LDFE F0,[R2]
!EQUD &ECF31100 \ LDFE F1,[R3]
"EQUD &EE0261D2 \ FLTE F2,R6
,"EQUD &EE1A3101 \ MLFE F3,F2,F1
6"EQUD &EE0B3100 \ ADFE F3,F3,F0
@EQUD &EE0471D4 \ FLTE F4,R7
J"EQUD &EE1C5101 \ MLFE F5,F4,F1
T"EQUD &EE0D5100 \ ADFE F5,F5,F0
^"EQUD &EE2D5103 \ SBFE F5,F5,F3
h"EQUD &EE4D7106 \ DVFE F7,F5,F6
r!EQUD &ECE23100 \ STFE F3,[R2]
|!EQUD &ECE37100 \ STFE F7,[R3]
�                 BL plotter
�                 B mploop
�:
�.xminad          EQUD xmin
�.yminad          EQUD ymin
�.xstepad         EQUD xstep
�.ystepad         EQUD ystep
�.xboxat          EQUD xboxa
�.yboxat          EQUD yboxa
�.xboxbt          EQUD xboxb
�.yboxbt          EQUD yboxb
�:
�\ CHANGE MAXIMUM ITERATIONS
.iterate         BL savescr
$                 SWI "OS_WriteS"
'                 EQUB31:EQUB1:EQUB1
&E                 EQUB16:EQUB17:EQUB127:EQUS"Current Iterations: "
0                 EQUB 0
:                 ALIGN
D$.iterloop        SWI "OS_WriteS"
N(                 EQUB31:EQUB21:EQUB1
X.maxstr          EQUS "025"
b                 EQUB 0
l                 ALIGN
v .getkey          MOV R0,#&81
�                 MOV R1,#0
�                 MOV R2,#0
�"                 SWI "OS_Byte"
�                 BCS getkey
�                 CMP R1,#13
�                  BEQ itergot
�                 CMP R1,#48
�                 BCC getkey
�                 CMP R1,#58
�                 BCS getkey
�"                 ADR R0,maxstr
�$                 LDRB R2,[R0,#1]
�!                 STRB R2,[R0]
$                 LDRB R2,[R0,#2]
$                 STRB R2,[R0,#1]
$                 STRB R1,[R0,#2]
                  B iterloop
*".itergot         ADR R0,maxstr
4!                 LDRB R1,[R0]
>"                 SUB R1,R1,#48
H                  MOV R2,#100
R!                 MUL R3,R2,R1
\                 MOV R4,R3
f$                 LDRB R1,[R0,#1]
p"                 SUB R1,R1,#48
z                 MOV R2,#10
�!                 MUL R3,R2,R1
�!                 ADD R4,R4,R3
�$                 LDRB R1,[R0,#2]
�"                 SUB R1,R1,#48
�!                 ADD R4,R4,R1
�"                 ADR R0,maxiad
�                  LDR R0,[R0]
�                  STR R4,[R0]
�                 BL loadscr
�                 BL plotter
�                 B mploop
�.maxiad          EQUD maxit
�:
\ � CYCLING
:
#.colcycle        SWI "OS_Mouse"
$                 CMP R2,#0
.!                 BNE colcycle
8                 BL savescr
B.cyloop          BL setcols
L                 MOV R0,#0
V!.wastetime       ADD R0,R0,#1
`"                 CMP R0,#&1000
j"                 BNE wastetime
t#                 SWI "OS_Mouse"
~                 CMP R2,#0
�                 BEQ cyloop
�$                 SWI "OS_WriteS"
�(                 EQUB22:EQUB15:EQUB0
�                 ALIGN
�                  MOV R0,#106
�                 MOV R1,#1
�"                 SWI "OS_Byte"
�                 BL loadscr
�                 B mploop
�:
�$.setcols         ADR R0,startcyc
�                  LDR R4,[R0]
$                 ADR R0,addoncyc

                  LDR R5,[R0]
                 MOV R6,#0
.setloop         MOV R3,#0
( .setline         LDR R0,[R4]
2!                 ADD R0,R0,R5
<                  STR R0,[R4]
F!                 ADD R4,R4,#4
P!                 ADD R3,R3,#1
Z                  CMP R3,#&80
d                  BNE setline
n#                 ADD R4,R4,#&80
x!                 ADD R6,R6,#1
�                  CMP R6,#256
�                  BNE setloop
�                 MOV PC,R14
�".startcyc        EQUD &1FD8000
�#.addoncyc        EQUD &01010101
�:
�\ SCREEN ǚ
�:
�#.scrstore        ADR R0,ramdisc
�!                 SWI "OS_CLI"
�"                 ADR R0,scrsav
�!                 SWI "OS_CLI"
�                 B mploop
$.ramdisc         EQUS"RAM":EQUD0
5.scrsav          EQUS"SCREENSAVE mandelscr":EQUD0
:
"	ALIGN
,.screen
6]
@�
J0�OSCLI ("MEMORYI "+STR$~zoomin+" + 100"):END
T�
�
00000000  0d 00 0a 1c f4 20 4d 61  6e 64 65 6c 62 72 6f 74  |..... Mandelbrot|
00000010  20 53 65 74 20 50 6c 6f  74 74 65 72 0d 00 14 15  | Set Plotter....|
00000020  f4 20 42 79 20 44 6f 6d  69 6e 69 63 20 46 6f 72  |. By Dominic For|
00000030  64 0d 00 1e 05 3a 0d 00  28 10 ee 20 85 20 f2 65  |d....:..(.. . .e|
00000040  72 72 6f 72 3a e0 0d 00  32 05 3a 0d 00 3c 0d f2  |rror:...2.:..<..|
00000050  61 73 73 65 6d 62 6c 65  0d 00 46 0b d6 20 73 74  |assemble..F.. st|
00000060  61 72 74 0d 00 50 05 e0  0d 00 5a 05 3a 0d 00 64  |art..P....Z.:..d|
00000070  0b dd f2 65 72 72 6f 72  0d 00 6e 09 ee 20 85 20  |...error..n.. . |
00000080  87 0d 00 78 14 f6 3a f1  22 20 61 74 20 6c 69 6e  |...x..:." at lin|
00000090  65 20 22 3b 9e 0d 00 82  0f e3 52 3d 30 b8 35 30  |e ";......R=0.50|
000000a0  30 30 3a ed 0d 00 8c 05  e1 0d 00 96 05 3a 0d 00  |00:..........:..|
000000b0  a0 0e dd f2 61 73 73 65  6d 62 6c 65 0d 00 aa 12  |....assemble....|
000000c0  de 20 73 70 61 63 65 20  26 33 30 30 30 30 0d 00  |. space &30000..|
000000d0  b4 05 3a 0d 00 be 11 e3  20 70 3d 30 20 b8 20 32  |..:..... p=0 . 2|
000000e0  20 88 20 32 0d 00 c8 17  f4 20 4f 25 3d 73 70 61  | . 2..... O%=spa|
000000f0  63 65 3a 50 25 3d 26 38  30 30 30 0d 00 d2 0c 50  |ce:P%=&8000....P|
00000100  25 3d 73 70 61 63 65 0d  00 dc 0a 5b 4f 50 54 20  |%=space....[OPT |
00000110  70 0d 00 e6 05 3a 0d 00  f0 13 5c 20 54 41 53 4b  |p....:....\ TASK|
00000120  20 53 54 41 52 54 2d 55  50 0d 00 fa 1c 2e 73 74  | START-UP.....st|
00000130  61 72 74 20 20 20 20 20  20 20 20 20 20 42 4c 20  |art          BL |
00000140  73 65 74 75 70 0d 01 04  1d 20 20 20 20 20 20 20  |setup....       |
00000150  20 20 20 20 20 20 20 20  20 4d 4f 56 20 52 30 2c  |         MOV R0,|
00000160  23 33 0d 01 0e 22 20 20  20 20 20 20 20 20 20 20  |#3..."          |
00000170  20 20 20 20 20 20 4d 4f  56 20 52 31 2c 23 26 32  |      MOV R1,#&2|
00000180  38 30 30 30 0d 01 18 2e  20 20 20 20 20 20 20 20  |8000....        |
00000190  20 20 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |        SWI "OS_|
000001a0  43 68 61 6e 67 65 44 79  6e 61 6d 69 63 41 72 65  |ChangeDynamicAre|
000001b0  61 22 0d 01 22 20 20 20  20 20 20 20 20 20 20 20  |a".."           |
000001c0  20 20 20 20 20 20 41 44  52 20 52 30 2c 73 6c 6f  |      ADR R0,slo|
000001d0  61 64 0d 01 2c 20 20 20  20 20 20 20 20 20 20 20  |ad..,           |
000001e0  20 20 20 20 20 20 53 57  49 20 22 4f 53 5f 43 4c  |      SWI "OS_CL|
000001f0  49 22 0d 01 36 23 20 20  20 20 20 20 20 20 20 20  |I"..6#          |
00000200  20 20 20 20 20 20 41 44  52 20 52 30 2c 73 74 61  |      ADR R0,sta|
00000210  72 74 73 70 72 0d 01 40  20 20 20 20 20 20 20 20  |rtspr..@        |
00000220  20 20 20 20 20 20 20 20  20 53 57 49 20 22 4f 53  |         SWI "OS|
00000230  5f 43 4c 49 22 0d 01 4a  1e 20 20 20 20 20 20 20  |_CLI"..J.       |
00000240  20 20 20 20 20 20 20 20  20 53 57 49 20 32 35 36  |         SWI 256|
00000250  2b 32 32 0d 01 54 1e 20  20 20 20 20 20 20 20 20  |+22..T.         |
00000260  20 20 20 20 20 20 20 53  57 49 20 32 35 36 2b 31  |       SWI 256+1|
00000270  35 0d 01 5e 1f 20 20 20  20 20 20 20 20 20 20 20  |5..^.           |
00000280  20 20 20 20 20 4d 4f 56  20 52 30 2c 23 26 45 44  |     MOV R0,#&ED|
00000290  0d 01 68 1f 20 20 20 20  20 20 20 20 20 20 20 20  |..h.            |
000002a0  20 20 20 20 4d 4f 56 20  52 31 2c 23 26 38 30 0d  |    MOV R1,#&80.|
000002b0  01 72 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.r              |
000002c0  20 20 20 4d 4f 56 20 52  32 2c 23 26 31 30 30 0d  |   MOV R2,#&100.|
000002d0  01 7c 21 20 20 20 20 20  20 20 20 20 20 20 20 20  |.|!             |
000002e0  20 20 20 53 57 49 20 22  4f 53 5f 50 6c 6f 74 22  |   SWI "OS_Plot"|
000002f0  0d 01 86 22 2e 73 74 61  72 74 73 70 6c 6f 6f 70  |...".startsploop|
00000300  20 20 20 20 53 57 49 20  22 4f 53 5f 4d 6f 75 73  |    SWI "OS_Mous|
00000310  65 22 0d 01 90 1d 20 20  20 20 20 20 20 20 20 20  |e"....          |
00000320  20 20 20 20 20 20 43 4d  50 20 52 32 2c 23 30 0d  |      CMP R2,#0.|
00000330  01 9a 23 20 20 20 20 20  20 20 20 20 20 20 20 20  |..#             |
00000340  20 20 20 42 45 51 20 73  74 61 72 74 73 70 6c 6f  |   BEQ startsplo|
00000350  6f 70 0d 01 a4 1f 20 20  20 20 20 20 20 20 20 20  |op....          |
00000360  20 20 20 20 20 20 4d 4f  56 20 52 30 2c 23 32 30  |      MOV R0,#20|
00000370  30 0d 01 ae 21 20 20 20  20 20 20 20 20 20 20 20  |0...!           |
00000380  20 20 20 20 20 41 44 52  20 52 31 2c 74 61 73 6b  |     ADR R1,task|
00000390  6e 6f 0d 01 b8 1f 20 20  20 20 20 20 20 20 20 20  |no....          |
000003a0  20 20 20 20 20 20 4c 44  52 20 52 31 2c 5b 52 31  |      LDR R1,[R1|
000003b0  5d 0d 01 c2 23 20 20 20  20 20 20 20 20 20 20 20  |]...#           |
000003c0  20 20 20 20 20 41 44 52  20 52 32 2c 74 61 73 6b  |     ADR R2,task|
000003d0  6e 61 6d 65 0d 01 cc 29  20 20 20 20 20 20 20 20  |name...)        |
000003e0  20 20 20 20 20 20 20 20  53 57 49 20 22 57 69 6d  |        SWI "Wim|
000003f0  70 5f 49 6e 69 74 69 61  6c 69 73 65 22 0d 01 d6  |p_Initialise"...|
00000400  1d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000410  20 4d 4f 56 20 52 30 2c  23 30 0d 01 e0 22 20 20  | MOV R0,#0..."  |
00000420  20 20 20 20 20 20 20 20  20 20 20 20 20 20 41 44  |              AD|
00000430  52 20 52 31 2c 73 70 72  69 6e 66 6f 0d 01 ea 29  |R R1,sprinfo...)|
00000440  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000450  53 57 49 20 22 57 69 6d  70 5f 43 72 65 61 74 65  |SWI "Wimp_Create|
00000460  49 63 6f 6e 22 0d 01 f4  21 20 20 20 20 20 20 20  |Icon"...!       |
00000470  20 20 20 20 20 20 20 20  20 41 44 52 20 52 31 2c  |         ADR R1,|
00000480  73 70 72 6e 75 6d 0d 01  fe 1f 20 20 20 20 20 20  |sprnum....      |
00000490  20 20 20 20 20 20 20 20  20 20 53 54 52 20 52 30  |          STR R0|
000004a0  2c 5b 52 31 5d 0d 02 08  1d 20 20 20 20 20 20 20  |,[R1]....       |
000004b0  20 20 20 20 20 20 20 20  20 4d 4f 56 20 52 30 2c  |         MOV R0,|
000004c0  23 30 0d 02 12 20 20 20  20 20 20 20 20 20 20 20  |#0...           |
000004d0  20 20 20 20 20 20 53 55  42 20 52 30 2c 52 30 2c  |      SUB R0,R0,|
000004e0  23 31 0d 02 1c 1d 20 20  20 20 20 20 20 20 20 20  |#1....          |
000004f0  20 20 20 20 20 20 4d 4f  56 20 52 31 2c 23 30 0d  |      MOV R1,#0.|
00000500  02 26 1d 20 20 20 20 20  20 20 20 20 20 20 20 20  |.&.             |
00000510  20 20 20 4d 4f 56 20 52  32 2c 23 30 0d 02 30 20  |   MOV R2,#0..0 |
00000520  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000530  4d 4f 56 20 52 33 2c 23  31 32 38 30 0d 02 3a 20  |MOV R3,#1280..: |
00000540  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000550  4d 4f 56 20 52 34 2c 23  31 30 32 34 0d 02 44 2a  |MOV R4,#1024..D*|
00000560  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000570  53 57 49 20 22 57 69 6d  70 5f 46 6f 72 63 65 52  |SWI "Wimp_ForceR|
00000580  65 64 72 61 77 22 0d 02  4e 1d 2e 6d 61 69 6e 6c  |edraw"..N..mainl|
00000590  6f 6f 70 20 20 20 20 20  20 20 4d 4f 56 20 52 30  |oop       MOV R0|
000005a0  2c 23 30 0d 02 58 22 20  20 20 20 20 20 20 20 20  |,#0..X"         |
000005b0  20 20 20 20 20 20 20 41  44 52 20 52 31 2c 71 62  |       ADR R1,qb|
000005c0  75 66 66 65 72 0d 02 62  23 20 20 20 20 20 20 20  |uffer..b#       |
000005d0  20 20 20 20 20 20 20 20  20 53 57 49 20 22 57 69  |         SWI "Wi|
000005e0  6d 70 5f 50 6f 6c 6c 22  0d 02 6c 1e 20 20 20 20  |mp_Poll"..l.    |
000005f0  20 20 20 20 20 20 20 20  20 20 20 20 43 4d 50 20  |            CMP |
00000600  52 30 2c 23 31 37 0d 02  76 21 20 20 20 20 20 20  |R0,#17..v!      |
00000610  20 20 20 20 20 20 20 20  20 20 42 45 51 20 71 75  |          BEQ qu|
00000620  69 74 63 68 65 63 6b 0d  02 80 1e 20 20 20 20 20  |itcheck....     |
00000630  20 20 20 20 20 20 20 20  20 20 20 43 4d 50 20 52  |           CMP R|
00000640  30 2c 23 31 38 0d 02 8a  21 20 20 20 20 20 20 20  |0,#18...!       |
00000650  20 20 20 20 20 20 20 20  20 42 45 51 20 71 75 69  |         BEQ qui|
00000660  74 63 68 65 63 6b 0d 02  94 1d 2e 6e 6f 74 71 75  |tcheck.....notqu|
00000670  69 74 74 65 64 20 20 20  20 20 43 4d 50 20 52 30  |itted     CMP R0|
00000680  2c 23 36 0d 02 9e 21 20  20 20 20 20 20 20 20 20  |,#6...!         |
00000690  20 20 20 20 20 20 20 42  4e 45 20 6e 6f 74 61 63  |       BNE notac|
000006a0  74 69 76 65 0d 02 a8 22  20 20 20 20 20 20 20 20  |tive..."        |
000006b0  20 20 20 20 20 20 20 20  41 44 52 20 52 31 2c 71  |        ADR R1,q|
000006c0  62 75 66 66 65 72 0d 02  b2 1e 20 20 20 20 20 20  |buffer....      |
000006d0  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 52 32  |          MOV R2|
000006e0  2c 23 31 32 0d 02 bc 22  20 20 20 20 20 20 20 20  |,#12..."        |
000006f0  20 20 20 20 20 20 20 20  4c 44 52 20 52 33 2c 5b  |        LDR R3,[|
00000700  52 31 2c 52 32 5d 0d 02  c6 20 20 20 20 20 20 20  |R1,R2]...       |
00000710  20 20 20 20 20 20 20 20  20 20 41 44 44 20 52 33  |          ADD R3|
00000720  2c 52 33 2c 23 32 0d 02  d0 1d 20 20 20 20 20 20  |,R3,#2....      |
00000730  20 20 20 20 20 20 20 20  20 20 43 4d 50 20 52 33  |          CMP R3|
00000740  2c 23 30 0d 02 da 21 20  20 20 20 20 20 20 20 20  |,#0...!         |
00000750  20 20 20 20 20 20 20 42  4e 45 20 6e 6f 74 61 63  |       BNE notac|
00000760  74 69 76 65 0d 02 e4 1f  20 20 20 20 20 20 20 20  |tive....        |
00000770  20 20 20 20 20 20 20 20  4d 4f 56 20 52 32 2c 23  |        MOV R2,#|
00000780  26 31 30 0d 02 ee 22 20  20 20 20 20 20 20 20 20  |&10..."         |
00000790  20 20 20 20 20 20 20 4c  44 52 20 52 33 2c 5b 52  |       LDR R3,[R|
000007a0  31 2c 52 32 5d 0d 02 f8  21 20 20 20 20 20 20 20  |1,R2]...!       |
000007b0  20 20 20 20 20 20 20 20  20 41 44 52 20 52 34 2c  |         ADR R4,|
000007c0  73 70 72 6e 75 6d 0d 03  02 1f 20 20 20 20 20 20  |sprnum....      |
000007d0  20 20 20 20 20 20 20 20  20 20 4c 44 52 20 52 34  |          LDR R4|
000007e0  2c 5b 52 34 5d 0d 03 0c  1d 20 20 20 20 20 20 20  |,[R4]....       |
000007f0  20 20 20 20 20 20 20 20  20 43 4d 50 20 52 33 2c  |         CMP R3,|
00000800  52 34 0d 03 16 21 20 20  20 20 20 20 20 20 20 20  |R4...!          |
00000810  20 20 20 20 20 20 42 4e  45 20 6e 6f 74 61 63 74  |      BNE notact|
00000820  69 76 65 0d 03 20 22 2e  6d 6f 75 73 65 77 61 69  |ive.. ".mousewai|
00000830  74 20 20 20 20 20 20 53  57 49 20 22 4f 53 5f 4d  |t      SWI "OS_M|
00000840  6f 75 73 65 22 0d 03 2a  1d 20 20 20 20 20 20 20  |ouse"..*.       |
00000850  20 20 20 20 20 20 20 20  20 43 4d 50 20 52 32 2c  |         CMP R2,|
00000860  23 30 0d 03 34 21 20 20  20 20 20 20 20 20 20 20  |#0..4!          |
00000870  20 20 20 20 20 20 42 4e  45 20 6d 6f 75 73 65 77  |      BNE mousew|
00000880  61 69 74 0d 03 3e 1d 20  20 20 20 20 20 20 20 20  |ait..>.         |
00000890  20 20 20 20 20 20 20 4d  4f 56 20 52 30 2c 23 30  |       MOV R0,#0|
000008a0  0d 03 48 23 20 20 20 20  20 20 20 20 20 20 20 20  |..H#            |
000008b0  20 20 20 20 41 44 52 20  52 31 2c 77 69 6d 70 73  |    ADR R1,wimps|
000008c0  74 61 74 0d 03 52 1f 20  20 20 20 20 20 20 20 20  |tat..R.         |
000008d0  20 20 20 20 20 20 20 53  54 52 20 52 30 2c 5b 52  |       STR R0,[R|
000008e0  31 5d 0d 03 5c 1f 20 20  20 20 20 20 20 20 20 20  |1]..\.          |
000008f0  20 20 20 20 20 20 41 44  52 20 52 30 2c 70 72 65  |      ADR R0,pre|
00000900  76 0d 03 66 1f 20 20 20  20 20 20 20 20 20 20 20  |v..f.           |
00000910  20 20 20 20 20 4c 44 52  20 52 30 2c 5b 52 30 5d  |     LDR R0,[R0]|
00000920  0d 03 70 1d 20 20 20 20  20 20 20 20 20 20 20 20  |..p.            |
00000930  20 20 20 20 43 4d 50 20  52 30 2c 23 30 0d 03 7a  |    CMP R0,#0..z|
00000940  1d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000950  20 42 45 51 20 66 69 72  73 74 0d 03 84 1e 20 20  | BEQ first....  |
00000960  20 20 20 20 20 20 20 20  20 20 20 20 20 20 42 4c  |              BL|
00000970  20 72 65 73 74 61 72 74  0d 03 8e 1d 20 20 20 20  | restart....    |
00000980  20 20 20 20 20 20 20 20  20 20 20 20 42 20 61 63  |            B ac|
00000990  74 69 76 65 63 0d 03 98  1e 2e 66 69 72 73 74 20  |tivec.....first |
000009a0  20 20 20 20 20 20 20 20  20 42 4c 20 73 74 61 72  |         BL star|
000009b0  74 75 70 0d 03 a2 21 2e  61 63 74 69 76 65 63 20  |tup...!.activec |
000009c0  20 20 20 20 20 20 20 42  4c 20 6d 61 6e 64 65 6c  |       BL mandel|
000009d0  70 6c 6f 74 0d 03 ac 1e  20 20 20 20 20 20 20 20  |plot....        |
000009e0  20 20 20 20 20 20 20 20  42 4c 20 73 61 76 65 73  |        BL saves|
000009f0  63 72 0d 03 b6 1d 20 20  20 20 20 20 20 20 20 20  |cr....          |
00000a00  20 20 20 20 20 20 4d 4f  56 20 52 30 2c 23 30 0d  |      MOV R0,#0.|
00000a10  03 c0 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00000a20  20 20 20 53 55 42 20 52  30 2c 52 30 2c 23 31 0d  |   SUB R0,R0,#1.|
00000a30  03 ca 1d 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00000a40  20 20 20 4d 4f 56 20 52  31 2c 23 30 0d 03 d4 1d  |   MOV R1,#0....|
00000a50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000a60  4d 4f 56 20 52 32 2c 23  30 0d 03 de 20 20 20 20  |MOV R2,#0...    |
00000a70  20 20 20 20 20 20 20 20  20 20 20 20 20 4d 4f 56  |             MOV|
00000a80  20 52 33 2c 23 31 32 38  30 0d 03 e8 20 20 20 20  | R3,#1280...    |
00000a90  20 20 20 20 20 20 20 20  20 20 20 20 20 4d 4f 56  |             MOV|
00000aa0  20 52 34 2c 23 31 30 32  34 0d 03 f2 2a 20 20 20  | R4,#1024...*   |
00000ab0  20 20 20 20 20 20 20 20  20 20 20 20 20 53 57 49  |             SWI|
00000ac0  20 22 57 69 6d 70 5f 46  6f 72 63 65 52 65 64 72  | "Wimp_ForceRedr|
00000ad0  61 77 22 0d 03 fc 1f 2e  6e 6f 74 61 63 74 69 76  |aw".....notactiv|
00000ae0  65 20 20 20 20 20 20 41  44 52 20 52 30 2c 70 72  |e      ADR R0,pr|
00000af0  65 76 0d 04 06 1f 20 20  20 20 20 20 20 20 20 20  |ev....          |
00000b00  20 20 20 20 20 20 4c 44  52 20 52 30 2c 5b 52 30  |      LDR R0,[R0|
00000b10  5d 0d 04 10 1d 20 20 20  20 20 20 20 20 20 20 20  |]....           |
00000b20  20 20 20 20 20 43 4d 50  20 52 30 2c 23 31 0d 04  |     CMP R0,#1..|
00000b30  1a 23 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.#              |
00000b40  20 20 42 4e 45 20 6e 6f  65 78 74 72 61 70 6c 6f  |  BNE noextraplo|
00000b50  74 0d 04 24 23 20 20 20  20 20 20 20 20 20 20 20  |t..$#           |
00000b60  20 20 20 20 20 41 44 52  20 52 30 2c 70 6c 6f 74  |     ADR R0,plot|
00000b70  73 74 61 74 0d 04 2e 1f  20 20 20 20 20 20 20 20  |stat....        |
00000b80  20 20 20 20 20 20 20 20  4c 44 52 20 52 30 2c 5b  |        LDR R0,[|
00000b90  52 30 5d 0d 04 38 1d 20  20 20 20 20 20 20 20 20  |R0]..8.         |
00000ba0  20 20 20 20 20 20 20 43  4d 50 20 52 30 2c 23 31  |       CMP R0,#1|
00000bb0  0d 04 42 23 20 20 20 20  20 20 20 20 20 20 20 20  |..B#            |
00000bc0  20 20 20 20 42 4e 45 20  6e 6f 65 78 74 72 61 70  |    BNE noextrap|
00000bd0  6c 6f 74 0d 04 4c 1d 20  20 20 20 20 20 20 20 20  |lot..L.         |
00000be0  20 20 20 20 20 20 20 4d  4f 56 20 52 30 2c 23 31  |       MOV R0,#1|
00000bf0  0d 04 56 23 20 20 20 20  20 20 20 20 20 20 20 20  |..V#            |
00000c00  20 20 20 20 41 44 52 20  52 31 2c 77 69 6d 70 73  |    ADR R1,wimps|
00000c10  74 61 74 0d 04 60 1f 20  20 20 20 20 20 20 20 20  |tat..`.         |
00000c20  20 20 20 20 20 20 20 53  54 52 20 52 30 2c 5b 52  |       STR R0,[R|
00000c30  31 5d 0d 04 6a 1f 20 20  20 20 20 20 20 20 20 20  |1]..j.          |
00000c40  20 20 20 20 20 20 42 4c  20 63 6f 6e 74 70 6c 6f  |      BL contplo|
00000c50  74 0d 04 74 23 20 20 20  20 20 20 20 20 20 20 20  |t..t#           |
00000c60  20 20 20 20 20 41 44 52  20 52 31 2c 70 6c 6f 74  |     ADR R1,plot|
00000c70  73 74 61 74 0d 04 7e 1f  20 20 20 20 20 20 20 20  |stat..~.        |
00000c80  20 20 20 20 20 20 20 20  53 54 52 20 52 30 2c 5b  |        STR R0,[|
00000c90  52 31 5d 0d 04 88 1e 2e  6e 6f 65 78 74 72 61 70  |R1].....noextrap|
00000ca0  6c 6f 74 20 20 20 20 42  20 6d 61 69 6e 6c 6f 6f  |lot    B mainloo|
00000cb0  70 0d 04 92 22 2e 71 75  69 74 63 68 65 63 6b 20  |p...".quitcheck |
00000cc0  20 20 20 20 20 41 44 52  20 52 31 2c 71 62 75 66  |     ADR R1,qbuf|
00000cd0  66 65 72 0d 04 9c 1f 20  20 20 20 20 20 20 20 20  |fer....         |
00000ce0  20 20 20 20 20 20 20 4d  4f 56 20 52 32 2c 23 26  |       MOV R2,#&|
00000cf0  31 30 0d 04 a6 22 20 20  20 20 20 20 20 20 20 20  |10..."          |
00000d00  20 20 20 20 20 20 4c 44  52 20 52 32 2c 5b 52 31  |      LDR R2,[R1|
00000d10  2c 52 32 5d 0d 04 b0 1d  20 20 20 20 20 20 20 20  |,R2]....        |
00000d20  20 20 20 20 20 20 20 20  43 4d 50 20 52 32 2c 23  |        CMP R2,#|
00000d30  30 0d 04 ba 22 20 20 20  20 20 20 20 20 20 20 20  |0..."           |
00000d40  20 20 20 20 20 42 4e 45  20 6e 6f 74 71 75 69 74  |     BNE notquit|
00000d50  74 65 64 0d 04 c4 21 20  20 20 20 20 20 20 20 20  |ted...!         |
00000d60  20 20 20 20 20 20 20 53  57 49 20 22 4f 53 5f 45  |       SWI "OS_E|
00000d70  78 69 74 22 0d 04 ce 3b  2e 73 6c 6f 61 64 20 20  |xit"...;.sload  |
00000d80  20 20 20 20 20 20 20 20  45 51 55 53 20 22 53 4c  |        EQUS "SL|
00000d90  4f 41 44 20 3c 4f 62 65  79 24 44 69 72 3e 2e 21  |OAD <Obey$Dir>.!|
00000da0  53 70 72 69 74 65 73 22  3a 45 51 55 44 20 30 0d  |Sprites":EQUD 0.|
00000db0  04 d8 19 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00000dc0  20 20 20 41 4c 49 47 4e  0d 04 e2 2c 2e 74 61 73  |   ALIGN...,.tas|
00000dd0  6b 6e 61 6d 65 20 20 20  20 20 20 20 45 51 55 53  |kname       EQUS|
00000de0  20 22 4d 61 6e 64 65 6c  50 6c 6f 74 22 3a 45 51  | "MandelPlot":EQ|
00000df0  55 44 20 30 0d 04 ec 19  20 20 20 20 20 20 20 20  |UD 0....        |
00000e00  20 20 20 20 20 20 20 20  41 4c 49 47 4e 0d 04 f6  |        ALIGN...|
00000e10  22 2e 74 61 73 6b 6e 6f  20 20 20 20 20 20 20 20  |".taskno        |
00000e20  20 45 51 55 44 20 26 34  42 35 33 34 31 35 34 0d  | EQUD &4B534154.|
00000e30  05 00 19 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00000e40  20 20 20 41 4c 49 47 4e  0d 05 0a 42 2e 73 70 72  |   ALIGN...B.spr|
00000e50  69 6e 66 6f 20 20 20 20  20 20 20 20 45 51 55 44  |info        EQUD|
00000e60  20 26 46 46 46 46 46 46  46 46 3a 45 51 55 44 20  | &FFFFFFFF:EQUD |
00000e70  30 3a 45 51 55 44 20 30  3a 45 51 55 44 20 26 36  |0:EQUD 0:EQUD &6|
00000e80  34 3a 45 51 55 44 20 26  34 34 0d 05 14 46 20 20  |4:EQUD &44...F  |
00000e90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 45 51  |              EQ|
00000ea0  55 44 20 26 31 31 30 30  33 30 32 41 3a 45 51 55  |UD &1100302A:EQU|
00000eb0  44 20 26 36 45 36 31 36  44 32 31 3a 45 51 55 44  |D &6E616D21:EQUD|
00000ec0  20 26 36 43 36 35 36 34  3a 45 51 55 44 20 26 44  | &6C6564:EQUD &D|
00000ed0  0d 05 1e 19 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00000ee0  20 20 20 20 41 4c 49 47  4e 0d 05 28 1a 2e 73 70  |    ALIGN..(..sp|
00000ef0  72 6e 75 6d 20 20 20 20  20 20 20 20 20 45 51 55  |rnum         EQU|
00000f00  44 20 30 0d 05 32 19 20  20 20 20 20 20 20 20 20  |D 0..2.         |
00000f10  20 20 20 20 20 20 20 41  4c 49 47 4e 0d 05 3c 47  |       ALIGN..<G|
00000f20  2e 71 62 75 66 66 65 72  20 20 20 20 20 20 20 20  |.qbuffer        |
00000f30  45 51 55 53 22 20 20 20  20 20 20 20 20 20 20 20  |EQUS"           |
00000f40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000f60  20 20 22 0d 05 46 19 20  20 20 20 20 20 20 20 20  |  "..F.         |
00000f70  20 20 20 20 20 20 20 41  4c 49 47 4e 0d 05 50 1a  |       ALIGN..P.|
00000f80  2e 77 69 6d 70 73 74 61  74 20 20 20 20 20 20 20  |.wimpstat       |
00000f90  45 51 55 44 20 30 0d 05  5a 19 20 20 20 20 20 20  |EQUD 0..Z.      |
00000fa0  20 20 20 20 20 20 20 20  20 20 41 4c 49 47 4e 0d  |          ALIGN.|
00000fb0  05 64 31 2e 73 74 61 72  74 73 70 72 20 20 20 20  |.d1.startspr    |
00000fc0  20 20 20 45 51 55 53 20  22 53 43 48 4f 4f 53 45  |   EQUS "SCHOOSE|
00000fd0  20 73 74 61 72 74 75 70  22 3a 45 51 55 44 20 30  | startup":EQUD 0|
00000fe0  0d 05 6e 19 20 20 20 20  20 20 20 20 20 20 20 20  |..n.            |
00000ff0  20 20 20 20 41 4c 49 47  4e 0d 05 78 05 3a 0d 05  |    ALIGN..x.:..|
00001000  82 20 5c 20 4d 41 4e 44  45 4c 42 52 4f 54 20 53  |. \ MANDELBROT S|
00001010  45 54 20 43 41 4c 43 55  4c 41 54 49 4f 4e 0d 05  |ET CALCULATION..|
00001020  8c 10 5c 20 52 31 3d 78  20 7c 52 32 3d 79 0d 05  |..\ R1=x |R2=y..|
00001030  96 05 3a 0d 05 a0 0d 5c  20 46 30 3d 78 70 6f 73  |..:....\ F0=xpos|
00001040  0d 05 aa 0d 5c 20 46 31  3d 79 70 6f 73 0d 05 b4  |....\ F1=ypos...|
00001050  0a 5c 20 46 32 3d 75 0d  05 be 0a 5c 20 46 33 3d  |.\ F2=u....\ F3=|
00001060  76 0d 05 c8 05 3a 0d 05  d2 25 2e 6d 61 6e 64 70  |v....:...%.mandp|
00001070  69 78 20 20 20 20 20 20  20 20 20 53 54 4d 46 44  |ix         STMFD|
00001080  20 52 31 33 21 2c 7b 52  31 34 7d 0d 05 dc 1f 20  | R13!,{R14}.... |
00001090  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000010a0  4d 4f 56 20 52 31 31 2c  23 30 0d 05 e6 47 20 20  |MOV R11,#0...G  |
000010b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |               A|
000010c0  44 52 20 52 30 2c 78 6d  69 6e 20 20 20 20 20 20  |DR R0,xmin      |
000010d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 5c 20  |              \ |
000010e0  47 65 74 20 58 20 63 6f  2d 6f 72 64 69 6e 61 74  |Get X co-ordinat|
000010f0  65 0d 05 f0 21 45 51 55  44 20 26 45 43 46 30 30  |e...!EQUD &ECF00|
00001100  31 30 30 20 5c 20 4c 44  46 45 20 46 30 2c 5b 52  |100 \ LDFE F0,[R|
00001110  30 5d 0d 05 fa 21 20 20  20 20 20 20 20 20 20 20  |0]...!          |
00001120  20 20 20 20 20 20 20 41  44 52 20 52 30 2c 78 73  |       ADR R0,xs|
00001130  74 65 70 0d 06 04 21 45  51 55 44 20 26 45 43 46  |tep...!EQUD &ECF|
00001140  30 31 31 30 30 20 5c 20  4c 44 46 45 20 46 31 2c  |01100 \ LDFE F1,|
00001150  5b 52 30 5d 0d 06 0e 1f  45 51 55 44 20 26 45 45  |[R0]....EQUD &EE|
00001160  30 37 31 31 44 37 20 5c  20 46 4c 54 45 20 46 37  |0711D7 \ FLTE F7|
00001170  2c 52 31 0d 06 18 22 45  51 55 44 20 26 45 45 31  |,R1..."EQUD &EE1|
00001180  39 32 31 30 37 20 5c 20  4d 4c 46 45 20 46 32 2c  |92107 \ MLFE F2,|
00001190  46 31 2c 46 37 0d 06 22  22 45 51 55 44 20 26 45  |F1,F7..""EQUD &E|
000011a0  45 30 38 30 31 30 32 20  5c 20 41 44 46 45 20 46  |E080102 \ ADFE F|
000011b0  30 2c 46 30 2c 46 32 0d  06 2c 05 3a 0d 06 36 47  |0,F0,F2..,.:..6G|
000011c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000011d0  20 41 44 52 20 52 30 2c  79 6d 69 6e 20 20 20 20  | ADR R0,ymin    |
000011e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000011f0  5c 20 47 65 74 20 59 20  63 6f 2d 6f 72 64 69 6e  |\ Get Y co-ordin|
00001200  61 74 65 0d 06 40 21 45  51 55 44 20 26 45 43 46  |ate..@!EQUD &ECF|
00001210  30 31 31 30 30 20 5c 20  4c 44 46 45 20 46 31 2c  |01100 \ LDFE F1,|
00001220  5b 52 30 5d 0d 06 4a 21  20 20 20 20 20 20 20 20  |[R0]..J!        |
00001230  20 20 20 20 20 20 20 20  20 41 44 52 20 52 30 2c  |         ADR R0,|
00001240  79 73 74 65 70 0d 06 54  21 45 51 55 44 20 26 45  |ystep..T!EQUD &E|
00001250  43 46 30 32 31 30 30 20  5c 20 4c 44 46 45 20 46  |CF02100 \ LDFE F|
00001260  32 2c 5b 52 30 5d 0d 06  5e 1f 45 51 55 44 20 26  |2,[R0]..^.EQUD &|
00001270  45 45 30 37 32 31 44 37  20 5c 20 46 4c 54 45 20  |EE0721D7 \ FLTE |
00001280  46 37 2c 52 32 0d 06 68  22 45 51 55 44 20 26 45  |F7,R2..h"EQUD &E|
00001290  45 31 41 33 31 30 37 20  5c 20 4d 4c 46 45 20 46  |E1A3107 \ MLFE F|
000012a0  33 2c 46 32 2c 46 37 0d  06 72 22 45 51 55 44 20  |3,F2,F7..r"EQUD |
000012b0  26 45 45 30 39 31 31 30  33 20 5c 20 41 44 46 45  |&EE091103 \ ADFE|
000012c0  20 46 31 2c 46 31 2c 46  33 0d 06 7c 05 3a 0d 06  | F1,F1,F3..|.:..|
000012d0  86 1f 45 51 55 44 20 26  45 45 30 38 41 31 30 30  |..EQUD &EE08A100|
000012e0  20 5c 20 4d 56 46 45 20  46 32 2c 46 30 0d 06 90  | \ MVFE F2,F0...|
000012f0  1f 45 51 55 44 20 26 45  45 30 38 42 31 30 31 5c  |.EQUD &EE08B101\|
00001300  20 20 4d 56 46 45 20 46  33 2c 46 31 0d 06 9a 0c  |  MVFE F3,F1....|
00001310  2e 70 69 78 6c 6f 6f 70  0d 06 a4 35 45 51 55 44  |.pixloop...5EQUD|
00001320  20 26 45 45 31 41 34 31  30 32 20 5c 20 4d 4c 46  | &EE1A4102 \ MLF|
00001330  45 20 46 34 2c 46 32 2c  46 32 20 20 20 20 20 20  |E F4,F2,F2      |
00001340  20 20 5c 20 46 69 6e 69  73 68 65 64 3f 0d 06 ae  |  \ Finished?...|
00001350  22 45 51 55 44 20 26 45  45 31 42 35 31 30 33 20  |"EQUD &EE1B5103 |
00001360  5c 20 4d 4c 46 45 20 46  35 2c 46 33 2c 46 33 0d  |\ MLFE F5,F3,F3.|
00001370  06 b8 22 45 51 55 44 20  26 45 45 30 43 36 31 30  |.."EQUD &EE0C610|
00001380  35 20 5c 20 41 44 46 45  20 46 36 2c 46 34 2c 46  |5 \ ADFE F6,F4,F|
00001390  35 0d 06 c2 37 45 51 55  44 20 26 45 45 44 36 46  |5...7EQUD &EED6F|
000013a0  31 31 43 20 5c 20 43 4d  46 45 20 46 36 2c 23 34  |11C \ CMFE F6,#4|
000013b0  20 20 20 20 20 20 20 20  20 20 20 5c 20 75 5e 32  |           \ u^2|
000013c0  2b 76 5e 32 3e 34 20 3f  0d 06 cc 1e 20 20 20 20  |+v^2>4 ?....    |
000013d0  20 20 20 20 20 20 20 20  20 20 20 20 20 42 43 53  |             BCS|
000013e0  20 66 6f 75 6e 64 0d 06  d6 23 20 20 20 20 20 20  | found...#      |
000013f0  20 20 20 20 20 20 20 20  20 20 20 41 44 44 20 52  |           ADD R|
00001400  31 31 2c 52 31 31 2c 23  31 0d 06 e0 21 20 20 20  |11,R11,#1...!   |
00001410  20 20 20 20 20 20 20 20  20 20 20 20 20 20 41 44  |              AD|
00001420  52 20 52 33 2c 6d 61 78  69 74 0d 06 ea 21 20 20  |R R3,maxit...!  |
00001430  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4c  |               L|
00001440  44 52 20 52 31 30 2c 5b  52 33 5d 0d 06 f4 20 20  |DR R10,[R3]...  |
00001450  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001460  43 4d 50 20 52 31 31 2c  52 31 30 0d 06 fe 1e 20  |CMP R11,R10.... |
00001470  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001480  42 45 51 20 66 6f 75 6e  64 0d 07 08 3f 45 51 55  |BEQ found...?EQU|
00001490  44 20 26 45 45 32 43 36  31 30 35 20 5c 20 53 42  |D &EE2C6105 \ SB|
000014a0  46 45 20 46 36 2c 46 34  2c 46 35 20 20 20 20 20  |FE F6,F4,F5     |
000014b0  20 20 20 20 20 20 20 20  20 20 20 5c 20 75 3d 75  |           \ u=u|
000014c0  5e 32 2d 76 5e 32 2b 78  0d 07 12 22 45 51 55 44  |^2-v^2+x..."EQUD|
000014d0  20 26 45 45 30 45 36 31  30 30 20 5c 20 41 44 46  | &EE0E6100 \ ADF|
000014e0  45 20 46 36 2c 46 36 2c  46 30 0d 07 1c 3b 45 51  |E F6,F6,F0...;EQ|
000014f0  55 44 20 26 45 45 31 41  34 31 30 33 20 5c 20 4d  |UD &EE1A4103 \ M|
00001500  4c 46 45 20 46 34 2c 46  32 2c 46 33 20 20 20 20  |LFE F4,F2,F3    |
00001510  20 20 20 20 20 20 20 20  20 20 20 20 5c 20 76 3d  |            \ v=|
00001520  32 75 76 2b 79 0d 07 26  22 45 51 55 44 20 26 45  |2uv+y..&"EQUD &E|
00001530  45 30 43 34 31 30 34 20  5c 20 41 44 46 45 20 46  |E0C4104 \ ADFE F|
00001540  34 2c 46 34 2c 46 34 0d  07 30 22 45 51 55 44 20  |4,F4,F4..0"EQUD |
00001550  26 45 45 30 43 34 31 30  31 20 5c 20 41 44 46 45  |&EE0C4101 \ ADFE|
00001560  20 46 34 2c 46 34 2c 46  31 0d 07 3a 1f 45 51 55  | F4,F4,F1..:.EQU|
00001570  44 20 26 45 45 30 38 41  31 30 36 20 5c 20 4d 56  |D &EE08A106 \ MV|
00001580  46 45 20 46 32 2c 46 36  0d 07 44 1f 45 51 55 44  |FE F2,F6..D.EQUD|
00001590  20 26 45 45 30 38 42 31  30 34 20 5c 20 4d 56 46  | &EE08B104 \ MVF|
000015a0  45 20 46 33 2c 46 34 0d  07 4e 1e 20 20 20 20 20  |E F3,F4..N.     |
000015b0  20 20 20 20 20 20 20 20  20 20 20 20 42 20 70 69  |            B pi|
000015c0  78 6c 6f 6f 70 0d 07 58  05 3a 0d 07 62 0a 2e 66  |xloop..X.:..b..f|
000015d0  6f 75 6e 64 0d 07 6c 0e  4d 4f 56 20 52 30 2c 52  |ound..l.MOV R0,R|
000015e0  31 31 0d 07 76 13 4c 44  4d 46 44 20 52 31 33 21  |11..v.LDMFD R13!|
000015f0  2c 7b 50 43 7d 0d 07 80  05 3a 0d 07 8a 0a 2e 73  |,{PC}....:.....s|
00001600  65 74 75 70 0d 07 94 1f  45 51 55 44 20 26 45 45  |etup....EQUD &EE|
00001610  30 38 38 31 30 38 20 5c  20 4d 56 46 45 20 46 30  |088108 \ MVFE F0|
00001620  2c 23 30 0d 07 9e 22 45  51 55 44 20 26 45 45 32  |,#0..."EQUD &EE2|
00001630  38 30 31 30 41 20 5c 20  53 42 46 45 20 46 30 2c  |8010A \ SBFE F0,|
00001640  46 30 2c 23 32 0d 07 a8  20 20 20 20 20 20 20 20  |F0,#2...        |
00001650  20 20 20 20 20 20 20 20  20 20 41 44 52 20 52 30  |          ADR R0|
00001660  2c 78 6d 69 6e 0d 07 b2  21 45 51 55 44 20 26 45  |,xmin...!EQUD &E|
00001670  43 45 30 30 31 30 30 20  5c 20 53 54 46 45 20 46  |CE00100 \ STFE F|
00001680  30 2c 5b 52 30 5d 0d 07  bc 20 20 20 20 20 20 20  |0,[R0]...       |
00001690  20 20 20 20 20 20 20 20  20 20 20 41 44 52 20 52  |           ADR R|
000016a0  30 2c 79 6d 69 6e 0d 07  c6 21 45 51 55 44 20 26  |0,ymin...!EQUD &|
000016b0  45 43 45 30 30 31 30 30  20 5c 20 53 54 46 45 20  |ECE00100 \ STFE |
000016c0  46 30 2c 5b 52 30 5d 0d  07 d0 1f 45 51 55 44 20  |F0,[R0]....EQUD |
000016d0  26 45 45 30 38 39 31 30  41 20 5c 20 4d 56 46 45  |&EE08910A \ MVFE|
000016e0  20 46 30 2c 23 32 0d 07  da 22 45 51 55 44 20 26  | F0,#2..."EQUD &|
000016f0  45 45 34 39 30 31 30 43  20 5c 20 44 56 46 45 20  |EE49010C \ DVFE |
00001700  46 30 2c 46 30 2c 23 34  0d 07 e4 22 45 51 55 44  |F0,F0,#4..."EQUD|
00001710  20 26 45 45 34 38 31 31  30 43 20 5c 20 44 56 46  | &EE48110C \ DVF|
00001720  45 20 46 30 2c 46 30 2c  23 34 0d 07 ee 22 45 51  |E F0,F0,#4..."EQ|
00001730  55 44 20 26 45 45 34 39  30 31 30 43 20 5c 20 44  |UD &EE49010C \ D|
00001740  56 46 45 20 46 30 2c 46  30 2c 23 34 0d 07 f8 22  |VFE F0,F0,#4..."|
00001750  45 51 55 44 20 26 45 45  34 38 31 31 30 43 20 5c  |EQUD &EE48110C \|
00001760  20 44 56 46 45 20 46 30  2c 46 30 2c 23 34 0d 08  | DVFE F0,F0,#4..|
00001770  02 22 45 51 55 44 20 26  45 45 34 39 30 31 30 41  |."EQUD &EE49010A|
00001780  20 5c 20 44 56 46 45 20  46 30 2c 46 30 2c 23 32  | \ DVFE F0,F0,#2|
00001790  0d 08 0c 21 20 20 20 20  20 20 20 20 20 20 20 20  |...!            |
000017a0  20 20 20 20 20 41 44 52  20 52 30 2c 79 73 74 65  |     ADR R0,yste|
000017b0  70 0d 08 16 21 45 51 55  44 20 26 45 43 45 30 30  |p...!EQUD &ECE00|
000017c0  31 30 30 20 5c 20 53 54  46 45 20 46 30 2c 5b 52  |100 \ STFE F0,[R|
000017d0  30 5d 0d 08 20 21 20 20  20 20 20 20 20 20 20 20  |0].. !          |
000017e0  20 20 20 20 20 20 20 41  44 52 20 52 30 2c 78 73  |       ADR R0,xs|
000017f0  74 65 70 0d 08 2a 21 45  51 55 44 20 26 45 43 45  |tep..*!EQUD &ECE|
00001800  30 30 31 30 30 20 5c 20  53 54 46 45 20 46 30 2c  |00100 \ STFE F0,|
00001810  5b 52 30 5d 0d 08 34 1f  20 20 20 20 20 20 20 20  |[R0]..4.        |
00001820  20 20 20 20 20 20 20 20  20 4d 4f 56 20 50 43 2c  |         MOV PC,|
00001830  52 31 34 0d 08 3e 05 3a  0d 08 48 14 2e 70 6c 6f  |R14..>.:..H..plo|
00001840  74 73 74 61 74 20 45 51  55 44 20 30 0d 08 52 09  |tstat EQUD 0..R.|
00001850  41 4c 49 47 4e 0d 08 5c  10 2e 70 72 65 76 20 45  |ALIGN..\..prev E|
00001860  51 55 44 20 30 0d 08 66  09 41 4c 49 47 4e 0d 08  |QUD 0..f.ALIGN..|
00001870  70 05 3a 0d 08 7a 17 5c  20 4d 41 49 4e 20 f0 20  |p.:..z.\ MAIN . |
00001880  43 4f 4e 54 52 4f 4c 4c  45 52 0d 08 84 05 3a 0d  |CONTROLLER....:.|
00001890  08 8e 25 2e 70 6c 6f 74  74 65 72 20 20 20 20 20  |..%.plotter     |
000018a0  20 20 20 20 53 54 4d 46  44 20 52 31 33 21 2c 7b  |    STMFD R13!,{|
000018b0  52 31 34 7d 0d 08 98 20  20 20 20 20 20 20 20 20  |R14}...         |
000018c0  20 20 20 20 20 20 20 20  20 4d 4f 56 20 52 39 2c  |         MOV R9,|
000018d0  23 35 31 32 0d 08 a2 20  20 20 20 20 20 20 20 20  |#512...         |
000018e0  20 20 20 20 20 20 20 20  20 41 44 52 20 52 32 2c  |         ADR R2,|
000018f0  73 74 65 70 0d 08 ac 20  20 20 20 20 20 20 20 20  |step...         |
00001900  20 20 20 20 20 20 20 20  20 53 54 52 20 52 39 2c  |         STR R9,|
00001910  5b 52 32 5d 0d 08 b6 1e  2e 6e 65 77 73 74 65 70  |[R2].....newstep|
00001920  20 20 20 20 20 20 20 20  20 4d 4f 56 20 52 30 2c  |         MOV R0,|
00001930  23 30 0d 08 c0 1e 20 20  20 20 20 20 20 20 20 20  |#0....          |
00001940  20 20 20 20 20 20 20 4d  4f 56 20 52 31 2c 23 30  |       MOV R1,#0|
00001950  0d 08 ca 1e 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00001960  20 20 20 20 20 4d 4f 56  20 52 37 2c 23 30 0d 08  |     MOV R7,#0..|
00001970  d4 1e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00001980  20 20 20 4d 4f 56 20 52  38 2c 23 30 0d 08 de 20  |   MOV R8,#0... |
00001990  2e 70 6c 74 6c 6f 6f 70  20 20 20 20 20 20 20 20  |.pltloop        |
000019a0  20 41 44 52 20 52 32 2c  78 73 74 72 0d 08 e8 20  | ADR R2,xstr... |
000019b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000019c0  20 53 54 52 20 52 30 2c  5b 52 32 5d 0d 08 f2 20  | STR R0,[R2]... |
000019d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000019e0  20 41 44 52 20 52 32 2c  79 73 74 72 0d 08 fc 20  | ADR R2,ystr... |
000019f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001a00  20 53 54 52 20 52 31 2c  5b 52 32 5d 0d 09 06 1f  | STR R1,[R2]....|
00001a10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001a20  20 80 20 52 32 2c 52 37  2c 23 31 0d 09 10 1e 20  | . R2,R7,#1.... |
00001a30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001a40  43 4d 50 20 52 32 2c 23  30 0d 09 1a 20 20 20 20  |CMP R2,#0...    |
00001a50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 42 4e  |              BN|
00001a60  45 20 70 6c 6f 74 70 69  78 0d 09 24 1f 20 20 20  |E plotpix..$.   |
00001a70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 80 20  |              . |
00001a80  52 32 2c 52 38 2c 23 31  0d 09 2e 1e 20 20 20 20  |R2,R8,#1....    |
00001a90  20 20 20 20 20 20 20 20  20 20 20 20 20 43 4d 50  |             CMP|
00001aa0  20 52 32 2c 23 30 0d 09  38 20 20 20 20 20 20 20  | R2,#0..8       |
00001ab0  20 20 20 20 20 20 20 20  20 20 20 42 45 51 20 70  |           BEQ p|
00001ac0  6c 6f 74 74 65 64 0d 09  42 24 2e 70 6c 6f 74 70  |lotted..B$.plotp|
00001ad0  69 78 20 20 20 20 20 20  20 20 20 41 44 52 20 52  |ix         ADR R|
00001ae0  32 2c 77 69 6d 70 73 74  61 74 0d 09 4c 20 20 20  |2,wimpstat..L   |
00001af0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4c  |               L|
00001b00  44 52 20 52 33 2c 5b 52  32 5d 0d 09 56 21 20 20  |DR R3,[R2]..V!  |
00001b10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 43  |               C|
00001b20  4d 50 20 52 33 2c 23 26  31 30 30 0d 09 60 21 20  |MP R3,#&100..`! |
00001b30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001b40  42 45 51 20 70 6c 6f 74  73 74 6f 70 0d 09 6a 25  |BEQ plotstop..j%|
00001b50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001b60  20 4d 4f 56 20 52 33 2c  52 33 2c 41 53 4c 20 23  | MOV R3,R3,ASL #|
00001b70  31 0d 09 74 20 20 20 20  20 20 20 20 20 20 20 20  |1..t            |
00001b80  20 20 20 20 20 20 53 54  52 20 52 33 2c 5b 52 32  |      STR R3,[R2|
00001b90  5d 0d 09 7e 1e 20 20 20  20 20 20 20 20 20 20 20  |]..~.           |
00001ba0  20 20 20 20 20 20 4d 4f  56 20 52 32 2c 52 31 0d  |      MOV R2,R1.|
00001bb0  09 88 1e 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00001bc0  20 20 20 20 4d 4f 56 20  52 31 2c 52 30 0d 09 92  |    MOV R1,R0...|
00001bd0  1f 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00001be0  20 20 42 4c 20 6d 61 6e  64 70 69 78 0d 09 9c 1d  |  BL mandpix....|
00001bf0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001c00  20 42 4c 20 70 6f 69 6e  74 0d 09 a6 24 20 20 20  | BL point...$   |
00001c10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 41 44  |              AD|
00001c20  52 20 52 30 2c 77 69 6d  70 73 74 61 74 0d 09 b0  |R R0,wimpstat...|
00001c30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001c40  20 20 4c 44 52 20 52 30  2c 5b 52 30 5d 0d 09 ba  |  LDR R0,[R0]...|
00001c50  1e 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00001c60  20 20 43 4d 50 20 52 30  2c 23 30 0d 09 c4 21 20  |  CMP R0,#0...! |
00001c70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001c80  42 4e 45 20 70 6c 6f 74  73 74 6f 70 0d 09 ce 20  |BNE plotstop... |
00001c90  2e 70 6c 6f 74 74 65 64  62 20 20 20 20 20 20 20  |.plottedb       |
00001ca0  20 41 44 52 20 52 32 2c  78 73 74 72 0d 09 d8 20  | ADR R2,xstr... |
00001cb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001cc0  20 4c 44 52 20 52 30 2c  5b 52 32 5d 0d 09 e2 20  | LDR R0,[R2]... |
00001cd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001ce0  20 41 44 52 20 52 32 2c  79 73 74 72 0d 09 ec 20  | ADR R2,ystr... |
00001cf0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001d00  20 4c 44 52 20 52 31 2c  5b 52 32 5d 0d 09 f6 20  | LDR R1,[R2]... |
00001d10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001d20  20 41 44 52 20 52 32 2c  73 74 65 70 0d 0a 00 20  | ADR R2,step... |
00001d30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001d40  20 4c 44 52 20 52 39 2c  5b 52 32 5d 0d 0a 0a 21  | LDR R9,[R2]...!|
00001d50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001d60  20 41 44 44 20 52 30 2c  52 30 2c 52 39 0d 0a 14  | ADD R0,R0,R9...|
00001d70  21 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |!               |
00001d80  20 20 41 44 44 20 52 37  2c 52 37 2c 23 31 0d 0a  |  ADD R7,R7,#1..|
00001d90  1e 21 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.!              |
00001da0  20 20 20 43 4d 50 20 52  30 2c 23 31 30 32 34 0d  |   CMP R0,#1024.|
00001db0  0a 28 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.(              |
00001dc0  20 20 20 20 42 4e 45 20  70 6c 74 6c 6f 6f 70 0d  |    BNE pltloop.|
00001dd0  0a 32 1e 20 20 20 20 20  20 20 20 20 20 20 20 20  |.2.             |
00001de0  20 20 20 20 4d 4f 56 20  52 30 2c 23 30 0d 0a 3c  |    MOV R0,#0..<|
00001df0  1e 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00001e00  20 20 4d 4f 56 20 52 37  2c 23 30 0d 0a 46 1e 20  |  MOV R7,#0..F. |
00001e10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001e20  43 4d 50 20 52 39 2c 23  33 0d 0a 50 21 20 20 20  |CMP R9,#3..P!   |
00001e30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 42 43  |              BC|
00001e40  53 20 6e 6f 74 66 69 6e  61 6c 0d 0a 5a 1e 20 20  |S notfinal..Z.  |
00001e50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4d  |               M|
00001e60  4f 56 20 52 39 2c 23 34  0d 0a 64 21 2e 6e 6f 74  |OV R9,#4..d!.not|
00001e70  66 69 6e 61 6c 20 20 20  20 20 20 20 20 41 44 44  |final        ADD|
00001e80  20 52 31 2c 52 31 2c 52  39 0d 0a 6e 21 20 20 20  | R1,R1,R9..n!   |
00001e90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 41 44  |              AD|
00001ea0  44 20 52 38 2c 52 38 2c  23 31 0d 0a 78 21 20 20  |D R8,R8,#1..x!  |
00001eb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 43  |               C|
00001ec0  4d 50 20 52 31 2c 23 31  30 32 34 0d 0a 82 20 20  |MP R1,#1024...  |
00001ed0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001ee0  42 4e 45 20 70 6c 74 6c  6f 6f 70 0d 0a 8c 20 20  |BNE pltloop...  |
00001ef0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001f00  4c 44 52 20 52 39 2c 5b  52 32 5d 0d 0a 96 25 20  |LDR R9,[R2]...% |
00001f10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001f20  4d 4f 56 20 52 39 2c 52  39 2c 4c 53 52 20 23 31  |MOV R9,R9,LSR #1|
00001f30  0d 0a a0 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00001f40  20 20 20 20 20 53 54 52  20 52 39 2c 5b 52 32 5d  |     STR R9,[R2]|
00001f50  0d 0a aa 1e 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00001f60  20 20 20 20 20 43 4d 50  20 52 39 2c 23 31 0d 0a  |     CMP R9,#1..|
00001f70  b4 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00001f80  20 20 20 42 4e 45 20 6e  65 77 73 74 65 70 0d 0a  |   BNE newstep..|
00001f90  be 1e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00001fa0  20 20 20 4d 4f 56 20 52  30 2c 23 30 0d 0a c8 24  |   MOV R0,#0...$|
00001fb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001fc0  20 4c 44 4d 46 44 20 52  31 33 21 2c 7b 50 43 7d  | LDMFD R13!,{PC}|
00001fd0  0d 0a d2 24 2e 70 6c 6f  74 74 65 64 20 20 20 20  |...$.plotted    |
00001fe0  20 20 20 20 20 41 44 52  20 52 30 2c 77 69 6d 70  |     ADR R0,wimp|
00001ff0  73 74 61 74 0d 0a dc 20  20 20 20 20 20 20 20 20  |stat...         |
00002000  20 20 20 20 20 20 20 20  20 4c 44 52 20 52 31 2c  |         LDR R1,|
00002010  5b 52 30 5d 0d 0a e6 1e  20 20 20 20 20 20 20 20  |[R0]....        |
00002020  20 20 20 20 20 20 20 20  20 43 4d 50 20 52 31 2c  |         CMP R1,|
00002030  23 31 0d 0a f0 21 20 20  20 20 20 20 20 20 20 20  |#1...!          |
00002040  20 20 20 20 20 20 20 42  45 51 20 70 6c 6f 74 74  |       BEQ plott|
00002050  65 64 62 0d 0a fa 23 20  20 20 20 20 20 20 20 20  |edb...#         |
00002060  20 20 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |        SWI "OS_|
00002070  4d 6f 75 73 65 22 0d 0b  04 1e 20 20 20 20 20 20  |Mouse"....      |
00002080  20 20 20 20 20 20 20 20  20 20 20 43 4d 50 20 52  |           CMP R|
00002090  32 2c 23 30 0d 0b 0e 21  20 20 20 20 20 20 20 20  |2,#0...!        |
000020a0  20 20 20 20 20 20 20 20  20 42 45 51 20 70 6c 6f  |         BEQ plo|
000020b0  74 74 65 64 62 0d 0b 18  20 2e 70 6c 6f 74 73 74  |ttedb... .plotst|
000020c0  6f 70 20 20 20 20 20 20  20 20 41 44 52 20 52 30  |op        ADR R0|
000020d0  2c 78 70 6e 73 0d 0b 22  20 20 20 20 20 20 20 20  |,xpns.."        |
000020e0  20 20 20 20 20 20 20 20  20 20 53 54 52 20 52 37  |          STR R7|
000020f0  2c 5b 52 30 5d 0d 0b 2c  20 20 20 20 20 20 20 20  |,[R0]..,        |
00002100  20 20 20 20 20 20 20 20  20 20 41 44 52 20 52 30  |          ADR R0|
00002110  2c 79 70 6e 73 0d 0b 36  20 20 20 20 20 20 20 20  |,ypns..6        |
00002120  20 20 20 20 20 20 20 20  20 20 53 54 52 20 52 38  |          STR R8|
00002130  2c 5b 52 30 5d 0d 0b 40  1e 20 20 20 20 20 20 20  |,[R0]..@.       |
00002140  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 52 30  |          MOV R0|
00002150  2c 23 31 0d 0b 4a 24 20  20 20 20 20 20 20 20 20  |,#1..J$         |
00002160  20 20 20 20 20 20 20 20  4c 44 4d 46 44 20 52 31  |        LDMFD R1|
00002170  33 21 2c 7b 50 43 7d 0d  0b 54 05 3a 0d 0b 5e 25  |3!,{PC}..T.:..^%|
00002180  2e 63 6f 6e 74 70 6c 6f  74 20 20 20 20 20 20 20  |.contplot       |
00002190  20 53 54 4d 46 44 20 52  31 33 21 2c 7b 52 31 34  | STMFD R13!,{R14|
000021a0  7d 0d 0b 68 20 20 20 20  20 20 20 20 20 20 20 20  |}..h            |
000021b0  20 20 20 20 20 20 41 44  52 20 52 30 2c 78 70 6e  |      ADR R0,xpn|
000021c0  73 0d 0b 72 20 20 20 20  20 20 20 20 20 20 20 20  |s..r            |
000021d0  20 20 20 20 20 20 4c 44  52 20 52 37 2c 5b 52 30  |      LDR R7,[R0|
000021e0  5d 0d 0b 7c 20 20 20 20  20 20 20 20 20 20 20 20  |]..|            |
000021f0  20 20 20 20 20 20 41 44  52 20 52 30 2c 79 70 6e  |      ADR R0,ypn|
00002200  73 0d 0b 86 20 20 20 20  20 20 20 20 20 20 20 20  |s...            |
00002210  20 20 20 20 20 20 4c 44  52 20 52 38 2c 5b 52 30  |      LDR R8,[R0|
00002220  5d 0d 0b 90 1f 20 20 20  20 20 20 20 20 20 20 20  |]....           |
00002230  20 20 20 20 20 20 42 20  70 6c 6f 74 74 65 64 62  |      B plottedb|
00002240  0d 0b 9a 05 3a 0d 0b a4  1c 5c 20 53 43 52 45 45  |....:....\ SCREE|
00002250  4e 20 4d 45 4d 4f 52 59  20 48 41 4e 44 4c 49 4e  |N MEMORY HANDLIN|
00002260  47 0d 0b ae 05 3a 0d 0b  b8 22 2e 70 6f 69 6e 74  |G....:...".point|
00002270  20 20 20 20 20 20 20 20  20 20 20 41 44 44 20 52  |           ADD R|
00002280  31 30 2c 52 30 2c 23 37  0d 0b c2 23 20 20 20 20  |10,R0,#7...#    |
00002290  20 20 20 20 20 20 20 20  20 20 20 20 20 80 20 52  |             . R|
000022a0  31 30 2c 52 31 30 2c 23  31 32 37 0d 0b cc 20 20  |10,R10,#127...  |
000022b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000022c0  41 44 52 20 52 32 2c 78  73 74 72 0d 0b d6 20 20  |ADR R2,xstr...  |
000022d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000022e0  4c 44 52 20 52 30 2c 5b  52 32 5d 0d 0b e0 20 20  |LDR R0,[R2]...  |
000022f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002300  41 44 52 20 52 32 2c 79  73 74 72 0d 0b ea 20 20  |ADR R2,ystr...  |
00002310  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002320  4c 44 52 20 52 31 2c 5b  52 32 5d 0d 0b f4 22 20  |LDR R1,[R2]..." |
00002330  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002340  4d 4f 56 20 52 31 31 2c  23 26 32 38 30 0d 0b fe  |MOV R11,#&280...|
00002350  25 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |%               |
00002360  20 20 4d 4f 56 20 52 30  2c 52 30 2c 4c 53 52 20  |  MOV R0,R0,LSR |
00002370  23 31 0d 0c 08 25 20 20  20 20 20 20 20 20 20 20  |#1...%          |
00002380  20 20 20 20 20 20 20 4d  4f 56 20 52 31 2c 52 31  |       MOV R1,R1|
00002390  2c 4c 53 52 20 23 32 0d  0c 12 22 20 20 20 20 20  |,LSR #2..."     |
000023a0  20 20 20 20 20 20 20 20  20 20 20 20 53 55 42 20  |            SUB |
000023b0  52 30 2c 52 31 31 2c 52  30 0d 0c 1c 25 20 20 20  |R0,R11,R0...%   |
000023c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 41 44  |              AD|
000023d0  52 20 52 31 31 2c 77 69  6d 70 73 74 61 74 0d 0c  |R R11,wimpstat..|
000023e0  26 22 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |&"              |
000023f0  20 20 20 4c 44 52 20 52  31 31 2c 5b 52 31 31 5d  |   LDR R11,[R11]|
00002400  0d 0c 30 1f 20 20 20 20  20 20 20 20 20 20 20 20  |..0.            |
00002410  20 20 20 20 20 43 4d 50  20 52 31 31 2c 23 30 0d  |     CMP R11,#0.|
00002420  0c 3a 25 20 20 20 20 20  20 20 20 20 20 20 20 20  |.:%             |
00002430  20 20 20 20 ec 51 20 52  31 31 2c 23 26 32 30 30  |    .Q R11,#&200|
00002440  30 30 30 30 0d 0c 44 25  20 20 20 20 20 20 20 20  |0000..D%        |
00002450  20 20 20 20 20 20 20 20  20 41 44 52 4e 45 20 52  |         ADRNE R|
00002460  31 31 2c 73 63 72 65 61  64 0d 0c 4e 24 20 20 20  |11,scread..N$   |
00002470  20 20 20 20 20 20 20 20  20 20 20 20 20 20 4c 44  |              LD|
00002480  52 4e 45 20 52 31 31 2c  5b 52 31 31 5d 0d 0c 58  |RNE R11,[R11]..X|
00002490  2a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |*               |
000024a0  20 20 41 44 44 4e 45 20  52 31 31 2c 52 31 31 2c  |  ADDNE R11,R11,|
000024b0  23 26 32 38 30 30 30 0d  0c 62 23 20 20 20 20 20  |#&28000..b#     |
000024c0  20 20 20 20 20 20 20 20  20 20 20 20 53 55 42 20  |            SUB |
000024d0  52 31 31 2c 52 31 31 2c  52 30 0d 0c 6c 22 20 20  |R11,R11,R0..l"  |
000024e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4d  |               M|
000024f0  4f 56 20 52 31 32 2c 23  26 32 38 30 0d 0c 76 22  |OV R12,#&280..v"|
00002500  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002510  20 4d 55 4c 20 52 32 2c  52 31 2c 52 31 32 0d 0c  | MUL R2,R1,R12..|
00002520  80 23 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.#              |
00002530  20 20 20 53 55 42 20 52  31 31 2c 52 31 31 2c 52  |   SUB R11,R11,R|
00002540  32 0d 0c 8a 20 20 20 20  20 20 20 20 20 20 20 20  |2...            |
00002550  20 20 20 20 20 20 41 44  52 20 52 30 2c 73 74 65  |      ADR R0,ste|
00002560  70 0d 0c 94 20 20 20 20  20 20 20 20 20 20 20 20  |p...            |
00002570  20 20 20 20 20 20 4c 44  52 20 52 32 2c 5b 52 30  |      LDR R2,[R0|
00002580  5d 0d 0c 9e 1e 20 20 20  20 20 20 20 20 20 20 20  |]....           |
00002590  20 20 20 20 20 20 4d 4f  56 20 52 30 2c 23 30 0d  |      MOV R0,#0.|
000025a0  0c a8 1e 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000025b0  20 20 20 20 4d 4f 56 20  52 31 2c 23 30 0d 0c b2  |    MOV R1,#0...|
000025c0  25 2e 73 71 75 70 6c 6f  70 20 20 20 20 20 20 20  |%.squplop       |
000025d0  20 20 4c 44 52 42 20 52  33 2c 5b 52 31 31 2c 52  |  LDRB R3,[R11,R|
000025e0  30 5d 0d 0c bc 21 20 20  20 20 20 20 20 20 20 20  |0]...!          |
000025f0  20 20 20 20 20 20 20 80  20 52 33 2c 52 33 2c 23  |       . R3,R3,#|
00002600  31 32 38 0d 0c c6 22 20  20 20 20 20 20 20 20 20  |128..."         |
00002610  20 20 20 20 20 20 20 20  41 44 44 20 52 33 2c 52  |        ADD R3,R|
00002620  33 2c 52 31 30 0d 0c d0  25 20 20 20 20 20 20 20  |3,R10...%       |
00002630  20 20 20 20 20 20 20 20  20 20 53 54 52 42 20 52  |          STRB R|
00002640  33 2c 5b 52 31 31 2c 52  30 5d 0d 0c da 21 20 20  |3,[R11,R0]...!  |
00002650  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |               A|
00002660  44 44 20 52 30 2c 52 30  2c 23 31 0d 0c e4 25 20  |DD R0,R0,#1...% |
00002670  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002680  43 4d 50 20 52 30 2c 52  32 2c 4c 53 52 20 23 31  |CMP R0,R2,LSR #1|
00002690  0d 0c ee 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000026a0  20 20 20 20 20 42 43 43  20 73 71 75 70 6c 6f 70  |     BCC squplop|
000026b0  0d 0c f8 1e 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
000026c0  20 20 20 20 20 4d 4f 56  20 52 30 2c 23 30 0d 0d  |     MOV R0,#0..|
000026d0  02 26 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.&              |
000026e0  20 20 20 53 55 42 20 52  31 31 2c 52 31 31 2c 23  |   SUB R11,R11,#|
000026f0  26 32 38 30 0d 0d 0c 21  20 20 20 20 20 20 20 20  |&280...!        |
00002700  20 20 20 20 20 20 20 20  20 41 44 44 20 52 31 2c  |         ADD R1,|
00002710  52 31 2c 23 31 0d 0d 16  25 20 20 20 20 20 20 20  |R1,#1...%       |
00002720  20 20 20 20 20 20 20 20  20 20 43 4d 50 20 52 31  |          CMP R1|
00002730  2c 52 32 2c 4c 53 52 20  23 32 0d 0d 20 20 20 20  |,R2,LSR #2..    |
00002740  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 42  |               B|
00002750  43 43 20 73 71 75 70 6c  6f 70 0d 0d 2a 1f 20 20  |CC squplop..*.  |
00002760  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4d  |               M|
00002770  4f 56 20 50 43 2c 52 31  34 0d 0d 34 05 3a 0d 0d  |OV PC,R14..4.:..|
00002780  3e 21 2e 6d 6f 75 73 65  62 6f 78 20 20 20 20 20  |>!.mousebox     |
00002790  20 20 20 41 44 52 20 52  30 2c 78 62 6f 78 61 0d  |   ADR R0,xboxa.|
000027a0  0d 48 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.H              |
000027b0  20 20 20 20 4c 44 52 20  52 30 2c 5b 52 30 5d 0d  |    LDR R0,[R0].|
000027c0  0d 52 21 20 20 20 20 20  20 20 20 20 20 20 20 20  |.R!             |
000027d0  20 20 20 20 41 44 52 20  52 31 2c 78 62 6f 78 62  |    ADR R1,xboxb|
000027e0  0d 0d 5c 20 20 20 20 20  20 20 20 20 20 20 20 20  |..\             |
000027f0  20 20 20 20 20 4c 44 52  20 52 31 2c 5b 52 31 5d  |     LDR R1,[R1]|
00002800  0d 0d 66 1e 20 20 20 20  20 20 20 20 20 20 20 20  |..f.            |
00002810  20 20 20 20 20 43 4d 50  20 52 30 2c 52 31 0d 0d  |     CMP R0,R1..|
00002820  70 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |p               |
00002830  20 20 20 4d 4f 56 43 53  20 52 32 2c 52 30 0d 0d  |   MOVCS R2,R0..|
00002840  7a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |z               |
00002850  20 20 20 4d 4f 56 43 53  20 52 30 2c 52 31 0d 0d  |   MOVCS R0,R1..|
00002860  84 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002870  20 20 20 4d 4f 56 43 53  20 52 31 2c 52 32 0d 0d  |   MOVCS R1,R2..|
00002880  8e 21 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.!              |
00002890  20 20 20 41 44 52 20 52  32 2c 79 62 6f 78 61 0d  |   ADR R2,yboxa.|
000028a0  0d 98 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
000028b0  20 20 20 20 4c 44 52 20  52 32 2c 5b 52 32 5d 0d  |    LDR R2,[R2].|
000028c0  0d a2 21 20 20 20 20 20  20 20 20 20 20 20 20 20  |..!             |
000028d0  20 20 20 20 41 44 52 20  52 33 2c 79 62 6f 78 62  |    ADR R3,yboxb|
000028e0  0d 0d ac 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000028f0  20 20 20 20 20 4c 44 52  20 52 33 2c 5b 52 33 5d  |     LDR R3,[R3]|
00002900  0d 0d b6 1e 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00002910  20 20 20 20 20 43 4d 50  20 52 32 2c 52 33 0d 0d  |     CMP R2,R3..|
00002920  c0 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002930  20 20 20 4d 4f 56 43 53  20 52 34 2c 52 32 0d 0d  |   MOVCS R4,R2..|
00002940  ca 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002950  20 20 20 4d 4f 56 43 53  20 52 32 2c 52 33 0d 0d  |   MOVCS R2,R3..|
00002960  d4 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002970  20 20 20 4d 4f 56 43 53  20 52 33 2c 52 34 0d 0d  |   MOVCS R3,R4..|
00002980  de 22 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |."              |
00002990  20 20 20 4d 4f 56 20 52  31 31 2c 23 26 32 38 30  |   MOV R11,#&280|
000029a0  0d 0d e8 25 20 20 20 20  20 20 20 20 20 20 20 20  |...%            |
000029b0  20 20 20 20 20 4d 4f 56  20 52 34 2c 52 30 2c 4c  |     MOV R4,R0,L|
000029c0  53 52 20 23 31 0d 0d f2  25 20 20 20 20 20 20 20  |SR #1...%       |
000029d0  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 52 35  |          MOV R5|
000029e0  2c 52 32 2c 4c 53 52 20  23 32 0d 0d fc 22 20 20  |,R2,LSR #2..."  |
000029f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 53  |               S|
00002a00  55 42 20 52 34 2c 52 31  31 2c 52 34 0d 0e 06 26  |UB R4,R11,R4...&|
00002a10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002a20  20 4d 4f 56 20 52 31 31  2c 23 26 32 30 30 30 30  | MOV R11,#&20000|
00002a30  30 30 0d 0e 10 23 20 20  20 20 20 20 20 20 20 20  |00...#          |
00002a40  20 20 20 20 20 20 20 53  55 42 20 52 31 31 2c 52  |       SUB R11,R|
00002a50  31 31 2c 52 34 0d 0e 1a  22 20 20 20 20 20 20 20  |11,R4..."       |
00002a60  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 52 31  |          MOV R1|
00002a70  32 2c 23 26 32 38 30 0d  0e 24 22 20 20 20 20 20  |2,#&280..$"     |
00002a80  20 20 20 20 20 20 20 20  20 20 20 20 4d 55 4c 20  |            MUL |
00002a90  52 36 2c 52 35 2c 52 31  32 0d 0e 2e 23 20 20 20  |R6,R5,R12...#   |
00002aa0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 53 55  |              SU|
00002ab0  42 20 52 31 31 2c 52 31  31 2c 52 36 0d 0e 38 1e  |B R11,R11,R6..8.|
00002ac0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002ad0  20 4d 4f 56 20 52 34 2c  23 30 0d 0e 42 1e 20 20  | MOV R4,#0..B.  |
00002ae0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4d  |               M|
00002af0  4f 56 20 52 35 2c 52 31  0d 0e 4c 21 20 20 20 20  |OV R5,R1..L!    |
00002b00  20 20 20 20 20 20 20 20  20 20 20 20 20 53 55 42  |             SUB|
00002b10  20 52 35 2c 52 35 2c 52  30 0d 0e 56 25 20 20 20  | R5,R5,R0..V%   |
00002b20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 4d 4f  |              MO|
00002b30  56 20 52 35 2c 52 35 2c  4c 53 52 20 23 31 0d 0e  |V R5,R5,LSR #1..|
00002b40  60 25 2e 78 62 6f 74 6c  6f 70 20 20 20 20 20 20  |`%.xbotlop      |
00002b50  20 20 20 4c 44 52 42 20  52 36 2c 5b 52 31 31 2c  |   LDRB R6,[R11,|
00002b60  52 34 5d 0d 0e 6a 21 20  20 20 20 20 20 20 20 20  |R4]..j!         |
00002b70  20 20 20 20 20 20 20 20  82 20 52 36 2c 52 36 2c  |        . R6,R6,|
00002b80  23 31 32 38 0d 0e 74 25  20 20 20 20 20 20 20 20  |#128..t%        |
00002b90  20 20 20 20 20 20 20 20  20 53 54 52 42 20 52 36  |         STRB R6|
00002ba0  2c 5b 52 31 31 2c 52 34  5d 0d 0e 7e 21 20 20 20  |,[R11,R4]..~!   |
00002bb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 41 44  |              AD|
00002bc0  44 20 52 34 2c 52 34 2c  23 31 0d 0e 88 1e 20 20  |D R4,R4,#1....  |
00002bd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 43  |               C|
00002be0  4d 50 20 52 34 2c 52 35  0d 0e 92 20 20 20 20 20  |MP R4,R5...     |
00002bf0  20 20 20 20 20 20 20 20  20 20 20 20 20 42 43 43  |             BCC|
00002c00  20 78 62 6f 74 6c 6f 70  0d 0e 9c 1e 20 20 20 20  | xbotlop....    |
00002c10  20 20 20 20 20 20 20 20  20 20 20 20 20 4d 4f 56  |             MOV|
00002c20  20 52 36 2c 52 33 0d 0e  a6 21 20 20 20 20 20 20  | R6,R3...!      |
00002c30  20 20 20 20 20 20 20 20  20 20 20 53 55 42 20 52  |           SUB R|
00002c40  36 2c 52 36 2c 52 32 0d  0e b0 25 20 20 20 20 20  |6,R6,R2...%     |
00002c50  20 20 20 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |            MOV |
00002c60  52 36 2c 52 36 2c 4c 53  52 20 23 32 0d 0e ba 21  |R6,R6,LSR #2...!|
00002c70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002c80  20 4d 4f 56 20 52 34 2c  23 26 32 38 30 0d 0e c4  | MOV R4,#&280...|
00002c90  21 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |!               |
00002ca0  20 20 4d 55 4c 20 52 37  2c 52 36 2c 52 34 0d 0e  |  MUL R7,R6,R4..|
00002cb0  ce 1e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00002cc0  20 20 20 4d 4f 56 20 52  36 2c 52 37 0d 0e d8 1e  |   MOV R6,R7....|
00002cd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002ce0  20 4d 4f 56 20 52 34 2c  23 30 0d 0e e2 26 2e 79  | MOV R4,#0...&.y|
00002cf0  6c 65 66 74 6c 6f 70 20  20 20 20 20 20 20 20 4c  |leftlop        L|
00002d00  44 52 42 20 52 37 2c 5b  52 31 31 2c 2d 52 34 5d  |DRB R7,[R11,-R4]|
00002d10  0d 0e ec 21 20 20 20 20  20 20 20 20 20 20 20 20  |...!            |
00002d20  20 20 20 20 20 82 20 52  37 2c 52 37 2c 23 31 32  |     . R7,R7,#12|
00002d30  38 0d 0e f6 26 20 20 20  20 20 20 20 20 20 20 20  |8...&           |
00002d40  20 20 20 20 20 20 53 54  52 42 20 52 37 2c 5b 52  |      STRB R7,[R|
00002d50  31 31 2c 2d 52 34 5d 0d  0f 00 24 20 20 20 20 20  |11,-R4]...$     |
00002d60  20 20 20 20 20 20 20 20  20 20 20 20 41 44 44 20  |            ADD |
00002d70  52 34 2c 52 34 2c 23 26  32 38 30 0d 0f 0a 1e 20  |R4,R4,#&280.... |
00002d80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002d90  43 4d 50 20 52 34 2c 52  36 0d 0f 14 21 20 20 20  |CMP R4,R6...!   |
00002da0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 42 43  |              BC|
00002db0  43 20 79 6c 65 66 74 6c  6f 70 0d 0f 1e 24 20 20  |C yleftlop...$  |
00002dc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 52  |               R|
00002dd0  53 42 20 52 34 2c 52 35  2c 23 26 32 38 30 0d 0f  |SB R4,R5,#&280..|
00002de0  28 22 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |("              |
00002df0  20 20 20 5c 53 55 42 20  52 36 2c 52 36 2c 52 35  |   \SUB R6,R6,R5|
00002e00  0d 0f 32 26 2e 79 72 69  67 68 74 6c 6f 70 20 20  |..2&.yrightlop  |
00002e10  20 20 20 20 20 4c 44 52  42 20 52 37 2c 5b 52 31  |     LDRB R7,[R1|
00002e20  31 2c 2d 52 34 5d 0d 0f  3c 21 20 20 20 20 20 20  |1,-R4]..<!      |
00002e30  20 20 20 20 20 20 20 20  20 20 20 82 20 52 37 2c  |           . R7,|
00002e40  52 37 2c 23 31 32 38 0d  0f 46 26 20 20 20 20 20  |R7,#128..F&     |
00002e50  20 20 20 20 20 20 20 20  20 20 20 20 53 54 52 42  |            STRB|
00002e60  20 52 37 2c 5b 52 31 31  2c 2d 52 34 5d 0d 0f 50  | R7,[R11,-R4]..P|
00002e70  24 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |$               |
00002e80  20 20 41 44 44 20 52 34  2c 52 34 2c 23 26 32 38  |  ADD R4,R4,#&28|
00002e90  30 0d 0f 5a 1e 20 20 20  20 20 20 20 20 20 20 20  |0..Z.           |
00002ea0  20 20 20 20 20 20 43 4d  50 20 52 34 2c 52 36 0d  |      CMP R4,R6.|
00002eb0  0f 64 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |.d"             |
00002ec0  20 20 20 20 42 43 43 20  79 72 69 67 68 74 6c 6f  |    BCC yrightlo|
00002ed0  70 0d 0f 6e 22 20 20 20  20 20 20 20 20 20 20 20  |p..n"           |
00002ee0  20 20 20 20 20 20 5c 41  44 44 20 52 36 2c 52 36  |      \ADD R6,R6|
00002ef0  2c 52 35 0d 0f 78 23 20  20 20 20 20 20 20 20 20  |,R5..x#         |
00002f00  20 20 20 20 20 20 20 20  53 55 42 20 52 31 31 2c  |        SUB R11,|
00002f10  52 31 31 2c 52 36 0d 0f  82 1e 20 20 20 20 20 20  |R11,R6....      |
00002f20  20 20 20 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |           MOV R|
00002f30  34 2c 23 30 0d 0f 8c 25  2e 78 74 6f 70 6c 6f 70  |4,#0...%.xtoplop|
00002f40  20 20 20 20 20 20 20 20  20 4c 44 52 42 20 52 36  |         LDRB R6|
00002f50  2c 5b 52 31 31 2c 52 34  5d 0d 0f 96 21 20 20 20  |,[R11,R4]...!   |
00002f60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 82 20  |              . |
00002f70  52 36 2c 52 36 2c 23 31  32 38 0d 0f a0 25 20 20  |R6,R6,#128...%  |
00002f80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 53  |               S|
00002f90  54 52 42 20 52 36 2c 5b  52 31 31 2c 52 34 5d 0d  |TRB R6,[R11,R4].|
00002fa0  0f aa 21 20 20 20 20 20  20 20 20 20 20 20 20 20  |..!             |
00002fb0  20 20 20 20 41 44 44 20  52 34 2c 52 34 2c 23 31  |    ADD R4,R4,#1|
00002fc0  0d 0f b4 1e 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00002fd0  20 20 20 20 20 43 4d 50  20 52 34 2c 52 35 0d 0f  |     CMP R4,R5..|
00002fe0  be 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002ff0  20 20 20 42 43 43 20 78  74 6f 70 6c 6f 70 0d 0f  |   BCC xtoplop..|
00003000  c8 1f 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00003010  20 20 20 4d 4f 56 20 50  43 2c 52 31 34 0d 0f d2  |   MOV PC,R14...|
00003020  05 3a 0d 0f dc 22 2e 73  61 76 65 73 63 72 20 20  |.:...".savescr  |
00003030  20 20 20 20 20 20 20 41  44 52 20 52 31 2c 73 63  |       ADR R1,sc|
00003040  72 6d 65 6d 0d 0f e6 20  20 20 20 20 20 20 20 20  |rmem...         |
00003050  20 20 20 20 20 20 20 20  20 4c 44 52 20 52 30 2c  |         LDR R0,|
00003060  5b 52 31 5d 0d 0f f0 22  20 20 20 20 20 20 20 20  |[R1]..."        |
00003070  20 20 20 20 20 20 20 20  20 41 44 52 20 52 31 2c  |         ADR R1,|
00003080  73 63 72 65 61 64 0d 0f  fa 20 20 20 20 20 20 20  |scread...       |
00003090  20 20 20 20 20 20 20 20  20 20 20 4c 44 52 20 52  |           LDR R|
000030a0  31 2c 5b 52 31 5d 0d 10  04 1e 20 20 20 20 20 20  |1,[R1]....      |
000030b0  20 20 20 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |           MOV R|
000030c0  32 2c 23 30 0d 10 0e 23  2e 73 61 76 6c 6f 70 20  |2,#0...#.savlop |
000030d0  20 20 20 20 20 20 20 20  20 4c 44 52 20 52 33 2c  |         LDR R3,|
000030e0  5b 52 30 2c 52 32 5d 0d  10 18 23 20 20 20 20 20  |[R0,R2]...#     |
000030f0  20 20 20 20 20 20 20 20  20 20 20 20 53 54 52 20  |            STR |
00003100  52 33 2c 5b 52 31 2c 52  32 5d 0d 10 22 21 20 20  |R3,[R1,R2].."!  |
00003110  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |               A|
00003120  44 44 20 52 32 2c 52 32  2c 23 34 0d 10 2c 23 20  |DD R2,R2,#4..,# |
00003130  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003140  43 4d 50 20 52 32 2c 23  26 32 38 30 30 30 0d 10  |CMP R2,#&28000..|
00003150  36 1f 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |6.              |
00003160  20 20 20 42 43 43 20 73  61 76 6c 6f 70 0d 10 40  |   BCC savlop..@|
00003170  1f 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00003180  20 20 4d 4f 56 20 50 43  2c 52 31 34 0d 10 4a 22  |  MOV PC,R14..J"|
00003190  2e 6c 6f 61 64 73 63 72  20 20 20 20 20 20 20 20  |.loadscr        |
000031a0  20 41 44 52 20 52 30 2c  73 63 72 6d 65 6d 0d 10  | ADR R0,scrmem..|
000031b0  54 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |T               |
000031c0  20 20 20 4c 44 52 20 52  31 2c 5b 52 30 5d 0d 10  |   LDR R1,[R0]..|
000031d0  5e 22 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |^"              |
000031e0  20 20 20 41 44 52 20 52  30 2c 73 63 72 65 61 64  |   ADR R0,scread|
000031f0  0d 10 68 20 20 20 20 20  20 20 20 20 20 20 20 20  |..h             |
00003200  20 20 20 20 20 4c 44 52  20 52 30 2c 5b 52 30 5d  |     LDR R0,[R0]|
00003210  0d 10 72 1e 20 20 20 20  20 20 20 20 20 20 20 20  |..r.            |
00003220  20 20 20 20 20 4d 4f 56  20 52 32 2c 23 30 0d 10  |     MOV R2,#0..|
00003230  7c 1d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ||.              |
00003240  20 20 20 42 20 73 61 76  6c 6f 70 0d 10 86 05 3a  |   B savlop....:|
00003250  0d 10 90 1c 2e 78 6d 69  6e 20 45 51 55 44 20 30  |.....xmin EQUD 0|
00003260  3a 45 51 55 44 30 3a 45  51 55 44 30 0d 10 9a 1c  |:EQUD0:EQUD0....|
00003270  2e 79 6d 69 6e 20 45 51  55 44 20 30 3a 45 51 55  |.ymin EQUD 0:EQU|
00003280  44 30 3a 45 51 55 44 30  0d 10 a4 1d 2e 78 73 74  |D0:EQUD0.....xst|
00003290  65 70 20 45 51 55 44 20  30 3a 45 51 55 44 30 3a  |ep EQUD 0:EQUD0:|
000032a0  45 51 55 44 30 0d 10 ae  1d 2e 79 73 74 65 70 20  |EQUD0.....ystep |
000032b0  45 51 55 44 20 30 3a 45  51 55 44 30 3a 45 51 55  |EQUD 0:EQUD0:EQU|
000032c0  44 30 0d 10 b8 19 2e 73  63 72 6d 65 6d 20 45 51  |D0.....scrmem EQ|
000032d0  55 44 20 26 31 46 44 38  30 30 30 0d 10 c2 17 2e  |UD &1FD8000.....|
000032e0  73 63 72 65 61 64 20 45  51 55 44 20 73 63 72 65  |scread EQUD scre|
000032f0  65 6e 0d 10 cc 12 2e 6d  61 78 69 74 20 45 51 55  |en.....maxit EQU|
00003300  44 20 32 35 0d 10 d6 10  2e 78 73 74 72 20 45 51  |D 25.....xstr EQ|
00003310  55 44 20 30 0d 10 e0 10  2e 79 73 74 72 20 45 51  |UD 0.....ystr EQ|
00003320  55 44 20 30 0d 10 ea 10  2e 78 70 6e 73 20 45 51  |UD 0.....xpns EQ|
00003330  55 44 20 30 0d 10 f4 10  2e 79 70 6e 73 20 45 51  |UD 0.....ypns EQ|
00003340  55 44 20 30 0d 10 fe 10  2e 73 74 65 70 20 45 51  |UD 0.....step EQ|
00003350  55 44 20 30 0d 11 08 11  2e 78 62 6f 78 61 20 45  |UD 0.....xboxa E|
00003360  51 55 44 20 30 0d 11 12  11 2e 78 62 6f 78 62 20  |QUD 0.....xboxb |
00003370  45 51 55 44 20 30 0d 11  1c 11 2e 79 62 6f 78 61  |EQUD 0.....yboxa|
00003380  20 45 51 55 44 20 30 0d  11 26 11 2e 79 62 6f 78  | EQUD 0..&..ybox|
00003390  62 20 45 51 55 44 20 30  0d 11 30 05 3a 0d 11 3a  |b EQUD 0..0.:..:|
000033a0  1d 2e 73 74 61 72 74 75  70 20 53 54 4d 46 44 20  |..startup STMFD |
000033b0  52 31 33 21 2c 7b 52 31  34 7d 0d 11 44 17 20 20  |R13!,{R14}..D.  |
000033c0  20 20 20 20 20 20 20 53  57 49 20 32 35 36 2b 32  |       SWI 256+2|
000033d0  32 0d 11 4e 17 20 20 20  20 20 20 20 20 20 53 57  |2..N.         SW|
000033e0  49 20 32 35 36 2b 31 35  0d 11 58 18 20 20 20 20  |I 256+15..X.    |
000033f0  20 20 20 20 20 4d 4f 56  20 52 30 2c 23 31 30 36  |     MOV R0,#106|
00003400  0d 11 62 16 20 20 20 20  20 20 20 20 20 4d 4f 56  |..b.         MOV|
00003410  20 52 31 2c 23 31 0d 11  6c 1a 20 20 20 20 20 20  | R1,#1..l.      |
00003420  20 20 20 53 57 49 20 22  4f 53 5f 42 79 74 65 22  |   SWI "OS_Byte"|
00003430  0d 11 76 17 20 20 20 20  20 20 20 20 20 53 57 49  |..v.         SWI|
00003440  20 32 35 36 2b 32 33 0d  11 80 16 20 20 20 20 20  | 256+23....     |
00003450  20 20 20 20 53 57 49 20  32 35 36 2b 31 0d 11 8a  |    SWI 256+1...|
00003460  14 20 20 20 20 20 20 20  20 20 53 57 49 20 32 35  |.         SWI 25|
00003470  36 0d 11 94 14 20 20 20  20 20 20 20 20 20 53 57  |6....         SW|
00003480  49 20 32 35 36 0d 11 9e  14 20 20 20 20 20 20 20  |I 256....       |
00003490  20 20 53 57 49 20 32 35  36 0d 11 a8 14 20 20 20  |  SWI 256....   |
000034a0  20 20 20 20 20 20 53 57  49 20 32 35 36 0d 11 b2  |      SWI 256...|
000034b0  14 20 20 20 20 20 20 20  20 20 53 57 49 20 32 35  |.         SWI 25|
000034c0  36 0d 11 bc 14 20 20 20  20 20 20 20 20 20 53 57  |6....         SW|
000034d0  49 20 32 35 36 0d 11 c6  14 20 20 20 20 20 20 20  |I 256....       |
000034e0  20 20 53 57 49 20 32 35  36 0d 11 d0 14 20 20 20  |  SWI 256....   |
000034f0  20 20 20 20 20 20 53 57  49 20 32 35 36 0d 11 da  |      SWI 256...|
00003500  1b 20 20 20 20 20 20 20  20 20 41 44 52 20 52 30  |.         ADR R0|
00003510  2c 73 63 68 6f 6f 73 65  0d 11 e4 19 20 20 20 20  |,schoose....    |
00003520  20 20 20 20 20 53 57 49  20 22 4f 53 5f 43 4c 49  |     SWI "OS_CLI|
00003530  22 0d 11 ee 18 20 20 20  20 20 20 20 20 20 4d 4f  |"....         MO|
00003540  56 20 52 30 2c 23 26 45  44 0d 11 f8 19 20 20 20  |V R0,#&ED....   |
00003550  20 20 20 20 20 20 4d 4f  56 20 52 31 2c 23 31 30  |      MOV R1,#10|
00003560  32 34 0d 12 02 19 20 20  20 20 20 20 20 20 20 41  |24....         A|
00003570  44 52 20 52 32 2c 70 6c  6f 74 79 0d 12 0c 18 20  |DR R2,ploty.... |
00003580  20 20 20 20 20 20 20 20  4c 44 52 20 52 32 2c 5b  |        LDR R2,[|
00003590  52 32 5d 0d 12 16 1a 20  20 20 20 20 20 20 20 20  |R2]....         |
000035a0  53 57 49 20 22 4f 53 5f  50 6c 6f 74 22 0d 12 20  |SWI "OS_Plot".. |
000035b0  1c 20 20 20 20 20 20 20  20 20 53 57 49 20 22 4f  |.         SWI "O|
000035c0  53 5f 57 72 69 74 65 53  22 0d 12 2a 29 20 20 20  |S_WriteS"..*)   |
000035d0  20 20 20 20 20 20 45 51  55 42 31 37 3a 45 51 55  |      EQUB17:EQU|
000035e0  42 32 35 35 3a 45 51 55  42 31 37 3a 45 51 55 42  |B255:EQUB17:EQUB|
000035f0  33 32 0d 12 34 38 20 20  20 20 20 20 20 20 20 45  |32..48         E|
00003600  51 55 42 33 31 3a 45 51  55 42 36 34 3a 45 51 55  |QUB31:EQUB64:EQU|
00003610  42 31 30 3a 45 51 55 53  22 5a 6f 6f 6d 20 49 6e  |B10:EQUS"Zoom In|
00003620  20 20 20 20 20 20 20 20  20 22 0d 12 3e 38 20 20  |         "..>8  |
00003630  20 20 20 20 20 20 20 45  51 55 42 33 31 3a 45 51  |       EQUB31:EQ|
00003640  55 42 36 34 3a 45 51 55  42 31 32 3a 45 51 55 53  |UB64:EQUB12:EQUS|
00003650  22 52 65 73 65 74 20 20  20 20 20 20 20 20 20 20  |"Reset          |
00003660  20 22 0d 12 48 19 20 20  20 20 20 20 20 20 20 45  | "..H.         E|
00003670  51 55 42 31 37 3a 45 51  55 42 38 0d 12 52 38 20  |QUB17:EQUB8..R8 |
00003680  20 20 20 20 20 20 20 20  45 51 55 42 33 31 3a 45  |        EQUB31:E|
00003690  51 55 42 36 34 3a 45 51  55 42 31 36 3a 45 51 55  |QUB64:EQUB16:EQU|
000036a0  53 22 49 74 65 72 61 74  69 6f 6e 73 20 20 20 20  |S"Iterations    |
000036b0  20 20 22 0d 12 5c 38 20  20 20 20 20 20 20 20 20  |  "..\8         |
000036c0  45 51 55 42 33 31 3a 45  51 55 42 36 34 3a 45 51  |EQUB31:EQUB64:EQ|
000036d0  55 42 31 38 3a 45 51 55  53 22 43 6f 6c 6f 75 72  |UB18:EQUS"Colour|
000036e0  20 43 79 63 6c 69 6e 67  20 20 22 0d 12 66 38 20  | Cycling  "..f8 |
000036f0  20 20 20 20 20 20 20 20  45 51 55 42 33 31 3a 45  |        EQUB31:E|
00003700  51 55 42 36 34 3a 45 51  55 42 32 30 3a 45 51 55  |QUB64:EQUB20:EQU|
00003710  53 22 53 61 76 65 20 53  63 72 65 65 6e 20 20 20  |S"Save Screen   |
00003720  20 20 22 0d 12 70 19 20  20 20 20 20 20 20 20 20  |  "..p.         |
00003730  45 51 55 42 31 37 3a 45  51 55 42 36 0d 12 7a 38  |EQUB17:EQUB6..z8|
00003740  20 20 20 20 20 20 20 20  20 45 51 55 42 33 31 3a  |         EQUB31:|
00003750  45 51 55 42 36 34 3a 45  51 55 42 32 38 3a 45 51  |EQUB64:EQUB28:EQ|
00003760  55 53 22 44 65 73 6b 74  6f 70 20 20 20 20 20 20  |US"Desktop      |
00003770  20 20 20 22 0d 12 84 38  20 20 20 20 20 20 20 20  |   "...8        |
00003780  20 45 51 55 42 33 31 3a  45 51 55 42 36 34 3a 45  | EQUB31:EQUB64:E|
00003790  51 55 42 33 30 3a 45 51  55 53 22 51 75 69 74 20  |QUB30:EQUS"Quit |
000037a0  50 72 6f 67 72 61 6d 20  20 20 20 22 0d 12 8e 21  |Program    "...!|
000037b0  20 20 20 20 20 20 20 20  20 45 51 55 42 31 37 3a  |         EQUB17:|
000037c0  45 51 55 42 31 32 38 3a  45 51 55 42 30 0d 12 98  |EQUB128:EQUB0...|
000037d0  12 20 20 20 20 20 20 20  20 20 41 4c 49 47 4e 0d  |.         ALIGN.|
000037e0  12 a2 17 20 20 20 20 20  20 20 20 20 42 4c 20 70  |...         BL p|
000037f0  6c 6f 74 74 65 72 0d 12  ac 1a 20 20 20 20 20 20  |lotter....      |
00003800  20 20 20 41 44 52 20 52  31 2c 70 6c 6f 74 61 64  |   ADR R1,plotad|
00003810  0d 12 b6 18 20 20 20 20  20 20 20 20 20 4c 44 52  |....         LDR|
00003820  20 52 31 2c 5b 52 31 5d  0d 12 c0 18 20 20 20 20  | R1,[R1]....    |
00003830  20 20 20 20 20 53 54 52  20 52 30 2c 5b 52 31 5d  |     STR R0,[R1]|
00003840  0d 12 ca 16 20 20 20 20  20 20 20 20 20 4d 4f 56  |....         MOV|
00003850  20 52 30 2c 23 31 0d 12  d4 1a 20 20 20 20 20 20  | R0,#1....      |
00003860  20 20 20 41 44 52 20 52  31 2c 70 72 65 76 61 64  |   ADR R1,prevad|
00003870  0d 12 de 18 20 20 20 20  20 20 20 20 20 4c 44 52  |....         LDR|
00003880  20 52 31 2c 5b 52 31 5d  0d 12 e8 18 20 20 20 20  | R1,[R1]....    |
00003890  20 20 20 20 20 53 54 52  20 52 30 2c 5b 52 31 5d  |     STR R0,[R1]|
000038a0  0d 12 f2 1c 20 20 20 20  20 20 20 20 20 4c 44 4d  |....         LDM|
000038b0  46 44 20 52 31 33 21 2c  7b 50 43 7d 0d 12 fc 1d  |FD R13!,{PC}....|
000038c0  2e 72 65 73 74 61 72 74  20 53 54 4d 46 44 20 52  |.restart STMFD R|
000038d0  31 33 21 2c 7b 52 31 34  7d 0d 13 06 17 20 20 20  |13!,{R14}....   |
000038e0  20 20 20 20 20 20 53 57  49 20 32 35 36 2b 32 32  |      SWI 256+22|
000038f0  0d 13 10 17 20 20 20 20  20 20 20 20 20 53 57 49  |....         SWI|
00003900  20 32 35 36 2b 31 35 0d  13 1a 18 20 20 20 20 20  | 256+15....     |
00003910  20 20 20 20 4d 4f 56 20  52 30 2c 23 31 30 36 0d  |    MOV R0,#106.|
00003920  13 24 16 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |.$.         MOV |
00003930  52 31 2c 23 31 0d 13 2e  1a 20 20 20 20 20 20 20  |R1,#1....       |
00003940  20 20 53 57 49 20 22 4f  53 5f 42 79 74 65 22 0d  |  SWI "OS_Byte".|
00003950  13 38 17 20 20 20 20 20  20 20 20 20 53 57 49 20  |.8.         SWI |
00003960  32 35 36 2b 32 33 0d 13  42 16 20 20 20 20 20 20  |256+23..B.      |
00003970  20 20 20 53 57 49 20 32  35 36 2b 31 0d 13 4c 14  |   SWI 256+1..L.|
00003980  20 20 20 20 20 20 20 20  20 53 57 49 20 32 35 36  |         SWI 256|
00003990  0d 13 56 14 20 20 20 20  20 20 20 20 20 53 57 49  |..V.         SWI|
000039a0  20 32 35 36 0d 13 60 14  20 20 20 20 20 20 20 20  | 256..`.        |
000039b0  20 53 57 49 20 32 35 36  0d 13 6a 14 20 20 20 20  | SWI 256..j.    |
000039c0  20 20 20 20 20 53 57 49  20 32 35 36 0d 13 74 14  |     SWI 256..t.|
000039d0  20 20 20 20 20 20 20 20  20 53 57 49 20 32 35 36  |         SWI 256|
000039e0  0d 13 7e 14 20 20 20 20  20 20 20 20 20 53 57 49  |..~.         SWI|
000039f0  20 32 35 36 0d 13 88 14  20 20 20 20 20 20 20 20  | 256....        |
00003a00  20 53 57 49 20 32 35 36  0d 13 92 14 20 20 20 20  | SWI 256....    |
00003a10  20 20 20 20 20 53 57 49  20 32 35 36 0d 13 9c 17  |     SWI 256....|
00003a20  20 20 20 20 20 20 20 20  20 42 4c 20 6c 6f 61 64  |         BL load|
00003a30  73 63 72 0d 13 a6 1c 20  20 20 20 20 20 20 20 20  |scr....         |
00003a40  4c 44 4d 46 44 20 52 31  33 21 2c 7b 50 43 7d 0d  |LDMFD R13!,{PC}.|
00003a50  13 b0 0f 2e 6d 61 6e 64  65 6c 70 6c 6f 74 0d 13  |....mandelplot..|
00003a60  ba 1d 20 20 20 20 20 20  20 20 20 53 54 4d 46 44  |..         STMFD|
00003a70  20 52 31 33 21 2c 7b 52  31 34 7d 0d 13 c4 1a 2e  | R13!,{R14}.....|
00003a80  6d 70 6c 6f 6f 70 20 20  41 44 52 20 52 30 2c 70  |mploop  ADR R0,p|
00003a90  6c 6f 74 61 64 0d 13 ce  18 20 20 20 20 20 20 20  |lotad....       |
00003aa0  20 20 4c 44 52 20 52 30  2c 5b 52 30 5d 0d 13 d8  |  LDR R0,[R0]...|
00003ab0  18 20 20 20 20 20 20 20  20 20 4c 44 52 20 52 30  |.         LDR R0|
00003ac0  2c 5b 52 30 5d 0d 13 e2  16 20 20 20 20 20 20 20  |,[R0]....       |
00003ad0  20 20 43 4d 50 20 52 30  2c 23 31 0d 13 ec 17 20  |  CMP R0,#1.... |
00003ae0  20 20 20 20 20 20 20 20  42 4e 45 20 6e 6f 70 6c  |        BNE nopl|
00003af0  6f 74 0d 13 f6 18 20 20  20 20 20 20 20 20 20 42  |ot....         B|
00003b00  4c 20 63 6f 6e 74 70 6c  6f 74 0d 14 00 1a 20 20  |L contplot....  |
00003b10  20 20 20 20 20 20 20 41  44 52 20 52 31 2c 70 6c  |       ADR R1,pl|
00003b20  6f 74 61 64 0d 14 0a 18  20 20 20 20 20 20 20 20  |otad....        |
00003b30  20 4c 44 52 20 52 31 2c  5b 52 31 5d 0d 14 14 18  | LDR R1,[R1]....|
00003b40  20 20 20 20 20 20 20 20  20 53 54 52 20 52 30 2c  |         STR R0,|
00003b50  5b 52 31 5d 0d 14 1e 1b  2e 6e 6f 70 6c 6f 74 20  |[R1].....noplot |
00003b60  20 53 57 49 20 22 4f 53  5f 4d 6f 75 73 65 22 0d  | SWI "OS_Mouse".|
00003b70  14 28 16 20 20 20 20 20  20 20 20 20 43 4d 50 20  |.(.         CMP |
00003b80  52 32 2c 23 30 0d 14 32  17 20 20 20 20 20 20 20  |R2,#0..2.       |
00003b90  20 20 42 45 51 20 6d 70  6c 6f 6f 70 0d 14 3c 19  |  BEQ mploop..<.|
00003ba0  20 20 20 20 20 20 20 20  20 43 4d 50 20 52 30 2c  |         CMP R0,|
00003bb0  23 31 30 32 34 0d 14 46  17 20 20 20 20 20 20 20  |#1024..F.       |
00003bc0  20 20 42 43 43 20 62 6f  78 6f 75 74 0d 14 50 17  |  BCC boxout..P.|
00003bd0  20 20 20 20 20 20 20 20  20 42 20 66 75 6e 63 74  |         B funct|
00003be0  69 6f 6e 0d 14 5a 27 2e  73 63 68 6f 6f 73 65 20  |ion..Z'.schoose |
00003bf0  45 51 55 53 20 22 53 43  48 4f 4f 53 45 20 6c 6f  |EQUS "SCHOOSE lo|
00003c00  67 6f 22 3a 45 51 55 44  20 30 0d 14 64 12 20 20  |go":EQUD 0..d.  |
00003c10  20 20 20 20 20 20 20 41  4c 49 47 4e 0d 14 6e 15  |       ALIGN..n.|
00003c20  2e 70 6c 6f 74 79 20 20  20 45 51 55 44 20 37 37  |.ploty   EQUD 77|
00003c30  35 0d 14 78 12 20 20 20  20 20 20 20 20 20 41 4c  |5..x.         AL|
00003c40  49 47 4e 0d 14 82 05 3a  0d 14 8c 18 2e 62 6f 78  |IGN....:.....box|
00003c50  6f 75 74 20 20 42 4c 20  6d 6f 75 73 65 62 6f 78  |out  BL mousebox|
00003c60  0d 14 96 17 20 20 20 20  20 20 20 20 20 42 4c 20  |....         BL |
00003c70  73 61 76 65 73 63 72 0d  14 a0 1a 20 20 20 20 20  |savescr....     |
00003c80  20 20 20 20 53 57 49 22  4f 53 5f 4d 6f 75 73 65  |    SWI"OS_Mouse|
00003c90  22 0d 14 aa 19 20 20 20  20 20 20 20 20 20 41 44  |"....         AD|
00003ca0  52 20 52 32 2c 78 62 6f  78 61 0d 14 b4 18 20 20  |R R2,xboxa....  |
00003cb0  20 20 20 20 20 20 20 53  54 52 20 52 30 2c 5b 52  |       STR R0,[R|
00003cc0  32 5d 0d 14 be 19 20 20  20 20 20 20 20 20 20 41  |2]....         A|
00003cd0  44 52 20 52 32 2c 79 62  6f 78 61 0d 14 c8 18 20  |DR R2,yboxa.... |
00003ce0  20 20 20 20 20 20 20 20  53 54 52 20 52 31 2c 5b  |        STR R1,[|
00003cf0  52 32 5d 0d 14 d2 19 2e  62 6f 78 6f 75 74 6c 20  |R2].....boxoutl |
00003d00  43 4d 50 20 52 30 2c 23  31 30 32 34 0d 14 dc 1b  |CMP R0,#1024....|
00003d10  20 20 20 20 20 20 20 20  20 4d 4f 56 43 53 20 52  |         MOVCS R|
00003d20  30 2c 23 31 30 32 34 0d  14 e6 1b 20 20 20 20 20  |0,#1024....     |
00003d30  20 20 20 20 53 55 42 43  53 20 52 30 2c 52 30 2c  |    SUBCS R0,R0,|
00003d40  23 31 0d 14 f0 19 20 20  20 20 20 20 20 20 20 41  |#1....         A|
00003d50  44 52 20 52 32 2c 78 62  6f 78 62 0d 14 fa 18 20  |DR R2,xboxb.... |
00003d60  20 20 20 20 20 20 20 20  53 54 52 20 52 30 2c 5b  |        STR R0,[|
00003d70  52 32 5d 0d 15 04 19 20  20 20 20 20 20 20 20 20  |R2]....         |
00003d80  41 44 52 20 52 32 2c 79  62 6f 78 62 0d 15 0e 18  |ADR R2,yboxb....|
00003d90  20 20 20 20 20 20 20 20  20 53 54 52 20 52 31 2c  |         STR R1,|
00003da0  5b 52 32 5d 0d 15 18 1a  20 20 20 20 20 20 20 20  |[R2]....        |
00003db0  20 41 44 52 20 52 32 2c  77 69 6d 70 61 64 0d 15  | ADR R2,wimpad..|
00003dc0  22 18 20 20 20 20 20 20  20 20 20 4c 44 52 20 52  |".         LDR R|
00003dd0  32 2c 5b 52 32 5d 0d 15  2c 16 20 20 20 20 20 20  |2,[R2]..,.      |
00003de0  20 20 20 4d 4f 56 20 52  30 2c 23 31 0d 15 36 18  |   MOV R0,#1..6.|
00003df0  20 20 20 20 20 20 20 20  20 53 54 52 20 52 30 2c  |         STR R0,|
00003e00  5b 52 32 5d 0d 15 40 18  20 20 20 20 20 20 20 20  |[R2]..@.        |
00003e10  20 42 4c 20 6d 6f 75 73  65 62 6f 78 0d 15 4a 18  | BL mousebox..J.|
00003e20  20 20 20 20 20 20 20 20  20 42 4c 20 63 6f 6e 74  |         BL cont|
00003e30  70 6c 6f 74 0d 15 54 18  20 20 20 20 20 20 20 20  |plot..T.        |
00003e40  20 42 4c 20 6d 6f 75 73  65 62 6f 78 0d 15 5e 1b  | BL mousebox..^.|
00003e50  20 20 20 20 20 20 20 20  20 53 57 49 20 22 4f 53  |         SWI "OS|
00003e60  5f 4d 6f 75 73 65 22 0d  15 68 16 20 20 20 20 20  |_Mouse"..h.     |
00003e70  20 20 20 20 43 4d 50 20  52 32 2c 23 30 0d 15 72  |    CMP R2,#0..r|
00003e80  18 20 20 20 20 20 20 20  20 20 42 4e 45 20 62 6f  |.         BNE bo|
00003e90  78 6f 75 74 6c 0d 15 7c  1a 20 20 20 20 20 20 20  |xoutl..|.       |
00003ea0  20 20 41 44 52 20 52 32  2c 77 69 6d 70 61 64 0d  |  ADR R2,wimpad.|
00003eb0  15 86 18 20 20 20 20 20  20 20 20 20 4c 44 52 20  |...         LDR |
00003ec0  52 32 2c 5b 52 32 5d 0d  15 90 16 20 20 20 20 20  |R2,[R2]....     |
00003ed0  20 20 20 20 4d 4f 56 20  52 30 2c 23 30 0d 15 9a  |    MOV R0,#0...|
00003ee0  18 20 20 20 20 20 20 20  20 20 53 54 52 20 52 30  |.         STR R0|
00003ef0  2c 5b 52 32 5d 0d 15 a4  17 20 20 20 20 20 20 20  |,[R2]....       |
00003f00  20 20 42 4c 20 6c 6f 61  64 73 63 72 0d 15 ae 18  |  BL loadscr....|
00003f10  20 20 20 20 20 20 20 20  20 42 4c 20 6d 6f 75 73  |         BL mous|
00003f20  65 62 6f 78 0d 15 b8 15  20 20 20 20 20 20 20 20  |ebox....        |
00003f30  20 42 20 6d 70 6c 6f 6f  70 0d 15 c2 1a 2e 70 6c  | B mploop.....pl|
00003f40  6f 74 61 64 20 20 45 51  55 44 20 70 6c 6f 74 73  |otad  EQUD plots|
00003f50  74 61 74 0d 15 cc 1a 2e  77 69 6d 70 61 64 20 20  |tat.....wimpad  |
00003f60  45 51 55 44 20 77 69 6d  70 73 74 61 74 0d 15 d6  |EQUD wimpstat...|
00003f70  16 2e 70 72 65 76 61 64  20 20 45 51 55 44 20 70  |..prevad  EQUD p|
00003f80  72 65 76 0d 15 e0 1e 2e  66 75 6e 63 74 69 6f 6e  |rev.....function|
00003f90  20 4d 4f 56 20 52 31 2c  52 31 2c 4c 53 52 20 23  | MOV R1,R1,LSR #|
00003fa0  35 0d 15 ea 16 20 20 20  20 20 20 20 20 20 43 4d  |5....         CM|
00003fb0  50 20 52 31 2c 23 31 0d  15 f4 19 20 20 20 20 20  |P R1,#1....     |
00003fc0  20 20 20 20 42 45 51 20  71 75 69 74 74 61 73 6b  |    BEQ quittask|
00003fd0  0d 15 fe 16 20 20 20 20  20 20 20 20 20 43 4d 50  |....         CMP|
00003fe0  20 52 31 2c 23 33 0d 16  08 18 20 20 20 20 20 20  | R1,#3....      |
00003ff0  20 20 20 42 45 51 20 64  65 73 6b 74 6f 70 0d 16  |   BEQ desktop..|
00004000  12 17 20 20 20 20 20 20  20 20 20 43 4d 50 20 52  |..         CMP R|
00004010  31 2c 23 31 31 0d 16 1c  19 20 20 20 20 20 20 20  |1,#11....       |
00004020  20 20 42 45 51 20 73 63  72 73 74 6f 72 65 0d 16  |  BEQ scrstore..|
00004030  26 17 20 20 20 20 20 20  20 20 20 43 4d 50 20 52  |&.         CMP R|
00004040  31 2c 23 31 33 0d 16 30  19 20 20 20 20 20 20 20  |1,#13..0.       |
00004050  20 20 42 45 51 20 63 6f  6c 63 79 63 6c 65 0d 16  |  BEQ colcycle..|
00004060  3a 17 20 20 20 20 20 20  20 20 20 43 4d 50 20 52  |:.         CMP R|
00004070  31 2c 23 31 35 0d 16 44  18 20 20 20 20 20 20 20  |1,#15..D.       |
00004080  20 20 42 45 51 20 69 74  65 72 61 74 65 0d 16 4e  |  BEQ iterate..N|
00004090  17 20 20 20 20 20 20 20  20 20 43 4d 50 20 52 31  |.         CMP R1|
000040a0  2c 23 31 39 0d 16 58 19  20 20 20 20 20 20 20 20  |,#19..X.        |
000040b0  20 42 45 51 20 72 65 73  65 74 70 6f 73 0d 16 62  | BEQ resetpos..b|
000040c0  17 20 20 20 20 20 20 20  20 20 43 4d 50 20 52 31  |.         CMP R1|
000040d0  2c 23 32 31 0d 16 6c 17  20 20 20 20 20 20 20 20  |,#21..l.        |
000040e0  20 42 45 51 20 7a 6f 6f  6d 69 6e 0d 16 76 15 20  | BEQ zoomin..v. |
000040f0  20 20 20 20 20 20 20 20  42 20 6d 70 6c 6f 6f 70  |        B mploop|
00004100  0d 16 80 05 3a 0d 16 8a  20 5c 20 20 20 20 20 20  |....:... \      |
00004110  20 20 20 20 20 20 20 20  20 c8 98 20 46 55 4e 43  |         .. FUNC|
00004120  54 49 4f 4e 53 0d 16 94  05 3a 0d 16 9e 1c 2e 64  |TIONS....:.....d|
00004130  65 73 6b 74 6f 70 20 41  44 52 20 52 30 2c 72 65  |esktop ADR R0,re|
00004140  73 74 63 6f 6c 73 0d 16  a8 19 20 20 20 20 20 20  |stcols....      |
00004150  20 20 20 53 57 49 20 22  4f 53 5f 43 4c 49 22 0d  |   SWI "OS_CLI".|
00004160  16 b2 1c 20 20 20 20 20  20 20 20 20 4c 44 4d 46  |...         LDMF|
00004170  44 20 52 31 33 21 2c 7b  50 43 7d 0d 16 bc 05 3a  |D R13!,{PC}....:|
00004180  0d 16 c6 18 2e 71 75 69  74 74 61 73 6b 20 42 4c  |.....quittask BL|
00004190  20 73 61 76 65 73 63 72  0d 16 d0 17 20 20 20 20  | savescr....    |
000041a0  20 20 20 20 20 53 57 49  20 32 35 36 2b 33 31 0d  |     SWI 256+31.|
000041b0  16 da 14 20 20 20 20 20  20 20 20 20 53 57 49 20  |...         SWI |
000041c0  32 35 36 0d 16 e4 14 20  20 20 20 20 20 20 20 20  |256....         |
000041d0  53 57 49 20 32 35 36 0d  16 ee 1c 20 20 20 20 20  |SWI 256....     |
000041e0  20 20 20 20 53 57 49 20  22 4f 53 5f 57 72 69 74  |    SWI "OS_Writ|
000041f0  65 53 22 0d 16 f8 3c 20  20 20 20 20 20 20 20 20  |eS"...<         |
00004200  45 51 55 42 31 36 3a 45  51 55 42 31 37 3a 45 51  |EQUB16:EQUB17:EQ|
00004210  55 42 31 32 37 3a 45 51  55 53 22 51 75 69 74 3a  |UB127:EQUS"Quit:|
00004220  20 41 72 65 20 59 6f 75  20 53 75 72 65 3f 22 0d  | Are You Sure?".|
00004230  17 02 28 20 20 20 20 20  20 20 20 20 45 51 55 42  |..(         EQUB|
00004240  31 33 3a 45 51 55 42 31  30 3a 45 51 55 42 31 33  |13:EQUB10:EQUB13|
00004250  3a 45 51 55 42 31 30 0d  17 0c 3d 20 20 20 20 20  |:EQUB10...=     |
00004260  20 20 20 20 45 51 55 53  22 43 6c 69 63 6b 20 4c  |    EQUS"Click L|
00004270  45 46 54 20 74 6f 20 71  75 69 74 3b 20 52 49 47  |EFT to quit; RIG|
00004280  48 54 20 74 6f 20 63 61  6e 63 65 6c 2e 22 3a 45  |HT to cancel.":E|
00004290  51 55 42 30 0d 17 16 12  20 20 20 20 20 20 20 20  |QUB0....        |
000042a0  20 41 4c 49 47 4e 0d 17  20 1a 2e 73 74 6f 70 63  | ALIGN.. ..stopc|
000042b0  6c 20 20 53 57 49 22 4f  53 5f 4d 6f 75 73 65 22  |l  SWI"OS_Mouse"|
000042c0  0d 17 2a 16 20 20 20 20  20 20 20 20 20 43 4d 50  |..*.         CMP|
000042d0  20 52 32 2c 23 30 0d 17  34 17 20 20 20 20 20 20  | R2,#0..4.      |
000042e0  20 20 20 42 4e 45 20 73  74 6f 70 63 6c 0d 17 3e  |   BNE stopcl..>|
000042f0  1a 2e 71 75 69 74 6c 6f  70 20 53 57 49 22 4f 53  |..quitlop SWI"OS|
00004300  5f 4d 6f 75 73 65 22 0d  17 48 16 20 20 20 20 20  |_Mouse"..H.     |
00004310  20 20 20 20 43 4d 50 20  52 32 2c 23 34 0d 17 52  |    CMP R2,#4..R|
00004320  19 20 20 20 20 20 20 20  20 20 42 45 51 20 71 75  |.         BEQ qu|
00004330  69 74 6f 6b 61 79 0d 17  5c 16 20 20 20 20 20 20  |itokay..\.      |
00004340  20 20 20 43 4d 50 20 52  32 2c 23 31 0d 17 66 19  |   CMP R2,#1..f.|
00004350  20 20 20 20 20 20 20 20  20 42 4c 45 51 20 6c 6f  |         BLEQ lo|
00004360  61 64 73 63 72 0d 17 70  17 20 20 20 20 20 20 20  |adscr..p.       |
00004370  20 20 42 45 51 20 6d 70  6c 6f 6f 70 0d 17 7a 16  |  BEQ mploop..z.|
00004380  20 20 20 20 20 20 20 20  20 42 20 71 75 69 74 6c  |         B quitl|
00004390  6f 70 0d 17 84 1d 2e 71  75 69 74 6f 6b 61 79 20  |op.....quitokay |
000043a0  4c 44 4d 46 44 20 52 31  33 21 2c 7b 52 30 7d 0d  |LDMFD R13!,{R0}.|
000043b0  17 8e 1c 20 20 20 20 20  20 20 20 20 41 44 52 20  |...         ADR |
000043c0  52 30 2c 72 65 73 74 63  6f 6c 73 0d 17 98 19 20  |R0,restcols.... |
000043d0  20 20 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |        SWI "OS_|
000043e0  43 4c 49 22 0d 17 a2 16  20 20 20 20 20 20 20 20  |CLI"....        |
000043f0  20 4d 4f 56 20 52 30 2c  23 30 0d 17 ac 19 20 20  | MOV R0,#0....  |
00004400  20 20 20 20 20 20 20 53  55 42 20 52 30 2c 52 30  |       SUB R0,R0|
00004410  2c 23 31 0d 17 b6 16 20  20 20 20 20 20 20 20 20  |,#1....         |
00004420  4d 4f 56 20 52 31 2c 23  30 0d 17 c0 16 20 20 20  |MOV R1,#0....   |
00004430  20 20 20 20 20 20 4d 4f  56 20 52 32 2c 23 30 0d  |      MOV R2,#0.|
00004440  17 ca 19 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |...         MOV |
00004450  52 33 2c 23 31 32 38 30  0d 17 d4 19 20 20 20 20  |R3,#1280....    |
00004460  20 20 20 20 20 4d 4f 56  20 52 34 2c 23 31 30 32  |     MOV R4,#102|
00004470  34 0d 17 de 23 20 20 20  20 20 20 20 20 20 53 57  |4...#         SW|
00004480  49 20 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |I "Wimp_ForceRed|
00004490  72 61 77 22 0d 17 e8 1a  20 20 20 20 20 20 20 20  |raw"....        |
000044a0  20 53 57 49 20 22 4f 53  5f 45 78 69 74 22 0d 17  | SWI "OS_Exit"..|
000044b0  f2 34 2e 72 65 73 74 63  6f 6c 73 20 45 51 55 53  |.4.restcols EQUS|
000044c0  20 22 3c 4f 62 65 79 24  44 69 72 3e 2e 21 50 61  | "<Obey$Dir>.!Pa|
000044d0  6c 65 74 74 65 22 3a 45  51 55 44 30 3a 41 4c 49  |lette":EQUD0:ALI|
000044e0  47 4e 0d 17 fc 05 3a 0d  18 06 1b 5c 20 20 20 20  |GN....:....\    |
000044f0  20 20 20 20 5a 4f 4f 4d  20 46 55 4e 43 54 49 4f  |    ZOOM FUNCTIO|
00004500  4e 53 0d 18 10 05 3a 0d  18 1a 1d 2e 72 65 73 65  |NS....:.....rese|
00004510  74 70 6f 73 20 20 20 20  20 20 20 20 42 4c 20 73  |tpos        BL s|
00004520  65 74 75 70 0d 18 24 1f  20 20 20 20 20 20 20 20  |etup..$.        |
00004530  20 20 20 20 20 20 20 20  20 42 4c 20 70 6c 6f 74  |         BL plot|
00004540  74 65 72 0d 18 2e 1d 20  20 20 20 20 20 20 20 20  |ter....         |
00004550  20 20 20 20 20 20 20 20  42 20 6d 70 6c 6f 6f 70  |        B mploop|
00004560  0d 18 38 05 3a 0d 18 42  23 2e 7a 6f 6f 6d 69 6e  |..8.:..B#.zoomin|
00004570  20 20 20 20 20 20 20 20  20 20 53 57 49 20 22 4f  |          SWI "O|
00004580  53 5f 4d 6f 75 73 65 22  0d 18 4c 1e 20 20 20 20  |S_Mouse"..L.    |
00004590  20 20 20 20 20 20 20 20  20 20 20 20 20 43 4d 50  |             CMP|
000045a0  20 52 32 2c 23 30 0d 18  56 1f 20 20 20 20 20 20  | R2,#0..V.      |
000045b0  20 20 20 20 20 20 20 20  20 20 20 42 4e 45 20 7a  |           BNE z|
000045c0  6f 6f 6d 69 6e 0d 18 60  22 20 20 20 20 20 20 20  |oomin..`"       |
000045d0  20 20 20 20 20 20 20 20  20 20 41 44 52 20 52 30  |          ADR R0|
000045e0  2c 78 6d 69 6e 61 64 0d  18 6a 20 20 20 20 20 20  |,xminad..j      |
000045f0  20 20 20 20 20 20 20 20  20 20 20 20 4c 44 52 20  |            LDR |
00004600  52 30 2c 5b 52 30 5d 0d  18 74 23 20 20 20 20 20  |R0,[R0]..t#     |
00004610  20 20 20 20 20 20 20 20  20 20 20 20 41 44 52 20  |            ADR |
00004620  52 31 2c 78 73 74 65 70  61 64 0d 18 7e 20 20 20  |R1,xstepad..~   |
00004630  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4c  |               L|
00004640  44 52 20 52 31 2c 5b 52  31 5d 0d 18 88 22 20 20  |DR R1,[R1]..."  |
00004650  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |               A|
00004660  44 52 20 52 32 2c 79 6d  69 6e 61 64 0d 18 92 20  |DR R2,yminad... |
00004670  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004680  20 4c 44 52 20 52 32 2c  5b 52 32 5d 0d 18 9c 23  | LDR R2,[R2]...#|
00004690  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000046a0  20 41 44 52 20 52 33 2c  79 73 74 65 70 61 64 0d  | ADR R3,ystepad.|
000046b0  18 a6 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
000046c0  20 20 20 20 4c 44 52 20  52 33 2c 5b 52 33 5d 0d  |    LDR R3,[R3].|
000046d0  18 b0 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |.."             |
000046e0  20 20 20 20 41 44 52 20  52 34 2c 78 62 6f 78 61  |    ADR R4,xboxa|
000046f0  74 0d 18 ba 1f 20 20 20  20 20 20 20 20 20 20 20  |t....           |
00004700  20 20 20 20 20 4c 44 52  20 52 34 2c 5b 52 34 5d  |     LDR R4,[R4]|
00004710  0d 18 c4 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00004720  20 20 20 20 20 4c 44 52  20 52 34 2c 5b 52 34 5d  |     LDR R4,[R4]|
00004730  0d 18 ce 22 20 20 20 20  20 20 20 20 20 20 20 20  |..."            |
00004740  20 20 20 20 20 41 44 52  20 52 35 2c 78 62 6f 78  |     ADR R5,xbox|
00004750  62 74 0d 18 d8 20 20 20  20 20 20 20 20 20 20 20  |bt...           |
00004760  20 20 20 20 20 20 20 4c  44 52 20 52 35 2c 5b 52  |       LDR R5,[R|
00004770  35 5d 0d 18 e2 20 20 20  20 20 20 20 20 20 20 20  |5]...           |
00004780  20 20 20 20 20 20 20 4c  44 52 20 52 35 2c 5b 52  |       LDR R5,[R|
00004790  35 5d 0d 18 ec 1e 20 20  20 20 20 20 20 20 20 20  |5]....          |
000047a0  20 20 20 20 20 20 20 43  4d 50 20 52 34 2c 52 35  |       CMP R4,R5|
000047b0  0d 18 f6 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000047c0  20 20 20 20 20 4d 4f 56  43 53 20 52 36 2c 52 34  |     MOVCS R6,R4|
000047d0  0d 19 00 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000047e0  20 20 20 20 20 4d 4f 56  43 53 20 52 34 2c 52 35  |     MOVCS R4,R5|
000047f0  0d 19 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00004800  20 20 20 20 20 4d 4f 56  43 53 20 52 35 2c 52 36  |     MOVCS R5,R6|
00004810  0d 19 14 22 20 20 20 20  20 20 20 20 20 20 20 20  |..."            |
00004820  20 20 20 20 20 41 44 52  20 52 36 2c 79 62 6f 78  |     ADR R6,ybox|
00004830  61 74 0d 19 1e 20 20 20  20 20 20 20 20 20 20 20  |at...           |
00004840  20 20 20 20 20 20 20 4c  44 52 20 52 36 2c 5b 52  |       LDR R6,[R|
00004850  36 5d 0d 19 28 20 20 20  20 20 20 20 20 20 20 20  |6]..(           |
00004860  20 20 20 20 20 20 20 4c  44 52 20 52 36 2c 5b 52  |       LDR R6,[R|
00004870  36 5d 0d 19 32 30 20 20  20 20 20 20 20 20 20 20  |6]..20          |
00004880  20 20 20 20 20 20 20 41  44 52 20 52 37 2c 79 62  |       ADR R7,yb|
00004890  6f 78 62 74 20 20 20 20  20 5c 20 52 30 3d 78 6d  |oxbt     \ R0=xm|
000048a0  69 6e 0d 19 3c 31 20 20  20 20 20 20 20 20 20 20  |in..<1          |
000048b0  20 20 20 20 20 20 20 4c  44 52 20 52 37 2c 5b 52  |       LDR R7,[R|
000048c0  37 5d 20 20 20 20 20 20  20 5c 20 52 31 3d 78 73  |7]       \ R1=xs|
000048d0  74 65 70 0d 19 46 30 20  20 20 20 20 20 20 20 20  |tep..F0         |
000048e0  20 20 20 20 20 20 20 20  4c 44 52 20 52 37 2c 5b  |        LDR R7,[|
000048f0  52 37 5d 20 20 20 20 20  20 20 5c 20 52 32 3d 79  |R7]       \ R2=y|
00004900  6d 69 6e 0d 19 50 31 20  20 20 20 20 20 20 20 20  |min..P1         |
00004910  20 20 20 20 20 20 20 20  43 4d 50 20 52 36 2c 52  |        CMP R6,R|
00004920  37 20 20 20 20 20 20 20  20 20 5c 20 52 33 3d 79  |7         \ R3=y|
00004930  73 74 65 70 0d 19 5a 31  20 20 20 20 20 20 20 20  |step..Z1        |
00004940  20 20 20 20 20 20 20 20  20 4d 4f 56 43 53 20 52  |         MOVCS R|
00004950  38 2c 52 36 20 20 20 20  20 20 20 5c 20 52 34 3d  |8,R6       \ R4=|
00004960  78 62 6f 78 61 0d 19 64  31 20 20 20 20 20 20 20  |xboxa..d1       |
00004970  20 20 20 20 20 20 20 20  20 20 4d 4f 56 43 53 20  |          MOVCS |
00004980  52 36 2c 52 37 20 20 20  20 20 20 20 5c 20 52 35  |R6,R7       \ R5|
00004990  3d 78 62 6f 78 62 0d 19  6e 31 20 20 20 20 20 20  |=xboxb..n1      |
000049a0  20 20 20 20 20 20 20 20  20 20 20 4d 4f 56 43 53  |           MOVCS|
000049b0  20 52 37 2c 52 38 20 20  20 20 20 20 20 5c 20 52  | R7,R8       \ R|
000049c0  36 3d 79 62 6f 78 61 0d  19 78 31 45 51 55 44 20  |6=yboxa..x1EQUD |
000049d0  26 45 43 46 30 30 31 30  30 20 5c 20 4c 44 46 45  |&ECF00100 \ LDFE|
000049e0  20 46 30 2c 5b 52 30 5d  20 20 20 20 20 20 5c 20  | F0,[R0]      \ |
000049f0  52 37 3d 79 62 6f 78 62  0d 19 82 21 45 51 55 44  |R7=yboxb...!EQUD|
00004a00  20 26 45 43 46 31 31 31  30 30 20 5c 20 4c 44 46  | &ECF11100 \ LDF|
00004a10  45 20 46 31 2c 5b 52 31  5d 0d 19 8c 1f 45 51 55  |E F1,[R1]....EQU|
00004a20  44 20 26 45 45 30 32 34  31 44 32 20 5c 20 46 4c  |D &EE0241D2 \ FL|
00004a30  54 45 20 46 32 2c 52 34  0d 19 96 22 45 51 55 44  |TE F2,R4..."EQUD|
00004a40  20 26 45 45 31 41 33 31  30 31 20 5c 20 4d 4c 46  | &EE1A3101 \ MLF|
00004a50  45 20 46 33 2c 46 32 2c  46 31 0d 19 a0 22 45 51  |E F3,F2,F1..."EQ|
00004a60  55 44 20 26 45 45 30 42  33 31 30 30 20 5c 20 41  |UD &EE0B3100 \ A|
00004a70  44 46 45 20 46 33 2c 46  33 2c 46 30 0d 19 aa 1f  |DFE F3,F3,F0....|
00004a80  45 51 55 44 20 26 45 45  30 34 35 31 44 34 20 5c  |EQUD &EE0451D4 \|
00004a90  20 46 4c 54 45 20 46 34  2c 52 35 0d 19 b4 22 45  | FLTE F4,R5..."E|
00004aa0  51 55 44 20 26 45 45 31  43 35 31 30 31 20 5c 20  |QUD &EE1C5101 \ |
00004ab0  4d 4c 46 45 20 46 35 2c  46 34 2c 46 31 0d 19 be  |MLFE F5,F4,F1...|
00004ac0  22 45 51 55 44 20 26 45  45 30 44 35 31 30 30 20  |"EQUD &EE0D5100 |
00004ad0  5c 20 41 44 46 45 20 46  35 2c 46 35 2c 46 30 0d  |\ ADFE F5,F5,F0.|
00004ae0  19 c8 22 45 51 55 44 20  26 45 45 32 44 35 31 30  |.."EQUD &EE2D510|
00004af0  33 20 5c 20 53 42 46 45  20 46 35 2c 46 35 2c 46  |3 \ SBFE F5,F5,F|
00004b00  33 0d 19 d2 21 20 20 20  20 20 20 20 20 20 20 20  |3...!           |
00004b10  20 20 20 20 20 20 4d 4f  56 20 52 38 2c 23 31 30  |      MOV R8,#10|
00004b20  32 34 0d 19 dc 1f 45 51  55 44 20 26 45 45 30 36  |24....EQUD &EE06|
00004b30  38 31 44 36 20 5c 20 46  4c 54 45 20 46 36 2c 52  |81D6 \ FLTE F6,R|
00004b40  38 0d 19 e6 22 45 51 55  44 20 26 45 45 34 44 37  |8..."EQUD &EE4D7|
00004b50  31 30 36 20 5c 20 44 56  46 45 20 46 37 2c 46 35  |106 \ DVFE F7,F5|
00004b60  2c 46 36 0d 19 f0 21 45  51 55 44 20 26 45 43 45  |,F6...!EQUD &ECE|
00004b70  30 33 31 30 30 20 5c 20  53 54 46 45 20 46 33 2c  |03100 \ STFE F3,|
00004b80  5b 52 30 5d 0d 19 fa 21  45 51 55 44 20 26 45 43  |[R0]...!EQUD &EC|
00004b90  45 31 37 31 30 30 20 5c  20 53 54 46 45 20 46 37  |E17100 \ STFE F7|
00004ba0  2c 5b 52 31 5d 0d 1a 04  05 3a 0d 1a 0e 21 45 51  |,[R1]....:...!EQ|
00004bb0  55 44 20 26 45 43 46 32  30 31 30 30 20 5c 20 4c  |UD &ECF20100 \ L|
00004bc0  44 46 45 20 46 30 2c 5b  52 32 5d 0d 1a 18 21 45  |DFE F0,[R2]...!E|
00004bd0  51 55 44 20 26 45 43 46  33 31 31 30 30 20 5c 20  |QUD &ECF31100 \ |
00004be0  4c 44 46 45 20 46 31 2c  5b 52 33 5d 0d 1a 22 1f  |LDFE F1,[R3]..".|
00004bf0  45 51 55 44 20 26 45 45  30 32 36 31 44 32 20 5c  |EQUD &EE0261D2 \|
00004c00  20 46 4c 54 45 20 46 32  2c 52 36 0d 1a 2c 22 45  | FLTE F2,R6..,"E|
00004c10  51 55 44 20 26 45 45 31  41 33 31 30 31 20 5c 20  |QUD &EE1A3101 \ |
00004c20  4d 4c 46 45 20 46 33 2c  46 32 2c 46 31 0d 1a 36  |MLFE F3,F2,F1..6|
00004c30  22 45 51 55 44 20 26 45  45 30 42 33 31 30 30 20  |"EQUD &EE0B3100 |
00004c40  5c 20 41 44 46 45 20 46  33 2c 46 33 2c 46 30 0d  |\ ADFE F3,F3,F0.|
00004c50  1a 40 1f 45 51 55 44 20  26 45 45 30 34 37 31 44  |.@.EQUD &EE0471D|
00004c60  34 20 5c 20 46 4c 54 45  20 46 34 2c 52 37 0d 1a  |4 \ FLTE F4,R7..|
00004c70  4a 22 45 51 55 44 20 26  45 45 31 43 35 31 30 31  |J"EQUD &EE1C5101|
00004c80  20 5c 20 4d 4c 46 45 20  46 35 2c 46 34 2c 46 31  | \ MLFE F5,F4,F1|
00004c90  0d 1a 54 22 45 51 55 44  20 26 45 45 30 44 35 31  |..T"EQUD &EE0D51|
00004ca0  30 30 20 5c 20 41 44 46  45 20 46 35 2c 46 35 2c  |00 \ ADFE F5,F5,|
00004cb0  46 30 0d 1a 5e 22 45 51  55 44 20 26 45 45 32 44  |F0..^"EQUD &EE2D|
00004cc0  35 31 30 33 20 5c 20 53  42 46 45 20 46 35 2c 46  |5103 \ SBFE F5,F|
00004cd0  35 2c 46 33 0d 1a 68 22  45 51 55 44 20 26 45 45  |5,F3..h"EQUD &EE|
00004ce0  34 44 37 31 30 36 20 5c  20 44 56 46 45 20 46 37  |4D7106 \ DVFE F7|
00004cf0  2c 46 35 2c 46 36 0d 1a  72 21 45 51 55 44 20 26  |,F5,F6..r!EQUD &|
00004d00  45 43 45 32 33 31 30 30  20 5c 20 53 54 46 45 20  |ECE23100 \ STFE |
00004d10  46 33 2c 5b 52 32 5d 0d  1a 7c 21 45 51 55 44 20  |F3,[R2]..|!EQUD |
00004d20  26 45 43 45 33 37 31 30  30 20 5c 20 53 54 46 45  |&ECE37100 \ STFE|
00004d30  20 46 37 2c 5b 52 33 5d  0d 1a 86 1f 20 20 20 20  | F7,[R3]....    |
00004d40  20 20 20 20 20 20 20 20  20 20 20 20 20 42 4c 20  |             BL |
00004d50  70 6c 6f 74 74 65 72 0d  1a 90 1d 20 20 20 20 20  |plotter....     |
00004d60  20 20 20 20 20 20 20 20  20 20 20 20 42 20 6d 70  |            B mp|
00004d70  6c 6f 6f 70 0d 1a 9a 05  3a 0d 1a a4 1e 2e 78 6d  |loop....:.....xm|
00004d80  69 6e 61 64 20 20 20 20  20 20 20 20 20 20 45 51  |inad          EQ|
00004d90  55 44 20 78 6d 69 6e 0d  1a ae 1e 2e 79 6d 69 6e  |UD xmin.....ymin|
00004da0  61 64 20 20 20 20 20 20  20 20 20 20 45 51 55 44  |ad          EQUD|
00004db0  20 79 6d 69 6e 0d 1a b8  1f 2e 78 73 74 65 70 61  | ymin.....xstepa|
00004dc0  64 20 20 20 20 20 20 20  20 20 45 51 55 44 20 78  |d         EQUD x|
00004dd0  73 74 65 70 0d 1a c2 1f  2e 79 73 74 65 70 61 64  |step.....ystepad|
00004de0  20 20 20 20 20 20 20 20  20 45 51 55 44 20 79 73  |         EQUD ys|
00004df0  74 65 70 0d 1a cc 1f 2e  78 62 6f 78 61 74 20 20  |tep.....xboxat  |
00004e00  20 20 20 20 20 20 20 20  45 51 55 44 20 78 62 6f  |        EQUD xbo|
00004e10  78 61 0d 1a d6 1f 2e 79  62 6f 78 61 74 20 20 20  |xa.....yboxat   |
00004e20  20 20 20 20 20 20 20 45  51 55 44 20 79 62 6f 78  |       EQUD ybox|
00004e30  61 0d 1a e0 1f 2e 78 62  6f 78 62 74 20 20 20 20  |a.....xboxbt    |
00004e40  20 20 20 20 20 20 45 51  55 44 20 78 62 6f 78 62  |      EQUD xboxb|
00004e50  0d 1a ea 1f 2e 79 62 6f  78 62 74 20 20 20 20 20  |.....yboxbt     |
00004e60  20 20 20 20 20 45 51 55  44 20 79 62 6f 78 62 0d  |     EQUD yboxb.|
00004e70  1a f4 05 3a 0d 1a fe 1f  5c 20 43 48 41 4e 47 45  |...:....\ CHANGE|
00004e80  20 4d 41 58 49 4d 55 4d  20 49 54 45 52 41 54 49  | MAXIMUM ITERATI|
00004e90  4f 4e 53 0d 1b 08 1f 2e  69 74 65 72 61 74 65 20  |ONS.....iterate |
00004ea0  20 20 20 20 20 20 20 20  42 4c 20 73 61 76 65 73  |        BL saves|
00004eb0  63 72 0d 1b 12 24 20 20  20 20 20 20 20 20 20 20  |cr...$          |
00004ec0  20 20 20 20 20 20 20 53  57 49 20 22 4f 53 5f 57  |       SWI "OS_W|
00004ed0  72 69 74 65 53 22 0d 1b  1c 27 20 20 20 20 20 20  |riteS"...'      |
00004ee0  20 20 20 20 20 20 20 20  20 20 20 45 51 55 42 33  |           EQUB3|
00004ef0  31 3a 45 51 55 42 31 3a  45 51 55 42 31 0d 1b 26  |1:EQUB1:EQUB1..&|
00004f00  45 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |E               |
00004f10  20 20 45 51 55 42 31 36  3a 45 51 55 42 31 37 3a  |  EQUB16:EQUB17:|
00004f20  45 51 55 42 31 32 37 3a  45 51 55 53 22 43 75 72  |EQUB127:EQUS"Cur|
00004f30  72 65 6e 74 20 49 74 65  72 61 74 69 6f 6e 73 3a  |rent Iterations:|
00004f40  20 22 0d 1b 30 1b 20 20  20 20 20 20 20 20 20 20  | "..0.          |
00004f50  20 20 20 20 20 20 20 45  51 55 42 20 30 0d 1b 3a  |       EQUB 0..:|
00004f60  1a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00004f70  20 20 41 4c 49 47 4e 0d  1b 44 24 2e 69 74 65 72  |  ALIGN..D$.iter|
00004f80  6c 6f 6f 70 20 20 20 20  20 20 20 20 53 57 49 20  |loop        SWI |
00004f90  22 4f 53 5f 57 72 69 74  65 53 22 0d 1b 4e 28 20  |"OS_WriteS"..N( |
00004fa0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004fb0  45 51 55 42 33 31 3a 45  51 55 42 32 31 3a 45 51  |EQUB31:EQUB21:EQ|
00004fc0  55 42 31 0d 1b 58 1f 2e  6d 61 78 73 74 72 20 20  |UB1..X..maxstr  |
00004fd0  20 20 20 20 20 20 20 20  45 51 55 53 20 22 30 32  |        EQUS "02|
00004fe0  35 22 0d 1b 62 1b 20 20  20 20 20 20 20 20 20 20  |5"..b.          |
00004ff0  20 20 20 20 20 20 20 45  51 55 42 20 30 0d 1b 6c  |       EQUB 0..l|
00005000  1a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00005010  20 20 41 4c 49 47 4e 0d  1b 76 20 2e 67 65 74 6b  |  ALIGN..v .getk|
00005020  65 79 20 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |ey          MOV |
00005030  52 30 2c 23 26 38 31 0d  1b 80 1e 20 20 20 20 20  |R0,#&81....     |
00005040  20 20 20 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |            MOV |
00005050  52 31 2c 23 30 0d 1b 8a  1e 20 20 20 20 20 20 20  |R1,#0....       |
00005060  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 52 32  |          MOV R2|
00005070  2c 23 30 0d 1b 94 22 20  20 20 20 20 20 20 20 20  |,#0..."         |
00005080  20 20 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |        SWI "OS_|
00005090  42 79 74 65 22 0d 1b 9e  1f 20 20 20 20 20 20 20  |Byte"....       |
000050a0  20 20 20 20 20 20 20 20  20 20 42 43 53 20 67 65  |          BCS ge|
000050b0  74 6b 65 79 0d 1b a8 1f  20 20 20 20 20 20 20 20  |tkey....        |
000050c0  20 20 20 20 20 20 20 20  20 43 4d 50 20 52 31 2c  |         CMP R1,|
000050d0  23 31 33 0d 1b b2 20 20  20 20 20 20 20 20 20 20  |#13...          |
000050e0  20 20 20 20 20 20 20 20  42 45 51 20 69 74 65 72  |        BEQ iter|
000050f0  67 6f 74 0d 1b bc 1f 20  20 20 20 20 20 20 20 20  |got....         |
00005100  20 20 20 20 20 20 20 20  43 4d 50 20 52 31 2c 23  |        CMP R1,#|
00005110  34 38 0d 1b c6 1f 20 20  20 20 20 20 20 20 20 20  |48....          |
00005120  20 20 20 20 20 20 20 42  43 43 20 67 65 74 6b 65  |       BCC getke|
00005130  79 0d 1b d0 1f 20 20 20  20 20 20 20 20 20 20 20  |y....           |
00005140  20 20 20 20 20 20 43 4d  50 20 52 31 2c 23 35 38  |      CMP R1,#58|
00005150  0d 1b da 1f 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00005160  20 20 20 20 20 42 43 53  20 67 65 74 6b 65 79 0d  |     BCS getkey.|
00005170  1b e4 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |.."             |
00005180  20 20 20 20 41 44 52 20  52 30 2c 6d 61 78 73 74  |    ADR R0,maxst|
00005190  72 0d 1b ee 24 20 20 20  20 20 20 20 20 20 20 20  |r...$           |
000051a0  20 20 20 20 20 20 4c 44  52 42 20 52 32 2c 5b 52  |      LDRB R2,[R|
000051b0  30 2c 23 31 5d 0d 1b f8  21 20 20 20 20 20 20 20  |0,#1]...!       |
000051c0  20 20 20 20 20 20 20 20  20 20 53 54 52 42 20 52  |          STRB R|
000051d0  32 2c 5b 52 30 5d 0d 1c  02 24 20 20 20 20 20 20  |2,[R0]...$      |
000051e0  20 20 20 20 20 20 20 20  20 20 20 4c 44 52 42 20  |           LDRB |
000051f0  52 32 2c 5b 52 30 2c 23  32 5d 0d 1c 0c 24 20 20  |R2,[R0,#2]...$  |
00005200  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 53  |               S|
00005210  54 52 42 20 52 32 2c 5b  52 30 2c 23 31 5d 0d 1c  |TRB R2,[R0,#1]..|
00005220  16 24 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.$              |
00005230  20 20 20 53 54 52 42 20  52 31 2c 5b 52 30 2c 23  |   STRB R1,[R0,#|
00005240  32 5d 0d 1c 20 1f 20 20  20 20 20 20 20 20 20 20  |2].. .          |
00005250  20 20 20 20 20 20 20 42  20 69 74 65 72 6c 6f 6f  |       B iterloo|
00005260  70 0d 1c 2a 22 2e 69 74  65 72 67 6f 74 20 20 20  |p..*".itergot   |
00005270  20 20 20 20 20 20 41 44  52 20 52 30 2c 6d 61 78  |      ADR R0,max|
00005280  73 74 72 0d 1c 34 21 20  20 20 20 20 20 20 20 20  |str..4!         |
00005290  20 20 20 20 20 20 20 20  4c 44 52 42 20 52 31 2c  |        LDRB R1,|
000052a0  5b 52 30 5d 0d 1c 3e 22  20 20 20 20 20 20 20 20  |[R0]..>"        |
000052b0  20 20 20 20 20 20 20 20  20 53 55 42 20 52 31 2c  |         SUB R1,|
000052c0  52 31 2c 23 34 38 0d 1c  48 20 20 20 20 20 20 20  |R1,#48..H       |
000052d0  20 20 20 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |           MOV R|
000052e0  32 2c 23 31 30 30 0d 1c  52 21 20 20 20 20 20 20  |2,#100..R!      |
000052f0  20 20 20 20 20 20 20 20  20 20 20 4d 55 4c 20 52  |           MUL R|
00005300  33 2c 52 32 2c 52 31 0d  1c 5c 1e 20 20 20 20 20  |3,R2,R1..\.     |
00005310  20 20 20 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |            MOV |
00005320  52 34 2c 52 33 0d 1c 66  24 20 20 20 20 20 20 20  |R4,R3..f$       |
00005330  20 20 20 20 20 20 20 20  20 20 4c 44 52 42 20 52  |          LDRB R|
00005340  31 2c 5b 52 30 2c 23 31  5d 0d 1c 70 22 20 20 20  |1,[R0,#1]..p"   |
00005350  20 20 20 20 20 20 20 20  20 20 20 20 20 20 53 55  |              SU|
00005360  42 20 52 31 2c 52 31 2c  23 34 38 0d 1c 7a 1f 20  |B R1,R1,#48..z. |
00005370  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005380  4d 4f 56 20 52 32 2c 23  31 30 0d 1c 84 21 20 20  |MOV R2,#10...!  |
00005390  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4d  |               M|
000053a0  55 4c 20 52 33 2c 52 32  2c 52 31 0d 1c 8e 21 20  |UL R3,R2,R1...! |
000053b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000053c0  41 44 44 20 52 34 2c 52  34 2c 52 33 0d 1c 98 24  |ADD R4,R4,R3...$|
000053d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000053e0  20 4c 44 52 42 20 52 31  2c 5b 52 30 2c 23 32 5d  | LDRB R1,[R0,#2]|
000053f0  0d 1c a2 22 20 20 20 20  20 20 20 20 20 20 20 20  |..."            |
00005400  20 20 20 20 20 53 55 42  20 52 31 2c 52 31 2c 23  |     SUB R1,R1,#|
00005410  34 38 0d 1c ac 21 20 20  20 20 20 20 20 20 20 20  |48...!          |
00005420  20 20 20 20 20 20 20 41  44 44 20 52 34 2c 52 34  |       ADD R4,R4|
00005430  2c 52 31 0d 1c b6 22 20  20 20 20 20 20 20 20 20  |,R1..."         |
00005440  20 20 20 20 20 20 20 20  41 44 52 20 52 30 2c 6d  |        ADR R0,m|
00005450  61 78 69 61 64 0d 1c c0  20 20 20 20 20 20 20 20  |axiad...        |
00005460  20 20 20 20 20 20 20 20  20 20 4c 44 52 20 52 30  |          LDR R0|
00005470  2c 5b 52 30 5d 0d 1c ca  20 20 20 20 20 20 20 20  |,[R0]...        |
00005480  20 20 20 20 20 20 20 20  20 20 53 54 52 20 52 34  |          STR R4|
00005490  2c 5b 52 30 5d 0d 1c d4  1f 20 20 20 20 20 20 20  |,[R0]....       |
000054a0  20 20 20 20 20 20 20 20  20 20 42 4c 20 6c 6f 61  |          BL loa|
000054b0  64 73 63 72 0d 1c de 1f  20 20 20 20 20 20 20 20  |dscr....        |
000054c0  20 20 20 20 20 20 20 20  20 42 4c 20 70 6c 6f 74  |         BL plot|
000054d0  74 65 72 0d 1c e8 1d 20  20 20 20 20 20 20 20 20  |ter....         |
000054e0  20 20 20 20 20 20 20 20  42 20 6d 70 6c 6f 6f 70  |        B mploop|
000054f0  0d 1c f2 1f 2e 6d 61 78  69 61 64 20 20 20 20 20  |.....maxiad     |
00005500  20 20 20 20 20 45 51 55  44 20 6d 61 78 69 74 0d  |     EQUD maxit.|
00005510  1c fc 05 3a 0d 1d 06 0f  5c 20 fb 20 43 59 43 4c  |...:....\ . CYCL|
00005520  49 4e 47 0d 1d 10 05 3a  0d 1d 1a 23 2e 63 6f 6c  |ING....:...#.col|
00005530  63 79 63 6c 65 20 20 20  20 20 20 20 20 53 57 49  |cycle        SWI|
00005540  20 22 4f 53 5f 4d 6f 75  73 65 22 0d 1d 24 1e 20  | "OS_Mouse"..$. |
00005550  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005560  43 4d 50 20 52 32 2c 23  30 0d 1d 2e 21 20 20 20  |CMP R2,#0...!   |
00005570  20 20 20 20 20 20 20 20  20 20 20 20 20 20 42 4e  |              BN|
00005580  45 20 63 6f 6c 63 79 63  6c 65 0d 1d 38 1f 20 20  |E colcycle..8.  |
00005590  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 42  |               B|
000055a0  4c 20 73 61 76 65 73 63  72 0d 1d 42 1f 2e 63 79  |L savescr..B..cy|
000055b0  6c 6f 6f 70 20 20 20 20  20 20 20 20 20 20 42 4c  |loop          BL|
000055c0  20 73 65 74 63 6f 6c 73  0d 1d 4c 1e 20 20 20 20  | setcols..L.    |
000055d0  20 20 20 20 20 20 20 20  20 20 20 20 20 4d 4f 56  |             MOV|
000055e0  20 52 30 2c 23 30 0d 1d  56 21 2e 77 61 73 74 65  | R0,#0..V!.waste|
000055f0  74 69 6d 65 20 20 20 20  20 20 20 41 44 44 20 52  |time       ADD R|
00005600  30 2c 52 30 2c 23 31 0d  1d 60 22 20 20 20 20 20  |0,R0,#1..`"     |
00005610  20 20 20 20 20 20 20 20  20 20 20 20 43 4d 50 20  |            CMP |
00005620  52 30 2c 23 26 31 30 30  30 0d 1d 6a 22 20 20 20  |R0,#&1000..j"   |
00005630  20 20 20 20 20 20 20 20  20 20 20 20 20 20 42 4e  |              BN|
00005640  45 20 77 61 73 74 65 74  69 6d 65 0d 1d 74 23 20  |E wastetime..t# |
00005650  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005660  53 57 49 20 22 4f 53 5f  4d 6f 75 73 65 22 0d 1d  |SWI "OS_Mouse"..|
00005670  7e 1e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |~.              |
00005680  20 20 20 43 4d 50 20 52  32 2c 23 30 0d 1d 88 1f  |   CMP R2,#0....|
00005690  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000056a0  20 42 45 51 20 63 79 6c  6f 6f 70 0d 1d 92 24 20  | BEQ cyloop...$ |
000056b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000056c0  53 57 49 20 22 4f 53 5f  57 72 69 74 65 53 22 0d  |SWI "OS_WriteS".|
000056d0  1d 9c 28 20 20 20 20 20  20 20 20 20 20 20 20 20  |..(             |
000056e0  20 20 20 20 45 51 55 42  32 32 3a 45 51 55 42 31  |    EQUB22:EQUB1|
000056f0  35 3a 45 51 55 42 30 0d  1d a6 1a 20 20 20 20 20  |5:EQUB0....     |
00005700  20 20 20 20 20 20 20 20  20 20 20 20 41 4c 49 47  |            ALIG|
00005710  4e 0d 1d b0 20 20 20 20  20 20 20 20 20 20 20 20  |N...            |
00005720  20 20 20 20 20 20 4d 4f  56 20 52 30 2c 23 31 30  |      MOV R0,#10|
00005730  36 0d 1d ba 1e 20 20 20  20 20 20 20 20 20 20 20  |6....           |
00005740  20 20 20 20 20 20 4d 4f  56 20 52 31 2c 23 31 0d  |      MOV R1,#1.|
00005750  1d c4 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |.."             |
00005760  20 20 20 20 53 57 49 20  22 4f 53 5f 42 79 74 65  |    SWI "OS_Byte|
00005770  22 0d 1d ce 1f 20 20 20  20 20 20 20 20 20 20 20  |"....           |
00005780  20 20 20 20 20 20 42 4c  20 6c 6f 61 64 73 63 72  |      BL loadscr|
00005790  0d 1d d8 1d 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
000057a0  20 20 20 20 20 42 20 6d  70 6c 6f 6f 70 0d 1d e2  |     B mploop...|
000057b0  05 3a 0d 1d ec 24 2e 73  65 74 63 6f 6c 73 20 20  |.:...$.setcols  |
000057c0  20 20 20 20 20 20 20 41  44 52 20 52 30 2c 73 74  |       ADR R0,st|
000057d0  61 72 74 63 79 63 0d 1d  f6 20 20 20 20 20 20 20  |artcyc...       |
000057e0  20 20 20 20 20 20 20 20  20 20 20 4c 44 52 20 52  |           LDR R|
000057f0  34 2c 5b 52 30 5d 0d 1e  00 24 20 20 20 20 20 20  |4,[R0]...$      |
00005800  20 20 20 20 20 20 20 20  20 20 20 41 44 52 20 52  |           ADR R|
00005810  30 2c 61 64 64 6f 6e 63  79 63 0d 1e 0a 20 20 20  |0,addoncyc...   |
00005820  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4c  |               L|
00005830  44 52 20 52 35 2c 5b 52  30 5d 0d 1e 14 1e 20 20  |DR R5,[R0]....  |
00005840  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4d  |               M|
00005850  4f 56 20 52 36 2c 23 30  0d 1e 1e 1e 2e 73 65 74  |OV R6,#0.....set|
00005860  6c 6f 6f 70 20 20 20 20  20 20 20 20 20 4d 4f 56  |loop         MOV|
00005870  20 52 33 2c 23 30 0d 1e  28 20 2e 73 65 74 6c 69  | R3,#0..( .setli|
00005880  6e 65 20 20 20 20 20 20  20 20 20 4c 44 52 20 52  |ne         LDR R|
00005890  30 2c 5b 52 34 5d 0d 1e  32 21 20 20 20 20 20 20  |0,[R4]..2!      |
000058a0  20 20 20 20 20 20 20 20  20 20 20 41 44 44 20 52  |           ADD R|
000058b0  30 2c 52 30 2c 52 35 0d  1e 3c 20 20 20 20 20 20  |0,R0,R5..<      |
000058c0  20 20 20 20 20 20 20 20  20 20 20 20 53 54 52 20  |            STR |
000058d0  52 30 2c 5b 52 34 5d 0d  1e 46 21 20 20 20 20 20  |R0,[R4]..F!     |
000058e0  20 20 20 20 20 20 20 20  20 20 20 20 41 44 44 20  |            ADD |
000058f0  52 34 2c 52 34 2c 23 34  0d 1e 50 21 20 20 20 20  |R4,R4,#4..P!    |
00005900  20 20 20 20 20 20 20 20  20 20 20 20 20 41 44 44  |             ADD|
00005910  20 52 33 2c 52 33 2c 23  31 0d 1e 5a 20 20 20 20  | R3,R3,#1..Z    |
00005920  20 20 20 20 20 20 20 20  20 20 20 20 20 20 43 4d  |              CM|
00005930  50 20 52 33 2c 23 26 38  30 0d 1e 64 20 20 20 20  |P R3,#&80..d    |
00005940  20 20 20 20 20 20 20 20  20 20 20 20 20 20 42 4e  |              BN|
00005950  45 20 73 65 74 6c 69 6e  65 0d 1e 6e 23 20 20 20  |E setline..n#   |
00005960  20 20 20 20 20 20 20 20  20 20 20 20 20 20 41 44  |              AD|
00005970  44 20 52 34 2c 52 34 2c  23 26 38 30 0d 1e 78 21  |D R4,R4,#&80..x!|
00005980  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005990  20 41 44 44 20 52 36 2c  52 36 2c 23 31 0d 1e 82  | ADD R6,R6,#1...|
000059a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000059b0  20 20 43 4d 50 20 52 36  2c 23 32 35 36 0d 1e 8c  |  CMP R6,#256...|
000059c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000059d0  20 20 42 4e 45 20 73 65  74 6c 6f 6f 70 0d 1e 96  |  BNE setloop...|
000059e0  1f 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000059f0  20 20 4d 4f 56 20 50 43  2c 52 31 34 0d 1e a0 22  |  MOV PC,R14..."|
00005a00  2e 73 74 61 72 74 63 79  63 20 20 20 20 20 20 20  |.startcyc       |
00005a10  20 45 51 55 44 20 26 31  46 44 38 30 30 30 0d 1e  | EQUD &1FD8000..|
00005a20  aa 23 2e 61 64 64 6f 6e  63 79 63 20 20 20 20 20  |.#.addoncyc     |
00005a30  20 20 20 45 51 55 44 20  26 30 31 30 31 30 31 30  |   EQUD &0101010|
00005a40  31 0d 1e b4 05 3a 0d 1e  be 0f 5c 20 53 43 52 45  |1....:....\ SCRE|
00005a50  45 4e 20 c7 9a 0d 1e c8  05 3a 0d 1e d2 23 2e 73  |EN ......:...#.s|
00005a60  63 72 73 74 6f 72 65 20  20 20 20 20 20 20 20 41  |crstore        A|
00005a70  44 52 20 52 30 2c 72 61  6d 64 69 73 63 0d 1e dc  |DR R0,ramdisc...|
00005a80  21 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |!               |
00005a90  20 20 53 57 49 20 22 4f  53 5f 43 4c 49 22 0d 1e  |  SWI "OS_CLI"..|
00005aa0  e6 22 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |."              |
00005ab0  20 20 20 41 44 52 20 52  30 2c 73 63 72 73 61 76  |   ADR R0,scrsav|
00005ac0  0d 1e f0 21 20 20 20 20  20 20 20 20 20 20 20 20  |...!            |
00005ad0  20 20 20 20 20 53 57 49  20 22 4f 53 5f 43 4c 49  |     SWI "OS_CLI|
00005ae0  22 0d 1e fa 1d 20 20 20  20 20 20 20 20 20 20 20  |"....           |
00005af0  20 20 20 20 20 20 42 20  6d 70 6c 6f 6f 70 0d 1f  |      B mploop..|
00005b00  04 24 2e 72 61 6d 64 69  73 63 20 20 20 20 20 20  |.$.ramdisc      |
00005b10  20 20 20 45 51 55 53 22  52 41 4d 22 3a 45 51 55  |   EQUS"RAM":EQU|
00005b20  44 30 0d 1f 0e 35 2e 73  63 72 73 61 76 20 20 20  |D0...5.scrsav   |
00005b30  20 20 20 20 20 20 20 45  51 55 53 22 53 43 52 45  |       EQUS"SCRE|
00005b40  45 4e 53 41 56 45 20 6d  61 6e 64 65 6c 73 63 72  |ENSAVE mandelscr|
00005b50  22 3a 45 51 55 44 30 0d  1f 18 05 3a 0d 1f 22 09  |":EQUD0....:..".|
00005b60  41 4c 49 47 4e 0d 1f 2c  0b 2e 73 63 72 65 65 6e  |ALIGN..,..screen|
00005b70  0d 1f 36 05 5d 0d 1f 40  05 ed 0d 1f 4a 30 f4 4f  |..6.]..@....J0.O|
00005b80  53 43 4c 49 20 28 22 4d  45 4d 4f 52 59 49 20 22  |SCLI ("MEMORYI "|
00005b90  2b 53 54 52 24 7e 7a 6f  6f 6d 69 6e 2b 22 20 2b  |+STR$~zoomin+" +|
00005ba0  20 31 30 30 22 29 3a 45  4e 44 0d 1f 54 05 e1 0d  | 100"):END..T...|
00005bb0  ff                                                |.|
00005bb1