Home » Personal collection » Acorn hard disk » files » DomFord » !Mandel/!RunImage

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

� Mandelbrot Set Plotter
� By Dominic Ford
:
(� � �error:�
2:
<
�assemble
FA� OSCLI"SAVE <Obey$Dir>.temp "+STR$~space+" "+STR$~O%+" 8000"
P� start
Z�
d:
n��error
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
6                 SWI "OS_CLI"
@#                ADR R0,startspr
J                 SWI "OS_CLI"
T                SWI 256+22
^                SWI 256+15
h                MOV R0,#&ED
r                MOV R1,#&80
|                 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
0                MOV R2,#0
:                 MOV R3,#1280
D                 MOV R4,#1024
N*                SWI "Wimp_ForceRedraw"
X.mainloop       MOV R0,#0
b"                ADR R1,qbuffer
l#                SWI "Wimp_Poll"
v                CMP R0,#17
�!                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"
4                CMP R2,#0
>!                BNE mousewait
H                MOV R0,#0
R#                ADR R1,wimpstat
\                STR R0,[R1]
f                ADR R0,prev
p                LDR R0,[R0]
z                CMP R0,#0
�                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
8                LDR R0,[R0]
B                CMP R0,#1
L#                BNE noextraplot
V                MOV R0,#1
`#                ADR R1,wimpstat
j                STR R0,[R1]
t                BL contplot
~#                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
2.sprnum         EQUD 0
<                ALIGN
FG.qbuffer        EQUS"                                             "
P                ALIGN
Z.wimpstat       EQUD 0
d                ALIGN
n1.startspr       EQUS "SCHOOSE startup":EQUD 0
x                ALIGN
�:
� \ 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
6:
@G                 ADR R0,ymin                    \ Get Y co-ordinate
J!EQUD &ECF01100 \ LDFE F1,[R0]
T!                 ADR R0,ystep
^!EQUD &ECF02100 \ LDFE F2,[R0]
hEQUD &EE0721D7 \ FLTE F7,R2
r"EQUD &EE1A3107 \ MLFE F3,F2,F7
|"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
0"EQUD &EE0C4104 \ ADFE F4,F4,F4
:"EQUD &EE0C4101 \ ADFE F4,F4,F1
DEQUD &EE08A106 \ MVFE F2,F6
NEQUD &EE08B104 \ MVFE F3,F4
X                 B pixloop
b:
l
.found
vMOV R0,R11
�LDMFD 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
4!EQUD &ECE00100 \ STFE F0,[R0]
>                 MOV PC,R14
H:
R.plotstat EQUD 0
\	ALIGN
f.prev EQUD 0
p	ALIGN
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
	8                 CMP R2,#0
	B                  BEQ plotted
	L$.plotpix         ADR R2,wimpstat
	V                  LDR R3,[R2]
	`!                 CMP R3,#&100
	j!                 BEQ plotstop
	t%                 MOV R3,R3,ASL #1
	~                  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
2                  BNE pltloop
<                 MOV R0,#0
F                 MOV R7,#0
P                 CMP R9,#3
Z!                 BCS notfinal
d                 MOV R9,#4
n!.notfinal        ADD R1,R1,R9
x!                 ADD R8,R8,#1
�!                 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]
6                  ADR R0,ypns
@                  STR R8,[R0]
J                 MOV R0,#1
T$                 LDMFD R13!,{PC}
^:
h%.contplot        STMFD R13!,{R14}
r                  ADR R0,xpns
|                  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
0"                 LDR R11,[R11]
:                 CMP R11,#0
D%                 �Q R11,#&2000000
N%                 ADRNE R11,scread
X$                 LDRNE R11,[R11]
b*                 ADDNE R11,R11,#&28000
l#                 SUB R11,R11,R0
v"                 MOV R12,#&280
�"                 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

4                 MOV PC,R14

>:

H!.mousebox        ADR R0,xboxa

R                  LDR R0,[R0]

\!                 ADR R1,xboxb

f                  LDR R1,[R1]

p                 CMP R0,R1

z                  MOVCS R2,R0

�                  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
8#                 SUB R11,R11,R6
B                 MOV R4,#0
L                 MOV R5,R1
V!                 SUB R5,R5,R0
`%                 MOV R5,R5,LSR #1
j%.xbotlop         LDRB R6,[R11,R4]
t!                 � R6,R6,#128
~%                 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
2"                 \SUB R6,R6,R5
<&.yrightlop       LDRB R7,[R11,-R4]
F!                 � R7,R7,#128
P&                 STRB R7,[R11,-R4]
Z$                 ADD R4,R4,#&280
d                 CMP R4,R6
n"                 BCC yrightlop
x"                 \ADD R6,R6,R5
�#                 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
6#                 CMP R2,#&28000
@                 BCC savlop
J                 MOV PC,R14
T".loadscr         ADR R0,scrmem
^                  LDR R1,[R0]
h"                 ADR R0,scread
r                  LDR R0,[R0]
|                 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
0.yboxb EQUD 0
::
D.startup STMFD R13!,{R14}
N         SWI 256+22
X         SWI 256+15
b         MOV R0,#106
l         MOV R1,#1
v         SWI "OS_Byte"
�         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"
4)         EQUB17:EQUB255:EQUB17:EQUB32
>8         EQUB31:EQUB64:EQUB10:EQUS"Zoom In         "
H8         EQUB31:EQUB64:EQUB12:EQUS"Reset           "
R         EQUB17:EQUB8
\8         EQUB31:EQUB64:EQUB16:EQUS"Iterations      "
f8         EQUB31:EQUB64:EQUB18:EQUS"Colour Cycling  "
p8         EQUB31:EQUB64:EQUB20:EQUS"Save Screen     "
z         EQUB17:EQUB6
�8         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
8         SWI "OS_Byte"
B         SWI 256+23
L         SWI 256+1
V         SWI 256
`         SWI 256
j         SWI 256
t         SWI 256
~         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"
2         CMP R2,#0
<         BEQ mploop
F         CMP R0,#1024
P         BCC boxout
Z         B function
d'.schoose EQUS "SCHOOSE logo":EQUD 0
n         ALIGN
x.ploty   EQUD 775
�         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]
6         MOV R0,#1
@         STR R0,[R2]
J         BL mousebox
T         BL contplot
^         BL mousebox
h         SWI "OS_Mouse"
r         CMP R2,#0
|         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
0         CMP R1,#13
:         BEQ colcycle
D         CMP R1,#15
N         BEQ iterate
X         CMP R1,#19
b         BEQ resetpos
l         CMP R1,#21
v         BEQ zoomin
�         B mploop
�:
� \               Ș FUNCTIONS
�:
�.desktop 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
          BNE stopcl
*.quitlop SWI"OS_Mouse"
4         CMP R2,#4
>         BEQ quitokay
H         CMP R2,#1
R         BLEQ loadscr
\         BEQ mploop
f         B quitlop
p.quitokay LDMFD R13!,{R0}
z         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"
�:
�\        ZOOM FUNCTIONS
�:
�.resetpos        BL setup
�                 BL plotter
�                 B mploop
:
".zoomin          ADR R0,xminad
                  LDR R0,[R0]
