Home » Personal collection » Acorn ADFS disks » Greaseweazled » adfs_IJJOBS21.adf » !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 ADFS disks » Greaseweazled » adfs_IJJOBS21.adf
Filename: !Mandel/!RUNIMAGe
Read OK:
File size: 5CE4 bytes
Load address: FFFFFB43
Exec address: 9A097EFB
Duplicates

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

File contents
   10REM Mandelbrot Set Plotter
   20REM By Dominic Ford
   30:
   40ON ERROR PROCerror:END
   50:
   60PROCassemble
   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"Back            "
 4690         EQUB31:EQUB64:EQUB14:EQUS"Reset           "
 4700         EQUB17:EQUB8
 4710         EQUB31:EQUB64:EQUB20:EQUS"Iterations      "
 4720         EQUB31:EQUB64:EQUB22:EQUS"Colour Cycling  "
 4730         EQUB31:EQUB64:EQUB24:EQUS"Save Screen     "
 4740         EQUB17:EQUB6
 4750         EQUB31:EQUB64:EQUB28:EQUS"Desktop         "
 4760         EQUB31:EQUB64:EQUB30:EQUS"Quit Program    "
 4770         EQUB17:EQUB128:EQUB0
 4780         ALIGN
 4790         BL plotter
 4800         ADR R1,plotad
 4810         LDR R1,[R1]
 4820         STR R0,[R1]
 4830         MOV R0,#1
 4840         ADR R1,prevad
 4850         LDR R1,[R1]
 4860         STR R0,[R1]
 4870         LDMFD R13!,{PC}
 4880.restart STMFD R13!,{R14}
 4890         SWI 256+22
 4900         SWI 256+15
 4910         MOV R0,#106
 4920         MOV R1,#1
 4930         SWI "OS_Byte"
 4940         SWI 256+23
 4950         SWI 256+1
 4960         SWI 256
 4970         SWI 256
 4980         SWI 256
 4990         SWI 256
 5000         SWI 256
 5010         SWI 256
 5020         SWI 256
 5030         SWI 256
 5040         BL loadscr
 5050         LDMFD R13!,{PC}
 5060.mandelplot
 5070         STMFD R13!,{R14}
 5080.mploop  ADR R0,plotad
 5090         LDR R0,[R0]
 5100         LDR R0,[R0]
 5110         CMP R0,#1
 5120         BNE noplot
 5130         BL contplot
 5140         ADR R1,plotad
 5150         LDR R1,[R1]
 5160         STR R0,[R1]
 5170.noplot  SWI "OS_Mouse"
 5180         CMP R2,#0
 5190         BEQ mploop
 5200         CMP R0,#1024
 5210         BCC boxout
 5220         B function
 5230.schoose EQUS "SCHOOSE logo":EQUD 0
 5240         ALIGN
 5250.ploty   EQUD 775
 5260         ALIGN
 5270:
 5280.boxout  BL mousebox
 5290         BL savescr
 5300         SWI"OS_Mouse"
 5310         ADR R2,xboxa
 5320         STR R0,[R2]
 5330         ADR R2,yboxa
 5340         STR R1,[R2]
 5350.boxoutl CMP R0,#1024
 5360         MOVCS R0,#1024
 5370         SUBCS R0,R0,#1
 5380         ADR R2,xboxb
 5390         STR R0,[R2]
 5400         ADR R2,yboxb
 5410         STR R1,[R2]
 5420         ADR R2,wimpad
 5430         LDR R2,[R2]
 5440         MOV R0,#1
 5450         STR R0,[R2]
 5460         BL mousebox
 5470         BL contplot
 5480         BL mousebox
 5490         SWI "OS_Mouse"
 5500         CMP R2,#0
 5510         BNE boxoutl
 5520         ADR R2,wimpad
 5530         LDR R2,[R2]
 5540         MOV R0,#0
 5550         STR R0,[R2]
 5560         BL loadscr
 5570         BL mousebox
 5580         B mploop
 5590.plotad  EQUD plotstat
 5600.wimpad  EQUD wimpstat
 5610.prevad  EQUD prev
 5620.function MOV R1,R1,LSR #5
 5630         CMP R1,#1
 5640         BEQ quittask
 5650         CMP R1,#3
 5660         BEQ desktop
 5670         CMP R1,#7
 5680         BEQ scrstore
 5690         CMP R1,#9
 5700         BEQ colcycle
 5710         CMP R1,#11
 5720         BEQ iterate
 5730         CMP R1,#17
 5740         BEQ resetpos
 5750         CMP R1,#21
 5760         BEQ zoomin
 5770         B mploop
 5780:
 5790\               QUIT FUNCTIONS
 5800:
 5810.desktop ADR R0,paletteout
 5820         SWI "OS_CLI"
 5830         LDMFD R13!,{PC}
 5840.quittask BL savescr
 5850         SWI 256+31
 5860         SWI 256
 5870         SWI 256
 5880         SWI "OS_WriteS"
 5890         EQUB16:EQUB17:EQUB127:EQUS"Quit: Are You Sure?"
 5900         EQUB13:EQUB10:EQUB13:EQUB10
 5910         EQUS"Click LEFT to quit; RIGHT to cancel.":EQUB0
 5920         ALIGN
 5930.stopcl  SWI"OS_Mouse"
 5940         CMP R2,#0
 5950         BNE stopcl
 5960.quitlop SWI"OS_Mouse"
 5970         CMP R2,#4
 5980         BEQ quitokay
 5990         CMP R2,#1
 6000         BLEQ loadscr
 6010         BEQ mploop
 6020         B quitlop
 6030.quitokay LDMFD R13!,{R0}
 6040         ADR R0,paletteout
 6050         SWI "OS_CLI"
 6060         MOV R0,#0
 6070         SUB R0,R0,#1
 6080         MOV R1,#0
 6090         MOV R2,#0
 6100         MOV R3,#1280
 6110         MOV R4,#1024
 6120         SWI "Wimp_ForceRedraw"
 6130         SWI "OS_Exit"
 6140.paletteout      EQUS "<Obey$Dir>.!POut"
 6150                 EQUD0:ALIGN
 6160:
 6170\        ZOOM FUNCTIONS
 6180:
 6190.resetpos        BL setup
 6200                 BL plotter
 6210                 B mploop
 6220:
 6230.zoomin          MOV R5,#0
 6240                 SWI "OS_Mouse"
 6250                 CMP R2,#0
 6260                 BNE zoomin
 6270                 ADR R0,xminad
 6280                 LDR R0,[R0]
 6290                 ADR R1,xstepad
 6300                 LDR R1,[R1]
 6310                 ADR R2,yminad
 6320                 LDR R2,[R2]
 6330                 ADR R3,ystepad
 6340                 LDR R3,[R3]
 6350                 ADR R4,xboxat
 6360                LDR R4,[R4]
 6370                 LDR R4,[R4]
 6380                 ADR R5,xboxbt
 6390                 LDR R5,[R5]
 6400                 LDR R5,[R5]
 6410                 CMP R4,R5
 6420                 MOVCS R6,R4
 6430                 MOVCS R4,R5
 6440                 MOVCS R5,R6
 6450                 ADR R6,yboxat
 6460                 LDR R6,[R6]
 6470                 LDR R6,[R6]
 6480                 ADR R7,yboxbt     \ R0=xmin
 6490                 LDR R7,[R7]       \ R1=xstep
 6500                 LDR R7,[R7]       \ R2=ymin
 6510                 CMP R6,R7         \ R3=ystep
 6520                 MOVCS R8,R6       \ R4=xboxa
 6530                 MOVCS R6,R7       \ R5=xboxb
 6540                 MOVCS R7,R8       \ R6=yboxa
 6550EQUD &ECF00100 \ LDFE F0,[R0]      \ R7=yboxb
 6560EQUD &ECF11100 \ LDFE F1,[R1]
 6570EQUD &EE0241D2 \ FLTE F2,R4
 6580EQUD &EE1A3101 \ MLFE F3,F2,F1
 6590EQUD &EE0B3100 \ ADFE F3,F3,F0
 6600EQUD &EE0451D4 \ FLTE F4,R5
 6610EQUD &EE1C5101 \ MLFE F5,F4,F1
 6620EQUD &EE0D5100 \ ADFE F5,F5,F0
 6630EQUD &EE2D5103 \ SBFE F5,F5,F3
 6640                 MOV R8,#1024
 6650EQUD &EE0681D6 \ FLTE F6,R8
 6660EQUD &EE4D7106 \ DVFE F7,F5,F6
 6670EQUD &ECE03100 \ STFE F3,[R0]
 6680EQUD &ECE17100 \ STFE F7,[R1]
 6690:
 6700EQUD &ECF20100 \ LDFE F0,[R2]
 6710EQUD &ECF31100 \ LDFE F1,[R3]
 6720EQUD &EE0261D2 \ FLTE F2,R6
 6730EQUD &EE1A3101 \ MLFE F3,F2,F1
 6740EQUD &EE0B3100 \ ADFE F3,F3,F0
 6750EQUD &EE0471D4 \ FLTE F4,R7
 6760EQUD &EE1C5101 \ MLFE F5,F4,F1
 6770EQUD &EE0D5100 \ ADFE F5,F5,F0
 6780EQUD &EE2D5103 \ SBFE F5,F5,F3
 6790EQUD &EE4D7106 \ DVFE F7,F5,F6
 6800EQUD &ECE23100 \ STFE F3,[R2]
 6810EQUD &ECE37100 \ STFE F7,[R3]
 6820                 BL plotter
 6830                 B mploop
 6840:
 6850.xminad          EQUD xmin
 6860.yminad          EQUD ymin
 6870.xstepad         EQUD xstep
 6880.ystepad         EQUD ystep
 6890.xboxat          EQUD xboxa
 6900.yboxat          EQUD yboxa
 6910.xboxbt          EQUD xboxb
 6920.yboxbt          EQUD yboxb
 6930:
 6940\ CHANGE MAXIMUM ITERATIONS
 6950.iterate         BL savescr
 6960                 SWI "OS_WriteS"
 6970                 EQUB31:EQUB1:EQUB1
 6980                 EQUB16:EQUB17:EQUB127:EQUS"Current Iterations: "
 6990                 EQUB 0
 7000                 ALIGN
 7010.iterloop        SWI "OS_WriteS"
 7020                 EQUB31:EQUB21:EQUB1
 7030.maxstr          EQUS "025"
 7040                 EQUB 0
 7050                 ALIGN
 7060.getkey          MOV R0,#&81
 7070                 MOV R1,#0
 7080                 MOV R2,#0
 7090                 SWI "OS_Byte"
 7100                 BCS getkey
 7110                 CMP R1,#13
 7120                 BEQ itergot
 7130                 CMP R1,#48
 7140                 BCC getkey
 7150                 CMP R1,#58
 7160                 BCS getkey
 7170                 ADR R0,maxstr
 7180                 LDRB R2,[R0,#1]
 7190                 STRB R2,[R0]
 7200                 LDRB R2,[R0,#2]
 7210                 STRB R2,[R0,#1]
 7220                 STRB R1,[R0,#2]
 7230                 B iterloop
 7240.itergot         ADR R0,maxstr
 7250                 LDRB R1,[R0]
 7260                 SUB R1,R1,#48
 7270                 MOV R2,#100
 7280                 MUL R3,R2,R1
 7290                 MOV R4,R3
 7300                 LDRB R1,[R0,#1]
 7310                 SUB R1,R1,#48
 7320                 MOV R2,#10
 7330                 MUL R3,R2,R1
 7340                 ADD R4,R4,R3
 7350                 LDRB R1,[R0,#2]
 7360                 SUB R1,R1,#48
 7370                 ADD R4,R4,R1
 7380                 ADR R0,maxiad
 7390                 LDR R0,[R0]
 7400                 STR R4,[R0]
 7410                 BL loadscr
 7420                 BL plotter
 7430                 B mploop
 7440.maxiad          EQUD maxit
 7450:
 7460\ COLOUR CYCLING
 7470:
 7480.colcycle        MOV R5,#0
 7490                 SWI "OS_Mouse"
 7500                 CMP R2,#0
 7510                 BNE colcycle
 7520                 BL savescr
 7530.cyloop          BL setcols
 7540                 MOV R0,#0
 7550.wastetime       ADD R0,R0,#1
 7560                 CMP R0,#&10000
 7570                 BNE wastetime
 7580                 SWI "OS_Mouse"
 7590                 CMP R2,#0
 7600                 BEQ cyloop
 7610                 SWI "OS_WriteS"
 7620                 EQUB22:EQUB15:EQUB0
 7630                 ALIGN
 7640                 MOV R0,#106
 7650                 MOV R1,#1
 7660                 SWI "OS_Byte"
 7670                 ADR R0,palettein
 7680                 SWI "OS_CLI"
 7690                 BL loadscr
 7700                 B mploop
 7710.palettein       EQUS "<Obey$Dir>.!PIn"
 7720                 EQUD 0:ALIGN
 7730:
 7740.setcols         ADR R0,startmem
 7750                 LDR R4,[R0]
 7760                 ADR R0,addition
 7770                 LDR R1,[R0]
 7780                 MOV R5,#0
 7790.setloop         LDR R3,[R4]
 7800                 ADD R3,R3,R1
 7810                 STR R3,[R4]
 7820                 ADD R4,R4,#4
 7830                 ADD R5,R5,#4
 7840                 CMP R5,#&200
 7850                 BCC setloop
 7860                 ADD R4,R4,#&80
 7870                 MOV R5,#0
 7880                 CMP R4,#&2000000
 7890                 BCC setloop
 7900                 MOV PC,R14
 7910.startmem EQUD &1FD8000
 7920.addition EQUD &1010101
 7930:
 7940\ SCREEN SAVE
 7950:
 7960.scrstore        ADR R0,ramdisc
 7970                 SWI "OS_CLI"
 7980                 ADR R0,scrsav
 7990                 SWI "OS_CLI"
 8000                 B mploop
 8010.ramdisc         EQUS"RAM":EQUD0
 8020.scrsav          EQUS"SCREENSAVE mandelscr":EQUD0
 8030:
 8040ALIGN
 8050.screen
 8060]
 8070NEXT
 8080REMOSCLI ("MEMORYI "+STR$~zoomin+" + 100"):END
 8090ENDPROC

� 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"Back            "
R8         EQUB31:EQUB64:EQUB14:EQUS"Reset           "
\         EQUB17:EQUB8
f8         EQUB31:EQUB64:EQUB20:EQUS"Iterations      "
p8         EQUB31:EQUB64:EQUB22:EQUS"Colour Cycling  "
z8         EQUB31:EQUB64:EQUB24:EQUS"Save Screen     "
�         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
8         MOV R1,#1
B         SWI "OS_Byte"
L         SWI 256+23
V         SWI 256+1
`         SWI 256
j         SWI 256
t         SWI 256
~         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]
2.noplot  SWI "OS_Mouse"
<         CMP R2,#0
F         BEQ mploop
P         CMP R0,#1024
Z         BCC boxout
d         B function
n'.schoose EQUS "SCHOOSE logo":EQUD 0
x         ALIGN
�.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
6         LDR R2,[R2]
@         MOV R0,#1
J         STR R0,[R2]
T         BL mousebox
^         BL contplot
h         BL mousebox
r         SWI "OS_Mouse"
|         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,#7
0         BEQ scrstore
:         CMP R1,#9
D         BEQ colcycle
N         CMP R1,#11
X         BEQ iterate
b         CMP R1,#17
l         BEQ resetpos
v         CMP R1,#21
�         BEQ zoomin
�         B mploop
�:
� \               Ș FUNCTIONS
�:
�.desktop ADR R0,paletteout
�         SWI "OS_CLI"
�         LDMFD R13!,{PC}
�.quittask BL savescr
�         SWI 256+31
�         SWI 256
�         SWI 256
�         SWI "OS_WriteS"
<         EQUB16:EQUB17:EQUB127:EQUS"Quit: Are You Sure?"
(         EQUB13:EQUB10:EQUB13:EQUB10
=         EQUS"Click LEFT to quit; RIGHT to cancel.":EQUB0
          ALIGN
*.stopcl  SWI"OS_Mouse"
4         CMP R2,#0
>         BNE stopcl
H.quitlop SWI"OS_Mouse"
R         CMP R2,#4
\         BEQ quitokay
f         CMP R2,#1
p         BLEQ loadscr
z         BEQ mploop
�         B quitlop
�.quitokay LDMFD R13!,{R0}
�         ADR R0,paletteout
�         SWI "OS_CLI"
�         MOV R0,#0
�         SUB R0,R0,#1
�         MOV R1,#0
�         MOV R2,#0
�         MOV R3,#1280
�         MOV R4,#1024
�#         SWI "Wimp_ForceRedraw"
�         SWI "OS_Exit"
�,.paletteout      EQUS "<Obey$Dir>.!POut"
                  EQUD0:ALIGN
:
\        ZOOM FUNCTIONS
$:
..resetpos        BL setup
8                 BL plotter
B                 B mploop
L:
V.zoomin          MOV R5,#0
`#                 SWI "OS_Mouse"
j                 CMP R2,#0
t                 BNE zoomin
~"                 ADR R0,xminad
�                  LDR R0,[R0]
�#                 ADR R1,xstepad
�                  LDR R1,[R1]
�"                 ADR R2,yminad
�                  LDR R2,[R2]
�#                 ADR R3,ystepad
�                  LDR R3,[R3]
�"                 ADR R4,xboxat
�                LDR R4,[R4]
�                  LDR R4,[R4]
�"                 ADR R5,xboxbt
�                  LDR R5,[R5]
                  LDR R5,[R5]

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

                 BL loadscr
                 B mploop
+.palettein       EQUS "<Obey$Dir>.!PIn"
(!                 EQUD 0:ALIGN
2:
<$.setcols         ADR R0,startmem
F                  LDR R4,[R0]
P$                 ADR R0,addition
Z                  LDR R1,[R0]
d                 MOV R5,#0
n .setloop         LDR R3,[R4]
x!                 ADD R3,R3,R1
�                  STR R3,[R4]
�!                 ADD R4,R4,#4
�!                 ADD R5,R5,#4
�!                 CMP R5,#&200
�                  BCC setloop
�#                 ADD R4,R4,#&80
�                 MOV R5,#0
�%                 CMP R4,#&2000000
�                  BCC setloop
�                 MOV PC,R14
�.startmem EQUD &1FD8000
�.addition EQUD &1010101
�:
\ SCREEN ǚ
:
#.scrstore        ADR R0,ramdisc
"!                 SWI "OS_CLI"
,"                 ADR R0,scrsav
6!                 SWI "OS_CLI"
@                 B mploop
J$.ramdisc         EQUS"RAM":EQUD0
T5.scrsav          EQUS"SCREENSAVE mandelscr":EQUD0
^:
h	ALIGN
r.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 42 61 63 6b 20 20  20 20 20 20 20 20 20 20  |S"Back          |
000036a0  20 20 22 0d 12 52 38 20  20 20 20 20 20 20 20 20  |  "..R8         |
000036b0  45 51 55 42 33 31 3a 45  51 55 42 36 34 3a 45 51  |EQUB31:EQUB64:EQ|
000036c0  55 42 31 34 3a 45 51 55  53 22 52 65 73 65 74 20  |UB14:EQUS"Reset |
000036d0  20 20 20 20 20 20 20 20  20 20 22 0d 12 5c 19 20  |          "..\. |
000036e0  20 20 20 20 20 20 20 20  45 51 55 42 31 37 3a 45  |        EQUB17:E|
000036f0  51 55 42 38 0d 12 66 38  20 20 20 20 20 20 20 20  |QUB8..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 32 30 3a 45 51  55 53 22 49 74 65 72 61  |QUB20:EQUS"Itera|
00003720  74 69 6f 6e 73 20 20 20  20 20 20 22 0d 12 70 38  |tions      "..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 32 3a 45 51  |EQUB64:EQUB22:EQ|
00003750  55 53 22 43 6f 6c 6f 75  72 20 43 79 63 6c 69 6e  |US"Colour Cyclin|
00003760  67 20 20 22 0d 12 7a 38  20 20 20 20 20 20 20 20  |g  "..z8        |
00003770  20 45 51 55 42 33 31 3a  45 51 55 42 36 34 3a 45  | EQUB31:EQUB64:E|
00003780  51 55 42 32 34 3a 45 51  55 53 22 53 61 76 65 20  |QUB24:EQUS"Save |
00003790  53 63 72 65 65 6e 20 20  20 20 20 22 0d 12 84 19  |Screen     "....|
000037a0  20 20 20 20 20 20 20 20  20 45 51 55 42 31 37 3a  |         EQUB17:|
000037b0  45 51 55 42 36 0d 12 8e  38 20 20 20 20 20 20 20  |EQUB6...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 32 38 3a 45  51 55 53 22 44 65 73 6b  |EQUB28:EQUS"Desk|
000037e0  74 6f 70 20 20 20 20 20  20 20 20 20 22 0d 12 98  |top         "...|
000037f0  38 20 20 20 20 20 20 20  20 20 45 51 55 42 33 31  |8         EQUB31|
00003800  3a 45 51 55 42 36 34 3a  45 51 55 42 33 30 3a 45  |:EQUB64:EQUB30:E|
00003810  51 55 53 22 51 75 69 74  20 50 72 6f 67 72 61 6d  |QUS"Quit Program|
00003820  20 20 20 20 22 0d 12 a2  21 20 20 20 20 20 20 20  |    "...!       |
00003830  20 20 45 51 55 42 31 37  3a 45 51 55 42 31 32 38  |  EQUB17:EQUB128|
00003840  3a 45 51 55 42 30 0d 12  ac 12 20 20 20 20 20 20  |:EQUB0....      |
00003850  20 20 20 41 4c 49 47 4e  0d 12 b6 17 20 20 20 20  |   ALIGN....    |
00003860  20 20 20 20 20 42 4c 20  70 6c 6f 74 74 65 72 0d  |     BL plotter.|
00003870  12 c0 1a 20 20 20 20 20  20 20 20 20 41 44 52 20  |...         ADR |
00003880  52 31 2c 70 6c 6f 74 61  64 0d 12 ca 18 20 20 20  |R1,plotad....   |
00003890  20 20 20 20 20 20 4c 44  52 20 52 31 2c 5b 52 31  |      LDR R1,[R1|
000038a0  5d 0d 12 d4 18 20 20 20  20 20 20 20 20 20 53 54  |]....         ST|
000038b0  52 20 52 30 2c 5b 52 31  5d 0d 12 de 16 20 20 20  |R R0,[R1]....   |
000038c0  20 20 20 20 20 20 4d 4f  56 20 52 30 2c 23 31 0d  |      MOV R0,#1.|
000038d0  12 e8 1a 20 20 20 20 20  20 20 20 20 41 44 52 20  |...         ADR |
000038e0  52 31 2c 70 72 65 76 61  64 0d 12 f2 18 20 20 20  |R1,prevad....   |
000038f0  20 20 20 20 20 20 4c 44  52 20 52 31 2c 5b 52 31  |      LDR R1,[R1|
00003900  5d 0d 12 fc 18 20 20 20  20 20 20 20 20 20 53 54  |]....         ST|
00003910  52 20 52 30 2c 5b 52 31  5d 0d 13 06 1c 20 20 20  |R R0,[R1]....   |
00003920  20 20 20 20 20 20 4c 44  4d 46 44 20 52 31 33 21  |      LDMFD R13!|
00003930  2c 7b 50 43 7d 0d 13 10  1d 2e 72 65 73 74 61 72  |,{PC}.....restar|
00003940  74 20 53 54 4d 46 44 20  52 31 33 21 2c 7b 52 31  |t STMFD R13!,{R1|
00003950  34 7d 0d 13 1a 17 20 20  20 20 20 20 20 20 20 53  |4}....         S|
00003960  57 49 20 32 35 36 2b 32  32 0d 13 24 17 20 20 20  |WI 256+22..$.   |
00003970  20 20 20 20 20 20 53 57  49 20 32 35 36 2b 31 35  |      SWI 256+15|
00003980  0d 13 2e 18 20 20 20 20  20 20 20 20 20 4d 4f 56  |....         MOV|
00003990  20 52 30 2c 23 31 30 36  0d 13 38 16 20 20 20 20  | R0,#106..8.    |
000039a0  20 20 20 20 20 4d 4f 56  20 52 31 2c 23 31 0d 13  |     MOV R1,#1..|
000039b0  42 1a 20 20 20 20 20 20  20 20 20 53 57 49 20 22  |B.         SWI "|
000039c0  4f 53 5f 42 79 74 65 22  0d 13 4c 17 20 20 20 20  |OS_Byte"..L.    |
000039d0  20 20 20 20 20 53 57 49  20 32 35 36 2b 32 33 0d  |     SWI 256+23.|
000039e0  13 56 16 20 20 20 20 20  20 20 20 20 53 57 49 20  |.V.         SWI |
000039f0  32 35 36 2b 31 0d 13 60  14 20 20 20 20 20 20 20  |256+1..`.       |
00003a00  20 20 53 57 49 20 32 35  36 0d 13 6a 14 20 20 20  |  SWI 256..j.   |
00003a10  20 20 20 20 20 20 53 57  49 20 32 35 36 0d 13 74  |      SWI 256..t|
00003a20  14 20 20 20 20 20 20 20  20 20 53 57 49 20 32 35  |.         SWI 25|
00003a30  36 0d 13 7e 14 20 20 20  20 20 20 20 20 20 53 57  |6..~.         SW|
00003a40  49 20 32 35 36 0d 13 88  14 20 20 20 20 20 20 20  |I 256....       |
00003a50  20 20 53 57 49 20 32 35  36 0d 13 92 14 20 20 20  |  SWI 256....   |
00003a60  20 20 20 20 20 20 53 57  49 20 32 35 36 0d 13 9c  |      SWI 256...|
00003a70  14 20 20 20 20 20 20 20  20 20 53 57 49 20 32 35  |.         SWI 25|
00003a80  36 0d 13 a6 14 20 20 20  20 20 20 20 20 20 53 57  |6....         SW|
00003a90  49 20 32 35 36 0d 13 b0  17 20 20 20 20 20 20 20  |I 256....       |
00003aa0  20 20 42 4c 20 6c 6f 61  64 73 63 72 0d 13 ba 1c  |  BL loadscr....|
00003ab0  20 20 20 20 20 20 20 20  20 4c 44 4d 46 44 20 52  |         LDMFD R|
00003ac0  31 33 21 2c 7b 50 43 7d  0d 13 c4 0f 2e 6d 61 6e  |13!,{PC}.....man|
00003ad0  64 65 6c 70 6c 6f 74 0d  13 ce 1d 20 20 20 20 20  |delplot....     |
00003ae0  20 20 20 20 53 54 4d 46  44 20 52 31 33 21 2c 7b  |    STMFD R13!,{|
00003af0  52 31 34 7d 0d 13 d8 1a  2e 6d 70 6c 6f 6f 70 20  |R14}.....mploop |
00003b00  20 41 44 52 20 52 30 2c  70 6c 6f 74 61 64 0d 13  | ADR R0,plotad..|
00003b10  e2 18 20 20 20 20 20 20  20 20 20 4c 44 52 20 52  |..         LDR R|
00003b20  30 2c 5b 52 30 5d 0d 13  ec 18 20 20 20 20 20 20  |0,[R0]....      |
00003b30  20 20 20 4c 44 52 20 52  30 2c 5b 52 30 5d 0d 13  |   LDR R0,[R0]..|
00003b40  f6 16 20 20 20 20 20 20  20 20 20 43 4d 50 20 52  |..         CMP R|
00003b50  30 2c 23 31 0d 14 00 17  20 20 20 20 20 20 20 20  |0,#1....        |
00003b60  20 42 4e 45 20 6e 6f 70  6c 6f 74 0d 14 0a 18 20  | BNE noplot.... |
00003b70  20 20 20 20 20 20 20 20  42 4c 20 63 6f 6e 74 70  |        BL contp|
00003b80  6c 6f 74 0d 14 14 1a 20  20 20 20 20 20 20 20 20  |lot....         |
00003b90  41 44 52 20 52 31 2c 70  6c 6f 74 61 64 0d 14 1e  |ADR R1,plotad...|
00003ba0  18 20 20 20 20 20 20 20  20 20 4c 44 52 20 52 31  |.         LDR R1|
00003bb0  2c 5b 52 31 5d 0d 14 28  18 20 20 20 20 20 20 20  |,[R1]..(.       |
00003bc0  20 20 53 54 52 20 52 30  2c 5b 52 31 5d 0d 14 32  |  STR R0,[R1]..2|
00003bd0  1b 2e 6e 6f 70 6c 6f 74  20 20 53 57 49 20 22 4f  |..noplot  SWI "O|
00003be0  53 5f 4d 6f 75 73 65 22  0d 14 3c 16 20 20 20 20  |S_Mouse"..<.    |
00003bf0  20 20 20 20 20 43 4d 50  20 52 32 2c 23 30 0d 14  |     CMP R2,#0..|
00003c00  46 17 20 20 20 20 20 20  20 20 20 42 45 51 20 6d  |F.         BEQ m|
00003c10  70 6c 6f 6f 70 0d 14 50  19 20 20 20 20 20 20 20  |ploop..P.       |
00003c20  20 20 43 4d 50 20 52 30  2c 23 31 30 32 34 0d 14  |  CMP R0,#1024..|
00003c30  5a 17 20 20 20 20 20 20  20 20 20 42 43 43 20 62  |Z.         BCC b|
00003c40  6f 78 6f 75 74 0d 14 64  17 20 20 20 20 20 20 20  |oxout..d.       |
00003c50  20 20 42 20 66 75 6e 63  74 69 6f 6e 0d 14 6e 27  |  B function..n'|
00003c60  2e 73 63 68 6f 6f 73 65  20 45 51 55 53 20 22 53  |.schoose EQUS "S|
00003c70  43 48 4f 4f 53 45 20 6c  6f 67 6f 22 3a 45 51 55  |CHOOSE logo":EQU|
00003c80  44 20 30 0d 14 78 12 20  20 20 20 20 20 20 20 20  |D 0..x.         |
00003c90  41 4c 49 47 4e 0d 14 82  15 2e 70 6c 6f 74 79 20  |ALIGN.....ploty |
00003ca0  20 20 45 51 55 44 20 37  37 35 0d 14 8c 12 20 20  |  EQUD 775....  |
00003cb0  20 20 20 20 20 20 20 41  4c 49 47 4e 0d 14 96 05  |       ALIGN....|
00003cc0  3a 0d 14 a0 18 2e 62 6f  78 6f 75 74 20 20 42 4c  |:.....boxout  BL|
00003cd0  20 6d 6f 75 73 65 62 6f  78 0d 14 aa 17 20 20 20  | mousebox....   |
00003ce0  20 20 20 20 20 20 42 4c  20 73 61 76 65 73 63 72  |      BL savescr|
00003cf0  0d 14 b4 1a 20 20 20 20  20 20 20 20 20 53 57 49  |....         SWI|
00003d00  22 4f 53 5f 4d 6f 75 73  65 22 0d 14 be 19 20 20  |"OS_Mouse"....  |
00003d10  20 20 20 20 20 20 20 41  44 52 20 52 32 2c 78 62  |       ADR R2,xb|
00003d20  6f 78 61 0d 14 c8 18 20  20 20 20 20 20 20 20 20  |oxa....         |
00003d30  53 54 52 20 52 30 2c 5b  52 32 5d 0d 14 d2 19 20  |STR R0,[R2].... |
00003d40  20 20 20 20 20 20 20 20  41 44 52 20 52 32 2c 79  |        ADR R2,y|
00003d50  62 6f 78 61 0d 14 dc 18  20 20 20 20 20 20 20 20  |boxa....        |
00003d60  20 53 54 52 20 52 31 2c  5b 52 32 5d 0d 14 e6 19  | STR R1,[R2]....|
00003d70  2e 62 6f 78 6f 75 74 6c  20 43 4d 50 20 52 30 2c  |.boxoutl CMP R0,|
00003d80  23 31 30 32 34 0d 14 f0  1b 20 20 20 20 20 20 20  |#1024....       |
00003d90  20 20 4d 4f 56 43 53 20  52 30 2c 23 31 30 32 34  |  MOVCS R0,#1024|
00003da0  0d 14 fa 1b 20 20 20 20  20 20 20 20 20 53 55 42  |....         SUB|
00003db0  43 53 20 52 30 2c 52 30  2c 23 31 0d 15 04 19 20  |CS R0,R0,#1.... |
00003dc0  20 20 20 20 20 20 20 20  41 44 52 20 52 32 2c 78  |        ADR R2,x|
00003dd0  62 6f 78 62 0d 15 0e 18  20 20 20 20 20 20 20 20  |boxb....        |
00003de0  20 53 54 52 20 52 30 2c  5b 52 32 5d 0d 15 18 19  | STR R0,[R2]....|
00003df0  20 20 20 20 20 20 20 20  20 41 44 52 20 52 32 2c  |         ADR R2,|
00003e00  79 62 6f 78 62 0d 15 22  18 20 20 20 20 20 20 20  |yboxb..".       |
00003e10  20 20 53 54 52 20 52 31  2c 5b 52 32 5d 0d 15 2c  |  STR R1,[R2]..,|
00003e20  1a 20 20 20 20 20 20 20  20 20 41 44 52 20 52 32  |.         ADR R2|
00003e30  2c 77 69 6d 70 61 64 0d  15 36 18 20 20 20 20 20  |,wimpad..6.     |
00003e40  20 20 20 20 4c 44 52 20  52 32 2c 5b 52 32 5d 0d  |    LDR R2,[R2].|
00003e50  15 40 16 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |.@.         MOV |
00003e60  52 30 2c 23 31 0d 15 4a  18 20 20 20 20 20 20 20  |R0,#1..J.       |
00003e70  20 20 53 54 52 20 52 30  2c 5b 52 32 5d 0d 15 54  |  STR R0,[R2]..T|
00003e80  18 20 20 20 20 20 20 20  20 20 42 4c 20 6d 6f 75  |.         BL mou|
00003e90  73 65 62 6f 78 0d 15 5e  18 20 20 20 20 20 20 20  |sebox..^.       |
00003ea0  20 20 42 4c 20 63 6f 6e  74 70 6c 6f 74 0d 15 68  |  BL contplot..h|
00003eb0  18 20 20 20 20 20 20 20  20 20 42 4c 20 6d 6f 75  |.         BL mou|
00003ec0  73 65 62 6f 78 0d 15 72  1b 20 20 20 20 20 20 20  |sebox..r.       |
00003ed0  20 20 53 57 49 20 22 4f  53 5f 4d 6f 75 73 65 22  |  SWI "OS_Mouse"|
00003ee0  0d 15 7c 16 20 20 20 20  20 20 20 20 20 43 4d 50  |..|.         CMP|
00003ef0  20 52 32 2c 23 30 0d 15  86 18 20 20 20 20 20 20  | R2,#0....      |
00003f00  20 20 20 42 4e 45 20 62  6f 78 6f 75 74 6c 0d 15  |   BNE boxoutl..|
00003f10  90 1a 20 20 20 20 20 20  20 20 20 41 44 52 20 52  |..         ADR R|
00003f20  32 2c 77 69 6d 70 61 64  0d 15 9a 18 20 20 20 20  |2,wimpad....    |
00003f30  20 20 20 20 20 4c 44 52  20 52 32 2c 5b 52 32 5d  |     LDR R2,[R2]|
00003f40  0d 15 a4 16 20 20 20 20  20 20 20 20 20 4d 4f 56  |....         MOV|
00003f50  20 52 30 2c 23 30 0d 15  ae 18 20 20 20 20 20 20  | R0,#0....      |
00003f60  20 20 20 53 54 52 20 52  30 2c 5b 52 32 5d 0d 15  |   STR R0,[R2]..|
00003f70  b8 17 20 20 20 20 20 20  20 20 20 42 4c 20 6c 6f  |..         BL lo|
00003f80  61 64 73 63 72 0d 15 c2  18 20 20 20 20 20 20 20  |adscr....       |
00003f90  20 20 42 4c 20 6d 6f 75  73 65 62 6f 78 0d 15 cc  |  BL mousebox...|
00003fa0  15 20 20 20 20 20 20 20  20 20 42 20 6d 70 6c 6f  |.         B mplo|
00003fb0  6f 70 0d 15 d6 1a 2e 70  6c 6f 74 61 64 20 20 45  |op.....plotad  E|
00003fc0  51 55 44 20 70 6c 6f 74  73 74 61 74 0d 15 e0 1a  |QUD plotstat....|
00003fd0  2e 77 69 6d 70 61 64 20  20 45 51 55 44 20 77 69  |.wimpad  EQUD wi|
00003fe0  6d 70 73 74 61 74 0d 15  ea 16 2e 70 72 65 76 61  |mpstat.....preva|
00003ff0  64 20 20 45 51 55 44 20  70 72 65 76 0d 15 f4 1e  |d  EQUD prev....|
00004000  2e 66 75 6e 63 74 69 6f  6e 20 4d 4f 56 20 52 31  |.function MOV R1|
00004010  2c 52 31 2c 4c 53 52 20  23 35 0d 15 fe 16 20 20  |,R1,LSR #5....  |
00004020  20 20 20 20 20 20 20 43  4d 50 20 52 31 2c 23 31  |       CMP R1,#1|
00004030  0d 16 08 19 20 20 20 20  20 20 20 20 20 42 45 51  |....         BEQ|
00004040  20 71 75 69 74 74 61 73  6b 0d 16 12 16 20 20 20  | quittask....   |
00004050  20 20 20 20 20 20 43 4d  50 20 52 31 2c 23 33 0d  |      CMP R1,#3.|
00004060  16 1c 18 20 20 20 20 20  20 20 20 20 42 45 51 20  |...         BEQ |
00004070  64 65 73 6b 74 6f 70 0d  16 26 16 20 20 20 20 20  |desktop..&.     |
00004080  20 20 20 20 43 4d 50 20  52 31 2c 23 37 0d 16 30  |    CMP R1,#7..0|
00004090  19 20 20 20 20 20 20 20  20 20 42 45 51 20 73 63  |.         BEQ sc|
000040a0  72 73 74 6f 72 65 0d 16  3a 16 20 20 20 20 20 20  |rstore..:.      |
000040b0  20 20 20 43 4d 50 20 52  31 2c 23 39 0d 16 44 19  |   CMP R1,#9..D.|
000040c0  20 20 20 20 20 20 20 20  20 42 45 51 20 63 6f 6c  |         BEQ col|
000040d0  63 79 63 6c 65 0d 16 4e  17 20 20 20 20 20 20 20  |cycle..N.       |
000040e0  20 20 43 4d 50 20 52 31  2c 23 31 31 0d 16 58 18  |  CMP R1,#11..X.|
000040f0  20 20 20 20 20 20 20 20  20 42 45 51 20 69 74 65  |         BEQ ite|
00004100  72 61 74 65 0d 16 62 17  20 20 20 20 20 20 20 20  |rate..b.        |
00004110  20 43 4d 50 20 52 31 2c  23 31 37 0d 16 6c 19 20  | CMP R1,#17..l. |
00004120  20 20 20 20 20 20 20 20  42 45 51 20 72 65 73 65  |        BEQ rese|
00004130  74 70 6f 73 0d 16 76 17  20 20 20 20 20 20 20 20  |tpos..v.        |
00004140  20 43 4d 50 20 52 31 2c  23 32 31 0d 16 80 17 20  | CMP R1,#21.... |
00004150  20 20 20 20 20 20 20 20  42 45 51 20 7a 6f 6f 6d  |        BEQ zoom|
00004160  69 6e 0d 16 8a 15 20 20  20 20 20 20 20 20 20 42  |in....         B|
00004170  20 6d 70 6c 6f 6f 70 0d  16 94 05 3a 0d 16 9e 20  | mploop....:... |
00004180  5c 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\               |
00004190  c8 98 20 46 55 4e 43 54  49 4f 4e 53 0d 16 a8 05  |.. FUNCTIONS....|
000041a0  3a 0d 16 b2 1e 2e 64 65  73 6b 74 6f 70 20 41 44  |:.....desktop AD|
000041b0  52 20 52 30 2c 70 61 6c  65 74 74 65 6f 75 74 0d  |R R0,paletteout.|
000041c0  16 bc 19 20 20 20 20 20  20 20 20 20 53 57 49 20  |...         SWI |
000041d0  22 4f 53 5f 43 4c 49 22  0d 16 c6 1c 20 20 20 20  |"OS_CLI"....    |
000041e0  20 20 20 20 20 4c 44 4d  46 44 20 52 31 33 21 2c  |     LDMFD R13!,|
000041f0  7b 50 43 7d 0d 16 d0 18  2e 71 75 69 74 74 61 73  |{PC}.....quittas|
00004200  6b 20 42 4c 20 73 61 76  65 73 63 72 0d 16 da 17  |k BL savescr....|
00004210  20 20 20 20 20 20 20 20  20 53 57 49 20 32 35 36  |         SWI 256|
00004220  2b 33 31 0d 16 e4 14 20  20 20 20 20 20 20 20 20  |+31....         |
00004230  53 57 49 20 32 35 36 0d  16 ee 14 20 20 20 20 20  |SWI 256....     |
00004240  20 20 20 20 53 57 49 20  32 35 36 0d 16 f8 1c 20  |    SWI 256.... |
00004250  20 20 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |        SWI "OS_|
00004260  57 72 69 74 65 53 22 0d  17 02 3c 20 20 20 20 20  |WriteS"...<     |
00004270  20 20 20 20 45 51 55 42  31 36 3a 45 51 55 42 31  |    EQUB16:EQUB1|
00004280  37 3a 45 51 55 42 31 32  37 3a 45 51 55 53 22 51  |7:EQUB127:EQUS"Q|
00004290  75 69 74 3a 20 41 72 65  20 59 6f 75 20 53 75 72  |uit: Are You Sur|
000042a0  65 3f 22 0d 17 0c 28 20  20 20 20 20 20 20 20 20  |e?"...(         |
000042b0  45 51 55 42 31 33 3a 45  51 55 42 31 30 3a 45 51  |EQUB13:EQUB10:EQ|
000042c0  55 42 31 33 3a 45 51 55  42 31 30 0d 17 16 3d 20  |UB13:EQUB10...= |
000042d0  20 20 20 20 20 20 20 20  45 51 55 53 22 43 6c 69  |        EQUS"Cli|
000042e0  63 6b 20 4c 45 46 54 20  74 6f 20 71 75 69 74 3b  |ck LEFT to quit;|
000042f0  20 52 49 47 48 54 20 74  6f 20 63 61 6e 63 65 6c  | RIGHT to cancel|
00004300  2e 22 3a 45 51 55 42 30  0d 17 20 12 20 20 20 20  |.":EQUB0.. .    |
00004310  20 20 20 20 20 41 4c 49  47 4e 0d 17 2a 1a 2e 73  |     ALIGN..*..s|
00004320  74 6f 70 63 6c 20 20 53  57 49 22 4f 53 5f 4d 6f  |topcl  SWI"OS_Mo|
00004330  75 73 65 22 0d 17 34 16  20 20 20 20 20 20 20 20  |use"..4.        |
00004340  20 43 4d 50 20 52 32 2c  23 30 0d 17 3e 17 20 20  | CMP R2,#0..>.  |
00004350  20 20 20 20 20 20 20 42  4e 45 20 73 74 6f 70 63  |       BNE stopc|
00004360  6c 0d 17 48 1a 2e 71 75  69 74 6c 6f 70 20 53 57  |l..H..quitlop SW|
00004370  49 22 4f 53 5f 4d 6f 75  73 65 22 0d 17 52 16 20  |I"OS_Mouse"..R. |
00004380  20 20 20 20 20 20 20 20  43 4d 50 20 52 32 2c 23  |        CMP R2,#|
00004390  34 0d 17 5c 19 20 20 20  20 20 20 20 20 20 42 45  |4..\.         BE|
000043a0  51 20 71 75 69 74 6f 6b  61 79 0d 17 66 16 20 20  |Q quitokay..f.  |
000043b0  20 20 20 20 20 20 20 43  4d 50 20 52 32 2c 23 31  |       CMP R2,#1|
000043c0  0d 17 70 19 20 20 20 20  20 20 20 20 20 42 4c 45  |..p.         BLE|
000043d0  51 20 6c 6f 61 64 73 63  72 0d 17 7a 17 20 20 20  |Q loadscr..z.   |
000043e0  20 20 20 20 20 20 42 45  51 20 6d 70 6c 6f 6f 70  |      BEQ mploop|
000043f0  0d 17 84 16 20 20 20 20  20 20 20 20 20 42 20 71  |....         B q|
00004400  75 69 74 6c 6f 70 0d 17  8e 1d 2e 71 75 69 74 6f  |uitlop.....quito|
00004410  6b 61 79 20 4c 44 4d 46  44 20 52 31 33 21 2c 7b  |kay LDMFD R13!,{|
00004420  52 30 7d 0d 17 98 1e 20  20 20 20 20 20 20 20 20  |R0}....         |
00004430  41 44 52 20 52 30 2c 70  61 6c 65 74 74 65 6f 75  |ADR R0,paletteou|
00004440  74 0d 17 a2 19 20 20 20  20 20 20 20 20 20 53 57  |t....         SW|
00004450  49 20 22 4f 53 5f 43 4c  49 22 0d 17 ac 16 20 20  |I "OS_CLI"....  |
00004460  20 20 20 20 20 20 20 4d  4f 56 20 52 30 2c 23 30  |       MOV R0,#0|
00004470  0d 17 b6 19 20 20 20 20  20 20 20 20 20 53 55 42  |....         SUB|
00004480  20 52 30 2c 52 30 2c 23  31 0d 17 c0 16 20 20 20  | R0,R0,#1....   |
00004490  20 20 20 20 20 20 4d 4f  56 20 52 31 2c 23 30 0d  |      MOV R1,#0.|
000044a0  17 ca 16 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |...         MOV |
000044b0  52 32 2c 23 30 0d 17 d4  19 20 20 20 20 20 20 20  |R2,#0....       |
000044c0  20 20 4d 4f 56 20 52 33  2c 23 31 32 38 30 0d 17  |  MOV R3,#1280..|
000044d0  de 19 20 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |..         MOV R|
000044e0  34 2c 23 31 30 32 34 0d  17 e8 23 20 20 20 20 20  |4,#1024...#     |
000044f0  20 20 20 20 53 57 49 20  22 57 69 6d 70 5f 46 6f  |    SWI "Wimp_Fo|
00004500  72 63 65 52 65 64 72 61  77 22 0d 17 f2 1a 20 20  |rceRedraw"....  |
00004510  20 20 20 20 20 20 20 53  57 49 20 22 4f 53 5f 45  |       SWI "OS_E|
00004520  78 69 74 22 0d 17 fc 2c  2e 70 61 6c 65 74 74 65  |xit"...,.palette|
00004530  6f 75 74 20 20 20 20 20  20 45 51 55 53 20 22 3c  |out      EQUS "<|
00004540  4f 62 65 79 24 44 69 72  3e 2e 21 50 4f 75 74 22  |Obey$Dir>.!POut"|
00004550  0d 18 06 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00004560  20 20 20 20 20 45 51 55  44 30 3a 41 4c 49 47 4e  |     EQUD0:ALIGN|
00004570  0d 18 10 05 3a 0d 18 1a  1b 5c 20 20 20 20 20 20  |....:....\      |
00004580  20 20 5a 4f 4f 4d 20 46  55 4e 43 54 49 4f 4e 53  |  ZOOM FUNCTIONS|
00004590  0d 18 24 05 3a 0d 18 2e  1d 2e 72 65 73 65 74 70  |..$.:.....resetp|
000045a0  6f 73 20 20 20 20 20 20  20 20 42 4c 20 73 65 74  |os        BL set|
000045b0  75 70 0d 18 38 1f 20 20  20 20 20 20 20 20 20 20  |up..8.          |
000045c0  20 20 20 20 20 20 20 42  4c 20 70 6c 6f 74 74 65  |       BL plotte|
000045d0  72 0d 18 42 1d 20 20 20  20 20 20 20 20 20 20 20  |r..B.           |
000045e0  20 20 20 20 20 20 42 20  6d 70 6c 6f 6f 70 0d 18  |      B mploop..|
000045f0  4c 05 3a 0d 18 56 1e 2e  7a 6f 6f 6d 69 6e 20 20  |L.:..V..zoomin  |
00004600  20 20 20 20 20 20 20 20  4d 4f 56 20 52 35 2c 23  |        MOV R5,#|
00004610  30 0d 18 60 23 20 20 20  20 20 20 20 20 20 20 20  |0..`#           |
00004620  20 20 20 20 20 20 53 57  49 20 22 4f 53 5f 4d 6f  |      SWI "OS_Mo|
00004630  75 73 65 22 0d 18 6a 1e  20 20 20 20 20 20 20 20  |use"..j.        |
00004640  20 20 20 20 20 20 20 20  20 43 4d 50 20 52 32 2c  |         CMP R2,|
00004650  23 30 0d 18 74 1f 20 20  20 20 20 20 20 20 20 20  |#0..t.          |
00004660  20 20 20 20 20 20 20 42  4e 45 20 7a 6f 6f 6d 69  |       BNE zoomi|
00004670  6e 0d 18 7e 22 20 20 20  20 20 20 20 20 20 20 20  |n..~"           |
00004680  20 20 20 20 20 20 41 44  52 20 52 30 2c 78 6d 69  |      ADR R0,xmi|
00004690  6e 61 64 0d 18 88 20 20  20 20 20 20 20 20 20 20  |nad...          |
000046a0  20 20 20 20 20 20 20 20  4c 44 52 20 52 30 2c 5b  |        LDR R0,[|
000046b0  52 30 5d 0d 18 92 23 20  20 20 20 20 20 20 20 20  |R0]...#         |
000046c0  20 20 20 20 20 20 20 20  41 44 52 20 52 31 2c 78  |        ADR R1,x|
000046d0  73 74 65 70 61 64 0d 18  9c 20 20 20 20 20 20 20  |stepad...       |
000046e0  20 20 20 20 20 20 20 20  20 20 20 4c 44 52 20 52  |           LDR R|
000046f0  31 2c 5b 52 31 5d 0d 18  a6 22 20 20 20 20 20 20  |1,[R1]..."      |
00004700  20 20 20 20 20 20 20 20  20 20 20 41 44 52 20 52  |           ADR R|
00004710  32 2c 79 6d 69 6e 61 64  0d 18 b0 20 20 20 20 20  |2,yminad...     |
00004720  20 20 20 20 20 20 20 20  20 20 20 20 20 4c 44 52  |             LDR|
00004730  20 52 32 2c 5b 52 32 5d  0d 18 ba 23 20 20 20 20  | R2,[R2]...#    |
00004740  20 20 20 20 20 20 20 20  20 20 20 20 20 41 44 52  |             ADR|
00004750  20 52 33 2c 79 73 74 65  70 61 64 0d 18 c4 20 20  | R3,ystepad...  |
00004760  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004770  4c 44 52 20 52 33 2c 5b  52 33 5d 0d 18 ce 22 20  |LDR R3,[R3]..." |
00004780  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004790  41 44 52 20 52 34 2c 78  62 6f 78 61 74 0d 18 d8  |ADR R4,xboxat...|
000047a0  1f 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000047b0  20 4c 44 52 20 52 34 2c  5b 52 34 5d 0d 18 e2 20  | LDR R4,[R4]... |
000047c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000047d0  20 4c 44 52 20 52 34 2c  5b 52 34 5d 0d 18 ec 22  | LDR R4,[R4]..."|
000047e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000047f0  20 41 44 52 20 52 35 2c  78 62 6f 78 62 74 0d 18  | ADR R5,xboxbt..|
00004800  f6 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00004810  20 20 20 4c 44 52 20 52  35 2c 5b 52 35 5d 0d 19  |   LDR R5,[R5]..|
00004820  00 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00004830  20 20 20 4c 44 52 20 52  35 2c 5b 52 35 5d 0d 19  |   LDR R5,[R5]..|
00004840  0a 1e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00004850  20 20 20 43 4d 50 20 52  34 2c 52 35 0d 19 14 20  |   CMP R4,R5... |
00004860  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004870  20 4d 4f 56 43 53 20 52  36 2c 52 34 0d 19 1e 20  | MOVCS R6,R4... |
00004880  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004890  20 4d 4f 56 43 53 20 52  34 2c 52 35 0d 19 28 20  | MOVCS R4,R5..( |
000048a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000048b0  20 4d 4f 56 43 53 20 52  35 2c 52 36 0d 19 32 22  | MOVCS R5,R6..2"|
000048c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000048d0  20 41 44 52 20 52 36 2c  79 62 6f 78 61 74 0d 19  | ADR R6,yboxat..|
000048e0  3c 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |<               |
000048f0  20 20 20 4c 44 52 20 52  36 2c 5b 52 36 5d 0d 19  |   LDR R6,[R6]..|
00004900  46 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |F               |
00004910  20 20 20 4c 44 52 20 52  36 2c 5b 52 36 5d 0d 19  |   LDR R6,[R6]..|
00004920  50 30 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |P0              |
00004930  20 20 20 41 44 52 20 52  37 2c 79 62 6f 78 62 74  |   ADR R7,yboxbt|
00004940  20 20 20 20 20 5c 20 52  30 3d 78 6d 69 6e 0d 19  |     \ R0=xmin..|
00004950  5a 31 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |Z1              |
00004960  20 20 20 4c 44 52 20 52  37 2c 5b 52 37 5d 20 20  |   LDR R7,[R7]  |
00004970  20 20 20 20 20 5c 20 52  31 3d 78 73 74 65 70 0d  |     \ R1=xstep.|
00004980  19 64 30 20 20 20 20 20  20 20 20 20 20 20 20 20  |.d0             |
00004990  20 20 20 20 4c 44 52 20  52 37 2c 5b 52 37 5d 20  |    LDR R7,[R7] |
000049a0  20 20 20 20 20 20 5c 20  52 32 3d 79 6d 69 6e 0d  |      \ R2=ymin.|
000049b0  19 6e 31 20 20 20 20 20  20 20 20 20 20 20 20 20  |.n1             |
000049c0  20 20 20 20 43 4d 50 20  52 36 2c 52 37 20 20 20  |    CMP R6,R7   |
000049d0  20 20 20 20 20 20 5c 20  52 33 3d 79 73 74 65 70  |      \ R3=ystep|
000049e0  0d 19 78 31 20 20 20 20  20 20 20 20 20 20 20 20  |..x1            |
000049f0  20 20 20 20 20 4d 4f 56  43 53 20 52 38 2c 52 36  |     MOVCS R8,R6|
00004a00  20 20 20 20 20 20 20 5c  20 52 34 3d 78 62 6f 78  |       \ R4=xbox|
00004a10  61 0d 19 82 31 20 20 20  20 20 20 20 20 20 20 20  |a...1           |
00004a20  20 20 20 20 20 20 4d 4f  56 43 53 20 52 36 2c 52  |      MOVCS R6,R|
00004a30  37 20 20 20 20 20 20 20  5c 20 52 35 3d 78 62 6f  |7       \ R5=xbo|
00004a40  78 62 0d 19 8c 31 20 20  20 20 20 20 20 20 20 20  |xb...1          |
00004a50  20 20 20 20 20 20 20 4d  4f 56 43 53 20 52 37 2c  |       MOVCS R7,|
00004a60  52 38 20 20 20 20 20 20  20 5c 20 52 36 3d 79 62  |R8       \ R6=yb|
00004a70  6f 78 61 0d 19 96 31 45  51 55 44 20 26 45 43 46  |oxa...1EQUD &ECF|
00004a80  30 30 31 30 30 20 5c 20  4c 44 46 45 20 46 30 2c  |00100 \ LDFE F0,|
00004a90  5b 52 30 5d 20 20 20 20  20 20 5c 20 52 37 3d 79  |[R0]      \ R7=y|
00004aa0  62 6f 78 62 0d 19 a0 21  45 51 55 44 20 26 45 43  |boxb...!EQUD &EC|
00004ab0  46 31 31 31 30 30 20 5c  20 4c 44 46 45 20 46 31  |F11100 \ LDFE F1|
00004ac0  2c 5b 52 31 5d 0d 19 aa  1f 45 51 55 44 20 26 45  |,[R1]....EQUD &E|
00004ad0  45 30 32 34 31 44 32 20  5c 20 46 4c 54 45 20 46  |E0241D2 \ FLTE F|
00004ae0  32 2c 52 34 0d 19 b4 22  45 51 55 44 20 26 45 45  |2,R4..."EQUD &EE|
00004af0  31 41 33 31 30 31 20 5c  20 4d 4c 46 45 20 46 33  |1A3101 \ MLFE F3|
00004b00  2c 46 32 2c 46 31 0d 19  be 22 45 51 55 44 20 26  |,F2,F1..."EQUD &|
00004b10  45 45 30 42 33 31 30 30  20 5c 20 41 44 46 45 20  |EE0B3100 \ ADFE |
00004b20  46 33 2c 46 33 2c 46 30  0d 19 c8 1f 45 51 55 44  |F3,F3,F0....EQUD|
00004b30  20 26 45 45 30 34 35 31  44 34 20 5c 20 46 4c 54  | &EE0451D4 \ FLT|
00004b40  45 20 46 34 2c 52 35 0d  19 d2 22 45 51 55 44 20  |E F4,R5..."EQUD |
00004b50  26 45 45 31 43 35 31 30  31 20 5c 20 4d 4c 46 45  |&EE1C5101 \ MLFE|
00004b60  20 46 35 2c 46 34 2c 46  31 0d 19 dc 22 45 51 55  | F5,F4,F1..."EQU|
00004b70  44 20 26 45 45 30 44 35  31 30 30 20 5c 20 41 44  |D &EE0D5100 \ AD|
00004b80  46 45 20 46 35 2c 46 35  2c 46 30 0d 19 e6 22 45  |FE F5,F5,F0..."E|
00004b90  51 55 44 20 26 45 45 32  44 35 31 30 33 20 5c 20  |QUD &EE2D5103 \ |
00004ba0  53 42 46 45 20 46 35 2c  46 35 2c 46 33 0d 19 f0  |SBFE F5,F5,F3...|
00004bb0  21 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |!               |
00004bc0  20 20 4d 4f 56 20 52 38  2c 23 31 30 32 34 0d 19  |  MOV R8,#1024..|
00004bd0  fa 1f 45 51 55 44 20 26  45 45 30 36 38 31 44 36  |..EQUD &EE0681D6|
00004be0  20 5c 20 46 4c 54 45 20  46 36 2c 52 38 0d 1a 04  | \ FLTE F6,R8...|
00004bf0  22 45 51 55 44 20 26 45  45 34 44 37 31 30 36 20  |"EQUD &EE4D7106 |
00004c00  5c 20 44 56 46 45 20 46  37 2c 46 35 2c 46 36 0d  |\ DVFE F7,F5,F6.|
00004c10  1a 0e 21 45 51 55 44 20  26 45 43 45 30 33 31 30  |..!EQUD &ECE0310|
00004c20  30 20 5c 20 53 54 46 45  20 46 33 2c 5b 52 30 5d  |0 \ STFE F3,[R0]|
00004c30  0d 1a 18 21 45 51 55 44  20 26 45 43 45 31 37 31  |...!EQUD &ECE171|
00004c40  30 30 20 5c 20 53 54 46  45 20 46 37 2c 5b 52 31  |00 \ STFE F7,[R1|
00004c50  5d 0d 1a 22 05 3a 0d 1a  2c 21 45 51 55 44 20 26  |]..".:..,!EQUD &|
00004c60  45 43 46 32 30 31 30 30  20 5c 20 4c 44 46 45 20  |ECF20100 \ LDFE |
00004c70  46 30 2c 5b 52 32 5d 0d  1a 36 21 45 51 55 44 20  |F0,[R2]..6!EQUD |
00004c80  26 45 43 46 33 31 31 30  30 20 5c 20 4c 44 46 45  |&ECF31100 \ LDFE|
00004c90  20 46 31 2c 5b 52 33 5d  0d 1a 40 1f 45 51 55 44  | F1,[R3]..@.EQUD|
00004ca0  20 26 45 45 30 32 36 31  44 32 20 5c 20 46 4c 54  | &EE0261D2 \ FLT|
00004cb0  45 20 46 32 2c 52 36 0d  1a 4a 22 45 51 55 44 20  |E F2,R6..J"EQUD |
00004cc0  26 45 45 31 41 33 31 30  31 20 5c 20 4d 4c 46 45  |&EE1A3101 \ MLFE|
00004cd0  20 46 33 2c 46 32 2c 46  31 0d 1a 54 22 45 51 55  | F3,F2,F1..T"EQU|
00004ce0  44 20 26 45 45 30 42 33  31 30 30 20 5c 20 41 44  |D &EE0B3100 \ AD|
00004cf0  46 45 20 46 33 2c 46 33  2c 46 30 0d 1a 5e 1f 45  |FE F3,F3,F0..^.E|
00004d00  51 55 44 20 26 45 45 30  34 37 31 44 34 20 5c 20  |QUD &EE0471D4 \ |
00004d10  46 4c 54 45 20 46 34 2c  52 37 0d 1a 68 22 45 51  |FLTE F4,R7..h"EQ|
00004d20  55 44 20 26 45 45 31 43  35 31 30 31 20 5c 20 4d  |UD &EE1C5101 \ M|
00004d30  4c 46 45 20 46 35 2c 46  34 2c 46 31 0d 1a 72 22  |LFE F5,F4,F1..r"|
00004d40  45 51 55 44 20 26 45 45  30 44 35 31 30 30 20 5c  |EQUD &EE0D5100 \|
00004d50  20 41 44 46 45 20 46 35  2c 46 35 2c 46 30 0d 1a  | ADFE F5,F5,F0..|
00004d60  7c 22 45 51 55 44 20 26  45 45 32 44 35 31 30 33  ||"EQUD &EE2D5103|
00004d70  20 5c 20 53 42 46 45 20  46 35 2c 46 35 2c 46 33  | \ SBFE F5,F5,F3|
00004d80  0d 1a 86 22 45 51 55 44  20 26 45 45 34 44 37 31  |..."EQUD &EE4D71|
00004d90  30 36 20 5c 20 44 56 46  45 20 46 37 2c 46 35 2c  |06 \ DVFE F7,F5,|
00004da0  46 36 0d 1a 90 21 45 51  55 44 20 26 45 43 45 32  |F6...!EQUD &ECE2|
00004db0  33 31 30 30 20 5c 20 53  54 46 45 20 46 33 2c 5b  |3100 \ STFE F3,[|
00004dc0  52 32 5d 0d 1a 9a 21 45  51 55 44 20 26 45 43 45  |R2]...!EQUD &ECE|
00004dd0  33 37 31 30 30 20 5c 20  53 54 46 45 20 46 37 2c  |37100 \ STFE F7,|
00004de0  5b 52 33 5d 0d 1a a4 1f  20 20 20 20 20 20 20 20  |[R3]....        |
00004df0  20 20 20 20 20 20 20 20  20 42 4c 20 70 6c 6f 74  |         BL plot|
00004e00  74 65 72 0d 1a ae 1d 20  20 20 20 20 20 20 20 20  |ter....         |
00004e10  20 20 20 20 20 20 20 20  42 20 6d 70 6c 6f 6f 70  |        B mploop|
00004e20  0d 1a b8 05 3a 0d 1a c2  1e 2e 78 6d 69 6e 61 64  |....:.....xminad|
00004e30  20 20 20 20 20 20 20 20  20 20 45 51 55 44 20 78  |          EQUD x|
00004e40  6d 69 6e 0d 1a cc 1e 2e  79 6d 69 6e 61 64 20 20  |min.....yminad  |
00004e50  20 20 20 20 20 20 20 20  45 51 55 44 20 79 6d 69  |        EQUD ymi|
00004e60  6e 0d 1a d6 1f 2e 78 73  74 65 70 61 64 20 20 20  |n.....xstepad   |
00004e70  20 20 20 20 20 20 45 51  55 44 20 78 73 74 65 70  |      EQUD xstep|
00004e80  0d 1a e0 1f 2e 79 73 74  65 70 61 64 20 20 20 20  |.....ystepad    |
00004e90  20 20 20 20 20 45 51 55  44 20 79 73 74 65 70 0d  |     EQUD ystep.|
00004ea0  1a ea 1f 2e 78 62 6f 78  61 74 20 20 20 20 20 20  |....xboxat      |
00004eb0  20 20 20 20 45 51 55 44  20 78 62 6f 78 61 0d 1a  |    EQUD xboxa..|
00004ec0  f4 1f 2e 79 62 6f 78 61  74 20 20 20 20 20 20 20  |...yboxat       |
00004ed0  20 20 20 45 51 55 44 20  79 62 6f 78 61 0d 1a fe  |   EQUD yboxa...|
00004ee0  1f 2e 78 62 6f 78 62 74  20 20 20 20 20 20 20 20  |..xboxbt        |
00004ef0  20 20 45 51 55 44 20 78  62 6f 78 62 0d 1b 08 1f  |  EQUD xboxb....|
00004f00  2e 79 62 6f 78 62 74 20  20 20 20 20 20 20 20 20  |.yboxbt         |
00004f10  20 45 51 55 44 20 79 62  6f 78 62 0d 1b 12 05 3a  | EQUD yboxb....:|
00004f20  0d 1b 1c 1f 5c 20 43 48  41 4e 47 45 20 4d 41 58  |....\ CHANGE MAX|
00004f30  49 4d 55 4d 20 49 54 45  52 41 54 49 4f 4e 53 0d  |IMUM ITERATIONS.|
00004f40  1b 26 1f 2e 69 74 65 72  61 74 65 20 20 20 20 20  |.&..iterate     |
00004f50  20 20 20 20 42 4c 20 73  61 76 65 73 63 72 0d 1b  |    BL savescr..|
00004f60  30 24 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |0$              |
00004f70  20 20 20 53 57 49 20 22  4f 53 5f 57 72 69 74 65  |   SWI "OS_Write|
00004f80  53 22 0d 1b 3a 27 20 20  20 20 20 20 20 20 20 20  |S"..:'          |
00004f90  20 20 20 20 20 20 20 45  51 55 42 33 31 3a 45 51  |       EQUB31:EQ|
00004fa0  55 42 31 3a 45 51 55 42  31 0d 1b 44 45 20 20 20  |UB1:EQUB1..DE   |
00004fb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 45 51  |              EQ|
00004fc0  55 42 31 36 3a 45 51 55  42 31 37 3a 45 51 55 42  |UB16:EQUB17:EQUB|
00004fd0  31 32 37 3a 45 51 55 53  22 43 75 72 72 65 6e 74  |127:EQUS"Current|
00004fe0  20 49 74 65 72 61 74 69  6f 6e 73 3a 20 22 0d 1b  | Iterations: "..|
00004ff0  4e 1b 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |N.              |
00005000  20 20 20 45 51 55 42 20  30 0d 1b 58 1a 20 20 20  |   EQUB 0..X.   |
00005010  20 20 20 20 20 20 20 20  20 20 20 20 20 20 41 4c  |              AL|
00005020  49 47 4e 0d 1b 62 24 2e  69 74 65 72 6c 6f 6f 70  |IGN..b$.iterloop|
00005030  20 20 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |        SWI "OS_|
00005040  57 72 69 74 65 53 22 0d  1b 6c 28 20 20 20 20 20  |WriteS"..l(     |
00005050  20 20 20 20 20 20 20 20  20 20 20 20 45 51 55 42  |            EQUB|
00005060  33 31 3a 45 51 55 42 32  31 3a 45 51 55 42 31 0d  |31:EQUB21:EQUB1.|
00005070  1b 76 1f 2e 6d 61 78 73  74 72 20 20 20 20 20 20  |.v..maxstr      |
00005080  20 20 20 20 45 51 55 53  20 22 30 32 35 22 0d 1b  |    EQUS "025"..|
00005090  80 1b 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
000050a0  20 20 20 45 51 55 42 20  30 0d 1b 8a 1a 20 20 20  |   EQUB 0....   |
000050b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 41 4c  |              AL|
000050c0  49 47 4e 0d 1b 94 20 2e  67 65 74 6b 65 79 20 20  |IGN... .getkey  |
000050d0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 30 2c 23  |        MOV R0,#|
000050e0  26 38 31 0d 1b 9e 1e 20  20 20 20 20 20 20 20 20  |&81....         |
000050f0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 31 2c 23  |        MOV R1,#|
00005100  30 0d 1b a8 1e 20 20 20  20 20 20 20 20 20 20 20  |0....           |
00005110  20 20 20 20 20 20 4d 4f  56 20 52 32 2c 23 30 0d  |      MOV R2,#0.|
00005120  1b b2 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |.."             |
00005130  20 20 20 20 53 57 49 20  22 4f 53 5f 42 79 74 65  |    SWI "OS_Byte|
00005140  22 0d 1b bc 1f 20 20 20  20 20 20 20 20 20 20 20  |"....           |
00005150  20 20 20 20 20 20 42 43  53 20 67 65 74 6b 65 79  |      BCS getkey|
00005160  0d 1b c6 1f 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00005170  20 20 20 20 20 43 4d 50  20 52 31 2c 23 31 33 0d  |     CMP R1,#13.|
00005180  1b d0 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00005190  20 20 20 20 42 45 51 20  69 74 65 72 67 6f 74 0d  |    BEQ itergot.|
000051a0  1b da 1f 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000051b0  20 20 20 20 43 4d 50 20  52 31 2c 23 34 38 0d 1b  |    CMP R1,#48..|
000051c0  e4 1f 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
000051d0  20 20 20 42 43 43 20 67  65 74 6b 65 79 0d 1b ee  |   BCC getkey...|
000051e0  1f 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000051f0  20 20 43 4d 50 20 52 31  2c 23 35 38 0d 1b f8 1f  |  CMP R1,#58....|
00005200  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005210  20 42 43 53 20 67 65 74  6b 65 79 0d 1c 02 22 20  | BCS getkey..." |
00005220  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005230  41 44 52 20 52 30 2c 6d  61 78 73 74 72 0d 1c 0c  |ADR R0,maxstr...|
00005240  24 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |$               |
00005250  20 20 4c 44 52 42 20 52  32 2c 5b 52 30 2c 23 31  |  LDRB R2,[R0,#1|
00005260  5d 0d 1c 16 21 20 20 20  20 20 20 20 20 20 20 20  |]...!           |
00005270  20 20 20 20 20 20 53 54  52 42 20 52 32 2c 5b 52  |      STRB R2,[R|
00005280  30 5d 0d 1c 20 24 20 20  20 20 20 20 20 20 20 20  |0].. $          |
00005290  20 20 20 20 20 20 20 4c  44 52 42 20 52 32 2c 5b  |       LDRB R2,[|
000052a0  52 30 2c 23 32 5d 0d 1c  2a 24 20 20 20 20 20 20  |R0,#2]..*$      |
000052b0  20 20 20 20 20 20 20 20  20 20 20 53 54 52 42 20  |           STRB |
000052c0  52 32 2c 5b 52 30 2c 23  31 5d 0d 1c 34 24 20 20  |R2,[R0,#1]..4$  |
000052d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 53  |               S|
000052e0  54 52 42 20 52 31 2c 5b  52 30 2c 23 32 5d 0d 1c  |TRB R1,[R0,#2]..|
000052f0  3e 1f 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |>.              |
00005300  20 20 20 42 20 69 74 65  72 6c 6f 6f 70 0d 1c 48  |   B iterloop..H|
00005310  22 2e 69 74 65 72 67 6f  74 20 20 20 20 20 20 20  |".itergot       |
00005320  20 20 41 44 52 20 52 30  2c 6d 61 78 73 74 72 0d  |  ADR R0,maxstr.|
00005330  1c 52 21 20 20 20 20 20  20 20 20 20 20 20 20 20  |.R!             |
00005340  20 20 20 20 4c 44 52 42  20 52 31 2c 5b 52 30 5d  |    LDRB R1,[R0]|
00005350  0d 1c 5c 22 20 20 20 20  20 20 20 20 20 20 20 20  |..\"            |
00005360  20 20 20 20 20 53 55 42  20 52 31 2c 52 31 2c 23  |     SUB R1,R1,#|
00005370  34 38 0d 1c 66 20 20 20  20 20 20 20 20 20 20 20  |48..f           |
00005380  20 20 20 20 20 20 20 4d  4f 56 20 52 32 2c 23 31  |       MOV R2,#1|
00005390  30 30 0d 1c 70 21 20 20  20 20 20 20 20 20 20 20  |00..p!          |
000053a0  20 20 20 20 20 20 20 4d  55 4c 20 52 33 2c 52 32  |       MUL R3,R2|
000053b0  2c 52 31 0d 1c 7a 1e 20  20 20 20 20 20 20 20 20  |,R1..z.         |
000053c0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 34 2c 52  |        MOV R4,R|
000053d0  33 0d 1c 84 24 20 20 20  20 20 20 20 20 20 20 20  |3...$           |
000053e0  20 20 20 20 20 20 4c 44  52 42 20 52 31 2c 5b 52  |      LDRB R1,[R|
000053f0  30 2c 23 31 5d 0d 1c 8e  22 20 20 20 20 20 20 20  |0,#1]..."       |
00005400  20 20 20 20 20 20 20 20  20 20 53 55 42 20 52 31  |          SUB R1|
00005410  2c 52 31 2c 23 34 38 0d  1c 98 1f 20 20 20 20 20  |,R1,#48....     |
00005420  20 20 20 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |            MOV |
00005430  52 32 2c 23 31 30 0d 1c  a2 21 20 20 20 20 20 20  |R2,#10...!      |
00005440  20 20 20 20 20 20 20 20  20 20 20 4d 55 4c 20 52  |           MUL R|
00005450  33 2c 52 32 2c 52 31 0d  1c ac 21 20 20 20 20 20  |3,R2,R1...!     |
00005460  20 20 20 20 20 20 20 20  20 20 20 20 41 44 44 20  |            ADD |
00005470  52 34 2c 52 34 2c 52 33  0d 1c b6 24 20 20 20 20  |R4,R4,R3...$    |
00005480  20 20 20 20 20 20 20 20  20 20 20 20 20 4c 44 52  |             LDR|
00005490  42 20 52 31 2c 5b 52 30  2c 23 32 5d 0d 1c c0 22  |B R1,[R0,#2]..."|
000054a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000054b0  20 53 55 42 20 52 31 2c  52 31 2c 23 34 38 0d 1c  | SUB R1,R1,#48..|
000054c0  ca 21 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.!              |
000054d0  20 20 20 41 44 44 20 52  34 2c 52 34 2c 52 31 0d  |   ADD R4,R4,R1.|
000054e0  1c d4 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |.."             |
000054f0  20 20 20 20 41 44 52 20  52 30 2c 6d 61 78 69 61  |    ADR R0,maxia|
00005500  64 0d 1c de 20 20 20 20  20 20 20 20 20 20 20 20  |d...            |
00005510  20 20 20 20 20 20 4c 44  52 20 52 30 2c 5b 52 30  |      LDR R0,[R0|
00005520  5d 0d 1c e8 20 20 20 20  20 20 20 20 20 20 20 20  |]...            |
00005530  20 20 20 20 20 20 53 54  52 20 52 34 2c 5b 52 30  |      STR R4,[R0|
00005540  5d 0d 1c f2 1f 20 20 20  20 20 20 20 20 20 20 20  |]....           |
00005550  20 20 20 20 20 20 42 4c  20 6c 6f 61 64 73 63 72  |      BL loadscr|
00005560  0d 1c fc 1f 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00005570  20 20 20 20 20 42 4c 20  70 6c 6f 74 74 65 72 0d  |     BL plotter.|
00005580  1d 06 1d 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00005590  20 20 20 20 42 20 6d 70  6c 6f 6f 70 0d 1d 10 1f  |    B mploop....|
000055a0  2e 6d 61 78 69 61 64 20  20 20 20 20 20 20 20 20  |.maxiad         |
000055b0  20 45 51 55 44 20 6d 61  78 69 74 0d 1d 1a 05 3a  | EQUD maxit....:|
000055c0  0d 1d 24 0f 5c 20 fb 20  43 59 43 4c 49 4e 47 0d  |..$.\ . CYCLING.|
000055d0  1d 2e 05 3a 0d 1d 38 1e  2e 63 6f 6c 63 79 63 6c  |...:..8..colcycl|
000055e0  65 20 20 20 20 20 20 20  20 4d 4f 56 20 52 35 2c  |e        MOV R5,|
000055f0  23 30 0d 1d 42 23 20 20  20 20 20 20 20 20 20 20  |#0..B#          |
00005600  20 20 20 20 20 20 20 53  57 49 20 22 4f 53 5f 4d  |       SWI "OS_M|
00005610  6f 75 73 65 22 0d 1d 4c  1e 20 20 20 20 20 20 20  |ouse"..L.       |
00005620  20 20 20 20 20 20 20 20  20 20 43 4d 50 20 52 32  |          CMP R2|
00005630  2c 23 30 0d 1d 56 21 20  20 20 20 20 20 20 20 20  |,#0..V!         |
00005640  20 20 20 20 20 20 20 20  42 4e 45 20 63 6f 6c 63  |        BNE colc|
00005650  79 63 6c 65 0d 1d 60 1f  20 20 20 20 20 20 20 20  |ycle..`.        |
00005660  20 20 20 20 20 20 20 20  20 42 4c 20 73 61 76 65  |         BL save|
00005670  73 63 72 0d 1d 6a 1f 2e  63 79 6c 6f 6f 70 20 20  |scr..j..cyloop  |
00005680  20 20 20 20 20 20 20 20  42 4c 20 73 65 74 63 6f  |        BL setco|
00005690  6c 73 0d 1d 74 1e 20 20  20 20 20 20 20 20 20 20  |ls..t.          |
000056a0  20 20 20 20 20 20 20 4d  4f 56 20 52 30 2c 23 30  |       MOV R0,#0|
000056b0  0d 1d 7e 21 2e 77 61 73  74 65 74 69 6d 65 20 20  |..~!.wastetime  |
000056c0  20 20 20 20 20 41 44 44  20 52 30 2c 52 30 2c 23  |     ADD R0,R0,#|
000056d0  31 0d 1d 88 23 20 20 20  20 20 20 20 20 20 20 20  |1...#           |
000056e0  20 20 20 20 20 20 43 4d  50 20 52 30 2c 23 26 31  |      CMP R0,#&1|
000056f0  30 30 30 30 0d 1d 92 22  20 20 20 20 20 20 20 20  |0000..."        |
00005700  20 20 20 20 20 20 20 20  20 42 4e 45 20 77 61 73  |         BNE was|
00005710  74 65 74 69 6d 65 0d 1d  9c 23 20 20 20 20 20 20  |tetime...#      |
00005720  20 20 20 20 20 20 20 20  20 20 20 53 57 49 20 22  |           SWI "|
00005730  4f 53 5f 4d 6f 75 73 65  22 0d 1d a6 1e 20 20 20  |OS_Mouse"....   |
00005740  20 20 20 20 20 20 20 20  20 20 20 20 20 20 43 4d  |              CM|
00005750  50 20 52 32 2c 23 30 0d  1d b0 1f 20 20 20 20 20  |P R2,#0....     |
00005760  20 20 20 20 20 20 20 20  20 20 20 20 42 45 51 20  |            BEQ |
00005770  63 79 6c 6f 6f 70 0d 1d  ba 24 20 20 20 20 20 20  |cyloop...$      |
00005780  20 20 20 20 20 20 20 20  20 20 20 53 57 49 20 22  |           SWI "|
00005790  4f 53 5f 57 72 69 74 65  53 22 0d 1d c4 28 20 20  |OS_WriteS"...(  |
000057a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 45  |               E|
000057b0  51 55 42 32 32 3a 45 51  55 42 31 35 3a 45 51 55  |QUB22:EQUB15:EQU|
000057c0  42 30 0d 1d ce 1a 20 20  20 20 20 20 20 20 20 20  |B0....          |
000057d0  20 20 20 20 20 20 20 41  4c 49 47 4e 0d 1d d8 20  |       ALIGN... |
000057e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000057f0  20 4d 4f 56 20 52 30 2c  23 31 30 36 0d 1d e2 1e  | MOV R0,#106....|
00005800  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005810  20 4d 4f 56 20 52 31 2c  23 31 0d 1d ec 22 20 20  | MOV R1,#1..."  |
00005820  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 53  |               S|
00005830  57 49 20 22 4f 53 5f 42  79 74 65 22 0d 1d f6 25  |WI "OS_Byte"...%|
00005840  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005850  20 41 44 52 20 52 30 2c  70 61 6c 65 74 74 65 69  | ADR R0,palettei|
00005860  6e 0d 1e 00 21 20 20 20  20 20 20 20 20 20 20 20  |n...!           |
00005870  20 20 20 20 20 20 53 57  49 20 22 4f 53 5f 43 4c  |      SWI "OS_CL|
00005880  49 22 0d 1e 0a 1f 20 20  20 20 20 20 20 20 20 20  |I"....          |
00005890  20 20 20 20 20 20 20 42  4c 20 6c 6f 61 64 73 63  |       BL loadsc|
000058a0  72 0d 1e 14 1d 20 20 20  20 20 20 20 20 20 20 20  |r....           |
000058b0  20 20 20 20 20 20 42 20  6d 70 6c 6f 6f 70 0d 1e  |      B mploop..|
000058c0  1e 2b 2e 70 61 6c 65 74  74 65 69 6e 20 20 20 20  |.+.palettein    |
000058d0  20 20 20 45 51 55 53 20  22 3c 4f 62 65 79 24 44  |   EQUS "<Obey$D|
000058e0  69 72 3e 2e 21 50 49 6e  22 0d 1e 28 21 20 20 20  |ir>.!PIn"..(!   |
000058f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 45 51  |              EQ|
00005900  55 44 20 30 3a 41 4c 49  47 4e 0d 1e 32 05 3a 0d  |UD 0:ALIGN..2.:.|
00005910  1e 3c 24 2e 73 65 74 63  6f 6c 73 20 20 20 20 20  |.<$.setcols     |
00005920  20 20 20 20 41 44 52 20  52 30 2c 73 74 61 72 74  |    ADR R0,start|
00005930  6d 65 6d 0d 1e 46 20 20  20 20 20 20 20 20 20 20  |mem..F          |
00005940  20 20 20 20 20 20 20 20  4c 44 52 20 52 34 2c 5b  |        LDR R4,[|
00005950  52 30 5d 0d 1e 50 24 20  20 20 20 20 20 20 20 20  |R0]..P$         |
00005960  20 20 20 20 20 20 20 20  41 44 52 20 52 30 2c 61  |        ADR R0,a|
00005970  64 64 69 74 69 6f 6e 0d  1e 5a 20 20 20 20 20 20  |ddition..Z      |
00005980  20 20 20 20 20 20 20 20  20 20 20 20 4c 44 52 20  |            LDR |
00005990  52 31 2c 5b 52 30 5d 0d  1e 64 1e 20 20 20 20 20  |R1,[R0]..d.     |
000059a0  20 20 20 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |            MOV |
000059b0  52 35 2c 23 30 0d 1e 6e  20 2e 73 65 74 6c 6f 6f  |R5,#0..n .setloo|
000059c0  70 20 20 20 20 20 20 20  20 20 4c 44 52 20 52 33  |p         LDR R3|
000059d0  2c 5b 52 34 5d 0d 1e 78  21 20 20 20 20 20 20 20  |,[R4]..x!       |
000059e0  20 20 20 20 20 20 20 20  20 20 41 44 44 20 52 33  |          ADD R3|
000059f0  2c 52 33 2c 52 31 0d 1e  82 20 20 20 20 20 20 20  |,R3,R1...       |
00005a00  20 20 20 20 20 20 20 20  20 20 20 53 54 52 20 52  |           STR R|
00005a10  33 2c 5b 52 34 5d 0d 1e  8c 21 20 20 20 20 20 20  |3,[R4]...!      |
00005a20  20 20 20 20 20 20 20 20  20 20 20 41 44 44 20 52  |           ADD R|
00005a30  34 2c 52 34 2c 23 34 0d  1e 96 21 20 20 20 20 20  |4,R4,#4...!     |
00005a40  20 20 20 20 20 20 20 20  20 20 20 20 41 44 44 20  |            ADD |
00005a50  52 35 2c 52 35 2c 23 34  0d 1e a0 21 20 20 20 20  |R5,R5,#4...!    |
00005a60  20 20 20 20 20 20 20 20  20 20 20 20 20 43 4d 50  |             CMP|
00005a70  20 52 35 2c 23 26 32 30  30 0d 1e aa 20 20 20 20  | R5,#&200...    |
00005a80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 42 43  |              BC|
00005a90  43 20 73 65 74 6c 6f 6f  70 0d 1e b4 23 20 20 20  |C setloop...#   |
00005aa0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 41 44  |              AD|
00005ab0  44 20 52 34 2c 52 34 2c  23 26 38 30 0d 1e be 1e  |D R4,R4,#&80....|
00005ac0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005ad0  20 4d 4f 56 20 52 35 2c  23 30 0d 1e c8 25 20 20  | MOV R5,#0...%  |
00005ae0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 43  |               C|
00005af0  4d 50 20 52 34 2c 23 26  32 30 30 30 30 30 30 0d  |MP R4,#&2000000.|
00005b00  1e d2 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00005b10  20 20 20 20 42 43 43 20  73 65 74 6c 6f 6f 70 0d  |    BCC setloop.|
00005b20  1e dc 1f 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00005b30  20 20 20 20 4d 4f 56 20  50 43 2c 52 31 34 0d 1e  |    MOV PC,R14..|
00005b40  e6 1b 2e 73 74 61 72 74  6d 65 6d 20 45 51 55 44  |...startmem EQUD|
00005b50  20 26 31 46 44 38 30 30  30 0d 1e f0 1b 2e 61 64  | &1FD8000.....ad|
00005b60  64 69 74 69 6f 6e 20 45  51 55 44 20 26 31 30 31  |dition EQUD &101|
00005b70  30 31 30 31 0d 1e fa 05  3a 0d 1f 04 0f 5c 20 53  |0101....:....\ S|
00005b80  43 52 45 45 4e 20 c7 9a  0d 1f 0e 05 3a 0d 1f 18  |CREEN ......:...|
00005b90  23 2e 73 63 72 73 74 6f  72 65 20 20 20 20 20 20  |#.scrstore      |
00005ba0  20 20 41 44 52 20 52 30  2c 72 61 6d 64 69 73 63  |  ADR R0,ramdisc|
00005bb0  0d 1f 22 21 20 20 20 20  20 20 20 20 20 20 20 20  |.."!            |
00005bc0  20 20 20 20 20 53 57 49  20 22 4f 53 5f 43 4c 49  |     SWI "OS_CLI|
00005bd0  22 0d 1f 2c 22 20 20 20  20 20 20 20 20 20 20 20  |"..,"           |
00005be0  20 20 20 20 20 20 41 44  52 20 52 30 2c 73 63 72  |      ADR R0,scr|
00005bf0  73 61 76 0d 1f 36 21 20  20 20 20 20 20 20 20 20  |sav..6!         |
00005c00  20 20 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |        SWI "OS_|
00005c10  43 4c 49 22 0d 1f 40 1d  20 20 20 20 20 20 20 20  |CLI"..@.        |
00005c20  20 20 20 20 20 20 20 20  20 42 20 6d 70 6c 6f 6f  |         B mploo|
00005c30  70 0d 1f 4a 24 2e 72 61  6d 64 69 73 63 20 20 20  |p..J$.ramdisc   |
00005c40  20 20 20 20 20 20 45 51  55 53 22 52 41 4d 22 3a  |      EQUS"RAM":|
00005c50  45 51 55 44 30 0d 1f 54  35 2e 73 63 72 73 61 76  |EQUD0..T5.scrsav|
00005c60  20 20 20 20 20 20 20 20  20 20 45 51 55 53 22 53  |          EQUS"S|
00005c70  43 52 45 45 4e 53 41 56  45 20 6d 61 6e 64 65 6c  |CREENSAVE mandel|
00005c80  73 63 72 22 3a 45 51 55  44 30 0d 1f 5e 05 3a 0d  |scr":EQUD0..^.:.|
00005c90  1f 68 09 41 4c 49 47 4e  0d 1f 72 0b 2e 73 63 72  |.h.ALIGN..r..scr|
00005ca0  65 65 6e 0d 1f 7c 05 5d  0d 1f 86 05 ed 0d 1f 90  |een..|.]........|
00005cb0  30 f4 4f 53 43 4c 49 20  28 22 4d 45 4d 4f 52 59  |0.OSCLI ("MEMORY|
00005cc0  49 20 22 2b 53 54 52 24  7e 7a 6f 6f 6d 69 6e 2b  |I "+STR$~zoomin+|
00005cd0  22 20 2b 20 31 30 30 22  29 3a 45 4e 44 0d 1f 9a  |" + 100"):END...|
00005ce0  05 e1 0d ff                                       |....|
00005ce4
!Mandel/!RUNIMAGe.m0
!Mandel/!RUNIMAGe.m1
!Mandel/!RUNIMAGe.m2
!Mandel/!RUNIMAGe.m4
!Mandel/!RUNIMAGe.m5