$#                 ADR R1,xstepad
.                  LDR R1,[R1]
8"                 ADR R2,yminad
B                  LDR R2,[R2]
L#                 ADR R3,ystepad
V                  LDR R3,[R3]
`"                 ADR R4,xboxat
j                LDR R4,[R4]
t                  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]
�0                 ADR R7,yboxbt     \ R0=xmin
�1                 LDR R7,[R7]       \ R1=xstep
�0                 LDR R7,[R7]       \ R2=ymin
1                 CMP R6,R7         \ R3=ystep

1                 MOVCS R8,R6       \ R4=xboxa
1                 MOVCS R6,R7       \ R5=xboxb
1                 MOVCS R7,R8       \ R6=yboxa
(1EQUD &ECF00100 \ LDFE F0,[R0]      \ R7=yboxb
2!EQUD &ECF11100 \ LDFE F1,[R1]
<EQUD &EE0241D2 \ FLTE F2,R4
F"EQUD &EE1A3101 \ MLFE F3,F2,F1
P"EQUD &EE0B3100 \ ADFE F3,F3,F0
ZEQUD &EE0451D4 \ FLTE F4,R5
d"EQUD &EE1C5101 \ MLFE F5,F4,F1
n"EQUD &EE0D5100 \ ADFE F5,F5,F0
x"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
�"EQUD &EE0B3100 \ ADFE F3,F3,F0
�EQUD &EE0471D4 \ FLTE F4,R7
�"EQUD &EE1C5101 \ MLFE F5,F4,F1
"EQUD &EE0D5100 \ ADFE F5,F5,F0
"EQUD &EE2D5103 \ SBFE F5,F5,F3
"EQUD &EE4D7106 \ DVFE F7,F5,F6
"!EQUD &ECE23100 \ STFE F3,[R2]
,!EQUD &ECE37100 \ STFE F7,[R3]
6                 BL plotter
@                 B mploop
J:
T.xminad          EQUD xmin
^.yminad          EQUD ymin
h.xstepad         EQUD xstep
r.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: "
�                 EQUB 0
�                 ALIGN
�$.iterloop        SWI "OS_WriteS"
�(                 EQUB31:EQUB21:EQUB1
.maxstr          EQUS "025"
                 EQUB 0
                 ALIGN
& .getkey          MOV R0,#&81
0                 MOV R1,#0
:                 MOV R2,#0
D"                 SWI "OS_Byte"
N                 BCS getkey
X                 CMP R1,#13
b                  BEQ itergot
l                 CMP R1,#48
v                 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
�!                 LDRB R1,[R0]
�"                 SUB R1,R1,#48
�                  MOV R2,#100
!                 MUL R3,R2,R1
                 MOV R4,R3
$                 LDRB R1,[R0,#1]
 "                 SUB R1,R1,#48
*                 MOV R2,#10
4!                 MUL R3,R2,R1
>!                 ADD R4,R4,R3
H$                 LDRB R1,[R0,#2]
R"                 SUB R1,R1,#48
\!                 ADD R4,R4,R1
f"                 ADR R0,maxiad
p                  LDR R0,[R0]
z                  STR R4,[R0]
�                 BL loadscr
�                 BL plotter
�                 B mploop
�.maxiad          EQUD maxit
�:
�\ � CYCLING
�:
�.colcycle        MOV R5,#0
�#                 SWI "OS_Mouse"
�                 CMP R2,#0
�!                 BNE colcycle
�                 BL savescr
�.cyloop          BL setcols
!                 ADD R5,R5,#1
!                 � R5,R5,#255
                 MOV R0,#0
$!.wastetime       ADD R0,R0,#1
."                 CMP R0,#&1000
8"                 BNE wastetime
B#                 SWI "OS_Mouse"
L                 CMP R2,#0
V                 BEQ cyloop
`$                 SWI "OS_WriteS"
j(                 EQUB22:EQUB15:EQUB0
t                 ALIGN
~                  MOV R0,#106
�                 MOV R1,#1
�"                 SWI "OS_Byte"
�                 BL loadscr
�                 B mploop
�:
�.setcols         MOV R4,#1
�.setloop         MOV R3,R4
�!                 ADD R3,R3,R5
�!                 � R3,R3,#127
�'                 ADR R2,(vducols+2)
�!                 STRB R3,[R2]
�'                 ADR R2,(vducols+1)
!                 STRB R4,[R2]

$                 SWI "OS_WriteS"
-.vducols         EQUB19:EQUB1:EQUB1:EQUB0
                 SWI 256
(                 SWI 256
2                 SWI 256
<                 SWI 256
F!                 ADD R4,R4,#1
P                  CMP R4,#256
Z                  BNE setloop
d                 MOV PC,R14
n:
x\ 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
�]
��
0�OSCLI ("MEMORYI "+STR$~zoomin+" + 100"):END
�
�
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 41 f4 20 4f 53  |assemble..FA. OS|
00000060  43 4c 49 22 53 41 56 45  20 3c 4f 62 65 79 24 44  |CLI"SAVE <Obey$D|
00000070  69 72 3e 2e 74 65 6d 70  20 22 2b 53 54 52 24 7e  |ir>.temp "+STR$~|
00000080  73 70 61 63 65 2b 22 20  22 2b 53 54 52 24 7e 4f  |space+" "+STR$~O|
00000090  25 2b 22 20 38 30 30 30  22 0d 00 50 0b d6 20 73  |%+" 8000"..P.. s|
000000a0  74 61 72 74 0d 00 5a 05  e0 0d 00 64 05 3a 0d 00  |tart..Z....d.:..|
000000b0  6e 0b dd f2 65 72 72 6f  72 0d 00 78 09 ee 20 85  |n...error..x.. .|
000000c0  20 87 0d 00 82 14 f6 3a  f1 22 20 61 74 20 6c 69  | ......:." at li|
000000d0  6e 65 20 22 3b 9e 0d 00  8c 0f e3 52 3d 30 b8 35  |ne ";......R=0.5|
000000e0  30 30 30 3a ed 0d 00 96  05 e1 0d 00 a0 05 3a 0d  |000:..........:.|
000000f0  00 aa 0e dd f2 61 73 73  65 6d 62 6c 65 0d 00 b4  |.....assemble...|
00000100  12 de 20 73 70 61 63 65  20 26 33 30 30 30 30 0d  |.. space &30000.|
00000110  00 be 05 3a 0d 00 c8 11  e3 20 70 3d 30 20 b8 20  |...:..... p=0 . |
00000120  32 20 88 20 32 0d 00 d2  17 f4 20 4f 25 3d 73 70  |2 . 2..... O%=sp|
00000130  61 63 65 3a 50 25 3d 26  38 30 30 30 0d 00 dc 0c  |ace:P%=&8000....|
00000140  50 25 3d 73 70 61 63 65  0d 00 e6 0a 5b 4f 50 54  |P%=space....[OPT|
00000150  20 70 0d 00 f0 05 3a 0d  00 fa 13 5c 20 54 41 53  | p....:....\ TAS|
00000160  4b 20 53 54 41 52 54 2d  55 50 0d 01 04 1c 2e 73  |K START-UP.....s|
00000170  74 61 72 74 20 20 20 20  20 20 20 20 20 20 42 4c  |tart          BL|
00000180  20 73 65 74 75 70 0d 01  0e 1d 20 20 20 20 20 20  | setup....      |
00000190  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 52 30  |          MOV R0|
000001a0  2c 23 33 0d 01 18 22 20  20 20 20 20 20 20 20 20  |,#3..."         |
000001b0  20 20 20 20 20 20 20 4d  4f 56 20 52 31 2c 23 26  |       MOV R1,#&|
000001c0  32 38 30 30 30 0d 01 22  2e 20 20 20 20 20 20 20  |28000..".       |
000001d0  20 20 20 20 20 20 20 20  20 53 57 49 20 22 4f 53  |         SWI "OS|
000001e0  5f 43 68 61 6e 67 65 44  79 6e 61 6d 69 63 41 72  |_ChangeDynamicAr|
000001f0  65 61 22 0d 01 2c 20 20  20 20 20 20 20 20 20 20  |ea"..,          |
00000200  20 20 20 20 20 20 20 41  44 52 20 52 30 2c 73 6c  |       ADR R0,sl|
00000210  6f 61 64 0d 01 36 20 20  20 20 20 20 20 20 20 20  |oad..6          |
00000220  20 20 20 20 20 20 20 53  57 49 20 22 4f 53 5f 43  |       SWI "OS_C|
00000230  4c 49 22 0d 01 40 23 20  20 20 20 20 20 20 20 20  |LI"..@#         |
00000240  20 20 20 20 20 20 20 41  44 52 20 52 30 2c 73 74  |       ADR R0,st|
00000250  61 72 74 73 70 72 0d 01  4a 20 20 20 20 20 20 20  |artspr..J       |
00000260  20 20 20 20 20 20 20 20  20 20 53 57 49 20 22 4f  |          SWI "O|
00000270  53 5f 43 4c 49 22 0d 01  54 1e 20 20 20 20 20 20  |S_CLI"..T.      |
00000280  20 20 20 20 20 20 20 20  20 20 53 57 49 20 32 35  |          SWI 25|
00000290  36 2b 32 32 0d 01 5e 1e  20 20 20 20 20 20 20 20  |6+22..^.        |
000002a0  20 20 20 20 20 20 20 20  53 57 49 20 32 35 36 2b  |        SWI 256+|
000002b0  31 35 0d 01 68 1f 20 20  20 20 20 20 20 20 20 20  |15..h.          |
000002c0  20 20 20 20 20 20 4d 4f  56 20 52 30 2c 23 26 45  |      MOV R0,#&E|
000002d0  44 0d 01 72 1f 20 20 20  20 20 20 20 20 20 20 20  |D..r.           |
000002e0  20 20 20 20 20 4d 4f 56  20 52 31 2c 23 26 38 30  |     MOV R1,#&80|
000002f0  0d 01 7c 20 20 20 20 20  20 20 20 20 20 20 20 20  |..|             |
00000300  20 20 20 20 4d 4f 56 20  52 32 2c 23 26 31 30 30  |    MOV R2,#&100|
00000310  0d 01 86 21 20 20 20 20  20 20 20 20 20 20 20 20  |...!            |
00000320  20 20 20 20 53 57 49 20  22 4f 53 5f 50 6c 6f 74  |    SWI "OS_Plot|
00000330  22 0d 01 90 22 2e 73 74  61 72 74 73 70 6c 6f 6f  |"...".startsploo|
00000340  70 20 20 20 20 53 57 49  20 22 4f 53 5f 4d 6f 75  |p    SWI "OS_Mou|
00000350  73 65 22 0d 01 9a 1d 20  20 20 20 20 20 20 20 20  |se"....         |
00000360  20 20 20 20 20 20 20 43  4d 50 20 52 32 2c 23 30  |       CMP R2,#0|
00000370  0d 01 a4 23 20 20 20 20  20 20 20 20 20 20 20 20  |...#            |
00000380  20 20 20 20 42 45 51 20  73 74 61 72 74 73 70 6c  |    BEQ startspl|
00000390  6f 6f 70 0d 01 ae 1f 20  20 20 20 20 20 20 20 20  |oop....         |
000003a0  20 20 20 20 20 20 20 4d  4f 56 20 52 30 2c 23 32  |       MOV R0,#2|
000003b0  30 30 0d 01 b8 21 20 20  20 20 20 20 20 20 20 20  |00...!          |
000003c0  20 20 20 20 20 20 41 44  52 20 52 31 2c 74 61 73  |      ADR R1,tas|
000003d0  6b 6e 6f 0d 01 c2 1f 20  20 20 20 20 20 20 20 20  |kno....         |
000003e0  20 20 20 20 20 20 20 4c  44 52 20 52 31 2c 5b 52  |       LDR R1,[R|
000003f0  31 5d 0d 01 cc 23 20 20  20 20 20 20 20 20 20 20  |1]...#          |
00000400  20 20 20 20 20 20 41 44  52 20 52 32 2c 74 61 73  |      ADR R2,tas|
00000410  6b 6e 61 6d 65 0d 01 d6  29 20 20 20 20 20 20 20  |kname...)       |
00000420  20 20 20 20 20 20 20 20  20 53 57 49 20 22 57 69  |         SWI "Wi|
00000430  6d 70 5f 49 6e 69 74 69  61 6c 69 73 65 22 0d 01  |mp_Initialise"..|
00000440  e0 1d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00000450  20 20 4d 4f 56 20 52 30  2c 23 30 0d 01 ea 22 20  |  MOV R0,#0..." |
00000460  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |               A|
00000470  44 52 20 52 31 2c 73 70  72 69 6e 66 6f 0d 01 f4  |DR R1,sprinfo...|
00000480  29 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |)               |
00000490  20 53 57 49 20 22 57 69  6d 70 5f 43 72 65 61 74  | SWI "Wimp_Creat|
000004a0  65 49 63 6f 6e 22 0d 01  fe 21 20 20 20 20 20 20  |eIcon"...!      |
000004b0  20 20 20 20 20 20 20 20  20 20 41 44 52 20 52 31  |          ADR R1|
000004c0  2c 73 70 72 6e 75 6d 0d  02 08 1f 20 20 20 20 20  |,sprnum....     |
000004d0  20 20 20 20 20 20 20 20  20 20 20 53 54 52 20 52  |           STR R|
000004e0  30 2c 5b 52 31 5d 0d 02  12 1d 20 20 20 20 20 20  |0,[R1]....      |
000004f0  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 52 30  |          MOV R0|
00000500  2c 23 30 0d 02 1c 20 20  20 20 20 20 20 20 20 20  |,#0...          |
00000510  20 20 20 20 20 20 20 53  55 42 20 52 30 2c 52 30  |       SUB R0,R0|
00000520  2c 23 31 0d 02 26 1d 20  20 20 20 20 20 20 20 20  |,#1..&.         |
00000530  20 20 20 20 20 20 20 4d  4f 56 20 52 31 2c 23 30  |       MOV R1,#0|
00000540  0d 02 30 1d 20 20 20 20  20 20 20 20 20 20 20 20  |..0.            |
00000550  20 20 20 20 4d 4f 56 20  52 32 2c 23 30 0d 02 3a  |    MOV R2,#0..:|
00000560  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000570  20 4d 4f 56 20 52 33 2c  23 31 32 38 30 0d 02 44  | MOV R3,#1280..D|
00000580  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000590  20 4d 4f 56 20 52 34 2c  23 31 30 32 34 0d 02 4e  | MOV R4,#1024..N|
000005a0  2a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |*               |
000005b0  20 53 57 49 20 22 57 69  6d 70 5f 46 6f 72 63 65  | SWI "Wimp_Force|
000005c0  52 65 64 72 61 77 22 0d  02 58 1d 2e 6d 61 69 6e  |Redraw"..X..main|
000005d0  6c 6f 6f 70 20 20 20 20  20 20 20 4d 4f 56 20 52  |loop       MOV R|
000005e0  30 2c 23 30 0d 02 62 22  20 20 20 20 20 20 20 20  |0,#0..b"        |
000005f0  20 20 20 20 20 20 20 20  41 44 52 20 52 31 2c 71  |        ADR R1,q|
00000600  62 75 66 66 65 72 0d 02  6c 23 20 20 20 20 20 20  |buffer..l#      |
00000610  20 20 20 20 20 20 20 20  20 20 53 57 49 20 22 57  |          SWI "W|
00000620  69 6d 70 5f 50 6f 6c 6c  22 0d 02 76 1e 20 20 20  |imp_Poll"..v.   |
00000630  20 20 20 20 20 20 20 20  20 20 20 20 20 43 4d 50  |             CMP|
00000640  20 52 30 2c 23 31 37 0d  02 80 21 20 20 20 20 20  | R0,#17...!     |
00000650  20 20 20 20 20 20 20 20  20 20 20 42 45 51 20 71  |           BEQ q|
00000660  75 69 74 63 68 65 63 6b  0d 02 8a 1e 20 20 20 20  |uitcheck....    |
00000670  20 20 20 20 20 20 20 20  20 20 20 20 43 4d 50 20  |            CMP |
00000680  52 30 2c 23 31 38 0d 02  94 21 20 20 20 20 20 20  |R0,#18...!      |
00000690  20 20 20 20 20 20 20 20  20 20 42 45 51 20 71 75  |          BEQ qu|
000006a0  69 74 63 68 65 63 6b 0d  02 9e 1d 2e 6e 6f 74 71  |itcheck.....notq|
000006b0  75 69 74 74 65 64 20 20  20 20 20 43 4d 50 20 52  |uitted     CMP R|
000006c0  30 2c 23 36 0d 02 a8 21  20 20 20 20 20 20 20 20  |0,#6...!        |
000006d0  20 20 20 20 20 20 20 20  42 4e 45 20 6e 6f 74 61  |        BNE nota|
000006e0  63 74 69 76 65 0d 02 b2  22 20 20 20 20 20 20 20  |ctive..."       |
000006f0  20 20 20 20 20 20 20 20  20 41 44 52 20 52 31 2c  |         ADR R1,|
00000700  71 62 75 66 66 65 72 0d  02 bc 1e 20 20 20 20 20  |qbuffer....     |
00000710  20 20 20 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |           MOV R|
00000720  32 2c 23 31 32 0d 02 c6  22 20 20 20 20 20 20 20  |2,#12..."       |
00000730  20 20 20 20 20 20 20 20  20 4c 44 52 20 52 33 2c  |         LDR R3,|
00000740  5b 52 31 2c 52 32 5d 0d  02 d0 20 20 20 20 20 20  |[R1,R2]...      |
00000750  20 20 20 20 20 20 20 20  20 20 20 41 44 44 20 52  |           ADD R|
00000760  33 2c 52 33 2c 23 32 0d  02 da 1d 20 20 20 20 20  |3,R3,#2....     |
00000770  20 20 20 20 20 20 20 20  20 20 20 43 4d 50 20 52  |           CMP R|
00000780  33 2c 23 30 0d 02 e4 21  20 20 20 20 20 20 20 20  |3,#0...!        |
00000790  20 20 20 20 20 20 20 20  42 4e 45 20 6e 6f 74 61  |        BNE nota|
000007a0  63 74 69 76 65 0d 02 ee  1f 20 20 20 20 20 20 20  |ctive....       |
000007b0  20 20 20 20 20 20 20 20  20 4d 4f 56 20 52 32 2c  |         MOV R2,|
000007c0  23 26 31 30 0d 02 f8 22  20 20 20 20 20 20 20 20  |#&10..."        |
000007d0  20 20 20 20 20 20 20 20  4c 44 52 20 52 33 2c 5b  |        LDR R3,[|
000007e0  52 31 2c 52 32 5d 0d 03  02 21 20 20 20 20 20 20  |R1,R2]...!      |
000007f0  20 20 20 20 20 20 20 20  20 20 41 44 52 20 52 34  |          ADR R4|
00000800  2c 73 70 72 6e 75 6d 0d  03 0c 1f 20 20 20 20 20  |,sprnum....     |
00000810  20 20 20 20 20 20 20 20  20 20 20 4c 44 52 20 52  |           LDR R|
00000820  34 2c 5b 52 34 5d 0d 03  16 1d 20 20 20 20 20 20  |4,[R4]....      |
00000830  20 20 20 20 20 20 20 20  20 20 43 4d 50 20 52 33  |          CMP R3|
00000840  2c 52 34 0d 03 20 21 20  20 20 20 20 20 20 20 20  |,R4.. !         |
00000850  20 20 20 20 20 20 20 42  4e 45 20 6e 6f 74 61 63  |       BNE notac|
00000860  74 69 76 65 0d 03 2a 22  2e 6d 6f 75 73 65 77 61  |tive..*".mousewa|
00000870  69 74 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |it      SWI "OS_|
00000880  4d 6f 75 73 65 22 0d 03  34 1d 20 20 20 20 20 20  |Mouse"..4.      |
00000890  20 20 20 20 20 20 20 20  20 20 43 4d 50 20 52 32  |          CMP R2|
000008a0  2c 23 30 0d 03 3e 21 20  20 20 20 20 20 20 20 20  |,#0..>!         |
000008b0  20 20 20 20 20 20 20 42  4e 45 20 6d 6f 75 73 65  |       BNE mouse|
000008c0  77 61 69 74 0d 03 48 1d  20 20 20 20 20 20 20 20  |wait..H.        |
000008d0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 30 2c 23  |        MOV R0,#|
000008e0  30 0d 03 52 23 20 20 20  20 20 20 20 20 20 20 20  |0..R#           |
000008f0  20 20 20 20 20 41 44 52  20 52 31 2c 77 69 6d 70  |     ADR R1,wimp|
00000900  73 74 61 74 0d 03 5c 1f  20 20 20 20 20 20 20 20  |stat..\.        |
00000910  20 20 20 20 20 20 20 20  53 54 52 20 52 30 2c 5b  |        STR R0,[|
00000920  52 31 5d 0d 03 66 1f 20  20 20 20 20 20 20 20 20  |R1]..f.         |
00000930  20 20 20 20 20 20 20 41  44 52 20 52 30 2c 70 72  |       ADR R0,pr|
00000940  65 76 0d 03 70 1f 20 20  20 20 20 20 20 20 20 20  |ev..p.          |
00000950  20 20 20 20 20 20 4c 44  52 20 52 30 2c 5b 52 30  |      LDR R0,[R0|
00000960  5d 0d 03 7a 1d 20 20 20  20 20 20 20 20 20 20 20  |]..z.           |
00000970  20 20 20 20 20 43 4d 50  20 52 30 2c 23 30 0d 03  |     CMP R0,#0..|
00000980  84 1d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00000990  20 20 42 45 51 20 66 69  72 73 74 0d 03 8e 1e 20  |  BEQ first.... |
000009a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 42  |               B|
000009b0  4c 20 72 65 73 74 61 72  74 0d 03 98 1d 20 20 20  |L restart....   |
000009c0  20 20 20 20 20 20 20 20  20 20 20 20 20 42 20 61  |             B a|
000009d0  63 74 69 76 65 63 0d 03  a2 1e 2e 66 69 72 73 74  |ctivec.....first|
000009e0  20 20 20 20 20 20 20 20  20 20 42 4c 20 73 74 61  |          BL sta|
000009f0  72 74 75 70 0d 03 ac 21  2e 61 63 74 69 76 65 63  |rtup...!.activec|
00000a00  20 20 20 20 20 20 20 20  42 4c 20 6d 61 6e 64 65  |        BL mande|
00000a10  6c 70 6c 6f 74 0d 03 b6  1e 20 20 20 20 20 20 20  |lplot....       |
00000a20  20 20 20 20 20 20 20 20  20 42 4c 20 73 61 76 65  |         BL save|
00000a30  73 63 72 0d 03 c0 1d 20  20 20 20 20 20 20 20 20  |scr....         |
00000a40  20 20 20 20 20 20 20 4d  4f 56 20 52 30 2c 23 30  |       MOV R0,#0|
00000a50  0d 03 ca 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00000a60  20 20 20 20 53 55 42 20  52 30 2c 52 30 2c 23 31  |    SUB R0,R0,#1|
00000a70  0d 03 d4 1d 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00000a80  20 20 20 20 4d 4f 56 20  52 31 2c 23 30 0d 03 de  |    MOV R1,#0...|
00000a90  1d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000aa0  20 4d 4f 56 20 52 32 2c  23 30 0d 03 e8 20 20 20  | MOV R2,#0...   |
00000ab0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 4d 4f  |              MO|
00000ac0  56 20 52 33 2c 23 31 32  38 30 0d 03 f2 20 20 20  |V R3,#1280...   |
00000ad0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 4d 4f  |              MO|
00000ae0  56 20 52 34 2c 23 31 30  32 34 0d 03 fc 2a 20 20  |V R4,#1024...*  |
00000af0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 53 57  |              SW|
00000b00  49 20 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |I "Wimp_ForceRed|
00000b10  72 61 77 22 0d 04 06 1f  2e 6e 6f 74 61 63 74 69  |raw".....notacti|
00000b20  76 65 20 20 20 20 20 20  41 44 52 20 52 30 2c 70  |ve      ADR R0,p|
00000b30  72 65 76 0d 04 10 1f 20  20 20 20 20 20 20 20 20  |rev....         |
00000b40  20 20 20 20 20 20 20 4c  44 52 20 52 30 2c 5b 52  |       LDR R0,[R|
00000b50  30 5d 0d 04 1a 1d 20 20  20 20 20 20 20 20 20 20  |0]....          |
00000b60  20 20 20 20 20 20 43 4d  50 20 52 30 2c 23 31 0d  |      CMP R0,#1.|
00000b70  04 24 23 20 20 20 20 20  20 20 20 20 20 20 20 20  |.$#             |
00000b80  20 20 20 42 4e 45 20 6e  6f 65 78 74 72 61 70 6c  |   BNE noextrapl|
00000b90  6f 74 0d 04 2e 23 20 20  20 20 20 20 20 20 20 20  |ot...#          |
00000ba0  20 20 20 20 20 20 41 44  52 20 52 30 2c 70 6c 6f  |      ADR R0,plo|
00000bb0  74 73 74 61 74 0d 04 38  1f 20 20 20 20 20 20 20  |tstat..8.       |
00000bc0  20 20 20 20 20 20 20 20  20 4c 44 52 20 52 30 2c  |         LDR R0,|
00000bd0  5b 52 30 5d 0d 04 42 1d  20 20 20 20 20 20 20 20  |[R0]..B.        |
00000be0  20 20 20 20 20 20 20 20  43 4d 50 20 52 30 2c 23  |        CMP R0,#|
00000bf0  31 0d 04 4c 23 20 20 20  20 20 20 20 20 20 20 20  |1..L#           |
00000c00  20 20 20 20 20 42 4e 45  20 6e 6f 65 78 74 72 61  |     BNE noextra|
00000c10  70 6c 6f 74 0d 04 56 1d  20 20 20 20 20 20 20 20  |plot..V.        |
00000c20  20 20 20 20 20 20 20 20  4d 4f 56 20 52 30 2c 23  |        MOV R0,#|
00000c30  31 0d 04 60 23 20 20 20  20 20 20 20 20 20 20 20  |1..`#           |
00000c40  20 20 20 20 20 41 44 52  20 52 31 2c 77 69 6d 70  |     ADR R1,wimp|
00000c50  73 74 61 74 0d 04 6a 1f  20 20 20 20 20 20 20 20  |stat..j.        |
00000c60  20 20 20 20 20 20 20 20  53 54 52 20 52 30 2c 5b  |        STR R0,[|
00000c70  52 31 5d 0d 04 74 1f 20  20 20 20 20 20 20 20 20  |R1]..t.         |
00000c80  20 20 20 20 20 20 20 42  4c 20 63 6f 6e 74 70 6c  |       BL contpl|
00000c90  6f 74 0d 04 7e 23 20 20  20 20 20 20 20 20 20 20  |ot..~#          |
00000ca0  20 20 20 20 20 20 41 44  52 20 52 31 2c 70 6c 6f  |      ADR R1,plo|
00000cb0  74 73 74 61 74 0d 04 88  1f 20 20 20 20 20 20 20  |tstat....       |
00000cc0  20 20 20 20 20 20 20 20  20 53 54 52 20 52 30 2c  |         STR R0,|
00000cd0  5b 52 31 5d 0d 04 92 1e  2e 6e 6f 65 78 74 72 61  |[R1].....noextra|
00000ce0  70 6c 6f 74 20 20 20 20  42 20 6d 61 69 6e 6c 6f  |plot    B mainlo|
00000cf0  6f 70 0d 04 9c 22 2e 71  75 69 74 63 68 65 63 6b  |op...".quitcheck|
00000d00  20 20 20 20 20 20 41 44  52 20 52 31 2c 71 62 75  |      ADR R1,qbu|
00000d10  66 66 65 72 0d 04 a6 1f  20 20 20 20 20 20 20 20  |ffer....        |
00000d20  20 20 20 20 20 20 20 20  4d 4f 56 20 52 32 2c 23  |        MOV R2,#|
00000d30  26 31 30 0d 04 b0 22 20  20 20 20 20 20 20 20 20  |&10..."         |
00000d40  20 20 20 20 20 20 20 4c  44 52 20 52 32 2c 5b 52  |       LDR R2,[R|
00000d50  31 2c 52 32 5d 0d 04 ba  1d 20 20 20 20 20 20 20  |1,R2]....       |
00000d60  20 20 20 20 20 20 20 20  20 43 4d 50 20 52 32 2c  |         CMP R2,|
00000d70  23 30 0d 04 c4 22 20 20  20 20 20 20 20 20 20 20  |#0..."          |
00000d80  20 20 20 20 20 20 42 4e  45 20 6e 6f 74 71 75 69  |      BNE notqui|
00000d90  74 74 65 64 0d 04 ce 21  20 20 20 20 20 20 20 20  |tted...!        |
00000da0  20 20 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |        SWI "OS_|
00000db0  45 78 69 74 22 0d 04 d8  3b 2e 73 6c 6f 61 64 20  |Exit"...;.sload |
00000dc0  20 20 20 20 20 20 20 20  20 45 51 55 53 20 22 53  |         EQUS "S|
00000dd0  4c 4f 41 44 20 3c 4f 62  65 79 24 44 69 72 3e 2e  |LOAD <Obey$Dir>.|
00000de0  21 53 70 72 69 74 65 73  22 3a 45 51 55 44 20 30  |!Sprites":EQUD 0|
00000df0  0d 04 e2 19 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00000e00  20 20 20 20 41 4c 49 47  4e 0d 04 ec 2c 2e 74 61  |    ALIGN...,.ta|
00000e10  73 6b 6e 61 6d 65 20 20  20 20 20 20 20 45 51 55  |skname       EQU|
00000e20  53 20 22 4d 61 6e 64 65  6c 50 6c 6f 74 22 3a 45  |S "MandelPlot":E|
00000e30  51 55 44 20 30 0d 04 f6  19 20 20 20 20 20 20 20  |QUD 0....       |
00000e40  20 20 20 20 20 20 20 20  20 41 4c 49 47 4e 0d 05  |         ALIGN..|
00000e50  00 22 2e 74 61 73 6b 6e  6f 20 20 20 20 20 20 20  |.".taskno       |
00000e60  20 20 45 51 55 44 20 26  34 42 35 33 34 31 35 34  |  EQUD &4B534154|
00000e70  0d 05 0a 19 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00000e80  20 20 20 20 41 4c 49 47  4e 0d 05 14 42 2e 73 70  |    ALIGN...B.sp|
00000e90  72 69 6e 66 6f 20 20 20  20 20 20 20 20 45 51 55  |rinfo        EQU|
00000ea0  44 20 26 46 46 46 46 46  46 46 46 3a 45 51 55 44  |D &FFFFFFFF:EQUD|
00000eb0  20 30 3a 45 51 55 44 20  30 3a 45 51 55 44 20 26  | 0:EQUD 0:EQUD &|
00000ec0  36 34 3a 45 51 55 44 20  26 34 34 0d 05 1e 46 20  |64:EQUD &44...F |
00000ed0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 45  |               E|
00000ee0  51 55 44 20 26 31 31 30  30 33 30 32 41 3a 45 51  |QUD &1100302A:EQ|
00000ef0  55 44 20 26 36 45 36 31  36 44 32 31 3a 45 51 55  |UD &6E616D21:EQU|
00000f00  44 20 26 36 43 36 35 36  34 3a 45 51 55 44 20 26  |D &6C6564:EQUD &|
00000f10  44 0d 05 28 19 20 20 20  20 20 20 20 20 20 20 20  |D..(.           |
00000f20  20 20 20 20 20 41 4c 49  47 4e 0d 05 32 1a 2e 73  |     ALIGN..2..s|
00000f30  70 72 6e 75 6d 20 20 20  20 20 20 20 20 20 45 51  |prnum         EQ|
00000f40  55 44 20 30 0d 05 3c 19  20 20 20 20 20 20 20 20  |UD 0..<.        |
00000f50  20 20 20 20 20 20 20 20  41 4c 49 47 4e 0d 05 46  |        ALIGN..F|
00000f60  47 2e 71 62 75 66 66 65  72 20 20 20 20 20 20 20  |G.qbuffer       |
00000f70  20 45 51 55 53 22 20 20  20 20 20 20 20 20 20 20  | EQUS"          |
00000f80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000fa0  20 20 20 22 0d 05 50 19  20 20 20 20 20 20 20 20  |   "..P.        |
00000fb0  20 20 20 20 20 20 20 20  41 4c 49 47 4e 0d 05 5a  |        ALIGN..Z|
00000fc0  1a 2e 77 69 6d 70 73 74  61 74 20 20 20 20 20 20  |..wimpstat      |
00000fd0  20 45 51 55 44 20 30 0d  05 64 19 20 20 20 20 20  | EQUD 0..d.     |
00000fe0  20 20 20 20 20 20 20 20  20 20 20 41 4c 49 47 4e  |           ALIGN|
00000ff0  0d 05 6e 31 2e 73 74 61  72 74 73 70 72 20 20 20  |..n1.startspr   |
00001000  20 20 20 20 45 51 55 53  20 22 53 43 48 4f 4f 53  |    EQUS "SCHOOS|
00001010  45 20 73 74 61 72 74 75  70 22 3a 45 51 55 44 20  |E startup":EQUD |
00001020  30 0d 05 78 19 20 20 20  20 20 20 20 20 20 20 20  |0..x.           |
00001030  20 20 20 20 20 41 4c 49  47 4e 0d 05 82 05 3a 0d  |     ALIGN....:.|
00001040  05 8c 20 5c 20 4d 41 4e  44 45 4c 42 52 4f 54 20  |.. \ MANDELBROT |
00001050  53 45 54 20 43 41 4c 43  55 4c 41 54 49 4f 4e 0d  |SET CALCULATION.|
00001060  05 96 10 5c 20 52 31 3d  78 20 7c 52 32 3d 79 0d  |...\ R1=x |R2=y.|
00001070  05 a0 05 3a 0d 05 aa 0d  5c 20 46 30 3d 78 70 6f  |...:....\ F0=xpo|
00001080  73 0d 05 b4 0d 5c 20 46  31 3d 79 70 6f 73 0d 05  |s....\ F1=ypos..|
00001090  be 0a 5c 20 46 32 3d 75  0d 05 c8 0a 5c 20 46 33  |..\ F2=u....\ F3|
000010a0  3d 76 0d 05 d2 05 3a 0d  05 dc 25 2e 6d 61 6e 64  |=v....:...%.mand|
000010b0  70 69 78 20 20 20 20 20  20 20 20 20 53 54 4d 46  |pix         STMF|
000010c0  44 20 52 31 33 21 2c 7b  52 31 34 7d 0d 05 e6 1f  |D R13!,{R14}....|
000010d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000010e0  20 4d 4f 56 20 52 31 31  2c 23 30 0d 05 f0 47 20  | MOV R11,#0...G |
000010f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001100  41 44 52 20 52 30 2c 78  6d 69 6e 20 20 20 20 20  |ADR R0,xmin     |
00001110  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 5c  |               \|
00001120  20 47 65 74 20 58 20 63  6f 2d 6f 72 64 69 6e 61  | Get X co-ordina|
00001130  74 65 0d 05 fa 21 45 51  55 44 20 26 45 43 46 30  |te...!EQUD &ECF0|
00001140  30 31 30 30 20 5c 20 4c  44 46 45 20 46 30 2c 5b  |0100 \ LDFE F0,[|
00001150  52 30 5d 0d 06 04 21 20  20 20 20 20 20 20 20 20  |R0]...!         |
00001160  20 20 20 20 20 20 20 20  41 44 52 20 52 30 2c 78  |        ADR R0,x|
00001170  73 74 65 70 0d 06 0e 21  45 51 55 44 20 26 45 43  |step...!EQUD &EC|
00001180  46 30 31 31 30 30 20 5c  20 4c 44 46 45 20 46 31  |F01100 \ LDFE F1|
00001190  2c 5b 52 30 5d 0d 06 18  1f 45 51 55 44 20 26 45  |,[R0]....EQUD &E|
000011a0  45 30 37 31 31 44 37 20  5c 20 46 4c 54 45 20 46  |E0711D7 \ FLTE F|
000011b0  37 2c 52 31 0d 06 22 22  45 51 55 44 20 26 45 45  |7,R1..""EQUD &EE|
000011c0  31 39 32 31 30 37 20 5c  20 4d 4c 46 45 20 46 32  |192107 \ MLFE F2|
000011d0  2c 46 31 2c 46 37 0d 06  2c 22 45 51 55 44 20 26  |,F1,F7..,"EQUD &|
000011e0  45 45 30 38 30 31 30 32  20 5c 20 41 44 46 45 20  |EE080102 \ ADFE |
000011f0  46 30 2c 46 30 2c 46 32  0d 06 36 05 3a 0d 06 40  |F0,F0,F2..6.:..@|
00001200  47 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |G               |
00001210  20 20 41 44 52 20 52 30  2c 79 6d 69 6e 20 20 20  |  ADR R0,ymin   |
00001220  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001230  20 5c 20 47 65 74 20 59  20 63 6f 2d 6f 72 64 69  | \ Get Y co-ordi|
00001240  6e 61 74 65 0d 06 4a 21  45 51 55 44 20 26 45 43  |nate..J!EQUD &EC|
00001250  46 30 31 31 30 30 20 5c  20 4c 44 46 45 20 46 31  |F01100 \ LDFE F1|
00001260  2c 5b 52 30 5d 0d 06 54  21 20 20 20 20 20 20 20  |,[R0]..T!       |
00001270  20 20 20 20 20 20 20 20  20 20 41 44 52 20 52 30  |          ADR R0|
00001280  2c 79 73 74 65 70 0d 06  5e 21 45 51 55 44 20 26  |,ystep..^!EQUD &|
00001290  45 43 46 30 32 31 30 30  20 5c 20 4c 44 46 45 20  |ECF02100 \ LDFE |
000012a0  46 32 2c 5b 52 30 5d 0d  06 68 1f 45 51 55 44 20  |F2,[R0]..h.EQUD |
000012b0  26 45 45 30 37 32 31 44  37 20 5c 20 46 4c 54 45  |&EE0721D7 \ FLTE|
000012c0  20 46 37 2c 52 32 0d 06  72 22 45 51 55 44 20 26  | F7,R2..r"EQUD &|
000012d0  45 45 31 41 33 31 30 37  20 5c 20 4d 4c 46 45 20  |EE1A3107 \ MLFE |
000012e0  46 33 2c 46 32 2c 46 37  0d 06 7c 22 45 51 55 44  |F3,F2,F7..|"EQUD|
000012f0  20 26 45 45 30 39 31 31  30 33 20 5c 20 41 44 46  | &EE091103 \ ADF|
00001300  45 20 46 31 2c 46 31 2c  46 33 0d 06 86 05 3a 0d  |E F1,F1,F3....:.|
00001310  06 90 1f 45 51 55 44 20  26 45 45 30 38 41 31 30  |...EQUD &EE08A10|
00001320  30 20 5c 20 4d 56 46 45  20 46 32 2c 46 30 0d 06  |0 \ MVFE F2,F0..|
00001330  9a 1f 45 51 55 44 20 26  45 45 30 38 42 31 30 31  |..EQUD &EE08B101|
00001340  5c 20 20 4d 56 46 45 20  46 33 2c 46 31 0d 06 a4  |\  MVFE F3,F1...|
00001350  0c 2e 70 69 78 6c 6f 6f  70 0d 06 ae 35 45 51 55  |..pixloop...5EQU|
00001360  44 20 26 45 45 31 41 34  31 30 32 20 5c 20 4d 4c  |D &EE1A4102 \ ML|
00001370  46 45 20 46 34 2c 46 32  2c 46 32 20 20 20 20 20  |FE F4,F2,F2     |
00001380  20 20 20 5c 20 46 69 6e  69 73 68 65 64 3f 0d 06  |   \ Finished?..|
00001390  b8 22 45 51 55 44 20 26  45 45 31 42 35 31 30 33  |."EQUD &EE1B5103|
000013a0  20 5c 20 4d 4c 46 45 20  46 35 2c 46 33 2c 46 33  | \ MLFE F5,F3,F3|
000013b0  0d 06 c2 22 45 51 55 44  20 26 45 45 30 43 36 31  |..."EQUD &EE0C61|
000013c0  30 35 20 5c 20 41 44 46  45 20 46 36 2c 46 34 2c  |05 \ ADFE F6,F4,|
000013d0  46 35 0d 06 cc 37 45 51  55 44 20 26 45 45 44 36  |F5...7EQUD &EED6|
000013e0  46 31 31 43 20 5c 20 43  4d 46 45 20 46 36 2c 23  |F11C \ CMFE F6,#|
000013f0  34 20 20 20 20 20 20 20  20 20 20 20 5c 20 75 5e  |4           \ u^|
00001400  32 2b 76 5e 32 3e 34 20  3f 0d 06 d6 1e 20 20 20  |2+v^2>4 ?....   |
00001410  20 20 20 20 20 20 20 20  20 20 20 20 20 20 42 43  |              BC|
00001420  53 20 66 6f 75 6e 64 0d  06 e0 23 20 20 20 20 20  |S found...#     |
00001430  20 20 20 20 20 20 20 20  20 20 20 20 41 44 44 20  |            ADD |
00001440  52 31 31 2c 52 31 31 2c  23 31 0d 06 ea 21 20 20  |R11,R11,#1...!  |
00001450  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |               A|
00001460  44 52 20 52 33 2c 6d 61  78 69 74 0d 06 f4 21 20  |DR R3,maxit...! |
00001470  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001480  4c 44 52 20 52 31 30 2c  5b 52 33 5d 0d 06 fe 20  |LDR R10,[R3]... |
00001490  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000014a0  20 43 4d 50 20 52 31 31  2c 52 31 30 0d 07 08 1e  | CMP R11,R10....|
000014b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000014c0  20 42 45 51 20 66 6f 75  6e 64 0d 07 12 3f 45 51  | BEQ found...?EQ|
000014d0  55 44 20 26 45 45 32 43  36 31 30 35 20 5c 20 53  |UD &EE2C6105 \ S|
000014e0  42 46 45 20 46 36 2c 46  34 2c 46 35 20 20 20 20  |BFE F6,F4,F5    |
000014f0  20 20 20 20 20 20 20 20  20 20 20 20 5c 20 75 3d  |            \ u=|
00001500  75 5e 32 2d 76 5e 32 2b  78 0d 07 1c 22 45 51 55  |u^2-v^2+x..."EQU|
00001510  44 20 26 45 45 30 45 36  31 30 30 20 5c 20 41 44  |D &EE0E6100 \ AD|
00001520  46 45 20 46 36 2c 46 36  2c 46 30 0d 07 26 3b 45  |FE F6,F6,F0..&;E|
00001530  51 55 44 20 26 45 45 31  41 34 31 30 33 20 5c 20  |QUD &EE1A4103 \ |
00001540  4d 4c 46 45 20 46 34 2c  46 32 2c 46 33 20 20 20  |MLFE F4,F2,F3   |
00001550  20 20 20 20 20 20 20 20  20 20 20 20 20 5c 20 76  |             \ v|
00001560  3d 32 75 76 2b 79 0d 07  30 22 45 51 55 44 20 26  |=2uv+y..0"EQUD &|
00001570  45 45 30 43 34 31 30 34  20 5c 20 41 44 46 45 20  |EE0C4104 \ ADFE |
00001580  46 34 2c 46 34 2c 46 34  0d 07 3a 22 45 51 55 44  |F4,F4,F4..:"EQUD|
00001590  20 26 45 45 30 43 34 31  30 31 20 5c 20 41 44 46  | &EE0C4101 \ ADF|
000015a0  45 20 46 34 2c 46 34 2c  46 31 0d 07 44 1f 45 51  |E F4,F4,F1..D.EQ|
000015b0  55 44 20 26 45 45 30 38  41 31 30 36 20 5c 20 4d  |UD &EE08A106 \ M|
000015c0  56 46 45 20 46 32 2c 46  36 0d 07 4e 1f 45 51 55  |VFE F2,F6..N.EQU|
000015d0  44 20 26 45 45 30 38 42  31 30 34 20 5c 20 4d 56  |D &EE08B104 \ MV|
000015e0  46 45 20 46 33 2c 46 34  0d 07 58 1e 20 20 20 20  |FE F3,F4..X.    |
000015f0  20 20 20 20 20 20 20 20  20 20 20 20 20 42 20 70  |             B p|
00001600  69 78 6c 6f 6f 70 0d 07  62 05 3a 0d 07 6c 0a 2e  |ixloop..b.:..l..|
00001610  66 6f 75 6e 64 0d 07 76  0e 4d 4f 56 20 52 30 2c  |found..v.MOV R0,|
00001620  52 31 31 0d 07 80 13 4c  44 4d 46 44 20 52 31 33  |R11....LDMFD R13|
00001630  21 2c 7b 50 43 7d 0d 07  8a 05 3a 0d 07 94 0a 2e  |!,{PC}....:.....|
00001640  73 65 74 75 70 0d 07 9e  1f 45 51 55 44 20 26 45  |setup....EQUD &E|
00001650  45 30 38 38 31 30 38 20  5c 20 4d 56 46 45 20 46  |E088108 \ MVFE F|
00001660  30 2c 23 30 0d 07 a8 22  45 51 55 44 20 26 45 45  |0,#0..."EQUD &EE|
00001670  32 38 30 31 30 41 20 5c  20 53 42 46 45 20 46 30  |28010A \ SBFE F0|
00001680  2c 46 30 2c 23 32 0d 07  b2 20 20 20 20 20 20 20  |,F0,#2...       |
00001690  20 20 20 20 20 20 20 20  20 20 20 41 44 52 20 52  |           ADR R|
000016a0  30 2c 78 6d 69 6e 0d 07  bc 21 45 51 55 44 20 26  |0,xmin...!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 c6 20 20 20 20 20 20  |F0,[R0]...      |
000016d0  20 20 20 20 20 20 20 20  20 20 20 20 41 44 52 20  |            ADR |
000016e0  52 30 2c 79 6d 69 6e 0d  07 d0 21 45 51 55 44 20  |R0,ymin...!EQUD |
000016f0  26 45 43 45 30 30 31 30  30 20 5c 20 53 54 46 45  |&ECE00100 \ STFE|
00001700  20 46 30 2c 5b 52 30 5d  0d 07 da 1f 45 51 55 44  | F0,[R0]....EQUD|
00001710  20 26 45 45 30 38 39 31  30 41 20 5c 20 4d 56 46  | &EE08910A \ MVF|
00001720  45 20 46 30 2c 23 32 0d  07 e4 22 45 51 55 44 20  |E F0,#2..."EQUD |
00001730  26 45 45 34 39 30 31 30  43 20 5c 20 44 56 46 45  |&EE49010C \ DVFE|
00001740  20 46 30 2c 46 30 2c 23  34 0d 07 ee 22 45 51 55  | F0,F0,#4..."EQU|
00001750  44 20 26 45 45 34 38 31  31 30 43 20 5c 20 44 56  |D &EE48110C \ DV|
00001760  46 45 20 46 30 2c 46 30  2c 23 34 0d 07 f8 22 45  |FE F0,F0,#4..."E|
00001770  51 55 44 20 26 45 45 34  39 30 31 30 43 20 5c 20  |QUD &EE49010C \ |
00001780  44 56 46 45 20 46 30 2c  46 30 2c 23 34 0d 08 02  |DVFE F0,F0,#4...|
00001790  22 45 51 55 44 20 26 45  45 34 38 31 31 30 43 20  |"EQUD &EE48110C |
000017a0  5c 20 44 56 46 45 20 46  30 2c 46 30 2c 23 34 0d  |\ DVFE F0,F0,#4.|
000017b0  08 0c 22 45 51 55 44 20  26 45 45 34 39 30 31 30  |.."EQUD &EE49010|
000017c0  41 20 5c 20 44 56 46 45  20 46 30 2c 46 30 2c 23  |A \ DVFE F0,F0,#|
000017d0  32 0d 08 16 21 20 20 20  20 20 20 20 20 20 20 20  |2...!           |
000017e0  20 20 20 20 20 20 41 44  52 20 52 30 2c 79 73 74  |      ADR R0,yst|
000017f0  65 70 0d 08 20 21 45 51  55 44 20 26 45 43 45 30  |ep.. !EQUD &ECE0|
00001800  30 31 30 30 20 5c 20 53  54 46 45 20 46 30 2c 5b  |0100 \ STFE F0,[|
00001810  52 30 5d 0d 08 2a 21 20  20 20 20 20 20 20 20 20  |R0]..*!         |
00001820  20 20 20 20 20 20 20 20  41 44 52 20 52 30 2c 78  |        ADR R0,x|
00001830  73 74 65 70 0d 08 34 21  45 51 55 44 20 26 45 43  |step..4!EQUD &EC|
00001840  45 30 30 31 30 30 20 5c  20 53 54 46 45 20 46 30  |E00100 \ STFE F0|
00001850  2c 5b 52 30 5d 0d 08 3e  1f 20 20 20 20 20 20 20  |,[R0]..>.       |
00001860  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 50 43  |          MOV PC|
00001870  2c 52 31 34 0d 08 48 05  3a 0d 08 52 14 2e 70 6c  |,R14..H.:..R..pl|
00001880  6f 74 73 74 61 74 20 45  51 55 44 20 30 0d 08 5c  |otstat EQUD 0..\|
00001890  09 41 4c 49 47 4e 0d 08  66 10 2e 70 72 65 76 20  |.ALIGN..f..prev |
000018a0  45 51 55 44 20 30 0d 08  70 09 41 4c 49 47 4e 0d  |EQUD 0..p.ALIGN.|
000018b0  08 7a 05 3a 0d 08 84 17  5c 20 4d 41 49 4e 20 f0  |.z.:....\ MAIN .|
000018c0  20 43 4f 4e 54 52 4f 4c  4c 45 52 0d 08 8e 05 3a  | CONTROLLER....:|
000018d0  0d 08 98 25 2e 70 6c 6f  74 74 65 72 20 20 20 20  |...%.plotter    |
000018e0  20 20 20 20 20 53 54 4d  46 44 20 52 31 33 21 2c  |     STMFD R13!,|
000018f0  7b 52 31 34 7d 0d 08 a2  20 20 20 20 20 20 20 20  |{R14}...        |
00001900  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 52 39  |          MOV R9|
00001910  2c 23 35 31 32 0d 08 ac  20 20 20 20 20 20 20 20  |,#512...        |
00001920  20 20 20 20 20 20 20 20  20 20 41 44 52 20 52 32  |          ADR R2|
00001930  2c 73 74 65 70 0d 08 b6  20 20 20 20 20 20 20 20  |,step...        |
00001940  20 20 20 20 20 20 20 20  20 20 53 54 52 20 52 39  |          STR R9|
00001950  2c 5b 52 32 5d 0d 08 c0  1e 2e 6e 65 77 73 74 65  |,[R2].....newste|
00001960  70 20 20 20 20 20 20 20  20 20 4d 4f 56 20 52 30  |p         MOV R0|
00001970  2c 23 30 0d 08 ca 1e 20  20 20 20 20 20 20 20 20  |,#0....         |
00001980  20 20 20 20 20 20 20 20  4d 4f 56 20 52 31 2c 23  |        MOV R1,#|
00001990  30 0d 08 d4 1e 20 20 20  20 20 20 20 20 20 20 20  |0....           |
000019a0  20 20 20 20 20 20 4d 4f  56 20 52 37 2c 23 30 0d  |      MOV R7,#0.|
000019b0  08 de 1e 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000019c0  20 20 20 20 4d 4f 56 20  52 38 2c 23 30 0d 08 e8  |    MOV R8,#0...|
000019d0  20 2e 70 6c 74 6c 6f 6f  70 20 20 20 20 20 20 20  | .pltloop       |
000019e0  20 20 41 44 52 20 52 32  2c 78 73 74 72 0d 08 f2  |  ADR R2,xstr...|
000019f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001a00  20 20 53 54 52 20 52 30  2c 5b 52 32 5d 0d 08 fc  |  STR R0,[R2]...|
00001a10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001a20  20 20 41 44 52 20 52 32  2c 79 73 74 72 0d 09 06  |  ADR R2,ystr...|
00001a30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001a40  20 20 53 54 52 20 52 31  2c 5b 52 32 5d 0d 09 10  |  STR R1,[R2]...|
00001a50  1f 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00001a60  20 20 80 20 52 32 2c 52  37 2c 23 31 0d 09 1a 1e  |  . R2,R7,#1....|
00001a70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001a80  20 43 4d 50 20 52 32 2c  23 30 0d 09 24 20 20 20  | CMP R2,#0..$   |
00001a90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 42  |               B|
00001aa0  4e 45 20 70 6c 6f 74 70  69 78 0d 09 2e 1f 20 20  |NE plotpix....  |
00001ab0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 80  |               .|
00001ac0  20 52 32 2c 52 38 2c 23  31 0d 09 38 1e 20 20 20  | R2,R8,#1..8.   |
00001ad0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 43 4d  |              CM|
00001ae0  50 20 52 32 2c 23 30 0d  09 42 20 20 20 20 20 20  |P R2,#0..B      |
00001af0  20 20 20 20 20 20 20 20  20 20 20 20 42 45 51 20  |            BEQ |
00001b00  70 6c 6f 74 74 65 64 0d  09 4c 24 2e 70 6c 6f 74  |plotted..L$.plot|
00001b10  70 69 78 20 20 20 20 20  20 20 20 20 41 44 52 20  |pix         ADR |
00001b20  52 32 2c 77 69 6d 70 73  74 61 74 0d 09 56 20 20  |R2,wimpstat..V  |
00001b30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001b40  4c 44 52 20 52 33 2c 5b  52 32 5d 0d 09 60 21 20  |LDR R3,[R2]..`! |
00001b50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001b60  43 4d 50 20 52 33 2c 23  26 31 30 30 0d 09 6a 21  |CMP R3,#&100..j!|
00001b70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001b80  20 42 45 51 20 70 6c 6f  74 73 74 6f 70 0d 09 74  | BEQ plotstop..t|
00001b90  25 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |%               |
00001ba0  20 20 4d 4f 56 20 52 33  2c 52 33 2c 41 53 4c 20  |  MOV R3,R3,ASL |
00001bb0  23 31 0d 09 7e 20 20 20  20 20 20 20 20 20 20 20  |#1..~           |
00001bc0  20 20 20 20 20 20 20 53  54 52 20 52 33 2c 5b 52  |       STR R3,[R|
00001bd0  32 5d 0d 09 88 1e 20 20  20 20 20 20 20 20 20 20  |2]....          |
00001be0  20 20 20 20 20 20 20 4d  4f 56 20 52 32 2c 52 31  |       MOV R2,R1|
00001bf0  0d 09 92 1e 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00001c00  20 20 20 20 20 4d 4f 56  20 52 31 2c 52 30 0d 09  |     MOV R1,R0..|
00001c10  9c 1f 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00001c20  20 20 20 42 4c 20 6d 61  6e 64 70 69 78 0d 09 a6  |   BL mandpix...|
00001c30  1d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00001c40  20 20 42 4c 20 70 6f 69  6e 74 0d 09 b0 24 20 20  |  BL point...$  |
00001c50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |               A|
00001c60  44 52 20 52 30 2c 77 69  6d 70 73 74 61 74 0d 09  |DR R0,wimpstat..|
00001c70  ba 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00001c80  20 20 20 4c 44 52 20 52  30 2c 5b 52 30 5d 0d 09  |   LDR R0,[R0]..|
00001c90  c4 1e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00001ca0  20 20 20 43 4d 50 20 52  30 2c 23 30 0d 09 ce 21  |   CMP R0,#0...!|
00001cb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001cc0  20 42 4e 45 20 70 6c 6f  74 73 74 6f 70 0d 09 d8  | BNE plotstop...|
00001cd0  20 2e 70 6c 6f 74 74 65  64 62 20 20 20 20 20 20  | .plottedb      |
00001ce0  20 20 41 44 52 20 52 32  2c 78 73 74 72 0d 09 e2  |  ADR R2,xstr...|
00001cf0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001d00  20 20 4c 44 52 20 52 30  2c 5b 52 32 5d 0d 09 ec  |  LDR R0,[R2]...|
00001d10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001d20  20 20 41 44 52 20 52 32  2c 79 73 74 72 0d 09 f6  |  ADR R2,ystr...|
00001d30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001d40  20 20 4c 44 52 20 52 31  2c 5b 52 32 5d 0d 0a 00  |  LDR R1,[R2]...|
00001d50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001d60  20 20 41 44 52 20 52 32  2c 73 74 65 70 0d 0a 0a  |  ADR R2,step...|
00001d70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001d80  20 20 4c 44 52 20 52 39  2c 5b 52 32 5d 0d 0a 14  |  LDR R9,[R2]...|
00001d90  21 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |!               |
00001da0  20 20 41 44 44 20 52 30  2c 52 30 2c 52 39 0d 0a  |  ADD R0,R0,R9..|
00001db0  1e 21 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.!              |
00001dc0  20 20 20 41 44 44 20 52  37 2c 52 37 2c 23 31 0d  |   ADD R7,R7,#1.|
00001dd0  0a 28 21 20 20 20 20 20  20 20 20 20 20 20 20 20  |.(!             |
00001de0  20 20 20 20 43 4d 50 20  52 30 2c 23 31 30 32 34  |    CMP R0,#1024|
00001df0  0d 0a 32 20 20 20 20 20  20 20 20 20 20 20 20 20  |..2             |
00001e00  20 20 20 20 20 42 4e 45  20 70 6c 74 6c 6f 6f 70  |     BNE pltloop|
00001e10  0d 0a 3c 1e 20 20 20 20  20 20 20 20 20 20 20 20  |..<.            |
00001e20  20 20 20 20 20 4d 4f 56  20 52 30 2c 23 30 0d 0a  |     MOV R0,#0..|
00001e30  46 1e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |F.              |
00001e40  20 20 20 4d 4f 56 20 52  37 2c 23 30 0d 0a 50 1e  |   MOV R7,#0..P.|
00001e50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001e60  20 43 4d 50 20 52 39 2c  23 33 0d 0a 5a 21 20 20  | CMP R9,#3..Z!  |
00001e70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 42  |               B|
00001e80  43 53 20 6e 6f 74 66 69  6e 61 6c 0d 0a 64 1e 20  |CS notfinal..d. |
00001e90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001ea0  4d 4f 56 20 52 39 2c 23  34 0d 0a 6e 21 2e 6e 6f  |MOV R9,#4..n!.no|
00001eb0  74 66 69 6e 61 6c 20 20  20 20 20 20 20 20 41 44  |tfinal        AD|
00001ec0  44 20 52 31 2c 52 31 2c  52 39 0d 0a 78 21 20 20  |D R1,R1,R9..x!  |
00001ed0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |               A|
00001ee0  44 44 20 52 38 2c 52 38  2c 23 31 0d 0a 82 21 20  |DD R8,R8,#1...! |
00001ef0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001f00  43 4d 50 20 52 31 2c 23  31 30 32 34 0d 0a 8c 20  |CMP R1,#1024... |
00001f10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001f20  20 42 4e 45 20 70 6c 74  6c 6f 6f 70 0d 0a 96 20  | BNE pltloop... |
00001f30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001f40  20 4c 44 52 20 52 39 2c  5b 52 32 5d 0d 0a a0 25  | LDR R9,[R2]...%|
00001f50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001f60  20 4d 4f 56 20 52 39 2c  52 39 2c 4c 53 52 20 23  | MOV R9,R9,LSR #|
00001f70  31 0d 0a aa 20 20 20 20  20 20 20 20 20 20 20 20  |1...            |
00001f80  20 20 20 20 20 20 53 54  52 20 52 39 2c 5b 52 32  |      STR R9,[R2|
00001f90  5d 0d 0a b4 1e 20 20 20  20 20 20 20 20 20 20 20  |]....           |
00001fa0  20 20 20 20 20 20 43 4d  50 20 52 39 2c 23 31 0d  |      CMP R9,#1.|
00001fb0  0a be 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00001fc0  20 20 20 20 42 4e 45 20  6e 65 77 73 74 65 70 0d  |    BNE newstep.|
00001fd0  0a c8 1e 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00001fe0  20 20 20 20 4d 4f 56 20  52 30 2c 23 30 0d 0a d2  |    MOV R0,#0...|
00001ff0  24 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |$               |
00002000  20 20 4c 44 4d 46 44 20  52 31 33 21 2c 7b 50 43  |  LDMFD R13!,{PC|
00002010  7d 0d 0a dc 24 2e 70 6c  6f 74 74 65 64 20 20 20  |}...$.plotted   |
00002020  20 20 20 20 20 20 41 44  52 20 52 30 2c 77 69 6d  |      ADR R0,wim|
00002030  70 73 74 61 74 0d 0a e6  20 20 20 20 20 20 20 20  |pstat...        |
00002040  20 20 20 20 20 20 20 20  20 20 4c 44 52 20 52 31  |          LDR R1|
00002050  2c 5b 52 30 5d 0d 0a f0  1e 20 20 20 20 20 20 20  |,[R0]....       |
00002060  20 20 20 20 20 20 20 20  20 20 43 4d 50 20 52 31  |          CMP R1|
00002070  2c 23 31 0d 0a fa 21 20  20 20 20 20 20 20 20 20  |,#1...!         |
00002080  20 20 20 20 20 20 20 20  42 45 51 20 70 6c 6f 74  |        BEQ plot|
00002090  74 65 64 62 0d 0b 04 23  20 20 20 20 20 20 20 20  |tedb...#        |
000020a0  20 20 20 20 20 20 20 20  20 53 57 49 20 22 4f 53  |         SWI "OS|
000020b0  5f 4d 6f 75 73 65 22 0d  0b 0e 1e 20 20 20 20 20  |_Mouse"....     |
000020c0  20 20 20 20 20 20 20 20  20 20 20 20 43 4d 50 20  |            CMP |
000020d0  52 32 2c 23 30 0d 0b 18  21 20 20 20 20 20 20 20  |R2,#0...!       |
000020e0  20 20 20 20 20 20 20 20  20 20 42 45 51 20 70 6c  |          BEQ pl|
000020f0  6f 74 74 65 64 62 0d 0b  22 20 2e 70 6c 6f 74 73  |ottedb.." .plots|
00002100  74 6f 70 20 20 20 20 20  20 20 20 41 44 52 20 52  |top        ADR R|
00002110  30 2c 78 70 6e 73 0d 0b  2c 20 20 20 20 20 20 20  |0,xpns..,       |
00002120  20 20 20 20 20 20 20 20  20 20 20 53 54 52 20 52  |           STR R|
00002130  37 2c 5b 52 30 5d 0d 0b  36 20 20 20 20 20 20 20  |7,[R0]..6       |
00002140  20 20 20 20 20 20 20 20  20 20 20 41 44 52 20 52  |           ADR R|
00002150  30 2c 79 70 6e 73 0d 0b  40 20 20 20 20 20 20 20  |0,ypns..@       |
00002160  20 20 20 20 20 20 20 20  20 20 20 53 54 52 20 52  |           STR R|
00002170  38 2c 5b 52 30 5d 0d 0b  4a 1e 20 20 20 20 20 20  |8,[R0]..J.      |
00002180  20 20 20 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |           MOV R|
00002190  30 2c 23 31 0d 0b 54 24  20 20 20 20 20 20 20 20  |0,#1..T$        |
000021a0  20 20 20 20 20 20 20 20  20 4c 44 4d 46 44 20 52  |         LDMFD R|
000021b0  31 33 21 2c 7b 50 43 7d  0d 0b 5e 05 3a 0d 0b 68  |13!,{PC}..^.:..h|
000021c0  25 2e 63 6f 6e 74 70 6c  6f 74 20 20 20 20 20 20  |%.contplot      |
000021d0  20 20 53 54 4d 46 44 20  52 31 33 21 2c 7b 52 31  |  STMFD R13!,{R1|
000021e0  34 7d 0d 0b 72 20 20 20  20 20 20 20 20 20 20 20  |4}..r           |
000021f0  20 20 20 20 20 20 20 41  44 52 20 52 30 2c 78 70  |       ADR R0,xp|
00002200  6e 73 0d 0b 7c 20 20 20  20 20 20 20 20 20 20 20  |ns..|           |
00002210  20 20 20 20 20 20 20 4c  44 52 20 52 37 2c 5b 52  |       LDR R7,[R|
00002220  30 5d 0d 0b 86 20 20 20  20 20 20 20 20 20 20 20  |0]...           |
00002230  20 20 20 20 20 20 20 41  44 52 20 52 30 2c 79 70  |       ADR R0,yp|
00002240  6e 73 0d 0b 90 20 20 20  20 20 20 20 20 20 20 20  |ns...           |
00002250  20 20 20 20 20 20 20 4c  44 52 20 52 38 2c 5b 52  |       LDR R8,[R|
00002260  30 5d 0d 0b 9a 1f 20 20  20 20 20 20 20 20 20 20  |0]....          |
00002270  20 20 20 20 20 20 20 42  20 70 6c 6f 74 74 65 64  |       B plotted|
00002280  62 0d 0b a4 05 3a 0d 0b  ae 1c 5c 20 53 43 52 45  |b....:....\ SCRE|
00002290  45 4e 20 4d 45 4d 4f 52  59 20 48 41 4e 44 4c 49  |EN MEMORY HANDLI|
000022a0  4e 47 0d 0b b8 05 3a 0d  0b c2 22 2e 70 6f 69 6e  |NG....:...".poin|
000022b0  74 20 20 20 20 20 20 20  20 20 20 20 41 44 44 20  |t           ADD |
000022c0  52 31 30 2c 52 30 2c 23  37 0d 0b cc 23 20 20 20  |R10,R0,#7...#   |
000022d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 80 20  |              . |
000022e0  52 31 30 2c 52 31 30 2c  23 31 32 37 0d 0b d6 20  |R10,R10,#127... |
000022f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002300  20 41 44 52 20 52 32 2c  78 73 74 72 0d 0b e0 20  | ADR R2,xstr... |
00002310  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002320  20 4c 44 52 20 52 30 2c  5b 52 32 5d 0d 0b ea 20  | LDR R0,[R2]... |
00002330  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002340  20 41 44 52 20 52 32 2c  79 73 74 72 0d 0b f4 20  | ADR R2,ystr... |
00002350  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002360  20 4c 44 52 20 52 31 2c  5b 52 32 5d 0d 0b fe 22  | LDR R1,[R2]..."|
00002370  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002380  20 4d 4f 56 20 52 31 31  2c 23 26 32 38 30 0d 0c  | MOV R11,#&280..|
00002390  08 25 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.%              |
000023a0  20 20 20 4d 4f 56 20 52  30 2c 52 30 2c 4c 53 52  |   MOV R0,R0,LSR|
000023b0  20 23 31 0d 0c 12 25 20  20 20 20 20 20 20 20 20  | #1...%         |
000023c0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 31 2c 52  |        MOV R1,R|
000023d0  31 2c 4c 53 52 20 23 32  0d 0c 1c 22 20 20 20 20  |1,LSR #2..."    |
000023e0  20 20 20 20 20 20 20 20  20 20 20 20 20 53 55 42  |             SUB|
000023f0  20 52 30 2c 52 31 31 2c  52 30 0d 0c 26 25 20 20  | R0,R11,R0..&%  |
00002400  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |               A|
00002410  44 52 20 52 31 31 2c 77  69 6d 70 73 74 61 74 0d  |DR R11,wimpstat.|
00002420  0c 30 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |.0"             |
00002430  20 20 20 20 4c 44 52 20  52 31 31 2c 5b 52 31 31  |    LDR R11,[R11|
00002440  5d 0d 0c 3a 1f 20 20 20  20 20 20 20 20 20 20 20  |]..:.           |
00002450  20 20 20 20 20 20 43 4d  50 20 52 31 31 2c 23 30  |      CMP R11,#0|
00002460  0d 0c 44 25 20 20 20 20  20 20 20 20 20 20 20 20  |..D%            |
00002470  20 20 20 20 20 ec 51 20  52 31 31 2c 23 26 32 30  |     .Q R11,#&20|
00002480  30 30 30 30 30 0d 0c 4e  25 20 20 20 20 20 20 20  |00000..N%       |
00002490  20 20 20 20 20 20 20 20  20 20 41 44 52 4e 45 20  |          ADRNE |
000024a0  52 31 31 2c 73 63 72 65  61 64 0d 0c 58 24 20 20  |R11,scread..X$  |
000024b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4c  |               L|
000024c0  44 52 4e 45 20 52 31 31  2c 5b 52 31 31 5d 0d 0c  |DRNE R11,[R11]..|
000024d0  62 2a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |b*              |
000024e0  20 20 20 41 44 44 4e 45  20 52 31 31 2c 52 31 31  |   ADDNE R11,R11|
000024f0  2c 23 26 32 38 30 30 30  0d 0c 6c 23 20 20 20 20  |,#&28000..l#    |
00002500  20 20 20 20 20 20 20 20  20 20 20 20 20 53 55 42  |             SUB|
00002510  20 52 31 31 2c 52 31 31  2c 52 30 0d 0c 76 22 20  | R11,R11,R0..v" |
00002520  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002530  4d 4f 56 20 52 31 32 2c  23 26 32 38 30 0d 0c 80  |MOV R12,#&280...|
00002540  22 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |"               |
00002550  20 20 4d 55 4c 20 52 32  2c 52 31 2c 52 31 32 0d  |  MUL R2,R1,R12.|
00002560  0c 8a 23 20 20 20 20 20  20 20 20 20 20 20 20 20  |..#             |
00002570  20 20 20 20 53 55 42 20  52 31 31 2c 52 31 31 2c  |    SUB R11,R11,|
00002580  52 32 0d 0c 94 20 20 20  20 20 20 20 20 20 20 20  |R2...           |
00002590  20 20 20 20 20 20 20 41  44 52 20 52 30 2c 73 74  |       ADR R0,st|
000025a0  65 70 0d 0c 9e 20 20 20  20 20 20 20 20 20 20 20  |ep...           |
000025b0  20 20 20 20 20 20 20 4c  44 52 20 52 32 2c 5b 52  |       LDR R2,[R|
000025c0  30 5d 0d 0c a8 1e 20 20  20 20 20 20 20 20 20 20  |0]....          |
000025d0  20 20 20 20 20 20 20 4d  4f 56 20 52 30 2c 23 30  |       MOV R0,#0|
000025e0  0d 0c b2 1e 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
000025f0  20 20 20 20 20 4d 4f 56  20 52 31 2c 23 30 0d 0c  |     MOV R1,#0..|
00002600  bc 25 2e 73 71 75 70 6c  6f 70 20 20 20 20 20 20  |.%.squplop      |
00002610  20 20 20 4c 44 52 42 20  52 33 2c 5b 52 31 31 2c  |   LDRB R3,[R11,|
00002620  52 30 5d 0d 0c c6 21 20  20 20 20 20 20 20 20 20  |R0]...!         |
00002630  20 20 20 20 20 20 20 20  80 20 52 33 2c 52 33 2c  |        . R3,R3,|
00002640  23 31 32 38 0d 0c d0 22  20 20 20 20 20 20 20 20  |#128..."        |
00002650  20 20 20 20 20 20 20 20  20 41 44 44 20 52 33 2c  |         ADD R3,|
00002660  52 33 2c 52 31 30 0d 0c  da 25 20 20 20 20 20 20  |R3,R10...%      |
00002670  20 20 20 20 20 20 20 20  20 20 20 53 54 52 42 20  |           STRB |
00002680  52 33 2c 5b 52 31 31 2c  52 30 5d 0d 0c e4 21 20  |R3,[R11,R0]...! |
00002690  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000026a0  41 44 44 20 52 30 2c 52  30 2c 23 31 0d 0c ee 25  |ADD R0,R0,#1...%|
000026b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000026c0  20 43 4d 50 20 52 30 2c  52 32 2c 4c 53 52 20 23  | CMP R0,R2,LSR #|
000026d0  31 0d 0c f8 20 20 20 20  20 20 20 20 20 20 20 20  |1...            |
000026e0  20 20 20 20 20 20 42 43  43 20 73 71 75 70 6c 6f  |      BCC squplo|
000026f0  70 0d 0d 02 1e 20 20 20  20 20 20 20 20 20 20 20  |p....           |
00002700  20 20 20 20 20 20 4d 4f  56 20 52 30 2c 23 30 0d  |      MOV R0,#0.|
00002710  0d 0c 26 20 20 20 20 20  20 20 20 20 20 20 20 20  |..&             |
00002720  20 20 20 20 53 55 42 20  52 31 31 2c 52 31 31 2c  |    SUB R11,R11,|
00002730  23 26 32 38 30 0d 0d 16  21 20 20 20 20 20 20 20  |#&280...!       |
00002740  20 20 20 20 20 20 20 20  20 20 41 44 44 20 52 31  |          ADD R1|
00002750  2c 52 31 2c 23 31 0d 0d  20 25 20 20 20 20 20 20  |,R1,#1.. %      |
00002760  20 20 20 20 20 20 20 20  20 20 20 43 4d 50 20 52  |           CMP R|
00002770  31 2c 52 32 2c 4c 53 52  20 23 32 0d 0d 2a 20 20  |1,R2,LSR #2..*  |
00002780  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002790  42 43 43 20 73 71 75 70  6c 6f 70 0d 0d 34 1f 20  |BCC squplop..4. |
000027a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000027b0  4d 4f 56 20 50 43 2c 52  31 34 0d 0d 3e 05 3a 0d  |MOV PC,R14..>.:.|
000027c0  0d 48 21 2e 6d 6f 75 73  65 62 6f 78 20 20 20 20  |.H!.mousebox    |
000027d0  20 20 20 20 41 44 52 20  52 30 2c 78 62 6f 78 61  |    ADR R0,xboxa|
000027e0  0d 0d 52 20 20 20 20 20  20 20 20 20 20 20 20 20  |..R             |
000027f0  20 20 20 20 20 4c 44 52  20 52 30 2c 5b 52 30 5d  |     LDR R0,[R0]|
00002800  0d 0d 5c 21 20 20 20 20  20 20 20 20 20 20 20 20  |..\!            |
00002810  20 20 20 20 20 41 44 52  20 52 31 2c 78 62 6f 78  |     ADR R1,xbox|
00002820  62 0d 0d 66 20 20 20 20  20 20 20 20 20 20 20 20  |b..f            |
00002830  20 20 20 20 20 20 4c 44  52 20 52 31 2c 5b 52 31  |      LDR R1,[R1|
00002840  5d 0d 0d 70 1e 20 20 20  20 20 20 20 20 20 20 20  |]..p.           |
00002850  20 20 20 20 20 20 43 4d  50 20 52 30 2c 52 31 0d  |      CMP R0,R1.|
00002860  0d 7a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.z              |
00002870  20 20 20 20 4d 4f 56 43  53 20 52 32 2c 52 30 0d  |    MOVCS R2,R0.|
00002880  0d 84 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00002890  20 20 20 20 4d 4f 56 43  53 20 52 30 2c 52 31 0d  |    MOVCS R0,R1.|
000028a0  0d 8e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
000028b0  20 20 20 20 4d 4f 56 43  53 20 52 31 2c 52 32 0d  |    MOVCS R1,R2.|
000028c0  0d 98 21 20 20 20 20 20  20 20 20 20 20 20 20 20  |..!             |
000028d0  20 20 20 20 41 44 52 20  52 32 2c 79 62 6f 78 61  |    ADR R2,yboxa|
000028e0  0d 0d a2 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000028f0  20 20 20 20 20 4c 44 52  20 52 32 2c 5b 52 32 5d  |     LDR R2,[R2]|
00002900  0d 0d ac 21 20 20 20 20  20 20 20 20 20 20 20 20  |...!            |
00002910  20 20 20 20 20 41 44 52  20 52 33 2c 79 62 6f 78  |     ADR R3,ybox|
00002920  62 0d 0d b6 20 20 20 20  20 20 20 20 20 20 20 20  |b...            |
00002930  20 20 20 20 20 20 4c 44  52 20 52 33 2c 5b 52 33  |      LDR R3,[R3|
00002940  5d 0d 0d c0 1e 20 20 20  20 20 20 20 20 20 20 20  |]....           |
00002950  20 20 20 20 20 20 43 4d  50 20 52 32 2c 52 33 0d  |      CMP R2,R3.|
00002960  0d ca 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00002970  20 20 20 20 4d 4f 56 43  53 20 52 34 2c 52 32 0d  |    MOVCS R4,R2.|
00002980  0d d4 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00002990  20 20 20 20 4d 4f 56 43  53 20 52 32 2c 52 33 0d  |    MOVCS R2,R3.|
000029a0  0d de 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
000029b0  20 20 20 20 4d 4f 56 43  53 20 52 33 2c 52 34 0d  |    MOVCS R3,R4.|
000029c0  0d e8 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |.."             |
000029d0  20 20 20 20 4d 4f 56 20  52 31 31 2c 23 26 32 38  |    MOV R11,#&28|
000029e0  30 0d 0d f2 25 20 20 20  20 20 20 20 20 20 20 20  |0...%           |
000029f0  20 20 20 20 20 20 4d 4f  56 20 52 34 2c 52 30 2c  |      MOV R4,R0,|
00002a00  4c 53 52 20 23 31 0d 0d  fc 25 20 20 20 20 20 20  |LSR #1...%      |
00002a10  20 20 20 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |           MOV R|
00002a20  35 2c 52 32 2c 4c 53 52  20 23 32 0d 0e 06 22 20  |5,R2,LSR #2..." |
00002a30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002a40  53 55 42 20 52 34 2c 52  31 31 2c 52 34 0d 0e 10  |SUB R4,R11,R4...|
00002a50  26 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |&               |
00002a60  20 20 4d 4f 56 20 52 31  31 2c 23 26 32 30 30 30  |  MOV R11,#&2000|
00002a70  30 30 30 0d 0e 1a 23 20  20 20 20 20 20 20 20 20  |000...#         |
00002a80  20 20 20 20 20 20 20 20  53 55 42 20 52 31 31 2c  |        SUB R11,|
00002a90  52 31 31 2c 52 34 0d 0e  24 22 20 20 20 20 20 20  |R11,R4..$"      |
00002aa0  20 20 20 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |           MOV R|
00002ab0  31 32 2c 23 26 32 38 30  0d 0e 2e 22 20 20 20 20  |12,#&280..."    |
00002ac0  20 20 20 20 20 20 20 20  20 20 20 20 20 4d 55 4c  |             MUL|
00002ad0  20 52 36 2c 52 35 2c 52  31 32 0d 0e 38 23 20 20  | R6,R5,R12..8#  |
00002ae0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 53  |               S|
00002af0  55 42 20 52 31 31 2c 52  31 31 2c 52 36 0d 0e 42  |UB R11,R11,R6..B|
00002b00  1e 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002b10  20 20 4d 4f 56 20 52 34  2c 23 30 0d 0e 4c 1e 20  |  MOV R4,#0..L. |
00002b20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002b30  4d 4f 56 20 52 35 2c 52  31 0d 0e 56 21 20 20 20  |MOV R5,R1..V!   |
00002b40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 53 55  |              SU|
00002b50  42 20 52 35 2c 52 35 2c  52 30 0d 0e 60 25 20 20  |B R5,R5,R0..`%  |
00002b60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4d  |               M|
00002b70  4f 56 20 52 35 2c 52 35  2c 4c 53 52 20 23 31 0d  |OV R5,R5,LSR #1.|
00002b80  0e 6a 25 2e 78 62 6f 74  6c 6f 70 20 20 20 20 20  |.j%.xbotlop     |
00002b90  20 20 20 20 4c 44 52 42  20 52 36 2c 5b 52 31 31  |    LDRB R6,[R11|
00002ba0  2c 52 34 5d 0d 0e 74 21  20 20 20 20 20 20 20 20  |,R4]..t!        |
00002bb0  20 20 20 20 20 20 20 20  20 82 20 52 36 2c 52 36  |         . R6,R6|
00002bc0  2c 23 31 32 38 0d 0e 7e  25 20 20 20 20 20 20 20  |,#128..~%       |
00002bd0  20 20 20 20 20 20 20 20  20 20 53 54 52 42 20 52  |          STRB R|
00002be0  36 2c 5b 52 31 31 2c 52  34 5d 0d 0e 88 21 20 20  |6,[R11,R4]...!  |
00002bf0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |               A|
00002c00  44 44 20 52 34 2c 52 34  2c 23 31 0d 0e 92 1e 20  |DD R4,R4,#1.... |
00002c10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002c20  43 4d 50 20 52 34 2c 52  35 0d 0e 9c 20 20 20 20  |CMP R4,R5...    |
00002c30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 42 43  |              BC|
00002c40  43 20 78 62 6f 74 6c 6f  70 0d 0e a6 1e 20 20 20  |C xbotlop....   |
00002c50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 4d 4f  |              MO|
00002c60  56 20 52 36 2c 52 33 0d  0e b0 21 20 20 20 20 20  |V R6,R3...!     |
00002c70  20 20 20 20 20 20 20 20  20 20 20 20 53 55 42 20  |            SUB |
00002c80  52 36 2c 52 36 2c 52 32  0d 0e ba 25 20 20 20 20  |R6,R6,R2...%    |
00002c90  20 20 20 20 20 20 20 20  20 20 20 20 20 4d 4f 56  |             MOV|
00002ca0  20 52 36 2c 52 36 2c 4c  53 52 20 23 32 0d 0e c4  | R6,R6,LSR #2...|
00002cb0  21 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |!               |
00002cc0  20 20 4d 4f 56 20 52 34  2c 23 26 32 38 30 0d 0e  |  MOV R4,#&280..|
00002cd0  ce 21 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.!              |
00002ce0  20 20 20 4d 55 4c 20 52  37 2c 52 36 2c 52 34 0d  |   MUL R7,R6,R4.|
00002cf0  0e d8 1e 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00002d00  20 20 20 20 4d 4f 56 20  52 36 2c 52 37 0d 0e e2  |    MOV R6,R7...|
00002d10  1e 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002d20  20 20 4d 4f 56 20 52 34  2c 23 30 0d 0e ec 26 2e  |  MOV R4,#0...&.|
00002d30  79 6c 65 66 74 6c 6f 70  20 20 20 20 20 20 20 20  |yleftlop        |
00002d40  4c 44 52 42 20 52 37 2c  5b 52 31 31 2c 2d 52 34  |LDRB R7,[R11,-R4|
00002d50  5d 0d 0e f6 21 20 20 20  20 20 20 20 20 20 20 20  |]...!           |
00002d60  20 20 20 20 20 20 82 20  52 37 2c 52 37 2c 23 31  |      . R7,R7,#1|
00002d70  32 38 0d 0f 00 26 20 20  20 20 20 20 20 20 20 20  |28...&          |
00002d80  20 20 20 20 20 20 20 53  54 52 42 20 52 37 2c 5b  |       STRB R7,[|
00002d90  52 31 31 2c 2d 52 34 5d  0d 0f 0a 24 20 20 20 20  |R11,-R4]...$    |
00002da0  20 20 20 20 20 20 20 20  20 20 20 20 20 41 44 44  |             ADD|
00002db0  20 52 34 2c 52 34 2c 23  26 32 38 30 0d 0f 14 1e  | R4,R4,#&280....|
00002dc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002dd0  20 43 4d 50 20 52 34 2c  52 36 0d 0f 1e 21 20 20  | CMP R4,R6...!  |
00002de0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 42  |               B|
00002df0  43 43 20 79 6c 65 66 74  6c 6f 70 0d 0f 28 24 20  |CC yleftlop..($ |
00002e00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002e10  52 53 42 20 52 34 2c 52  35 2c 23 26 32 38 30 0d  |RSB R4,R5,#&280.|
00002e20  0f 32 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |.2"             |
00002e30  20 20 20 20 5c 53 55 42  20 52 36 2c 52 36 2c 52  |    \SUB R6,R6,R|
00002e40  35 0d 0f 3c 26 2e 79 72  69 67 68 74 6c 6f 70 20  |5..<&.yrightlop |
00002e50  20 20 20 20 20 20 4c 44  52 42 20 52 37 2c 5b 52  |      LDRB R7,[R|
00002e60  31 31 2c 2d 52 34 5d 0d  0f 46 21 20 20 20 20 20  |11,-R4]..F!     |
00002e70  20 20 20 20 20 20 20 20  20 20 20 20 82 20 52 37  |            . R7|
00002e80  2c 52 37 2c 23 31 32 38  0d 0f 50 26 20 20 20 20  |,R7,#128..P&    |
00002e90  20 20 20 20 20 20 20 20  20 20 20 20 20 53 54 52  |             STR|
00002ea0  42 20 52 37 2c 5b 52 31  31 2c 2d 52 34 5d 0d 0f  |B R7,[R11,-R4]..|
00002eb0  5a 24 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |Z$              |
00002ec0  20 20 20 41 44 44 20 52  34 2c 52 34 2c 23 26 32  |   ADD R4,R4,#&2|
00002ed0  38 30 0d 0f 64 1e 20 20  20 20 20 20 20 20 20 20  |80..d.          |
00002ee0  20 20 20 20 20 20 20 43  4d 50 20 52 34 2c 52 36  |       CMP R4,R6|
00002ef0  0d 0f 6e 22 20 20 20 20  20 20 20 20 20 20 20 20  |..n"            |
00002f00  20 20 20 20 20 42 43 43  20 79 72 69 67 68 74 6c  |     BCC yrightl|
00002f10  6f 70 0d 0f 78 22 20 20  20 20 20 20 20 20 20 20  |op..x"          |
00002f20  20 20 20 20 20 20 20 5c  41 44 44 20 52 36 2c 52  |       \ADD R6,R|
00002f30  36 2c 52 35 0d 0f 82 23  20 20 20 20 20 20 20 20  |6,R5...#        |
00002f40  20 20 20 20 20 20 20 20  20 53 55 42 20 52 31 31  |         SUB R11|
00002f50  2c 52 31 31 2c 52 36 0d  0f 8c 1e 20 20 20 20 20  |,R11,R6....     |
00002f60  20 20 20 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |            MOV |
00002f70  52 34 2c 23 30 0d 0f 96  25 2e 78 74 6f 70 6c 6f  |R4,#0...%.xtoplo|
00002f80  70 20 20 20 20 20 20 20  20 20 4c 44 52 42 20 52  |p         LDRB R|
00002f90  36 2c 5b 52 31 31 2c 52  34 5d 0d 0f a0 21 20 20  |6,[R11,R4]...!  |
00002fa0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 82  |               .|
00002fb0  20 52 36 2c 52 36 2c 23  31 32 38 0d 0f aa 25 20  | R6,R6,#128...% |
00002fc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002fd0  53 54 52 42 20 52 36 2c  5b 52 31 31 2c 52 34 5d  |STRB R6,[R11,R4]|
00002fe0  0d 0f b4 21 20 20 20 20  20 20 20 20 20 20 20 20  |...!            |
00002ff0  20 20 20 20 20 41 44 44  20 52 34 2c 52 34 2c 23  |     ADD R4,R4,#|
00003000  31 0d 0f be 1e 20 20 20  20 20 20 20 20 20 20 20  |1....           |
00003010  20 20 20 20 20 20 43 4d  50 20 52 34 2c 52 35 0d  |      CMP R4,R5.|
00003020  0f c8 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00003030  20 20 20 20 42 43 43 20  78 74 6f 70 6c 6f 70 0d  |    BCC xtoplop.|
00003040  0f d2 1f 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00003050  20 20 20 20 4d 4f 56 20  50 43 2c 52 31 34 0d 0f  |    MOV PC,R14..|
00003060  dc 05 3a 0d 0f e6 22 2e  73 61 76 65 73 63 72 20  |..:...".savescr |
00003070  20 20 20 20 20 20 20 20  41 44 52 20 52 31 2c 73  |        ADR R1,s|
00003080  63 72 6d 65 6d 0d 0f f0  20 20 20 20 20 20 20 20  |crmem...        |
00003090  20 20 20 20 20 20 20 20  20 20 4c 44 52 20 52 30  |          LDR R0|
000030a0  2c 5b 52 31 5d 0d 0f fa  22 20 20 20 20 20 20 20  |,[R1]..."       |
000030b0  20 20 20 20 20 20 20 20  20 20 41 44 52 20 52 31  |          ADR R1|
000030c0  2c 73 63 72 65 61 64 0d  10 04 20 20 20 20 20 20  |,scread...      |
000030d0  20 20 20 20 20 20 20 20  20 20 20 20 4c 44 52 20  |            LDR |
000030e0  52 31 2c 5b 52 31 5d 0d  10 0e 1e 20 20 20 20 20  |R1,[R1]....     |
000030f0  20 20 20 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |            MOV |
00003100  52 32 2c 23 30 0d 10 18  23 2e 73 61 76 6c 6f 70  |R2,#0...#.savlop|
00003110  20 20 20 20 20 20 20 20  20 20 4c 44 52 20 52 33  |          LDR R3|
00003120  2c 5b 52 30 2c 52 32 5d  0d 10 22 23 20 20 20 20  |,[R0,R2].."#    |
00003130  20 20 20 20 20 20 20 20  20 20 20 20 20 53 54 52  |             STR|
00003140  20 52 33 2c 5b 52 31 2c  52 32 5d 0d 10 2c 21 20  | R3,[R1,R2]..,! |
00003150  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003160  41 44 44 20 52 32 2c 52  32 2c 23 34 0d 10 36 23  |ADD R2,R2,#4..6#|
00003170  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003180  20 43 4d 50 20 52 32 2c  23 26 32 38 30 30 30 0d  | CMP R2,#&28000.|
00003190  10 40 1f 20 20 20 20 20  20 20 20 20 20 20 20 20  |.@.             |
000031a0  20 20 20 20 42 43 43 20  73 61 76 6c 6f 70 0d 10  |    BCC savlop..|
000031b0  4a 1f 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |J.              |
000031c0  20 20 20 4d 4f 56 20 50  43 2c 52 31 34 0d 10 54  |   MOV PC,R14..T|
000031d0  22 2e 6c 6f 61 64 73 63  72 20 20 20 20 20 20 20  |".loadscr       |
000031e0  20 20 41 44 52 20 52 30  2c 73 63 72 6d 65 6d 0d  |  ADR R0,scrmem.|
000031f0  10 5e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.^              |
00003200  20 20 20 20 4c 44 52 20  52 31 2c 5b 52 30 5d 0d  |    LDR R1,[R0].|
00003210  10 68 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |.h"             |
00003220  20 20 20 20 41 44 52 20  52 30 2c 73 63 72 65 61  |    ADR R0,screa|
00003230  64 0d 10 72 20 20 20 20  20 20 20 20 20 20 20 20  |d..r            |
00003240  20 20 20 20 20 20 4c 44  52 20 52 30 2c 5b 52 30  |      LDR R0,[R0|
00003250  5d 0d 10 7c 1e 20 20 20  20 20 20 20 20 20 20 20  |]..|.           |
00003260  20 20 20 20 20 20 4d 4f  56 20 52 32 2c 23 30 0d  |      MOV R2,#0.|
00003270  10 86 1d 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00003280  20 20 20 20 42 20 73 61  76 6c 6f 70 0d 10 90 05  |    B savlop....|
00003290  3a 0d 10 9a 1c 2e 78 6d  69 6e 20 45 51 55 44 20  |:.....xmin EQUD |
000032a0  30 3a 45 51 55 44 30 3a  45 51 55 44 30 0d 10 a4  |0:EQUD0:EQUD0...|
000032b0  1c 2e 79 6d 69 6e 20 45  51 55 44 20 30 3a 45 51  |..ymin EQUD 0:EQ|
000032c0  55 44 30 3a 45 51 55 44  30 0d 10 ae 1d 2e 78 73  |UD0:EQUD0.....xs|
000032d0  74 65 70 20 45 51 55 44  20 30 3a 45 51 55 44 30  |tep EQUD 0:EQUD0|
000032e0  3a 45 51 55 44 30 0d 10  b8 1d 2e 79 73 74 65 70  |:EQUD0.....ystep|
000032f0  20 45 51 55 44 20 30 3a  45 51 55 44 30 3a 45 51  | EQUD 0:EQUD0:EQ|
00003300  55 44 30 0d 10 c2 19 2e  73 63 72 6d 65 6d 20 45  |UD0.....scrmem E|
00003310  51 55 44 20 26 31 46 44  38 30 30 30 0d 10 cc 17  |QUD &1FD8000....|
00003320  2e 73 63 72 65 61 64 20  45 51 55 44 20 73 63 72  |.scread EQUD scr|
00003330  65 65 6e 0d 10 d6 12 2e  6d 61 78 69 74 20 45 51  |een.....maxit EQ|
00003340  55 44 20 32 35 0d 10 e0  10 2e 78 73 74 72 20 45  |UD 25.....xstr E|
00003350  51 55 44 20 30 0d 10 ea  10 2e 79 73 74 72 20 45  |QUD 0.....ystr E|
00003360  51 55 44 20 30 0d 10 f4  10 2e 78 70 6e 73 20 45  |QUD 0.....xpns E|
00003370  51 55 44 20 30 0d 10 fe  10 2e 79 70 6e 73 20 45  |QUD 0.....ypns E|
00003380  51 55 44 20 30 0d 11 08  10 2e 73 74 65 70 20 45  |QUD 0.....step E|
00003390  51 55 44 20 30 0d 11 12  11 2e 78 62 6f 78 61 20  |QUD 0.....xboxa |
000033a0  45 51 55 44 20 30 0d 11  1c 11 2e 78 62 6f 78 62  |EQUD 0.....xboxb|
000033b0  20 45 51 55 44 20 30 0d  11 26 11 2e 79 62 6f 78  | EQUD 0..&..ybox|
000033c0  61 20 45 51 55 44 20 30  0d 11 30 11 2e 79 62 6f  |a EQUD 0..0..ybo|
000033d0  78 62 20 45 51 55 44 20  30 0d 11 3a 05 3a 0d 11  |xb EQUD 0..:.:..|
000033e0  44 1d 2e 73 74 61 72 74  75 70 20 53 54 4d 46 44  |D..startup STMFD|
000033f0  20 52 31 33 21 2c 7b 52  31 34 7d 0d 11 4e 17 20  | R13!,{R14}..N. |
00003400  20 20 20 20 20 20 20 20  53 57 49 20 32 35 36 2b  |        SWI 256+|
00003410  32 32 0d 11 58 17 20 20  20 20 20 20 20 20 20 53  |22..X.         S|
00003420  57 49 20 32 35 36 2b 31  35 0d 11 62 18 20 20 20  |WI 256+15..b.   |
00003430  20 20 20 20 20 20 4d 4f  56 20 52 30 2c 23 31 30  |      MOV R0,#10|
00003440  36 0d 11 6c 16 20 20 20  20 20 20 20 20 20 4d 4f  |6..l.         MO|
00003450  56 20 52 31 2c 23 31 0d  11 76 1a 20 20 20 20 20  |V R1,#1..v.     |
00003460  20 20 20 20 53 57 49 20  22 4f 53 5f 42 79 74 65  |    SWI "OS_Byte|
00003470  22 0d 11 80 17 20 20 20  20 20 20 20 20 20 53 57  |"....         SW|
00003480  49 20 32 35 36 2b 32 33  0d 11 8a 16 20 20 20 20  |I 256+23....    |
00003490  20 20 20 20 20 53 57 49  20 32 35 36 2b 31 0d 11  |     SWI 256+1..|
000034a0  94 14 20 20 20 20 20 20  20 20 20 53 57 49 20 32  |..         SWI 2|
000034b0  35 36 0d 11 9e 14 20 20  20 20 20 20 20 20 20 53  |56....         S|
000034c0  57 49 20 32 35 36 0d 11  a8 14 20 20 20 20 20 20  |WI 256....      |
000034d0  20 20 20 53 57 49 20 32  35 36 0d 11 b2 14 20 20  |   SWI 256....  |
000034e0  20 20 20 20 20 20 20 53  57 49 20 32 35 36 0d 11  |       SWI 256..|
000034f0  bc 14 20 20 20 20 20 20  20 20 20 53 57 49 20 32  |..         SWI 2|
00003500  35 36 0d 11 c6 14 20 20  20 20 20 20 20 20 20 53  |56....         S|
00003510  57 49 20 32 35 36 0d 11  d0 14 20 20 20 20 20 20  |WI 256....      |
00003520  20 20 20 53 57 49 20 32  35 36 0d 11 da 14 20 20  |   SWI 256....  |
00003530  20 20 20 20 20 20 20 53  57 49 20 32 35 36 0d 11  |       SWI 256..|
00003540  e4 1b 20 20 20 20 20 20  20 20 20 41 44 52 20 52  |..         ADR R|
00003550  30 2c 73 63 68 6f 6f 73  65 0d 11 ee 19 20 20 20  |0,schoose....   |
00003560  20 20 20 20 20 20 53 57  49 20 22 4f 53 5f 43 4c  |      SWI "OS_CL|
00003570  49 22 0d 11 f8 18 20 20  20 20 20 20 20 20 20 4d  |I"....         M|
00003580  4f 56 20 52 30 2c 23 26  45 44 0d 12 02 19 20 20  |OV R0,#&ED....  |
00003590  20 20 20 20 20 20 20 4d  4f 56 20 52 31 2c 23 31  |       MOV R1,#1|
000035a0  30 32 34 0d 12 0c 19 20  20 20 20 20 20 20 20 20  |024....         |
000035b0  41 44 52 20 52 32 2c 70  6c 6f 74 79 0d 12 16 18  |ADR R2,ploty....|
000035c0  20 20 20 20 20 20 20 20  20 4c 44 52 20 52 32 2c  |         LDR R2,|
000035d0  5b 52 32 5d 0d 12 20 1a  20 20 20 20 20 20 20 20  |[R2].. .        |
000035e0  20 53 57 49 20 22 4f 53  5f 50 6c 6f 74 22 0d 12  | SWI "OS_Plot"..|
000035f0  2a 1c 20 20 20 20 20 20  20 20 20 53 57 49 20 22  |*.         SWI "|
00003600  4f 53 5f 57 72 69 74 65  53 22 0d 12 34 29 20 20  |OS_WriteS"..4)  |
00003610  20 20 20 20 20 20 20 45  51 55 42 31 37 3a 45 51  |       EQUB17:EQ|
00003620  55 42 32 35 35 3a 45 51  55 42 31 37 3a 45 51 55  |UB255:EQUB17:EQU|
00003630  42 33 32 0d 12 3e 38 20  20 20 20 20 20 20 20 20  |B32..>8         |
00003640  45 51 55 42 33 31 3a 45  51 55 42 36 34 3a 45 51  |EQUB31:EQUB64:EQ|
00003650  55 42 31 30 3a 45 51 55  53 22 5a 6f 6f 6d 20 49  |UB10:EQUS"Zoom I|
00003660  6e 20 20 20 20 20 20 20  20 20 22 0d 12 48 38 20  |n         "..H8 |
00003670  20 20 20 20 20 20 20 20  45 51 55 42 33 31 3a 45  |        EQUB31:E|
00003680  51 55 42 36 34 3a 45 51  55 42 31 32 3a 45 51 55  |QUB64:EQUB12:EQU|
00003690  53 22 52 65 73 65 74 20  20 20 20 20 20 20 20 20  |S"Reset         |
000036a0  20 20 22 0d 12 52 19 20  20 20 20 20 20 20 20 20  |  "..R.         |
000036b0  45 51 55 42 31 37 3a 45  51 55 42 38 0d 12 5c 38  |EQUB17:EQUB8..\8|
000036c0  20 20 20 20 20 20 20 20  20 45 51 55 42 33 31 3a  |         EQUB31:|
000036d0  45 51 55 42 36 34 3a 45  51 55 42 31 36 3a 45 51  |EQUB64:EQUB16:EQ|
000036e0  55 53 22 49 74 65 72 61  74 69 6f 6e 73 20 20 20  |US"Iterations   |
000036f0  20 20 20 22 0d 12 66 38  20 20 20 20 20 20 20 20  |   "..f8        |
00003700  20 45 51 55 42 33 31 3a  45 51 55 42 36 34 3a 45  | EQUB31:EQUB64:E|
00003710  51 55 42 31 38 3a 45 51  55 53 22 43 6f 6c 6f 75  |QUB18:EQUS"Colou|
00003720  72 20 43 79 63 6c 69 6e  67 20 20 22 0d 12 70 38  |r Cycling  "..p8|
00003730  20 20 20 20 20 20 20 20  20 45 51 55 42 33 31 3a  |         EQUB31:|
00003740  45 51 55 42 36 34 3a 45  51 55 42 32 30 3a 45 51  |EQUB64:EQUB20:EQ|
00003750  55 53 22 53 61 76 65 20  53 63 72 65 65 6e 20 20  |US"Save Screen  |
00003760  20 20 20 22 0d 12 7a 19  20 20 20 20 20 20 20 20  |   "..z.        |
00003770  20 45 51 55 42 31 37 3a  45 51 55 42 36 0d 12 84  | EQUB17:EQUB6...|
00003780  38 20 20 20 20 20 20 20  20 20 45 51 55 42 33 31  |8         EQUB31|
00003790  3a 45 51 55 42 36 34 3a  45 51 55 42 32 38 3a 45  |:EQUB64:EQUB28:E|
000037a0  51 55 53 22 44 65 73 6b  74 6f 70 20 20 20 20 20  |QUS"Desktop     |
000037b0  20 20 20 20 22 0d 12 8e  38 20 20 20 20 20 20 20  |    "...8       |
000037c0  20 20 45 51 55 42 33 31  3a 45 51 55 42 36 34 3a  |  EQUB31:EQUB64:|
000037d0  45 51 55 42 33 30 3a 45  51 55 53 22 51 75 69 74  |EQUB30:EQUS"Quit|
000037e0  20 50 72 6f 67 72 61 6d  20 20 20 20 22 0d 12 98  | Program    "...|
000037f0  21 20 20 20 20 20 20 20  20 20 45 51 55 42 31 37  |!         EQUB17|
00003800  3a 45 51 55 42 31 32 38  3a 45 51 55 42 30 0d 12  |:EQUB128:EQUB0..|
00003810  a2 12 20 20 20 20 20 20  20 20 20 41 4c 49 47 4e  |..         ALIGN|
00003820  0d 12 ac 17 20 20 20 20  20 20 20 20 20 42 4c 20  |....         BL |
00003830  70 6c 6f 74 74 65 72 0d  12 b6 1a 20 20 20 20 20  |plotter....     |
00003840  20 20 20 20 41 44 52 20  52 31 2c 70 6c 6f 74 61  |    ADR R1,plota|
00003850  64 0d 12 c0 18 20 20 20  20 20 20 20 20 20 4c 44  |d....         LD|
00003860  52 20 52 31 2c 5b 52 31  5d 0d 12 ca 18 20 20 20  |R R1,[R1]....   |
00003870  20 20 20 20 20 20 53 54  52 20 52 30 2c 5b 52 31  |      STR R0,[R1|
00003880  5d 0d 12 d4 16 20 20 20  20 20 20 20 20 20 4d 4f  |]....         MO|
00003890  56 20 52 30 2c 23 31 0d  12 de 1a 20 20 20 20 20  |V R0,#1....     |
000038a0  20 20 20 20 41 44 52 20  52 31 2c 70 72 65 76 61  |    ADR R1,preva|
000038b0  64 0d 12 e8 18 20 20 20  20 20 20 20 20 20 4c 44  |d....         LD|
000038c0  52 20 52 31 2c 5b 52 31  5d 0d 12 f2 18 20 20 20  |R R1,[R1]....   |
000038d0  20 20 20 20 20 20 53 54  52 20 52 30 2c 5b 52 31  |      STR R0,[R1|
000038e0  5d 0d 12 fc 1c 20 20 20  20 20 20 20 20 20 4c 44  |]....         LD|
000038f0  4d 46 44 20 52 31 33 21  2c 7b 50 43 7d 0d 13 06  |MFD R13!,{PC}...|
00003900  1d 2e 72 65 73 74 61 72  74 20 53 54 4d 46 44 20  |..restart STMFD |
00003910  52 31 33 21 2c 7b 52 31  34 7d 0d 13 10 17 20 20  |R13!,{R14}....  |
00003920  20 20 20 20 20 20 20 53  57 49 20 32 35 36 2b 32  |       SWI 256+2|
00003930  32 0d 13 1a 17 20 20 20  20 20 20 20 20 20 53 57  |2....         SW|
00003940  49 20 32 35 36 2b 31 35  0d 13 24 18 20 20 20 20  |I 256+15..$.    |
00003950  20 20 20 20 20 4d 4f 56  20 52 30 2c 23 31 30 36  |     MOV R0,#106|
00003960  0d 13 2e 16 20 20 20 20  20 20 20 20 20 4d 4f 56  |....         MOV|
00003970  20 52 31 2c 23 31 0d 13  38 1a 20 20 20 20 20 20  | R1,#1..8.      |
00003980  20 20 20 53 57 49 20 22  4f 53 5f 42 79 74 65 22  |   SWI "OS_Byte"|
00003990  0d 13 42 17 20 20 20 20  20 20 20 20 20 53 57 49  |..B.         SWI|
000039a0  20 32 35 36 2b 32 33 0d  13 4c 16 20 20 20 20 20  | 256+23..L.     |
000039b0  20 20 20 20 53 57 49 20  32 35 36 2b 31 0d 13 56  |    SWI 256+1..V|
000039c0  14 20 20 20 20 20 20 20  20 20 53 57 49 20 32 35  |.         SWI 25|
000039d0  36 0d 13 60 14 20 20 20  20 20 20 20 20 20 53 57  |6..`.         SW|
000039e0  49 20 32 35 36 0d 13 6a  14 20 20 20 20 20 20 20  |I 256..j.       |
000039f0  20 20 53 57 49 20 32 35  36 0d 13 74 14 20 20 20  |  SWI 256..t.   |
00003a00  20 20 20 20 20 20 53 57  49 20 32 35 36 0d 13 7e  |      SWI 256..~|
00003a10  14 20 20 20 20 20 20 20  20 20 53 57 49 20 32 35  |.         SWI 25|
00003a20  36 0d 13 88 14 20 20 20  20 20 20 20 20 20 53 57  |6....         SW|
00003a30  49 20 32 35 36 0d 13 92  14 20 20 20 20 20 20 20  |I 256....       |
00003a40  20 20 53 57 49 20 32 35  36 0d 13 9c 14 20 20 20  |  SWI 256....   |
00003a50  20 20 20 20 20 20 53 57  49 20 32 35 36 0d 13 a6  |      SWI 256...|
00003a60  17 20 20 20 20 20 20 20  20 20 42 4c 20 6c 6f 61  |.         BL loa|
00003a70  64 73 63 72 0d 13 b0 1c  20 20 20 20 20 20 20 20  |dscr....        |
00003a80  20 4c 44 4d 46 44 20 52  31 33 21 2c 7b 50 43 7d  | LDMFD R13!,{PC}|
00003a90  0d 13 ba 0f 2e 6d 61 6e  64 65 6c 70 6c 6f 74 0d  |.....mandelplot.|
00003aa0  13 c4 1d 20 20 20 20 20  20 20 20 20 53 54 4d 46  |...         STMF|
00003ab0  44 20 52 31 33 21 2c 7b  52 31 34 7d 0d 13 ce 1a  |D R13!,{R14}....|
00003ac0  2e 6d 70 6c 6f 6f 70 20  20 41 44 52 20 52 30 2c  |.mploop  ADR R0,|
00003ad0  70 6c 6f 74 61 64 0d 13  d8 18 20 20 20 20 20 20  |plotad....      |
00003ae0  20 20 20 4c 44 52 20 52  30 2c 5b 52 30 5d 0d 13  |   LDR R0,[R0]..|
00003af0  e2 18 20 20 20 20 20 20  20 20 20 4c 44 52 20 52  |..         LDR R|
00003b00  30 2c 5b 52 30 5d 0d 13  ec 16 20 20 20 20 20 20  |0,[R0]....      |
00003b10  20 20 20 43 4d 50 20 52  30 2c 23 31 0d 13 f6 17  |   CMP R0,#1....|
00003b20  20 20 20 20 20 20 20 20  20 42 4e 45 20 6e 6f 70  |         BNE nop|
00003b30  6c 6f 74 0d 14 00 18 20  20 20 20 20 20 20 20 20  |lot....         |
00003b40  42 4c 20 63 6f 6e 74 70  6c 6f 74 0d 14 0a 1a 20  |BL contplot.... |
00003b50  20 20 20 20 20 20 20 20  41 44 52 20 52 31 2c 70  |        ADR R1,p|
00003b60  6c 6f 74 61 64 0d 14 14  18 20 20 20 20 20 20 20  |lotad....       |
00003b70  20 20 4c 44 52 20 52 31  2c 5b 52 31 5d 0d 14 1e  |  LDR R1,[R1]...|
00003b80  18 20 20 20 20 20 20 20  20 20 53 54 52 20 52 30  |.         STR R0|
00003b90  2c 5b 52 31 5d 0d 14 28  1b 2e 6e 6f 70 6c 6f 74  |,[R1]..(..noplot|
00003ba0  20 20 53 57 49 20 22 4f  53 5f 4d 6f 75 73 65 22  |  SWI "OS_Mouse"|
00003bb0  0d 14 32 16 20 20 20 20  20 20 20 20 20 43 4d 50  |..2.         CMP|
00003bc0  20 52 32 2c 23 30 0d 14  3c 17 20 20 20 20 20 20  | R2,#0..<.      |
00003bd0  20 20 20 42 45 51 20 6d  70 6c 6f 6f 70 0d 14 46  |   BEQ mploop..F|
00003be0  19 20 20 20 20 20 20 20  20 20 43 4d 50 20 52 30  |.         CMP R0|
00003bf0  2c 23 31 30 32 34 0d 14  50 17 20 20 20 20 20 20  |,#1024..P.      |
00003c00  20 20 20 42 43 43 20 62  6f 78 6f 75 74 0d 14 5a  |   BCC boxout..Z|
00003c10  17 20 20 20 20 20 20 20  20 20 42 20 66 75 6e 63  |.         B func|
00003c20  74 69 6f 6e 0d 14 64 27  2e 73 63 68 6f 6f 73 65  |tion..d'.schoose|
00003c30  20 45 51 55 53 20 22 53  43 48 4f 4f 53 45 20 6c  | EQUS "SCHOOSE l|
00003c40  6f 67 6f 22 3a 45 51 55  44 20 30 0d 14 6e 12 20  |ogo":EQUD 0..n. |
00003c50  20 20 20 20 20 20 20 20  41 4c 49 47 4e 0d 14 78  |        ALIGN..x|
00003c60  15 2e 70 6c 6f 74 79 20  20 20 45 51 55 44 20 37  |..ploty   EQUD 7|
00003c70  37 35 0d 14 82 12 20 20  20 20 20 20 20 20 20 41  |75....         A|
00003c80  4c 49 47 4e 0d 14 8c 05  3a 0d 14 96 18 2e 62 6f  |LIGN....:.....bo|
00003c90  78 6f 75 74 20 20 42 4c  20 6d 6f 75 73 65 62 6f  |xout  BL mousebo|
00003ca0  78 0d 14 a0 17 20 20 20  20 20 20 20 20 20 42 4c  |x....         BL|
00003cb0  20 73 61 76 65 73 63 72  0d 14 aa 1a 20 20 20 20  | savescr....    |
00003cc0  20 20 20 20 20 53 57 49  22 4f 53 5f 4d 6f 75 73  |     SWI"OS_Mous|
00003cd0  65 22 0d 14 b4 19 20 20  20 20 20 20 20 20 20 41  |e"....         A|
00003ce0  44 52 20 52 32 2c 78 62  6f 78 61 0d 14 be 18 20  |DR R2,xboxa.... |
00003cf0  20 20 20 20 20 20 20 20  53 54 52 20 52 30 2c 5b  |        STR R0,[|
00003d00  52 32 5d 0d 14 c8 19 20  20 20 20 20 20 20 20 20  |R2]....         |
00003d10  41 44 52 20 52 32 2c 79  62 6f 78 61 0d 14 d2 18  |ADR R2,yboxa....|
00003d20  20 20 20 20 20 20 20 20  20 53 54 52 20 52 31 2c  |         STR R1,|
00003d30  5b 52 32 5d 0d 14 dc 19  2e 62 6f 78 6f 75 74 6c  |[R2].....boxoutl|
00003d40  20 43 4d 50 20 52 30 2c  23 31 30 32 34 0d 14 e6  | CMP R0,#1024...|
00003d50  1b 20 20 20 20 20 20 20  20 20 4d 4f 56 43 53 20  |.         MOVCS |
00003d60  52 30 2c 23 31 30 32 34  0d 14 f0 1b 20 20 20 20  |R0,#1024....    |
00003d70  20 20 20 20 20 53 55 42  43 53 20 52 30 2c 52 30  |     SUBCS R0,R0|
00003d80  2c 23 31 0d 14 fa 19 20  20 20 20 20 20 20 20 20  |,#1....         |
00003d90  41 44 52 20 52 32 2c 78  62 6f 78 62 0d 15 04 18  |ADR R2,xboxb....|
00003da0  20 20 20 20 20 20 20 20  20 53 54 52 20 52 30 2c  |         STR R0,|
00003db0  5b 52 32 5d 0d 15 0e 19  20 20 20 20 20 20 20 20  |[R2]....        |
00003dc0  20 41 44 52 20 52 32 2c  79 62 6f 78 62 0d 15 18  | ADR R2,yboxb...|
00003dd0  18 20 20 20 20 20 20 20  20 20 53 54 52 20 52 31  |.         STR R1|
00003de0  2c 5b 52 32 5d 0d 15 22  1a 20 20 20 20 20 20 20  |,[R2]..".       |
00003df0  20 20 41 44 52 20 52 32  2c 77 69 6d 70 61 64 0d  |  ADR R2,wimpad.|
00003e00  15 2c 18 20 20 20 20 20  20 20 20 20 4c 44 52 20  |.,.         LDR |
00003e10  52 32 2c 5b 52 32 5d 0d  15 36 16 20 20 20 20 20  |R2,[R2]..6.     |
00003e20  20 20 20 20 4d 4f 56 20  52 30 2c 23 31 0d 15 40  |    MOV R0,#1..@|
00003e30  18 20 20 20 20 20 20 20  20 20 53 54 52 20 52 30  |.         STR R0|
00003e40  2c 5b 52 32 5d 0d 15 4a  18 20 20 20 20 20 20 20  |,[R2]..J.       |
00003e50  20 20 42 4c 20 6d 6f 75  73 65 62 6f 78 0d 15 54  |  BL mousebox..T|
00003e60  18 20 20 20 20 20 20 20  20 20 42 4c 20 63 6f 6e  |.         BL con|
00003e70  74 70 6c 6f 74 0d 15 5e  18 20 20 20 20 20 20 20  |tplot..^.       |
00003e80  20 20 42 4c 20 6d 6f 75  73 65 62 6f 78 0d 15 68  |  BL mousebox..h|
00003e90  1b 20 20 20 20 20 20 20  20 20 53 57 49 20 22 4f  |.         SWI "O|
00003ea0  53 5f 4d 6f 75 73 65 22  0d 15 72 16 20 20 20 20  |S_Mouse"..r.    |
00003eb0  20 20 20 20 20 43 4d 50  20 52 32 2c 23 30 0d 15  |     CMP R2,#0..|
00003ec0  7c 18 20 20 20 20 20 20  20 20 20 42 4e 45 20 62  ||.         BNE b|
00003ed0  6f 78 6f 75 74 6c 0d 15  86 1a 20 20 20 20 20 20  |oxoutl....      |
00003ee0  20 20 20 41 44 52 20 52  32 2c 77 69 6d 70 61 64  |   ADR R2,wimpad|
00003ef0  0d 15 90 18 20 20 20 20  20 20 20 20 20 4c 44 52  |....         LDR|
00003f00  20 52 32 2c 5b 52 32 5d  0d 15 9a 16 20 20 20 20  | R2,[R2]....    |
00003f10  20 20 20 20 20 4d 4f 56  20 52 30 2c 23 30 0d 15  |     MOV R0,#0..|
00003f20  a4 18 20 20 20 20 20 20  20 20 20 53 54 52 20 52  |..         STR R|
00003f30  30 2c 5b 52 32 5d 0d 15  ae 17 20 20 20 20 20 20  |0,[R2]....      |
00003f40  20 20 20 42 4c 20 6c 6f  61 64 73 63 72 0d 15 b8  |   BL loadscr...|
00003f50  18 20 20 20 20 20 20 20  20 20 42 4c 20 6d 6f 75  |.         BL mou|
00003f60  73 65 62 6f 78 0d 15 c2  15 20 20 20 20 20 20 20  |sebox....       |
00003f70  20 20 42 20 6d 70 6c 6f  6f 70 0d 15 cc 1a 2e 70  |  B mploop.....p|
00003f80  6c 6f 74 61 64 20 20 45  51 55 44 20 70 6c 6f 74  |lotad  EQUD plot|
00003f90  73 74 61 74 0d 15 d6 1a  2e 77 69 6d 70 61 64 20  |stat.....wimpad |
00003fa0  20 45 51 55 44 20 77 69  6d 70 73 74 61 74 0d 15  | EQUD wimpstat..|
00003fb0  e0 16 2e 70 72 65 76 61  64 20 20 45 51 55 44 20  |...prevad  EQUD |
00003fc0  70 72 65 76 0d 15 ea 1e  2e 66 75 6e 63 74 69 6f  |prev.....functio|
00003fd0  6e 20 4d 4f 56 20 52 31  2c 52 31 2c 4c 53 52 20  |n MOV R1,R1,LSR |
00003fe0  23 35 0d 15 f4 16 20 20  20 20 20 20 20 20 20 43  |#5....         C|
00003ff0  4d 50 20 52 31 2c 23 31  0d 15 fe 19 20 20 20 20  |MP R1,#1....    |
00004000  20 20 20 20 20 42 45 51  20 71 75 69 74 74 61 73  |     BEQ quittas|
00004010  6b 0d 16 08 16 20 20 20  20 20 20 20 20 20 43 4d  |k....         CM|
00004020  50 20 52 31 2c 23 33 0d  16 12 18 20 20 20 20 20  |P R1,#3....     |
00004030  20 20 20 20 42 45 51 20  64 65 73 6b 74 6f 70 0d  |    BEQ desktop.|
00004040  16 1c 17 20 20 20 20 20  20 20 20 20 43 4d 50 20  |...         CMP |
00004050  52 31 2c 23 31 31 0d 16  26 19 20 20 20 20 20 20  |R1,#11..&.      |
00004060  20 20 20 42 45 51 20 73  63 72 73 74 6f 72 65 0d  |   BEQ scrstore.|
00004070  16 30 17 20 20 20 20 20  20 20 20 20 43 4d 50 20  |.0.         CMP |
00004080  52 31 2c 23 31 33 0d 16  3a 19 20 20 20 20 20 20  |R1,#13..:.      |
00004090  20 20 20 42 45 51 20 63  6f 6c 63 79 63 6c 65 0d  |   BEQ colcycle.|
000040a0  16 44 17 20 20 20 20 20  20 20 20 20 43 4d 50 20  |.D.         CMP |
000040b0  52 31 2c 23 31 35 0d 16  4e 18 20 20 20 20 20 20  |R1,#15..N.      |
000040c0  20 20 20 42 45 51 20 69  74 65 72 61 74 65 0d 16  |   BEQ iterate..|
000040d0  58 17 20 20 20 20 20 20  20 20 20 43 4d 50 20 52  |X.         CMP R|
000040e0  31 2c 23 31 39 0d 16 62  19 20 20 20 20 20 20 20  |1,#19..b.       |
000040f0  20 20 42 45 51 20 72 65  73 65 74 70 6f 73 0d 16  |  BEQ resetpos..|
00004100  6c 17 20 20 20 20 20 20  20 20 20 43 4d 50 20 52  |l.         CMP R|
00004110  31 2c 23 32 31 0d 16 76  17 20 20 20 20 20 20 20  |1,#21..v.       |
00004120  20 20 42 45 51 20 7a 6f  6f 6d 69 6e 0d 16 80 15  |  BEQ zoomin....|
00004130  20 20 20 20 20 20 20 20  20 42 20 6d 70 6c 6f 6f  |         B mploo|
00004140  70 0d 16 8a 05 3a 0d 16  94 20 5c 20 20 20 20 20  |p....:... \     |
00004150  20 20 20 20 20 20 20 20  20 20 c8 98 20 46 55 4e  |          .. FUN|
00004160  43 54 49 4f 4e 53 0d 16  9e 05 3a 0d 16 a8 1c 2e  |CTIONS....:.....|
00004170  64 65 73 6b 74 6f 70 20  4c 44 4d 46 44 20 52 31  |desktop LDMFD R1|
00004180  33 21 2c 7b 50 43 7d 0d  16 b2 18 2e 71 75 69 74  |3!,{PC}.....quit|
00004190  74 61 73 6b 20 42 4c 20  73 61 76 65 73 63 72 0d  |task BL savescr.|
000041a0  16 bc 17 20 20 20 20 20  20 20 20 20 53 57 49 20  |...         SWI |
000041b0  32 35 36 2b 33 31 0d 16  c6 14 20 20 20 20 20 20  |256+31....      |
000041c0  20 20 20 53 57 49 20 32  35 36 0d 16 d0 14 20 20  |   SWI 256....  |
000041d0  20 20 20 20 20 20 20 53  57 49 20 32 35 36 0d 16  |       SWI 256..|
000041e0  da 1c 20 20 20 20 20 20  20 20 20 53 57 49 20 22  |..         SWI "|
000041f0  4f 53 5f 57 72 69 74 65  53 22 0d 16 e4 3c 20 20  |OS_WriteS"...<  |
00004200  20 20 20 20 20 20 20 45  51 55 42 31 36 3a 45 51  |       EQUB16:EQ|
00004210  55 42 31 37 3a 45 51 55  42 31 32 37 3a 45 51 55  |UB17:EQUB127:EQU|
00004220  53 22 51 75 69 74 3a 20  41 72 65 20 59 6f 75 20  |S"Quit: Are You |
00004230  53 75 72 65 3f 22 0d 16  ee 28 20 20 20 20 20 20  |Sure?"...(      |
00004240  20 20 20 45 51 55 42 31  33 3a 45 51 55 42 31 30  |   EQUB13:EQUB10|
00004250  3a 45 51 55 42 31 33 3a  45 51 55 42 31 30 0d 16  |:EQUB13:EQUB10..|
00004260  f8 3d 20 20 20 20 20 20  20 20 20 45 51 55 53 22  |.=         EQUS"|
00004270  43 6c 69 63 6b 20 4c 45  46 54 20 74 6f 20 71 75  |Click LEFT to qu|
00004280  69 74 3b 20 52 49 47 48  54 20 74 6f 20 63 61 6e  |it; RIGHT to can|
00004290  63 65 6c 2e 22 3a 45 51  55 42 30 0d 17 02 12 20  |cel.":EQUB0.... |
000042a0  20 20 20 20 20 20 20 20  41 4c 49 47 4e 0d 17 0c  |        ALIGN...|
000042b0  1a 2e 73 74 6f 70 63 6c  20 20 53 57 49 22 4f 53  |..stopcl  SWI"OS|
000042c0  5f 4d 6f 75 73 65 22 0d  17 16 16 20 20 20 20 20  |_Mouse"....     |
000042d0  20 20 20 20 43 4d 50 20  52 32 2c 23 30 0d 17 20  |    CMP R2,#0.. |
000042e0  17 20 20 20 20 20 20 20  20 20 42 4e 45 20 73 74  |.         BNE st|
000042f0  6f 70 63 6c 0d 17 2a 1a  2e 71 75 69 74 6c 6f 70  |opcl..*..quitlop|
00004300  20 53 57 49 22 4f 53 5f  4d 6f 75 73 65 22 0d 17  | SWI"OS_Mouse"..|
00004310  34 16 20 20 20 20 20 20  20 20 20 43 4d 50 20 52  |4.         CMP R|
00004320  32 2c 23 34 0d 17 3e 19  20 20 20 20 20 20 20 20  |2,#4..>.        |
00004330  20 42 45 51 20 71 75 69  74 6f 6b 61 79 0d 17 48  | BEQ quitokay..H|
00004340  16 20 20 20 20 20 20 20  20 20 43 4d 50 20 52 32  |.         CMP R2|
00004350  2c 23 31 0d 17 52 19 20  20 20 20 20 20 20 20 20  |,#1..R.         |
00004360  42 4c 45 51 20 6c 6f 61  64 73 63 72 0d 17 5c 17  |BLEQ loadscr..\.|
00004370  20 20 20 20 20 20 20 20  20 42 45 51 20 6d 70 6c  |         BEQ mpl|
00004380  6f 6f 70 0d 17 66 16 20  20 20 20 20 20 20 20 20  |oop..f.         |
00004390  42 20 71 75 69 74 6c 6f  70 0d 17 70 1d 2e 71 75  |B quitlop..p..qu|
000043a0  69 74 6f 6b 61 79 20 4c  44 4d 46 44 20 52 31 33  |itokay LDMFD R13|
000043b0  21 2c 7b 52 30 7d 0d 17  7a 16 20 20 20 20 20 20  |!,{R0}..z.      |
000043c0  20 20 20 4d 4f 56 20 52  30 2c 23 30 0d 17 84 19  |   MOV R0,#0....|
000043d0  20 20 20 20 20 20 20 20  20 53 55 42 20 52 30 2c  |         SUB R0,|
000043e0  52 30 2c 23 31 0d 17 8e  16 20 20 20 20 20 20 20  |R0,#1....       |
000043f0  20 20 4d 4f 56 20 52 31  2c 23 30 0d 17 98 16 20  |  MOV R1,#0.... |
00004400  20 20 20 20 20 20 20 20  4d 4f 56 20 52 32 2c 23  |        MOV R2,#|
00004410  30 0d 17 a2 19 20 20 20  20 20 20 20 20 20 4d 4f  |0....         MO|
00004420  56 20 52 33 2c 23 31 32  38 30 0d 17 ac 19 20 20  |V R3,#1280....  |
00004430  20 20 20 20 20 20 20 4d  4f 56 20 52 34 2c 23 31  |       MOV R4,#1|
00004440  30 32 34 0d 17 b6 23 20  20 20 20 20 20 20 20 20  |024...#         |
00004450  53 57 49 20 22 57 69 6d  70 5f 46 6f 72 63 65 52  |SWI "Wimp_ForceR|
00004460  65 64 72 61 77 22 0d 17  c0 1a 20 20 20 20 20 20  |edraw"....      |
00004470  20 20 20 53 57 49 20 22  4f 53 5f 45 78 69 74 22  |   SWI "OS_Exit"|
00004480  0d 17 ca 05 3a 0d 17 d4  1b 5c 20 20 20 20 20 20  |....:....\      |
00004490  20 20 5a 4f 4f 4d 20 46  55 4e 43 54 49 4f 4e 53  |  ZOOM FUNCTIONS|
000044a0  0d 17 de 05 3a 0d 17 e8  1d 2e 72 65 73 65 74 70  |....:.....resetp|
000044b0  6f 73 20 20 20 20 20 20  20 20 42 4c 20 73 65 74  |os        BL set|
000044c0  75 70 0d 17 f2 1f 20 20  20 20 20 20 20 20 20 20  |up....          |
000044d0  20 20 20 20 20 20 20 42  4c 20 70 6c 6f 74 74 65  |       BL plotte|
000044e0  72 0d 17 fc 1d 20 20 20  20 20 20 20 20 20 20 20  |r....           |
000044f0  20 20 20 20 20 20 42 20  6d 70 6c 6f 6f 70 0d 18  |      B mploop..|
00004500  06 05 3a 0d 18 10 22 2e  7a 6f 6f 6d 69 6e 20 20  |..:...".zoomin  |
00004510  20 20 20 20 20 20 20 20  41 44 52 20 52 30 2c 78  |        ADR R0,x|
00004520  6d 69 6e 61 64 0d 18 1a  20 20 20 20 20 20 20 20  |minad...        |
00004530  20 20 20 20 20 20 20 20  20 20 4c 44 52 20 52 30  |          LDR R0|
00004540  2c 5b 52 30 5d 0d 18 24  23 20 20 20 20 20 20 20  |,[R0]..$#       |
00004550  20 20 20 20 20 20 20 20  20 20 41 44 52 20 52 31  |          ADR R1|
00004560  2c 78 73 74 65 70 61 64  0d 18 2e 20 20 20 20 20  |,xstepad...     |
00004570  20 20 20 20 20 20 20 20  20 20 20 20 20 4c 44 52  |             LDR|
00004580  20 52 31 2c 5b 52 31 5d  0d 18 38 22 20 20 20 20  | R1,[R1]..8"    |
00004590  20 20 20 20 20 20 20 20  20 20 20 20 20 41 44 52  |             ADR|
000045a0  20 52 32 2c 79 6d 69 6e  61 64 0d 18 42 20 20 20  | R2,yminad..B   |
000045b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4c  |               L|
000045c0  44 52 20 52 32 2c 5b 52  32 5d 0d 18 4c 23 20 20  |DR R2,[R2]..L#  |
000045d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |               A|
000045e0  44 52 20 52 33 2c 79 73  74 65 70 61 64 0d 18 56  |DR R3,ystepad..V|
000045f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004600  20 20 4c 44 52 20 52 33  2c 5b 52 33 5d 0d 18 60  |  LDR R3,[R3]..`|
00004610  22 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |"               |
00004620  20 20 41 44 52 20 52 34  2c 78 62 6f 78 61 74 0d  |  ADR R4,xboxat.|
00004630  18 6a 1f 20 20 20 20 20  20 20 20 20 20 20 20 20  |.j.             |
00004640  20 20 20 4c 44 52 20 52  34 2c 5b 52 34 5d 0d 18  |   LDR R4,[R4]..|
00004650  74 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |t               |
00004660  20 20 20 4c 44 52 20 52  34 2c 5b 52 34 5d 0d 18  |   LDR R4,[R4]..|
00004670  7e 22 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |~"              |
00004680  20 20 20 41 44 52 20 52  35 2c 78 62 6f 78 62 74  |   ADR R5,xboxbt|
00004690  0d 18 88 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000046a0  20 20 20 20 20 4c 44 52  20 52 35 2c 5b 52 35 5d  |     LDR R5,[R5]|
000046b0  0d 18 92 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000046c0  20 20 20 20 20 4c 44 52  20 52 35 2c 5b 52 35 5d  |     LDR R5,[R5]|
000046d0  0d 18 9c 1e 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
000046e0  20 20 20 20 20 43 4d 50  20 52 34 2c 52 35 0d 18  |     CMP R4,R5..|
000046f0  a6 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00004700  20 20 20 4d 4f 56 43 53  20 52 36 2c 52 34 0d 18  |   MOVCS R6,R4..|
00004710  b0 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00004720  20 20 20 4d 4f 56 43 53  20 52 34 2c 52 35 0d 18  |   MOVCS R4,R5..|
00004730  ba 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00004740  20 20 20 4d 4f 56 43 53  20 52 35 2c 52 36 0d 18  |   MOVCS R5,R6..|
00004750  c4 22 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |."              |
00004760  20 20 20 41 44 52 20 52  36 2c 79 62 6f 78 61 74  |   ADR R6,yboxat|
00004770  0d 18 ce 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00004780  20 20 20 20 20 4c 44 52  20 52 36 2c 5b 52 36 5d  |     LDR R6,[R6]|
00004790  0d 18 d8 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000047a0  20 20 20 20 20 4c 44 52  20 52 36 2c 5b 52 36 5d  |     LDR R6,[R6]|
000047b0  0d 18 e2 30 20 20 20 20  20 20 20 20 20 20 20 20  |...0            |
000047c0  20 20 20 20 20 41 44 52  20 52 37 2c 79 62 6f 78  |     ADR R7,ybox|
000047d0  62 74 20 20 20 20 20 5c  20 52 30 3d 78 6d 69 6e  |bt     \ R0=xmin|
000047e0  0d 18 ec 31 20 20 20 20  20 20 20 20 20 20 20 20  |...1            |
000047f0  20 20 20 20 20 4c 44 52  20 52 37 2c 5b 52 37 5d  |     LDR R7,[R7]|
00004800  20 20 20 20 20 20 20 5c  20 52 31 3d 78 73 74 65  |       \ R1=xste|
00004810  70 0d 18 f6 30 20 20 20  20 20 20 20 20 20 20 20  |p...0           |
00004820  20 20 20 20 20 20 4c 44  52 20 52 37 2c 5b 52 37  |      LDR R7,[R7|
00004830  5d 20 20 20 20 20 20 20  5c 20 52 32 3d 79 6d 69  |]       \ R2=ymi|
00004840  6e 0d 19 00 31 20 20 20  20 20 20 20 20 20 20 20  |n...1           |
00004850  20 20 20 20 20 20 43 4d  50 20 52 36 2c 52 37 20  |      CMP R6,R7 |
00004860  20 20 20 20 20 20 20 20  5c 20 52 33 3d 79 73 74  |        \ R3=yst|
00004870  65 70 0d 19 0a 31 20 20  20 20 20 20 20 20 20 20  |ep...1          |
00004880  20 20 20 20 20 20 20 4d  4f 56 43 53 20 52 38 2c  |       MOVCS R8,|
00004890  52 36 20 20 20 20 20 20  20 5c 20 52 34 3d 78 62  |R6       \ R4=xb|
000048a0  6f 78 61 0d 19 14 31 20  20 20 20 20 20 20 20 20  |oxa...1         |
000048b0  20 20 20 20 20 20 20 20  4d 4f 56 43 53 20 52 36  |        MOVCS R6|
000048c0  2c 52 37 20 20 20 20 20  20 20 5c 20 52 35 3d 78  |,R7       \ R5=x|
000048d0  62 6f 78 62 0d 19 1e 31  20 20 20 20 20 20 20 20  |boxb...1        |
000048e0  20 20 20 20 20 20 20 20  20 4d 4f 56 43 53 20 52  |         MOVCS R|
000048f0  37 2c 52 38 20 20 20 20  20 20 20 5c 20 52 36 3d  |7,R8       \ R6=|
00004900  79 62 6f 78 61 0d 19 28  31 45 51 55 44 20 26 45  |yboxa..(1EQUD &E|
00004910  43 46 30 30 31 30 30 20  5c 20 4c 44 46 45 20 46  |CF00100 \ LDFE F|
00004920  30 2c 5b 52 30 5d 20 20  20 20 20 20 5c 20 52 37  |0,[R0]      \ R7|
00004930  3d 79 62 6f 78 62 0d 19  32 21 45 51 55 44 20 26  |=yboxb..2!EQUD &|
00004940  45 43 46 31 31 31 30 30  20 5c 20 4c 44 46 45 20  |ECF11100 \ LDFE |
00004950  46 31 2c 5b 52 31 5d 0d  19 3c 1f 45 51 55 44 20  |F1,[R1]..<.EQUD |
00004960  26 45 45 30 32 34 31 44  32 20 5c 20 46 4c 54 45  |&EE0241D2 \ FLTE|
00004970  20 46 32 2c 52 34 0d 19  46 22 45 51 55 44 20 26  | F2,R4..F"EQUD &|
00004980  45 45 31 41 33 31 30 31  20 5c 20 4d 4c 46 45 20  |EE1A3101 \ MLFE |
00004990  46 33 2c 46 32 2c 46 31  0d 19 50 22 45 51 55 44  |F3,F2,F1..P"EQUD|
000049a0  20 26 45 45 30 42 33 31  30 30 20 5c 20 41 44 46  | &EE0B3100 \ ADF|
000049b0  45 20 46 33 2c 46 33 2c  46 30 0d 19 5a 1f 45 51  |E F3,F3,F0..Z.EQ|
000049c0  55 44 20 26 45 45 30 34  35 31 44 34 20 5c 20 46  |UD &EE0451D4 \ F|
000049d0  4c 54 45 20 46 34 2c 52  35 0d 19 64 22 45 51 55  |LTE F4,R5..d"EQU|
000049e0  44 20 26 45 45 31 43 35  31 30 31 20 5c 20 4d 4c  |D &EE1C5101 \ ML|
000049f0  46 45 20 46 35 2c 46 34  2c 46 31 0d 19 6e 22 45  |FE F5,F4,F1..n"E|
00004a00  51 55 44 20 26 45 45 30  44 35 31 30 30 20 5c 20  |QUD &EE0D5100 \ |
00004a10  41 44 46 45 20 46 35 2c  46 35 2c 46 30 0d 19 78  |ADFE F5,F5,F0..x|
00004a20  22 45 51 55 44 20 26 45  45 32 44 35 31 30 33 20  |"EQUD &EE2D5103 |
00004a30  5c 20 53 42 46 45 20 46  35 2c 46 35 2c 46 33 0d  |\ SBFE F5,F5,F3.|
00004a40  19 82 21 20 20 20 20 20  20 20 20 20 20 20 20 20  |..!             |
00004a50  20 20 20 20 4d 4f 56 20  52 38 2c 23 31 30 32 34  |    MOV R8,#1024|
00004a60  0d 19 8c 1f 45 51 55 44  20 26 45 45 30 36 38 31  |....EQUD &EE0681|
00004a70  44 36 20 5c 20 46 4c 54  45 20 46 36 2c 52 38 0d  |D6 \ FLTE F6,R8.|
00004a80  19 96 22 45 51 55 44 20  26 45 45 34 44 37 31 30  |.."EQUD &EE4D710|
00004a90  36 20 5c 20 44 56 46 45  20 46 37 2c 46 35 2c 46  |6 \ DVFE F7,F5,F|
00004aa0  36 0d 19 a0 21 45 51 55  44 20 26 45 43 45 30 33  |6...!EQUD &ECE03|
00004ab0  31 30 30 20 5c 20 53 54  46 45 20 46 33 2c 5b 52  |100 \ STFE F3,[R|
00004ac0  30 5d 0d 19 aa 21 45 51  55 44 20 26 45 43 45 31  |0]...!EQUD &ECE1|
00004ad0  37 31 30 30 20 5c 20 53  54 46 45 20 46 37 2c 5b  |7100 \ STFE F7,[|
00004ae0  52 31 5d 0d 19 b4 05 3a  0d 19 be 21 45 51 55 44  |R1]....:...!EQUD|
00004af0  20 26 45 43 46 32 30 31  30 30 20 5c 20 4c 44 46  | &ECF20100 \ LDF|
00004b00  45 20 46 30 2c 5b 52 32  5d 0d 19 c8 21 45 51 55  |E F0,[R2]...!EQU|
00004b10  44 20 26 45 43 46 33 31  31 30 30 20 5c 20 4c 44  |D &ECF31100 \ LD|
00004b20  46 45 20 46 31 2c 5b 52  33 5d 0d 19 d2 1f 45 51  |FE F1,[R3]....EQ|
00004b30  55 44 20 26 45 45 30 32  36 31 44 32 20 5c 20 46  |UD &EE0261D2 \ F|
00004b40  4c 54 45 20 46 32 2c 52  36 0d 19 dc 22 45 51 55  |LTE F2,R6..."EQU|
00004b50  44 20 26 45 45 31 41 33  31 30 31 20 5c 20 4d 4c  |D &EE1A3101 \ ML|
00004b60  46 45 20 46 33 2c 46 32  2c 46 31 0d 19 e6 22 45  |FE F3,F2,F1..."E|
00004b70  51 55 44 20 26 45 45 30  42 33 31 30 30 20 5c 20  |QUD &EE0B3100 \ |
00004b80  41 44 46 45 20 46 33 2c  46 33 2c 46 30 0d 19 f0  |ADFE F3,F3,F0...|
00004b90  1f 45 51 55 44 20 26 45  45 30 34 37 31 44 34 20  |.EQUD &EE0471D4 |
00004ba0  5c 20 46 4c 54 45 20 46  34 2c 52 37 0d 19 fa 22  |\ FLTE F4,R7..."|
00004bb0  45 51 55 44 20 26 45 45  31 43 35 31 30 31 20 5c  |EQUD &EE1C5101 \|
00004bc0  20 4d 4c 46 45 20 46 35  2c 46 34 2c 46 31 0d 1a  | MLFE F5,F4,F1..|
00004bd0  04 22 45 51 55 44 20 26  45 45 30 44 35 31 30 30  |."EQUD &EE0D5100|
00004be0  20 5c 20 41 44 46 45 20  46 35 2c 46 35 2c 46 30  | \ ADFE F5,F5,F0|
00004bf0  0d 1a 0e 22 45 51 55 44  20 26 45 45 32 44 35 31  |..."EQUD &EE2D51|
00004c00  30 33 20 5c 20 53 42 46  45 20 46 35 2c 46 35 2c  |03 \ SBFE F5,F5,|
00004c10  46 33 0d 1a 18 22 45 51  55 44 20 26 45 45 34 44  |F3..."EQUD &EE4D|
00004c20  37 31 30 36 20 5c 20 44  56 46 45 20 46 37 2c 46  |7106 \ DVFE F7,F|
00004c30  35 2c 46 36 0d 1a 22 21  45 51 55 44 20 26 45 43  |5,F6.."!EQUD &EC|
00004c40  45 32 33 31 30 30 20 5c  20 53 54 46 45 20 46 33  |E23100 \ STFE F3|
00004c50  2c 5b 52 32 5d 0d 1a 2c  21 45 51 55 44 20 26 45  |,[R2]..,!EQUD &E|
00004c60  43 45 33 37 31 30 30 20  5c 20 53 54 46 45 20 46  |CE37100 \ STFE F|
00004c70  37 2c 5b 52 33 5d 0d 1a  36 1f 20 20 20 20 20 20  |7,[R3]..6.      |
00004c80  20 20 20 20 20 20 20 20  20 20 20 42 4c 20 70 6c  |           BL pl|
00004c90  6f 74 74 65 72 0d 1a 40  1d 20 20 20 20 20 20 20  |otter..@.       |
00004ca0  20 20 20 20 20 20 20 20  20 20 42 20 6d 70 6c 6f  |          B mplo|
00004cb0  6f 70 0d 1a 4a 05 3a 0d  1a 54 1e 2e 78 6d 69 6e  |op..J.:..T..xmin|
00004cc0  61 64 20 20 20 20 20 20  20 20 20 20 45 51 55 44  |ad          EQUD|
00004cd0  20 78 6d 69 6e 0d 1a 5e  1e 2e 79 6d 69 6e 61 64  | xmin..^..yminad|
00004ce0  20 20 20 20 20 20 20 20  20 20 45 51 55 44 20 79  |          EQUD y|
00004cf0  6d 69 6e 0d 1a 68 1f 2e  78 73 74 65 70 61 64 20  |min..h..xstepad |
00004d00  20 20 20 20 20 20 20 20  45 51 55 44 20 78 73 74  |        EQUD xst|
00004d10  65 70 0d 1a 72 1f 2e 79  73 74 65 70 61 64 20 20  |ep..r..ystepad  |
00004d20  20 20 20 20 20 20 20 45  51 55 44 20 79 73 74 65  |       EQUD yste|
00004d30  70 0d 1a 7c 1f 2e 78 62  6f 78 61 74 20 20 20 20  |p..|..xboxat    |
00004d40  20 20 20 20 20 20 45 51  55 44 20 78 62 6f 78 61  |      EQUD xboxa|
00004d50  0d 1a 86 1f 2e 79 62 6f  78 61 74 20 20 20 20 20  |.....yboxat     |
00004d60  20 20 20 20 20 45 51 55  44 20 79 62 6f 78 61 0d  |     EQUD yboxa.|
00004d70  1a 90 1f 2e 78 62 6f 78  62 74 20 20 20 20 20 20  |....xboxbt      |
00004d80  20 20 20 20 45 51 55 44  20 78 62 6f 78 62 0d 1a  |    EQUD xboxb..|
00004d90  9a 1f 2e 79 62 6f 78 62  74 20 20 20 20 20 20 20  |...yboxbt       |
00004da0  20 20 20 45 51 55 44 20  79 62 6f 78 62 0d 1a a4  |   EQUD yboxb...|
00004db0  05 3a 0d 1a ae 1f 5c 20  43 48 41 4e 47 45 20 4d  |.:....\ CHANGE M|
00004dc0  41 58 49 4d 55 4d 20 49  54 45 52 41 54 49 4f 4e  |AXIMUM ITERATION|
00004dd0  53 0d 1a b8 1f 2e 69 74  65 72 61 74 65 20 20 20  |S.....iterate   |
00004de0  20 20 20 20 20 20 42 4c  20 73 61 76 65 73 63 72  |      BL savescr|
00004df0  0d 1a c2 24 20 20 20 20  20 20 20 20 20 20 20 20  |...$            |
00004e00  20 20 20 20 20 53 57 49  20 22 4f 53 5f 57 72 69  |     SWI "OS_Wri|
00004e10  74 65 53 22 0d 1a cc 27  20 20 20 20 20 20 20 20  |teS"...'        |
00004e20  20 20 20 20 20 20 20 20  20 45 51 55 42 33 31 3a  |         EQUB31:|
00004e30  45 51 55 42 31 3a 45 51  55 42 31 0d 1a d6 45 20  |EQUB1:EQUB1...E |
00004e40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004e50  45 51 55 42 31 36 3a 45  51 55 42 31 37 3a 45 51  |EQUB16:EQUB17:EQ|
00004e60  55 42 31 32 37 3a 45 51  55 53 22 43 75 72 72 65  |UB127:EQUS"Curre|
00004e70  6e 74 20 49 74 65 72 61  74 69 6f 6e 73 3a 20 22  |nt Iterations: "|
00004e80  0d 1a e0 1b 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00004e90  20 20 20 20 20 45 51 55  42 20 30 0d 1a ea 1a 20  |     EQUB 0.... |
00004ea0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004eb0  41 4c 49 47 4e 0d 1a f4  24 2e 69 74 65 72 6c 6f  |ALIGN...$.iterlo|
00004ec0  6f 70 20 20 20 20 20 20  20 20 53 57 49 20 22 4f  |op        SWI "O|
00004ed0  53 5f 57 72 69 74 65 53  22 0d 1a fe 28 20 20 20  |S_WriteS"...(   |
00004ee0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 45 51  |              EQ|
00004ef0  55 42 33 31 3a 45 51 55  42 32 31 3a 45 51 55 42  |UB31:EQUB21:EQUB|
00004f00  31 0d 1b 08 1f 2e 6d 61  78 73 74 72 20 20 20 20  |1.....maxstr    |
00004f10  20 20 20 20 20 20 45 51  55 53 20 22 30 32 35 22  |      EQUS "025"|
00004f20  0d 1b 12 1b 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00004f30  20 20 20 20 20 45 51 55  42 20 30 0d 1b 1c 1a 20  |     EQUB 0.... |
00004f40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004f50  41 4c 49 47 4e 0d 1b 26  20 2e 67 65 74 6b 65 79  |ALIGN..& .getkey|
00004f60  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 52 30  |          MOV R0|
00004f70  2c 23 26 38 31 0d 1b 30  1e 20 20 20 20 20 20 20  |,#&81..0.       |
00004f80  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 52 31  |          MOV R1|
00004f90  2c 23 30 0d 1b 3a 1e 20  20 20 20 20 20 20 20 20  |,#0..:.         |
00004fa0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 32 2c 23  |        MOV R2,#|
00004fb0  30 0d 1b 44 22 20 20 20  20 20 20 20 20 20 20 20  |0..D"           |
00004fc0  20 20 20 20 20 20 53 57  49 20 22 4f 53 5f 42 79  |      SWI "OS_By|
00004fd0  74 65 22 0d 1b 4e 1f 20  20 20 20 20 20 20 20 20  |te"..N.         |
00004fe0  20 20 20 20 20 20 20 20  42 43 53 20 67 65 74 6b  |        BCS getk|
00004ff0  65 79 0d 1b 58 1f 20 20  20 20 20 20 20 20 20 20  |ey..X.          |
00005000  20 20 20 20 20 20 20 43  4d 50 20 52 31 2c 23 31  |       CMP R1,#1|
00005010  33 0d 1b 62 20 20 20 20  20 20 20 20 20 20 20 20  |3..b            |
00005020  20 20 20 20 20 20 42 45  51 20 69 74 65 72 67 6f  |      BEQ itergo|
00005030  74 0d 1b 6c 1f 20 20 20  20 20 20 20 20 20 20 20  |t..l.           |
00005040  20 20 20 20 20 20 43 4d  50 20 52 31 2c 23 34 38  |      CMP R1,#48|
00005050  0d 1b 76 1f 20 20 20 20  20 20 20 20 20 20 20 20  |..v.            |
00005060  20 20 20 20 20 42 43 43  20 67 65 74 6b 65 79 0d  |     BCC getkey.|
00005070  1b 80 1f 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00005080  20 20 20 20 43 4d 50 20  52 31 2c 23 35 38 0d 1b  |    CMP R1,#58..|
00005090  8a 1f 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
000050a0  20 20 20 42 43 53 20 67  65 74 6b 65 79 0d 1b 94  |   BCS getkey...|
000050b0  22 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |"               |
000050c0  20 20 41 44 52 20 52 30  2c 6d 61 78 73 74 72 0d  |  ADR R0,maxstr.|
000050d0  1b 9e 24 20 20 20 20 20  20 20 20 20 20 20 20 20  |..$             |
000050e0  20 20 20 20 4c 44 52 42  20 52 32 2c 5b 52 30 2c  |    LDRB R2,[R0,|
000050f0  23 31 5d 0d 1b a8 21 20  20 20 20 20 20 20 20 20  |#1]...!         |
00005100  20 20 20 20 20 20 20 20  53 54 52 42 20 52 32 2c  |        STRB R2,|
00005110  5b 52 30 5d 0d 1b b2 24  20 20 20 20 20 20 20 20  |[R0]...$        |
00005120  20 20 20 20 20 20 20 20  20 4c 44 52 42 20 52 32  |         LDRB R2|
00005130  2c 5b 52 30 2c 23 32 5d  0d 1b bc 24 20 20 20 20  |,[R0,#2]...$    |
00005140  20 20 20 20 20 20 20 20  20 20 20 20 20 53 54 52  |             STR|
00005150  42 20 52 32 2c 5b 52 30  2c 23 31 5d 0d 1b c6 24  |B R2,[R0,#1]...$|
00005160  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005170  20 53 54 52 42 20 52 31  2c 5b 52 30 2c 23 32 5d  | STRB R1,[R0,#2]|
00005180  0d 1b d0 1f 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00005190  20 20 20 20 20 42 20 69  74 65 72 6c 6f 6f 70 0d  |     B iterloop.|
000051a0  1b da 22 2e 69 74 65 72  67 6f 74 20 20 20 20 20  |..".itergot     |
000051b0  20 20 20 20 41 44 52 20  52 30 2c 6d 61 78 73 74  |    ADR R0,maxst|
000051c0  72 0d 1b e4 21 20 20 20  20 20 20 20 20 20 20 20  |r...!           |
000051d0  20 20 20 20 20 20 4c 44  52 42 20 52 31 2c 5b 52  |      LDRB R1,[R|
000051e0  30 5d 0d 1b ee 22 20 20  20 20 20 20 20 20 20 20  |0]..."          |
000051f0  20 20 20 20 20 20 20 53  55 42 20 52 31 2c 52 31  |       SUB R1,R1|
00005200  2c 23 34 38 0d 1b f8 20  20 20 20 20 20 20 20 20  |,#48...         |
00005210  20 20 20 20 20 20 20 20  20 4d 4f 56 20 52 32 2c  |         MOV R2,|
00005220  23 31 30 30 0d 1c 02 21  20 20 20 20 20 20 20 20  |#100...!        |
00005230  20 20 20 20 20 20 20 20  20 4d 55 4c 20 52 33 2c  |         MUL R3,|
00005240  52 32 2c 52 31 0d 1c 0c  1e 20 20 20 20 20 20 20  |R2,R1....       |
00005250  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 52 34  |          MOV R4|
00005260  2c 52 33 0d 1c 16 24 20  20 20 20 20 20 20 20 20  |,R3...$         |
00005270  20 20 20 20 20 20 20 20  4c 44 52 42 20 52 31 2c  |        LDRB R1,|
00005280  5b 52 30 2c 23 31 5d 0d  1c 20 22 20 20 20 20 20  |[R0,#1].. "     |
00005290  20 20 20 20 20 20 20 20  20 20 20 20 53 55 42 20  |            SUB |
000052a0  52 31 2c 52 31 2c 23 34  38 0d 1c 2a 1f 20 20 20  |R1,R1,#48..*.   |
000052b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 4d 4f  |              MO|
000052c0  56 20 52 32 2c 23 31 30  0d 1c 34 21 20 20 20 20  |V R2,#10..4!    |
000052d0  20 20 20 20 20 20 20 20  20 20 20 20 20 4d 55 4c  |             MUL|
000052e0  20 52 33 2c 52 32 2c 52  31 0d 1c 3e 21 20 20 20  | R3,R2,R1..>!   |
000052f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 41 44  |              AD|
00005300  44 20 52 34 2c 52 34 2c  52 33 0d 1c 48 24 20 20  |D R4,R4,R3..H$  |
00005310  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4c  |               L|
00005320  44 52 42 20 52 31 2c 5b  52 30 2c 23 32 5d 0d 1c  |DRB R1,[R0,#2]..|
00005330  52 22 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |R"              |
00005340  20 20 20 53 55 42 20 52  31 2c 52 31 2c 23 34 38  |   SUB R1,R1,#48|
00005350  0d 1c 5c 21 20 20 20 20  20 20 20 20 20 20 20 20  |..\!            |
00005360  20 20 20 20 20 41 44 44  20 52 34 2c 52 34 2c 52  |     ADD R4,R4,R|
00005370  31 0d 1c 66 22 20 20 20  20 20 20 20 20 20 20 20  |1..f"           |
00005380  20 20 20 20 20 20 41 44  52 20 52 30 2c 6d 61 78  |      ADR R0,max|
00005390  69 61 64 0d 1c 70 20 20  20 20 20 20 20 20 20 20  |iad..p          |
000053a0  20 20 20 20 20 20 20 20  4c 44 52 20 52 30 2c 5b  |        LDR R0,[|
000053b0  52 30 5d 0d 1c 7a 20 20  20 20 20 20 20 20 20 20  |R0]..z          |
000053c0  20 20 20 20 20 20 20 20  53 54 52 20 52 34 2c 5b  |        STR R4,[|
000053d0  52 30 5d 0d 1c 84 1f 20  20 20 20 20 20 20 20 20  |R0]....         |
000053e0  20 20 20 20 20 20 20 20  42 4c 20 6c 6f 61 64 73  |        BL loads|
000053f0  63 72 0d 1c 8e 1f 20 20  20 20 20 20 20 20 20 20  |cr....          |
00005400  20 20 20 20 20 20 20 42  4c 20 70 6c 6f 74 74 65  |       BL plotte|
00005410  72 0d 1c 98 1d 20 20 20  20 20 20 20 20 20 20 20  |r....           |
00005420  20 20 20 20 20 20 42 20  6d 70 6c 6f 6f 70 0d 1c  |      B mploop..|
00005430  a2 1f 2e 6d 61 78 69 61  64 20 20 20 20 20 20 20  |...maxiad       |
00005440  20 20 20 45 51 55 44 20  6d 61 78 69 74 0d 1c ac  |   EQUD maxit...|
00005450  05 3a 0d 1c b6 0f 5c 20  fb 20 43 59 43 4c 49 4e  |.:....\ . CYCLIN|
00005460  47 0d 1c c0 05 3a 0d 1c  ca 1e 2e 63 6f 6c 63 79  |G....:.....colcy|
00005470  63 6c 65 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |cle        MOV R|
00005480  35 2c 23 30 0d 1c d4 23  20 20 20 20 20 20 20 20  |5,#0...#        |
00005490  20 20 20 20 20 20 20 20  20 53 57 49 20 22 4f 53  |         SWI "OS|
000054a0  5f 4d 6f 75 73 65 22 0d  1c de 1e 20 20 20 20 20  |_Mouse"....     |
000054b0  20 20 20 20 20 20 20 20  20 20 20 20 43 4d 50 20  |            CMP |
000054c0  52 32 2c 23 30 0d 1c e8  21 20 20 20 20 20 20 20  |R2,#0...!       |
000054d0  20 20 20 20 20 20 20 20  20 20 42 4e 45 20 63 6f  |          BNE co|
000054e0  6c 63 79 63 6c 65 0d 1c  f2 1f 20 20 20 20 20 20  |lcycle....      |
000054f0  20 20 20 20 20 20 20 20  20 20 20 42 4c 20 73 61  |           BL sa|
00005500  76 65 73 63 72 0d 1c fc  1f 2e 63 79 6c 6f 6f 70  |vescr.....cyloop|
00005510  20 20 20 20 20 20 20 20  20 20 42 4c 20 73 65 74  |          BL set|
00005520  63 6f 6c 73 0d 1d 06 21  20 20 20 20 20 20 20 20  |cols...!        |
00005530  20 20 20 20 20 20 20 20  20 41 44 44 20 52 35 2c  |         ADD R5,|
00005540  52 35 2c 23 31 0d 1d 10  21 20 20 20 20 20 20 20  |R5,#1...!       |
00005550  20 20 20 20 20 20 20 20  20 20 80 20 52 35 2c 52  |          . R5,R|
00005560  35 2c 23 32 35 35 0d 1d  1a 1e 20 20 20 20 20 20  |5,#255....      |
00005570  20 20 20 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |           MOV R|
00005580  30 2c 23 30 0d 1d 24 21  2e 77 61 73 74 65 74 69  |0,#0..$!.wasteti|
00005590  6d 65 20 20 20 20 20 20  20 41 44 44 20 52 30 2c  |me       ADD R0,|
000055a0  52 30 2c 23 31 0d 1d 2e  22 20 20 20 20 20 20 20  |R0,#1..."       |
000055b0  20 20 20 20 20 20 20 20  20 20 43 4d 50 20 52 30  |          CMP R0|
000055c0  2c 23 26 31 30 30 30 0d  1d 38 22 20 20 20 20 20  |,#&1000..8"     |
000055d0  20 20 20 20 20 20 20 20  20 20 20 20 42 4e 45 20  |            BNE |
000055e0  77 61 73 74 65 74 69 6d  65 0d 1d 42 23 20 20 20  |wastetime..B#   |
000055f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 53 57  |              SW|
00005600  49 20 22 4f 53 5f 4d 6f  75 73 65 22 0d 1d 4c 1e  |I "OS_Mouse"..L.|
00005610  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005620  20 43 4d 50 20 52 32 2c  23 30 0d 1d 56 1f 20 20  | CMP R2,#0..V.  |
00005630  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 42  |               B|
00005640  45 51 20 63 79 6c 6f 6f  70 0d 1d 60 24 20 20 20  |EQ cyloop..`$   |
00005650  20 20 20 20 20 20 20 20  20 20 20 20 20 20 53 57  |              SW|
00005660  49 20 22 4f 53 5f 57 72  69 74 65 53 22 0d 1d 6a  |I "OS_WriteS"..j|
00005670  28 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |(               |
00005680  20 20 45 51 55 42 32 32  3a 45 51 55 42 31 35 3a  |  EQUB22:EQUB15:|
00005690  45 51 55 42 30 0d 1d 74  1a 20 20 20 20 20 20 20  |EQUB0..t.       |
000056a0  20 20 20 20 20 20 20 20  20 20 41 4c 49 47 4e 0d  |          ALIGN.|
000056b0  1d 7e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.~              |
000056c0  20 20 20 20 4d 4f 56 20  52 30 2c 23 31 30 36 0d  |    MOV R0,#106.|
000056d0  1d 88 1e 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000056e0  20 20 20 20 4d 4f 56 20  52 31 2c 23 31 0d 1d 92  |    MOV R1,#1...|
000056f0  22 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |"               |
00005700  20 20 53 57 49 20 22 4f  53 5f 42 79 74 65 22 0d  |  SWI "OS_Byte".|
00005710  1d 9c 1f 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00005720  20 20 20 20 42 4c 20 6c  6f 61 64 73 63 72 0d 1d  |    BL loadscr..|
00005730  a6 1d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00005740  20 20 20 42 20 6d 70 6c  6f 6f 70 0d 1d b0 05 3a  |   B mploop....:|
00005750  0d 1d ba 1e 2e 73 65 74  63 6f 6c 73 20 20 20 20  |.....setcols    |
00005760  20 20 20 20 20 4d 4f 56  20 52 34 2c 23 31 0d 1d  |     MOV R4,#1..|
00005770  c4 1e 2e 73 65 74 6c 6f  6f 70 20 20 20 20 20 20  |...setloop      |
00005780  20 20 20 4d 4f 56 20 52  33 2c 52 34 0d 1d ce 21  |   MOV R3,R4...!|
00005790  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000057a0  20 41 44 44 20 52 33 2c  52 33 2c 52 35 0d 1d d8  | ADD R3,R3,R5...|
000057b0  21 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |!               |
000057c0  20 20 80 20 52 33 2c 52  33 2c 23 31 32 37 0d 1d  |  . R3,R3,#127..|
000057d0  e2 27 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.'              |
000057e0  20 20 20 41 44 52 20 52  32 2c 28 76 64 75 63 6f  |   ADR R2,(vduco|
000057f0  6c 73 2b 32 29 0d 1d ec  21 20 20 20 20 20 20 20  |ls+2)...!       |
00005800  20 20 20 20 20 20 20 20  20 20 53 54 52 42 20 52  |          STRB R|
00005810  33 2c 5b 52 32 5d 0d 1d  f6 27 20 20 20 20 20 20  |3,[R2]...'      |
00005820  20 20 20 20 20 20 20 20  20 20 20 41 44 52 20 52  |           ADR R|
00005830  32 2c 28 76 64 75 63 6f  6c 73 2b 31 29 0d 1e 00  |2,(vducols+1)...|
00005840  21 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |!               |
00005850  20 20 53 54 52 42 20 52  34 2c 5b 52 32 5d 0d 1e  |  STRB R4,[R2]..|
00005860  0a 24 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.$              |
00005870  20 20 20 53 57 49 20 22  4f 53 5f 57 72 69 74 65  |   SWI "OS_Write|
00005880  53 22 0d 1e 14 2d 2e 76  64 75 63 6f 6c 73 20 20  |S"...-.vducols  |
00005890  20 20 20 20 20 20 20 45  51 55 42 31 39 3a 45 51  |       EQUB19:EQ|
000058a0  55 42 31 3a 45 51 55 42  31 3a 45 51 55 42 30 0d  |UB1:EQUB1:EQUB0.|
000058b0  1e 1e 1c 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000058c0  20 20 20 20 53 57 49 20  32 35 36 0d 1e 28 1c 20  |    SWI 256..(. |
000058d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000058e0  53 57 49 20 32 35 36 0d  1e 32 1c 20 20 20 20 20  |SWI 256..2.     |
000058f0  20 20 20 20 20 20 20 20  20 20 20 20 53 57 49 20  |            SWI |
00005900  32 35 36 0d 1e 3c 1c 20  20 20 20 20 20 20 20 20  |256..<.         |
00005910  20 20 20 20 20 20 20 20  53 57 49 20 32 35 36 0d  |        SWI 256.|
00005920  1e 46 21 20 20 20 20 20  20 20 20 20 20 20 20 20  |.F!             |
00005930  20 20 20 20 41 44 44 20  52 34 2c 52 34 2c 23 31  |    ADD R4,R4,#1|
00005940  0d 1e 50 20 20 20 20 20  20 20 20 20 20 20 20 20  |..P             |
00005950  20 20 20 20 20 43 4d 50  20 52 34 2c 23 32 35 36  |     CMP R4,#256|
00005960  0d 1e 5a 20 20 20 20 20  20 20 20 20 20 20 20 20  |..Z             |
00005970  20 20 20 20 20 42 4e 45  20 73 65 74 6c 6f 6f 70  |     BNE setloop|
00005980  0d 1e 64 1f 20 20 20 20  20 20 20 20 20 20 20 20  |..d.            |
00005990  20 20 20 20 20 4d 4f 56  20 50 43 2c 52 31 34 0d  |     MOV PC,R14.|
000059a0  1e 6e 05 3a 0d 1e 78 0f  5c 20 53 43 52 45 45 4e  |.n.:..x.\ SCREEN|
000059b0  20 c7 9a 0d 1e 82 05 3a  0d 1e 8c 23 2e 73 63 72  | ......:...#.scr|
000059c0  73 74 6f 72 65 20 20 20  20 20 20 20 20 41 44 52  |store        ADR|
000059d0  20 52 30 2c 72 61 6d 64  69 73 63 0d 1e 96 21 20  | R0,ramdisc...! |
000059e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000059f0  53 57 49 20 22 4f 53 5f  43 4c 49 22 0d 1e a0 22  |SWI "OS_CLI"..."|
00005a00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005a10  20 41 44 52 20 52 30 2c  73 63 72 73 61 76 0d 1e  | ADR R0,scrsav..|
00005a20  aa 21 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.!              |
00005a30  20 20 20 53 57 49 20 22  4f 53 5f 43 4c 49 22 0d  |   SWI "OS_CLI".|
00005a40  1e b4 1d 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00005a50  20 20 20 20 42 20 6d 70  6c 6f 6f 70 0d 1e be 24  |    B mploop...$|
00005a60  2e 72 61 6d 64 69 73 63  20 20 20 20 20 20 20 20  |.ramdisc        |
00005a70  20 45 51 55 53 22 52 41  4d 22 3a 45 51 55 44 30  | EQUS"RAM":EQUD0|
00005a80  0d 1e c8 35 2e 73 63 72  73 61 76 20 20 20 20 20  |...5.scrsav     |
00005a90  20 20 20 20 20 45 51 55  53 22 53 43 52 45 45 4e  |     EQUS"SCREEN|
00005aa0  53 41 56 45 20 6d 61 6e  64 65 6c 73 63 72 22 3a  |SAVE mandelscr":|
00005ab0  45 51 55 44 30 0d 1e d2  05 3a 0d 1e dc 09 41 4c  |EQUD0....:....AL|
00005ac0  49 47 4e 0d 1e e6 0b 2e  73 63 72 65 65 6e 0d 1e  |IGN.....screen..|
00005ad0  f0 05 5d 0d 1e fa 05 ed  0d 1f 04 30 f4 4f 53 43  |..]........0.OSC|
00005ae0  4c 49 20 28 22 4d 45 4d  4f 52 59 49 20 22 2b 53  |LI ("MEMORYI "+S|
00005af0  54 52 24 7e 7a 6f 6f 6d  69 6e 2b 22 20 2b 20 31  |TR$~zoomin+" + 1|
00005b00  30 30 22 29 3a 45 4e 44  0d 1f 0e 05 e1 0d ff     |00"):END.......|
00005b0f