Home » Archimedes archive » Acorn User » AU 1997-05 B.adf » Regulars » StarInfo/clouds/Wilson/Rain

StarInfo/clouds/Wilson/Rain

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1997-05 B.adf » Regulars
Filename: StarInfo/clouds/Wilson/Rain
Read OK:
File size: 21B4 bytes
Load address: 0000
Exec address: 0000
File contents
   10ON ERROR MODE 7:REPORT:PRINT" at line ";ERL:END
   20
   30DIM code 1024*128
   40FOR pass=0 TO 2 STEP 2
   50P%=code
   60[OPT pass
   70
   80.setmode  EQUB 22:EQUB 15:EQUB 22:EQUB 13:EQUD 0
   90.bank     EQUD 148:EQUD 7:EQUD -1:EQUD 0
  100
  110.init
  120STMFD     R13!,{R14}
  130ADR       R0,setmode
  140SWI       "OS_Write0"
  150SWI       "OS_RemoveCursors"
  160ADR       R0,bank
  170MOV       R1,R0
  180SWI       "OS_ReadVduVariables"
  190LDMIA     R1!,{R2,R4}
  200ADD       R3,R2,R4
  210MOV       R1,#1
  220STMIA     R0!,{R1-R4}
  230LDMFD     R13!,{R15}
  240
  250.swapnum  EQUD 0
  260.swap
  270STMFD     R13!,{R14}
  280STR       R13,swapnum
  290ADR       R10,bank
  300MOV       R0,#19
  310SWI       "OS_Byte"
  320MOV       R0,#112
  330LDR       R1,bank
  340RSB       R1,R1,#3
  350LDR       R12,[R10,R1,LSL #2]
  360STR       R1,bank
  370SWI       "OS_Byte"
  380MOV       R0,#113
  390SWI       "OS_Byte"
  400MOV       R0,#0
  410MOV       R1,R0
  420MOV       R2,R0
  430MOV       R3,R0
  440MOV       R4,R0
  450MOV       R5,R0
  460MOV       R6,R0
  470MOV       R7,R0
  480MOV       R8,R0
  490MOV       R9,R0
  500MOV       R10,R0
  510MOV       R11,R0
  520MOV       R13,R0
  530MOV       R14,#87
  540.swap2
  550STMIA     R12!,{R0-R11,R13}
  560STMIA     R12!,{R0-R11,R13}
  570STMIA     R12!,{R0-R11,R13}
  580STMIA     R12!,{R0-R11,R13}
  590STMIA     R12!,{R0-R11,R13}
  600STMIA     R12!,{R0-R11,R13}
  610STMIA     R12!,{R0-R11,R13}
  620STMIA     R12!,{R0-R11,R13}
  630STMIA     R12!,{R0-R11,R13}
  640STMIA     R12!,{R0-R11,R13}
  650STMIA     R12!,{R0-R11,R13}
  660STMIA     R12!,{R0-R11,R13}
  670STMIA     R12!,{R0-R11,R13}
  680STMIA     R12!,{R0-R11,R13}
  690STMIA     R12!,{R0-R11,R13}
  700STMIA     R12!,{R0-R11,R13}
  710STMIA     R12!,{R0-R11,R13}
  720STMIA     R12!,{R0-R11,R13}
  730SUBS      R14,R14,#1
  740BGT       swap2
  750STMIA     R12!,{R0-R11,R13}
  760STMIA     R12!,{R0-R11,R13}
  770STMIA     R12!,{R0-R11}
  780STMIA     R12!,{R0-R11}
  790STMIA     R12!,{R0-R11}
  800STMIA     R12!,{R0-R11}
  810STMIA     R12!,{R0-R11}
  820STMIA     R12!,{R0-R11}
  830STMIA     R12!,{R0-R11}
  840STMIA     R12!,{R0-R11}
  850SUB       R12,R12,#40960
  860ADD       R12,R12,#160
  870LDR       R13,swapnum
  880LDMFD     R13!,{R15}
  890
  900.rot      EQUD 0:EQUD 0
  910.rotate
  920STMFD     R13!,{R14}
  930STR       R13,rot+4
  940LDR       R0,rot
  950FNadr(12,sine)
  960LDR       R6,[R12,R0,LSL #2]!
  970LDR       R7,[R12,#1440]
  980RSB       R8,R6,#0
  990FNadr(14,xyz)
 1000FNadr(13,colz1+256)
 1010FNadr(12,trans)
 1020FNadr(11,div+512)
 1030MOV       R10,#78
 1040.rotate2
 1050LDMIA     R14!,{R0-R5}
 1060MUL       R9,R0,R8
 1070MUL       R0,R7,R0
 1080MLA       R0,R2,R6,R0
 1090MLA       R2,R7,R2,R9
 1100MOV       R2,R2,ASR #15
 1110LDR       R9,[R11,R2,ASL #2]
 1120MUL       R0,R9,R0
 1130MUL       R1,R9,R1
 1140LDRB      R2,[R13,R2]
 1150MUL       R9,R3,R8
 1160MUL       R3,R7,R3
 1170MLA       R3,R5,R6,R3
 1180MLA       R5,R7,R5,R9
 1190MOV       R5,R5,ASR #15
 1200LDR       R9,[R11,R5,ASL #2]
 1210MUL       R3,R9,R3
 1220MUL       R4,R9,R4
 1230LDRB      R5,[R13,R5]
 1240STMIA     R12!,{R0-R5}
 1250SUBS      R10,R10,#1
 1260BGT       rotate2
 1270MOV       R10,#100
 1280ADD       R13,R13,#512
 1290.rotate3
 1300LDMIA     R14!,{R0-R5}
 1310MUL       R9,R0,R8
 1320MUL       R0,R7,R0
 1330MLA       R0,R2,R6,R0
 1340MLA       R2,R7,R2,R9
 1350MOV       R2,R2,ASR #15
 1360LDR       R9,[R11,R2,ASL #2]
 1370MUL       R0,R9,R0
 1380MUL       R1,R9,R1
 1390LDRB      R2,[R13,R2]
 1400MUL       R9,R3,R8
 1410MUL       R3,R7,R3
 1420MLA       R3,R5,R6,R3
 1430MLA       R5,R7,R5,R9
 1440MOV       R5,R5,ASR #15
 1450LDR       R9,[R11,R5,ASL #2]
 1460MUL       R3,R9,R3
 1470MUL       R4,R9,R4
 1480LDRB      R5,[R13,R5]
 1490STMIA     R12!,{R0-R5}
 1500SUBS      R10,R10,#1
 1510BGT       rotate3
 1520MOV       R10,#120
 1530ADD       R13,R13,#512
 1540.rotate4
 1550LDMIA     R14!,{R0-R2,R4}
 1560MUL       R9,R0,R8
 1570MUL       R0,R7,R0
 1580MLA       R0,R2,R6,R0
 1590MLA       R2,R7,R2,R9
 1600MOV       R2,R2,ASR #15
 1610LDR       R9,[R11,R2,ASL #2]
 1620LDRB      R3,[R13,R2]
 1630MUL       R0,R9,R0
 1640MUL       R1,R9,R1
 1650MUL       R2,R9,R4
 1660MOV       R1,R1,ASR #8
 1670RSB       R2,R1,R2,ASR #8
 1680STMIA     R12!,{R0-R3}
 1690SUBS      R10,R10,#1
 1700BGT       rotate4
 1710LDR       R13,rot+4
 1720LDMFD     R13!,{R15}
 1730
 1740.circle
 1750MOVS      R3,R2,LSR #1
 1760ADDCS     R3,R3,#1
 1770ADD       R1,R1,R3
 1780CMN       R1,#128
 1790MOVLE     R15,R14
 1800STMFD     R13!,{R14}
 1810ADD       R5,R12,R0,ASR #23
 1820ADD       R0,R1,R1,ASL #2
 1830ADD       R5,R5,R0,ASL #6
 1840MUL       R4,R3,R3
 1850SUB       R0,R1,R2
 1860ADDS      R0,R0,#128
 1870ADDLT     R2,R2,R0
 1880FNadr(0,sqr)
 1890ADD       R0,R0,R4,LSL #2
 1900.circle2
 1910MUL       R4,R3,R3
 1920LDR       R4,[R0,-R4,LSL #2]
 1930ADD       R14,R5,R4,ASR #12
 1940AND       R1,R14,#3
 1950SUBS      R4,R4,R1,ASL #11
 1960ADDLT     R1,R1,R4,ASR #11
 1970MOVLT     R4,#0
 1980TST       R1,#1
 1990STRNEB    R6,[R14,#-1]!
 2000TST       R1,#2
 2010STRNEB    R6,[R14,#-1]!
 2020STRNEB    R6,[R14,#-1]!
 2030TST       R4,#1<<13
 2040STRNE     R6,[R14,#-4]!
 2050TST       R4,#1<<14
 2060STMNEDB   R14!,{R6-R7}
 2070TST       R4,#1<<15
 2080STMNEDB   R14!,{R6-R9}
 2081TST       R4,#1<<16
 2082STMNEDB   R14!,{R6-R9}
 2083STMNEDB   R14!,{R6-R9}
 2120TST       R4,#1<<12
 2130STRNEB    R6,[R14,#-1]!
 2140STRNEB    R6,[R14,#-1]!
 2150TST       R4,#1<<11
 2160STRNEB    R6,[R14,#-1]!
 2170SUB       R5,R5,#320
 2180SUB       R3,R3,#1
 2190SUBS      R2,R2,#1
 2200BGT       circle2
 2210LDMFD     R13!,{R15}
 2220
 2230.rn       EQUD 0
 2240.rain
 2250STMFD     R13!,{R14}
 2260LDR       R0,rn
 2270SUBS      R0,R0,#1
 2280MOVLT     R0,#360
 2290STR       R0,rn
 2300FNadr(9,wave)
 2310ADD       R9,R9,R0,LSL #2
 2320FNadr(11,xyz+156*12)
 2330MOV       R10,#200
 2340.rain2
 2350LDR       R0,[R11,#4]!
 2360ADD       R0,R0,#1
 2370CMP       R0,#140
 2380MVNGE     R0,#100
 2390STR       R0,[R11],#8
 2400SUBS      R10,R10,#1
 2410BGT       rain2
 2420SUB       R11,R11,#4
 2430MOV       R10,#120
 2440.rain3
 2450LDR       R0,[R11,#8]!
 2460LDR       R4,[R9],#12
 2470ADD       R0,R0,R4
 2480STR       R0,[R11,#8]!
 2490SUBS      R10,R10,#1
 2500BGT       rain3
 2510LDMFD     R13!,{R15}
 2520
 2530.view
 2540STMFD     R13!,{R14}
 2550BL        swap
 2560FNadr(10,trans+356*12)
 2580]FOR A%=3 TO 12:[OPT pass
 2590LDR       R6,list+A%*4
 2600MOV       R7,R6
 2610MOV       R8,R6
 2620MOV       R9,R6
 2630MOV       R11,#120
 2640.view2
 2650LDMIA     R10!,{R0-R3}
 2660CMP       R3,R6,LSR #24
 2670BLEQ      circle
 2680SUBS      R11,R11,#1
 2690BGT       view2
 2700SUB       R10,R10,#120*16
 2710]NEXT:[OPT pass
 2730FNadr(10,trans)
 2740MOV       R8,#356
 2750.view3
 2760LDMIA     R10!,{R0-R2}
 2770MOV       R1,R1,ASR #8
 2780CMP       R1,#127
 2790BGT       view4
 2800CMN       R1,#127
 2810BLT       view4
 2820ADD       R1,R1,R1,ASL #2
 2830ADD       R1,R12,R1,ASL #6
 2840LDRB      R3,[R1,R0,ASR #23]
 2850CMP       R2,R3
 2860STRGTB    R2,[R1,R0,ASR #23]
 2870.view4
 2880SUBS      R8,R8,#1
 2890BGT       view3
 2900LDMFD     R13!,{R15}
 2960
 2970.list     ]P%+=64:[OPT pass
 2980.wave     ]P%+=720*4:[OPT pass
 2990.sine     ]P%+=360*4:[OPT pass
 3000.cosine   ]P%+=360*4:[OPT pass
 3010.colz1    ]P%+=512:[OPT pass
 3020.colz2    ]P%+=512:[OPT pass
 3030.colz3    ]P%+=512:[OPT pass
 3040          ]P%+=512:[OPT pass
 3050.div      ]P%+=1536:[OPT pass
 3060.sqr      ]P%+=4096:[OPT pass
 3070.xyz      ]P%+=8192:[OPT pass
 3080.trans    ]P%+=8192:[OPT pass
 3090
 3100]NEXT
 3110:
 3120CALL init
 3130PRINT "Precipitation"'"============="
 3140PRINT'"Use Select and Adjust to rotate."
 3150:
 3160!div=4096:D%=0:adr=list+64
 3170FOR A%=-128 TO 383
 3180 div!(A%*4)=65536/(A%+256)
 3190 B%=256-(A%+128)/2
 3200 SYS "ColourTrans_ReturnColourNumber",(B%<<16) TO C%
 3210 colz1?(A%+128)=C%
 3220 SYS "ColourTrans_ReturnColourNumber",(B%<<16)+(B%<<24) TO C%
 3230 colz2?(A%+128)=C%
 3240 SYS "ColourTrans_ReturnColourNumber",(B%<<8)+(B%<<16)+(B%<<24) TO C%
 3250 colz3?(A%+128)=C%
 3260 IF D%<>C% adr-=4:!adr=C%+(C%<<8)+(C%<<16)+(C%<<24):D%=C%
 3270NEXT
 3280:
 3290FOR A%=0 TO 719
 3300 wave!(A%*4)=SINRAD(A%)*12+36
 3310NEXT
 3320:
 3330FOR A%=0 TO 359
 3340 sine!(A%*4)=SINRAD(A%)*32768
 3350 cosine!(A%*4)=COSRAD(A%)*32768
 3360NEXT
 3370:
 3380FOR A%=0 TO 1023
 3390 sqr!(A%*4)=4096*SQR(A%)
 3400NEXT
 3410:
 3420adr=xyz:R%=7
 3430FOR X%=-10 TO 9
 3440 FOR Y%=-10 TO 9
 3450  IF SQR((X%+.5)^2+(Y%+.5)^2)<R% THEN
 3460   adr!0=X%*24+12
 3470   adr!4=140
 3480   adr!8=Y%*24+12
 3490   adr+=12
 3500  ENDIF
 3510 NEXT
 3520NEXT
 3530:
 3540A%=1
 3550REPEAT
 3560 adr!0=RND(400)-200
 3570 adr!4=RND(280)-140
 3580 adr!8=RND(400)-200
 3590 IF SQR((adr!0)^2+(adr!8)^2)<148 A%+=1:adr+=12
 3600UNTIL A%>200
 3610:
 3620A%=1
 3630REPEAT
 3640 adr!0=RND(400)-200
 3650 adr!4=-120+RND(8)
 3660 adr!8=RND(400)-200
 3670 adr!12=adr!4+RND(32)+16
 3680 IF SQR((adr!0)^2+(adr!8)^2)<158 A%+=1:adr+=16
 3690UNTIL A%>120
 3700:
 3710REPEAT
 3720 MOUSE X,Y,Z
 3730 IF (Z AND 4) !rot=(!rot+1) MOD 360
 3740 IF (Z AND 1) !rot=(!rot+359) MOD 360
 3750 CALL rotate
 3760 CALL rain
 3770 CALL view 
 3780UNTIL 0
 3790
 3800DEF FNadr(Reg%,Addr%)
 3810IF pass=0 Addr%=P%
 3820IF Addr%<P% THEN
 3830 Addr%=P%-Addr%+8
 3840 [OPT pass:SUB Reg%,R15,#(Addr% AND &FF00):SUB Reg%,Reg%,#(Addr% AND &FF):]
 3850ELSE
 3860 Addr%=Addr%-P%-8
 3870 [OPT pass:ADD Reg%,R15,#(Addr% AND &FF00):ADD Reg%,Reg%,#(Addr% AND &FF):]
 3880ENDIF
 3890=0

� � � 7:�:�" at line ";�:�

� code 1024*128
(� pass=0 � 2 � 2
2P%=code
<
[OPT pass
F
P4.setmode  EQUB 22:EQUB 15:EQUB 22:EQUB 13:EQUD 0
Z,.bank     EQUD 148:EQUD 7:EQUD -1:EQUD 0
d
n	.init
xSTMFD     R13!,{R14}
�ADR       R0,setmode
�SWI       "OS_Write0"
� SWI       "OS_RemoveCursors"
�ADR       R0,bank
�MOV       R1,R0
�#SWI       "OS_ReadVduVariables"
�LDMIA     R1!,{R2,R4}
�ADD       R3,R2,R4
�MOV       R1,#1
�STMIA     R0!,{R1-R4}
�LDMFD     R13!,{R15}
�
�.swapnum  EQUD 0
	.swap
STMFD     R13!,{R14}
STR       R13,swapnum
"ADR       R10,bank
,MOV       R0,#19
6SWI       "OS_Byte"
@MOV       R0,#112
JLDR       R1,bank
TRSB       R1,R1,#3
^!LDR       R12,[R10,R1,LSL #2]
hSTR       R1,bank
rSWI       "OS_Byte"
|MOV       R0,#113
�SWI       "OS_Byte"
�MOV       R0,#0
�MOV       R1,R0
�MOV       R2,R0
�MOV       R3,R0
�MOV       R4,R0
�MOV       R5,R0
�MOV       R6,R0
�MOV       R7,R0
�MOV       R8,R0
�MOV       R9,R0
�MOV       R10,R0
�MOV       R11,R0
MOV       R13,R0
MOV       R14,#87

.swap2
&STMIA     R12!,{R0-R11,R13}
0STMIA     R12!,{R0-R11,R13}
:STMIA     R12!,{R0-R11,R13}
DSTMIA     R12!,{R0-R11,R13}
NSTMIA     R12!,{R0-R11,R13}
XSTMIA     R12!,{R0-R11,R13}
bSTMIA     R12!,{R0-R11,R13}
lSTMIA     R12!,{R0-R11,R13}
vSTMIA     R12!,{R0-R11,R13}
�STMIA     R12!,{R0-R11,R13}
�STMIA     R12!,{R0-R11,R13}
�STMIA     R12!,{R0-R11,R13}
�STMIA     R12!,{R0-R11,R13}
�STMIA     R12!,{R0-R11,R13}
�STMIA     R12!,{R0-R11,R13}
�STMIA     R12!,{R0-R11,R13}
�STMIA     R12!,{R0-R11,R13}
�STMIA     R12!,{R0-R11,R13}
�SUBS      R14,R14,#1
�BGT       swap2
�STMIA     R12!,{R0-R11,R13}
�STMIA     R12!,{R0-R11,R13}
STMIA     R12!,{R0-R11}
STMIA     R12!,{R0-R11}
STMIA     R12!,{R0-R11}
 STMIA     R12!,{R0-R11}
*STMIA     R12!,{R0-R11}
4STMIA     R12!,{R0-R11}
>STMIA     R12!,{R0-R11}
HSTMIA     R12!,{R0-R11}
RSUB       R12,R12,#40960
\ADD       R12,R12,#160
fLDR       R13,swapnum
pLDMFD     R13!,{R15}
z
�.rot      EQUD 0:EQUD 0
�.rotate
�STMFD     R13!,{R14}
�STR       R13,rot+4
�LDR       R0,rot
��adr(12,sine)
�!LDR       R6,[R12,R0,LSL #2]!
�LDR       R7,[R12,#1440]
�RSB       R8,R6,#0
��adr(14,xyz)
��adr(13,colz1+256)
��adr(12,trans)
��adr(11,div+512)
MOV       R10,#78
.rotate2
LDMIA     R14!,{R0-R5}
$MUL       R9,R0,R8
.MUL       R0,R7,R0
8MLA       R0,R2,R6,R0
BMLA       R2,R7,R2,R9
LMOV       R2,R2,ASR #15
V LDR       R9,[R11,R2,ASL #2]
`MUL       R0,R9,R0
jMUL       R1,R9,R1
tLDRB      R2,[R13,R2]
~MUL       R9,R3,R8
�MUL       R3,R7,R3
�MLA       R3,R5,R6,R3
�MLA       R5,R7,R5,R9
�MOV       R5,R5,ASR #15
� LDR       R9,[R11,R5,ASL #2]
�MUL       R3,R9,R3
�MUL       R4,R9,R4
�LDRB      R5,[R13,R5]
�STMIA     R12!,{R0-R5}
�SUBS      R10,R10,#1
�BGT       rotate2
�MOV       R10,#100
ADD       R13,R13,#512

.rotate3
LDMIA     R14!,{R0-R5}
MUL       R9,R0,R8
(MUL       R0,R7,R0
2MLA       R0,R2,R6,R0
<MLA       R2,R7,R2,R9
FMOV       R2,R2,ASR #15
P LDR       R9,[R11,R2,ASL #2]
ZMUL       R0,R9,R0
dMUL       R1,R9,R1
nLDRB      R2,[R13,R2]
xMUL       R9,R3,R8
�MUL       R3,R7,R3
�MLA       R3,R5,R6,R3
�MLA       R5,R7,R5,R9
�MOV       R5,R5,ASR #15
� LDR       R9,[R11,R5,ASL #2]
�MUL       R3,R9,R3
�MUL       R4,R9,R4
�LDRB      R5,[R13,R5]
�STMIA     R12!,{R0-R5}
�SUBS      R10,R10,#1
�BGT       rotate3
�MOV       R10,#120
�ADD       R13,R13,#512
.rotate4
LDMIA     R14!,{R0-R2,R4}
MUL       R9,R0,R8
"MUL       R0,R7,R0
,MLA       R0,R2,R6,R0
6MLA       R2,R7,R2,R9
@MOV       R2,R2,ASR #15
J LDR       R9,[R11,R2,ASL #2]
TLDRB      R3,[R13,R2]
^MUL       R0,R9,R0
hMUL       R1,R9,R1
rMUL       R2,R9,R4
|MOV       R1,R1,ASR #8
�RSB       R2,R1,R2,ASR #8
�STMIA     R12!,{R0-R3}
�SUBS      R10,R10,#1
�BGT       rotate4
�LDR       R13,rot+4
�LDMFD     R13!,{R15}
�
�.circle
�MOVS      R3,R2,LSR #1
�ADDCS     R3,R3,#1
�ADD       R1,R1,R3
�CMN       R1,#128
�MOVLE     R15,R14
STMFD     R13!,{R14}
ADD       R5,R12,R0,ASR #23
ADD       R0,R1,R1,ASL #2
&ADD       R5,R5,R0,ASL #6
0MUL       R4,R3,R3
:SUB       R0,R1,R2
DADDS      R0,R0,#128
NADDLT     R2,R2,R0
X�adr(0,sqr)
bADD       R0,R0,R4,LSL #2
l.circle2
vMUL       R4,R3,R3
� LDR       R4,[R0,-R4,LSL #2]
�ADD       R14,R5,R4,ASR #12
��       R1,R14,#3
�SUBS      R4,R4,R1,ASL #11
�ADDLT     R1,R1,R4,ASR #11
�MOVLT     R4,#0
�TST       R1,#1
�STRNEB    R6,[R14,#-1]!
�TST       R1,#2
�STRNEB    R6,[R14,#-1]!
�STRNEB    R6,[R14,#-1]!
�TST       R4,#1<<13
�STRNE     R6,[R14,#-4]!
TST       R4,#1<<14
STMNEDB   R14!,{R6-R7}
TST       R4,#1<<15
 STMNEDB   R14!,{R6-R9}
!TST       R4,#1<<16
"STMNEDB   R14!,{R6-R9}
#STMNEDB   R14!,{R6-R9}
HTST       R4,#1<<12
RSTRNEB    R6,[R14,#-1]!
\STRNEB    R6,[R14,#-1]!
fTST       R4,#1<<11
pSTRNEB    R6,[R14,#-1]!
zSUB       R5,R5,#320
�SUB       R3,R3,#1
�SUBS      R2,R2,#1
�BGT       circle2
�LDMFD     R13!,{R15}
�
�.rn       EQUD 0
�	.rain
�STMFD     R13!,{R14}
�LDR       R0,rn
�SUBS      R0,R0,#1
�MOVLT     R0,#360
�STR       R0,rn
��adr(9,wave)
	ADD       R9,R9,R0,LSL #2
	�adr(11,xyz+156*12)
	MOV       R10,#200
	$
.rain2
	.LDR       R0,[R11,#4]!
	8ADD       R0,R0,#1
	BCMP       R0,#140
	LMVNGE     R0,#100
	VSTR       R0,[R11],#8
	`SUBS      R10,R10,#1
	jBGT       rain2
	tSUB       R11,R11,#4
	~MOV       R10,#120
	�
.rain3
	�LDR       R0,[R11,#8]!
	�LDR       R4,[R9],#12
	�ADD       R0,R0,R4
	�STR       R0,[R11,#8]!
	�SUBS      R10,R10,#1
	�BGT       rain3
	�LDMFD     R13!,{R15}
	�
	�	.view
	�STMFD     R13!,{R14}
	�BL        swap
�adr(10,trans+356*12)
]� A%=3 � 12:[OPT pass
LDR       R6,list+A%*4
(MOV       R7,R6
2MOV       R8,R6
<MOV       R9,R6
FMOV       R11,#120
P
.view2
ZLDMIA     R10!,{R0-R3}
dCMP       R3,R6,LSR #24
nBLEQ      circle
xSUBS      R11,R11,#1
�BGT       view2
�SUB       R10,R10,#120*16
�]�:[OPT pass
��adr(10,trans)
�MOV       R8,#356
�
.view3
�LDMIA     R10!,{R0-R2}
�MOV       R1,R1,ASR #8
�CMP       R1,#127
�BGT       view4
�CMN       R1,#127
�BLT       view4
ADD       R1,R1,R1,ASL #2
ADD       R1,R12,R1,ASL #6
 LDRB      R3,[R1,R0,ASR #23]
"CMP       R2,R3
, STRGTB    R2,[R1,R0,ASR #23]
6
.view4
@SUBS      R8,R8,#1
JBGT       view3
TLDMFD     R13!,{R15}
�
�.list     ]P%+=64:[OPT pass
�".wave     ]P%+=720*4:[OPT pass
�".sine     ]P%+=360*4:[OPT pass
�".cosine   ]P%+=360*4:[OPT pass
� .colz1    ]P%+=512:[OPT pass
� .colz2    ]P%+=512:[OPT pass
� .colz3    ]P%+=512:[OPT pass
�           ]P%+=512:[OPT pass
�!.div      ]P%+=1536:[OPT pass
�!.sqr      ]P%+=4096:[OPT pass
�!.xyz      ]P%+=8192:[OPT pass
!.trans    ]P%+=8192:[OPT pass

]�
&:
0
� init
:%� "Precipitation"'"============="
D(�'"Use Select and Adjust to rotate."
N:
X!div=4096:D%=0:adr=list+64
b� A%=-128 � 383
l div!(A%*4)=65536/(A%+256)
v B%=256-(A%+128)/2
�6 ș "ColourTrans_ReturnColourNumber",(B%<<16) � C%
� colz1?(A%+128)=C%
�? ș "ColourTrans_ReturnColourNumber",(B%<<16)+(B%<<24) � C%
� colz2?(A%+128)=C%
�G ș "ColourTrans_ReturnColourNumber",(B%<<8)+(B%<<16)+(B%<<24) � C%
� colz3?(A%+128)=C%
�< � D%<>C% adr-=4:!adr=C%+(C%<<8)+(C%<<16)+(C%<<24):D%=C%
��
�:
�� A%=0 � 719
� wave!(A%*4)=��(A%)*12+36
��
�:

� A%=0 � 359

 sine!(A%*4)=��(A%)*32768

 cosine!(A%*4)=��(A%)*32768

 �

*:

4� A%=0 � 1023

> sqr!(A%*4)=4096*�(A%)

H�

R:

\adr=xyz:R%=7

f� X%=-10 � 9

p � Y%=-10 � 9

z#  � �((X%+.5)^2+(Y%+.5)^2)<R% �

�   adr!0=X%*24+12

�   adr!4=140

�   adr!8=Y%*24+12

�   adr+=12

�  �

� �

��

�:

�A%=1

��

� adr!0=�(400)-200

� adr!4=�(280)-140

� adr!8=�(400)-200
/ � �((adr!0)^2+(adr!8)^2)<148 A%+=1:adr+=12
� A%>200
:
$A%=1
.�
8 adr!0=�(400)-200
B adr!4=-120+�(8)
L adr!8=�(400)-200
V adr!12=adr!4+�(32)+16
`/ � �((adr!0)^2+(adr!8)^2)<158 A%+=1:adr+=16
j� A%>120
t:
~�
�
 ȗ X,Y,Z
�" � (Z � 4) !rot=(!rot+1) � 360
�$ � (Z � 1) !rot=(!rot+359) � 360
�
 � rotate
� � rain
� � view 
�� 0
�
�� �adr(Reg%,Addr%)
�� pass=0 Addr%=P%
�� Addr%<P% �
� Addr%=P%-Addr%+8
K [OPT pass:SUB Reg%,R15,#(Addr% � &FF00):SUB Reg%,Reg%,#(Addr% � &FF):]

�
 Addr%=Addr%-P%-8
K [OPT pass:ADD Reg%,R15,#(Addr% � &FF00):ADD Reg%,Reg%,#(Addr% � &FF):]
(�
2=0
�
00000000  0d 00 0a 1e ee 20 85 20  eb 20 37 3a f6 3a f1 22  |..... . . 7:.:."|
00000010  20 61 74 20 6c 69 6e 65  20 22 3b 9e 3a e0 0d 00  | at line ";.:...|
00000020  14 04 0d 00 1e 13 de 20  63 6f 64 65 20 31 30 32  |....... code 102|
00000030  34 2a 31 32 38 0d 00 28  14 e3 20 70 61 73 73 3d  |4*128..(.. pass=|
00000040  30 20 b8 20 32 20 88 20  32 0d 00 32 0b 50 25 3d  |0 . 2 . 2..2.P%=|
00000050  63 6f 64 65 0d 00 3c 0d  5b 4f 50 54 20 70 61 73  |code..<.[OPT pas|
00000060  73 0d 00 46 04 0d 00 50  34 2e 73 65 74 6d 6f 64  |s..F...P4.setmod|
00000070  65 20 20 45 51 55 42 20  32 32 3a 45 51 55 42 20  |e  EQUB 22:EQUB |
00000080  31 35 3a 45 51 55 42 20  32 32 3a 45 51 55 42 20  |15:EQUB 22:EQUB |
00000090  31 33 3a 45 51 55 44 20  30 0d 00 5a 2c 2e 62 61  |13:EQUD 0..Z,.ba|
000000a0  6e 6b 20 20 20 20 20 45  51 55 44 20 31 34 38 3a  |nk     EQUD 148:|
000000b0  45 51 55 44 20 37 3a 45  51 55 44 20 2d 31 3a 45  |EQUD 7:EQUD -1:E|
000000c0  51 55 44 20 30 0d 00 64  04 0d 00 6e 09 2e 69 6e  |QUD 0..d...n..in|
000000d0  69 74 0d 00 78 18 53 54  4d 46 44 20 20 20 20 20  |it..x.STMFD     |
000000e0  52 31 33 21 2c 7b 52 31  34 7d 0d 00 82 18 41 44  |R13!,{R14}....AD|
000000f0  52 20 20 20 20 20 20 20  52 30 2c 73 65 74 6d 6f  |R       R0,setmo|
00000100  64 65 0d 00 8c 19 53 57  49 20 20 20 20 20 20 20  |de....SWI       |
00000110  22 4f 53 5f 57 72 69 74  65 30 22 0d 00 96 20 53  |"OS_Write0"... S|
00000120  57 49 20 20 20 20 20 20  20 22 4f 53 5f 52 65 6d  |WI       "OS_Rem|
00000130  6f 76 65 43 75 72 73 6f  72 73 22 0d 00 a0 15 41  |oveCursors"....A|
00000140  44 52 20 20 20 20 20 20  20 52 30 2c 62 61 6e 6b  |DR       R0,bank|
00000150  0d 00 aa 13 4d 4f 56 20  20 20 20 20 20 20 52 31  |....MOV       R1|
00000160  2c 52 30 0d 00 b4 23 53  57 49 20 20 20 20 20 20  |,R0...#SWI      |
00000170  20 22 4f 53 5f 52 65 61  64 56 64 75 56 61 72 69  | "OS_ReadVduVari|
00000180  61 62 6c 65 73 22 0d 00  be 19 4c 44 4d 49 41 20  |ables"....LDMIA |
00000190  20 20 20 20 52 31 21 2c  7b 52 32 2c 52 34 7d 0d  |    R1!,{R2,R4}.|
000001a0  00 c8 16 41 44 44 20 20  20 20 20 20 20 52 33 2c  |...ADD       R3,|
000001b0  52 32 2c 52 34 0d 00 d2  13 4d 4f 56 20 20 20 20  |R2,R4....MOV    |
000001c0  20 20 20 52 31 2c 23 31  0d 00 dc 19 53 54 4d 49  |   R1,#1....STMI|
000001d0  41 20 20 20 20 20 52 30  21 2c 7b 52 31 2d 52 34  |A     R0!,{R1-R4|
000001e0  7d 0d 00 e6 18 4c 44 4d  46 44 20 20 20 20 20 52  |}....LDMFD     R|
000001f0  31 33 21 2c 7b 52 31 35  7d 0d 00 f0 04 0d 00 fa  |13!,{R15}.......|
00000200  14 2e 73 77 61 70 6e 75  6d 20 20 45 51 55 44 20  |..swapnum  EQUD |
00000210  30 0d 01 04 09 2e 73 77  61 70 0d 01 0e 18 53 54  |0.....swap....ST|
00000220  4d 46 44 20 20 20 20 20  52 31 33 21 2c 7b 52 31  |MFD     R13!,{R1|
00000230  34 7d 0d 01 18 19 53 54  52 20 20 20 20 20 20 20  |4}....STR       |
00000240  52 31 33 2c 73 77 61 70  6e 75 6d 0d 01 22 16 41  |R13,swapnum..".A|
00000250  44 52 20 20 20 20 20 20  20 52 31 30 2c 62 61 6e  |DR       R10,ban|
00000260  6b 0d 01 2c 14 4d 4f 56  20 20 20 20 20 20 20 52  |k..,.MOV       R|
00000270  30 2c 23 31 39 0d 01 36  17 53 57 49 20 20 20 20  |0,#19..6.SWI    |
00000280  20 20 20 22 4f 53 5f 42  79 74 65 22 0d 01 40 15  |   "OS_Byte"..@.|
00000290  4d 4f 56 20 20 20 20 20  20 20 52 30 2c 23 31 31  |MOV       R0,#11|
000002a0  32 0d 01 4a 15 4c 44 52  20 20 20 20 20 20 20 52  |2..J.LDR       R|
000002b0  31 2c 62 61 6e 6b 0d 01  54 16 52 53 42 20 20 20  |1,bank..T.RSB   |
000002c0  20 20 20 20 52 31 2c 52  31 2c 23 33 0d 01 5e 21  |    R1,R1,#3..^!|
000002d0  4c 44 52 20 20 20 20 20  20 20 52 31 32 2c 5b 52  |LDR       R12,[R|
000002e0  31 30 2c 52 31 2c 4c 53  4c 20 23 32 5d 0d 01 68  |10,R1,LSL #2]..h|
000002f0  15 53 54 52 20 20 20 20  20 20 20 52 31 2c 62 61  |.STR       R1,ba|
00000300  6e 6b 0d 01 72 17 53 57  49 20 20 20 20 20 20 20  |nk..r.SWI       |
00000310  22 4f 53 5f 42 79 74 65  22 0d 01 7c 15 4d 4f 56  |"OS_Byte"..|.MOV|
00000320  20 20 20 20 20 20 20 52  30 2c 23 31 31 33 0d 01  |       R0,#113..|
00000330  86 17 53 57 49 20 20 20  20 20 20 20 22 4f 53 5f  |..SWI       "OS_|
00000340  42 79 74 65 22 0d 01 90  13 4d 4f 56 20 20 20 20  |Byte"....MOV    |
00000350  20 20 20 52 30 2c 23 30  0d 01 9a 13 4d 4f 56 20  |   R0,#0....MOV |
00000360  20 20 20 20 20 20 52 31  2c 52 30 0d 01 a4 13 4d  |      R1,R0....M|
00000370  4f 56 20 20 20 20 20 20  20 52 32 2c 52 30 0d 01  |OV       R2,R0..|
00000380  ae 13 4d 4f 56 20 20 20  20 20 20 20 52 33 2c 52  |..MOV       R3,R|
00000390  30 0d 01 b8 13 4d 4f 56  20 20 20 20 20 20 20 52  |0....MOV       R|
000003a0  34 2c 52 30 0d 01 c2 13  4d 4f 56 20 20 20 20 20  |4,R0....MOV     |
000003b0  20 20 52 35 2c 52 30 0d  01 cc 13 4d 4f 56 20 20  |  R5,R0....MOV  |
000003c0  20 20 20 20 20 52 36 2c  52 30 0d 01 d6 13 4d 4f  |     R6,R0....MO|
000003d0  56 20 20 20 20 20 20 20  52 37 2c 52 30 0d 01 e0  |V       R7,R0...|
000003e0  13 4d 4f 56 20 20 20 20  20 20 20 52 38 2c 52 30  |.MOV       R8,R0|
000003f0  0d 01 ea 13 4d 4f 56 20  20 20 20 20 20 20 52 39  |....MOV       R9|
00000400  2c 52 30 0d 01 f4 14 4d  4f 56 20 20 20 20 20 20  |,R0....MOV      |
00000410  20 52 31 30 2c 52 30 0d  01 fe 14 4d 4f 56 20 20  | R10,R0....MOV  |
00000420  20 20 20 20 20 52 31 31  2c 52 30 0d 02 08 14 4d  |     R11,R0....M|
00000430  4f 56 20 20 20 20 20 20  20 52 31 33 2c 52 30 0d  |OV       R13,R0.|
00000440  02 12 15 4d 4f 56 20 20  20 20 20 20 20 52 31 34  |...MOV       R14|
00000450  2c 23 38 37 0d 02 1c 0a  2e 73 77 61 70 32 0d 02  |,#87.....swap2..|
00000460  26 1f 53 54 4d 49 41 20  20 20 20 20 52 31 32 21  |&.STMIA     R12!|
00000470  2c 7b 52 30 2d 52 31 31  2c 52 31 33 7d 0d 02 30  |,{R0-R11,R13}..0|
00000480  1f 53 54 4d 49 41 20 20  20 20 20 52 31 32 21 2c  |.STMIA     R12!,|
00000490  7b 52 30 2d 52 31 31 2c  52 31 33 7d 0d 02 3a 1f  |{R0-R11,R13}..:.|
000004a0  53 54 4d 49 41 20 20 20  20 20 52 31 32 21 2c 7b  |STMIA     R12!,{|
000004b0  52 30 2d 52 31 31 2c 52  31 33 7d 0d 02 44 1f 53  |R0-R11,R13}..D.S|
000004c0  54 4d 49 41 20 20 20 20  20 52 31 32 21 2c 7b 52  |TMIA     R12!,{R|
000004d0  30 2d 52 31 31 2c 52 31  33 7d 0d 02 4e 1f 53 54  |0-R11,R13}..N.ST|
000004e0  4d 49 41 20 20 20 20 20  52 31 32 21 2c 7b 52 30  |MIA     R12!,{R0|
000004f0  2d 52 31 31 2c 52 31 33  7d 0d 02 58 1f 53 54 4d  |-R11,R13}..X.STM|
00000500  49 41 20 20 20 20 20 52  31 32 21 2c 7b 52 30 2d  |IA     R12!,{R0-|
00000510  52 31 31 2c 52 31 33 7d  0d 02 62 1f 53 54 4d 49  |R11,R13}..b.STMI|
00000520  41 20 20 20 20 20 52 31  32 21 2c 7b 52 30 2d 52  |A     R12!,{R0-R|
00000530  31 31 2c 52 31 33 7d 0d  02 6c 1f 53 54 4d 49 41  |11,R13}..l.STMIA|
00000540  20 20 20 20 20 52 31 32  21 2c 7b 52 30 2d 52 31  |     R12!,{R0-R1|
00000550  31 2c 52 31 33 7d 0d 02  76 1f 53 54 4d 49 41 20  |1,R13}..v.STMIA |
00000560  20 20 20 20 52 31 32 21  2c 7b 52 30 2d 52 31 31  |    R12!,{R0-R11|
00000570  2c 52 31 33 7d 0d 02 80  1f 53 54 4d 49 41 20 20  |,R13}....STMIA  |
00000580  20 20 20 52 31 32 21 2c  7b 52 30 2d 52 31 31 2c  |   R12!,{R0-R11,|
00000590  52 31 33 7d 0d 02 8a 1f  53 54 4d 49 41 20 20 20  |R13}....STMIA   |
000005a0  20 20 52 31 32 21 2c 7b  52 30 2d 52 31 31 2c 52  |  R12!,{R0-R11,R|
000005b0  31 33 7d 0d 02 94 1f 53  54 4d 49 41 20 20 20 20  |13}....STMIA    |
000005c0  20 52 31 32 21 2c 7b 52  30 2d 52 31 31 2c 52 31  | R12!,{R0-R11,R1|
000005d0  33 7d 0d 02 9e 1f 53 54  4d 49 41 20 20 20 20 20  |3}....STMIA     |
000005e0  52 31 32 21 2c 7b 52 30  2d 52 31 31 2c 52 31 33  |R12!,{R0-R11,R13|
000005f0  7d 0d 02 a8 1f 53 54 4d  49 41 20 20 20 20 20 52  |}....STMIA     R|
00000600  31 32 21 2c 7b 52 30 2d  52 31 31 2c 52 31 33 7d  |12!,{R0-R11,R13}|
00000610  0d 02 b2 1f 53 54 4d 49  41 20 20 20 20 20 52 31  |....STMIA     R1|
00000620  32 21 2c 7b 52 30 2d 52  31 31 2c 52 31 33 7d 0d  |2!,{R0-R11,R13}.|
00000630  02 bc 1f 53 54 4d 49 41  20 20 20 20 20 52 31 32  |...STMIA     R12|
00000640  21 2c 7b 52 30 2d 52 31  31 2c 52 31 33 7d 0d 02  |!,{R0-R11,R13}..|
00000650  c6 1f 53 54 4d 49 41 20  20 20 20 20 52 31 32 21  |..STMIA     R12!|
00000660  2c 7b 52 30 2d 52 31 31  2c 52 31 33 7d 0d 02 d0  |,{R0-R11,R13}...|
00000670  1f 53 54 4d 49 41 20 20  20 20 20 52 31 32 21 2c  |.STMIA     R12!,|
00000680  7b 52 30 2d 52 31 31 2c  52 31 33 7d 0d 02 da 18  |{R0-R11,R13}....|
00000690  53 55 42 53 20 20 20 20  20 20 52 31 34 2c 52 31  |SUBS      R14,R1|
000006a0  34 2c 23 31 0d 02 e4 13  42 47 54 20 20 20 20 20  |4,#1....BGT     |
000006b0  20 20 73 77 61 70 32 0d  02 ee 1f 53 54 4d 49 41  |  swap2....STMIA|
000006c0  20 20 20 20 20 52 31 32  21 2c 7b 52 30 2d 52 31  |     R12!,{R0-R1|
000006d0  31 2c 52 31 33 7d 0d 02  f8 1f 53 54 4d 49 41 20  |1,R13}....STMIA |
000006e0  20 20 20 20 52 31 32 21  2c 7b 52 30 2d 52 31 31  |    R12!,{R0-R11|
000006f0  2c 52 31 33 7d 0d 03 02  1b 53 54 4d 49 41 20 20  |,R13}....STMIA  |
00000700  20 20 20 52 31 32 21 2c  7b 52 30 2d 52 31 31 7d  |   R12!,{R0-R11}|
00000710  0d 03 0c 1b 53 54 4d 49  41 20 20 20 20 20 52 31  |....STMIA     R1|
00000720  32 21 2c 7b 52 30 2d 52  31 31 7d 0d 03 16 1b 53  |2!,{R0-R11}....S|
00000730  54 4d 49 41 20 20 20 20  20 52 31 32 21 2c 7b 52  |TMIA     R12!,{R|
00000740  30 2d 52 31 31 7d 0d 03  20 1b 53 54 4d 49 41 20  |0-R11}.. .STMIA |
00000750  20 20 20 20 52 31 32 21  2c 7b 52 30 2d 52 31 31  |    R12!,{R0-R11|
00000760  7d 0d 03 2a 1b 53 54 4d  49 41 20 20 20 20 20 52  |}..*.STMIA     R|
00000770  31 32 21 2c 7b 52 30 2d  52 31 31 7d 0d 03 34 1b  |12!,{R0-R11}..4.|
00000780  53 54 4d 49 41 20 20 20  20 20 52 31 32 21 2c 7b  |STMIA     R12!,{|
00000790  52 30 2d 52 31 31 7d 0d  03 3e 1b 53 54 4d 49 41  |R0-R11}..>.STMIA|
000007a0  20 20 20 20 20 52 31 32  21 2c 7b 52 30 2d 52 31  |     R12!,{R0-R1|
000007b0  31 7d 0d 03 48 1b 53 54  4d 49 41 20 20 20 20 20  |1}..H.STMIA     |
000007c0  52 31 32 21 2c 7b 52 30  2d 52 31 31 7d 0d 03 52  |R12!,{R0-R11}..R|
000007d0  1c 53 55 42 20 20 20 20  20 20 20 52 31 32 2c 52  |.SUB       R12,R|
000007e0  31 32 2c 23 34 30 39 36  30 0d 03 5c 1a 41 44 44  |12,#40960..\.ADD|
000007f0  20 20 20 20 20 20 20 52  31 32 2c 52 31 32 2c 23  |       R12,R12,#|
00000800  31 36 30 0d 03 66 19 4c  44 52 20 20 20 20 20 20  |160..f.LDR      |
00000810  20 52 31 33 2c 73 77 61  70 6e 75 6d 0d 03 70 18  | R13,swapnum..p.|
00000820  4c 44 4d 46 44 20 20 20  20 20 52 31 33 21 2c 7b  |LDMFD     R13!,{|
00000830  52 31 35 7d 0d 03 7a 04  0d 03 84 1b 2e 72 6f 74  |R15}..z......rot|
00000840  20 20 20 20 20 20 45 51  55 44 20 30 3a 45 51 55  |      EQUD 0:EQU|
00000850  44 20 30 0d 03 8e 0b 2e  72 6f 74 61 74 65 0d 03  |D 0.....rotate..|
00000860  98 18 53 54 4d 46 44 20  20 20 20 20 52 31 33 21  |..STMFD     R13!|
00000870  2c 7b 52 31 34 7d 0d 03  a2 17 53 54 52 20 20 20  |,{R14}....STR   |
00000880  20 20 20 20 52 31 33 2c  72 6f 74 2b 34 0d 03 ac  |    R13,rot+4...|
00000890  14 4c 44 52 20 20 20 20  20 20 20 52 30 2c 72 6f  |.LDR       R0,ro|
000008a0  74 0d 03 b6 11 a4 61 64  72 28 31 32 2c 73 69 6e  |t.....adr(12,sin|
000008b0  65 29 0d 03 c0 21 4c 44  52 20 20 20 20 20 20 20  |e)...!LDR       |
000008c0  52 36 2c 5b 52 31 32 2c  52 30 2c 4c 53 4c 20 23  |R6,[R12,R0,LSL #|
000008d0  32 5d 21 0d 03 ca 1c 4c  44 52 20 20 20 20 20 20  |2]!....LDR      |
000008e0  20 52 37 2c 5b 52 31 32  2c 23 31 34 34 30 5d 0d  | R7,[R12,#1440].|
000008f0  03 d4 16 52 53 42 20 20  20 20 20 20 20 52 38 2c  |...RSB       R8,|
00000900  52 36 2c 23 30 0d 03 de  10 a4 61 64 72 28 31 34  |R6,#0.....adr(14|
00000910  2c 78 79 7a 29 0d 03 e8  16 a4 61 64 72 28 31 33  |,xyz).....adr(13|
00000920  2c 63 6f 6c 7a 31 2b 32  35 36 29 0d 03 f2 12 a4  |,colz1+256).....|
00000930  61 64 72 28 31 32 2c 74  72 61 6e 73 29 0d 03 fc  |adr(12,trans)...|
00000940  14 a4 61 64 72 28 31 31  2c 64 69 76 2b 35 31 32  |..adr(11,div+512|
00000950  29 0d 04 06 15 4d 4f 56  20 20 20 20 20 20 20 52  |)....MOV       R|
00000960  31 30 2c 23 37 38 0d 04  10 0c 2e 72 6f 74 61 74  |10,#78.....rotat|
00000970  65 32 0d 04 1a 1a 4c 44  4d 49 41 20 20 20 20 20  |e2....LDMIA     |
00000980  52 31 34 21 2c 7b 52 30  2d 52 35 7d 0d 04 24 16  |R14!,{R0-R5}..$.|
00000990  4d 55 4c 20 20 20 20 20  20 20 52 39 2c 52 30 2c  |MUL       R9,R0,|
000009a0  52 38 0d 04 2e 16 4d 55  4c 20 20 20 20 20 20 20  |R8....MUL       |
000009b0  52 30 2c 52 37 2c 52 30  0d 04 38 19 4d 4c 41 20  |R0,R7,R0..8.MLA |
000009c0  20 20 20 20 20 20 52 30  2c 52 32 2c 52 36 2c 52  |      R0,R2,R6,R|
000009d0  30 0d 04 42 19 4d 4c 41  20 20 20 20 20 20 20 52  |0..B.MLA       R|
000009e0  32 2c 52 37 2c 52 32 2c  52 39 0d 04 4c 1b 4d 4f  |2,R7,R2,R9..L.MO|
000009f0  56 20 20 20 20 20 20 20  52 32 2c 52 32 2c 41 53  |V       R2,R2,AS|
00000a00  52 20 23 31 35 0d 04 56  20 4c 44 52 20 20 20 20  |R #15..V LDR    |
00000a10  20 20 20 52 39 2c 5b 52  31 31 2c 52 32 2c 41 53  |   R9,[R11,R2,AS|
00000a20  4c 20 23 32 5d 0d 04 60  16 4d 55 4c 20 20 20 20  |L #2]..`.MUL    |
00000a30  20 20 20 52 30 2c 52 39  2c 52 30 0d 04 6a 16 4d  |   R0,R9,R0..j.M|
00000a40  55 4c 20 20 20 20 20 20  20 52 31 2c 52 39 2c 52  |UL       R1,R9,R|
00000a50  31 0d 04 74 19 4c 44 52  42 20 20 20 20 20 20 52  |1..t.LDRB      R|
00000a60  32 2c 5b 52 31 33 2c 52  32 5d 0d 04 7e 16 4d 55  |2,[R13,R2]..~.MU|
00000a70  4c 20 20 20 20 20 20 20  52 39 2c 52 33 2c 52 38  |L       R9,R3,R8|
00000a80  0d 04 88 16 4d 55 4c 20  20 20 20 20 20 20 52 33  |....MUL       R3|
00000a90  2c 52 37 2c 52 33 0d 04  92 19 4d 4c 41 20 20 20  |,R7,R3....MLA   |
00000aa0  20 20 20 20 52 33 2c 52  35 2c 52 36 2c 52 33 0d  |    R3,R5,R6,R3.|
00000ab0  04 9c 19 4d 4c 41 20 20  20 20 20 20 20 52 35 2c  |...MLA       R5,|
00000ac0  52 37 2c 52 35 2c 52 39  0d 04 a6 1b 4d 4f 56 20  |R7,R5,R9....MOV |
00000ad0  20 20 20 20 20 20 52 35  2c 52 35 2c 41 53 52 20  |      R5,R5,ASR |
00000ae0  23 31 35 0d 04 b0 20 4c  44 52 20 20 20 20 20 20  |#15... LDR      |
00000af0  20 52 39 2c 5b 52 31 31  2c 52 35 2c 41 53 4c 20  | R9,[R11,R5,ASL |
00000b00  23 32 5d 0d 04 ba 16 4d  55 4c 20 20 20 20 20 20  |#2]....MUL      |
00000b10  20 52 33 2c 52 39 2c 52  33 0d 04 c4 16 4d 55 4c  | R3,R9,R3....MUL|
00000b20  20 20 20 20 20 20 20 52  34 2c 52 39 2c 52 34 0d  |       R4,R9,R4.|
00000b30  04 ce 19 4c 44 52 42 20  20 20 20 20 20 52 35 2c  |...LDRB      R5,|
00000b40  5b 52 31 33 2c 52 35 5d  0d 04 d8 1a 53 54 4d 49  |[R13,R5]....STMI|
00000b50  41 20 20 20 20 20 52 31  32 21 2c 7b 52 30 2d 52  |A     R12!,{R0-R|
00000b60  35 7d 0d 04 e2 18 53 55  42 53 20 20 20 20 20 20  |5}....SUBS      |
00000b70  52 31 30 2c 52 31 30 2c  23 31 0d 04 ec 15 42 47  |R10,R10,#1....BG|
00000b80  54 20 20 20 20 20 20 20  72 6f 74 61 74 65 32 0d  |T       rotate2.|
00000b90  04 f6 16 4d 4f 56 20 20  20 20 20 20 20 52 31 30  |...MOV       R10|
00000ba0  2c 23 31 30 30 0d 05 00  1a 41 44 44 20 20 20 20  |,#100....ADD    |
00000bb0  20 20 20 52 31 33 2c 52  31 33 2c 23 35 31 32 0d  |   R13,R13,#512.|
00000bc0  05 0a 0c 2e 72 6f 74 61  74 65 33 0d 05 14 1a 4c  |....rotate3....L|
00000bd0  44 4d 49 41 20 20 20 20  20 52 31 34 21 2c 7b 52  |DMIA     R14!,{R|
00000be0  30 2d 52 35 7d 0d 05 1e  16 4d 55 4c 20 20 20 20  |0-R5}....MUL    |
00000bf0  20 20 20 52 39 2c 52 30  2c 52 38 0d 05 28 16 4d  |   R9,R0,R8..(.M|
00000c00  55 4c 20 20 20 20 20 20  20 52 30 2c 52 37 2c 52  |UL       R0,R7,R|
00000c10  30 0d 05 32 19 4d 4c 41  20 20 20 20 20 20 20 52  |0..2.MLA       R|
00000c20  30 2c 52 32 2c 52 36 2c  52 30 0d 05 3c 19 4d 4c  |0,R2,R6,R0..<.ML|
00000c30  41 20 20 20 20 20 20 20  52 32 2c 52 37 2c 52 32  |A       R2,R7,R2|
00000c40  2c 52 39 0d 05 46 1b 4d  4f 56 20 20 20 20 20 20  |,R9..F.MOV      |
00000c50  20 52 32 2c 52 32 2c 41  53 52 20 23 31 35 0d 05  | R2,R2,ASR #15..|
00000c60  50 20 4c 44 52 20 20 20  20 20 20 20 52 39 2c 5b  |P LDR       R9,[|
00000c70  52 31 31 2c 52 32 2c 41  53 4c 20 23 32 5d 0d 05  |R11,R2,ASL #2]..|
00000c80  5a 16 4d 55 4c 20 20 20  20 20 20 20 52 30 2c 52  |Z.MUL       R0,R|
00000c90  39 2c 52 30 0d 05 64 16  4d 55 4c 20 20 20 20 20  |9,R0..d.MUL     |
00000ca0  20 20 52 31 2c 52 39 2c  52 31 0d 05 6e 19 4c 44  |  R1,R9,R1..n.LD|
00000cb0  52 42 20 20 20 20 20 20  52 32 2c 5b 52 31 33 2c  |RB      R2,[R13,|
00000cc0  52 32 5d 0d 05 78 16 4d  55 4c 20 20 20 20 20 20  |R2]..x.MUL      |
00000cd0  20 52 39 2c 52 33 2c 52  38 0d 05 82 16 4d 55 4c  | R9,R3,R8....MUL|
00000ce0  20 20 20 20 20 20 20 52  33 2c 52 37 2c 52 33 0d  |       R3,R7,R3.|
00000cf0  05 8c 19 4d 4c 41 20 20  20 20 20 20 20 52 33 2c  |...MLA       R3,|
00000d00  52 35 2c 52 36 2c 52 33  0d 05 96 19 4d 4c 41 20  |R5,R6,R3....MLA |
00000d10  20 20 20 20 20 20 52 35  2c 52 37 2c 52 35 2c 52  |      R5,R7,R5,R|
00000d20  39 0d 05 a0 1b 4d 4f 56  20 20 20 20 20 20 20 52  |9....MOV       R|
00000d30  35 2c 52 35 2c 41 53 52  20 23 31 35 0d 05 aa 20  |5,R5,ASR #15... |
00000d40  4c 44 52 20 20 20 20 20  20 20 52 39 2c 5b 52 31  |LDR       R9,[R1|
00000d50  31 2c 52 35 2c 41 53 4c  20 23 32 5d 0d 05 b4 16  |1,R5,ASL #2]....|
00000d60  4d 55 4c 20 20 20 20 20  20 20 52 33 2c 52 39 2c  |MUL       R3,R9,|
00000d70  52 33 0d 05 be 16 4d 55  4c 20 20 20 20 20 20 20  |R3....MUL       |
00000d80  52 34 2c 52 39 2c 52 34  0d 05 c8 19 4c 44 52 42  |R4,R9,R4....LDRB|
00000d90  20 20 20 20 20 20 52 35  2c 5b 52 31 33 2c 52 35  |      R5,[R13,R5|
00000da0  5d 0d 05 d2 1a 53 54 4d  49 41 20 20 20 20 20 52  |]....STMIA     R|
00000db0  31 32 21 2c 7b 52 30 2d  52 35 7d 0d 05 dc 18 53  |12!,{R0-R5}....S|
00000dc0  55 42 53 20 20 20 20 20  20 52 31 30 2c 52 31 30  |UBS      R10,R10|
00000dd0  2c 23 31 0d 05 e6 15 42  47 54 20 20 20 20 20 20  |,#1....BGT      |
00000de0  20 72 6f 74 61 74 65 33  0d 05 f0 16 4d 4f 56 20  | rotate3....MOV |
00000df0  20 20 20 20 20 20 52 31  30 2c 23 31 32 30 0d 05  |      R10,#120..|
00000e00  fa 1a 41 44 44 20 20 20  20 20 20 20 52 31 33 2c  |..ADD       R13,|
00000e10  52 31 33 2c 23 35 31 32  0d 06 04 0c 2e 72 6f 74  |R13,#512.....rot|
00000e20  61 74 65 34 0d 06 0e 1d  4c 44 4d 49 41 20 20 20  |ate4....LDMIA   |
00000e30  20 20 52 31 34 21 2c 7b  52 30 2d 52 32 2c 52 34  |  R14!,{R0-R2,R4|
00000e40  7d 0d 06 18 16 4d 55 4c  20 20 20 20 20 20 20 52  |}....MUL       R|
00000e50  39 2c 52 30 2c 52 38 0d  06 22 16 4d 55 4c 20 20  |9,R0,R8..".MUL  |
00000e60  20 20 20 20 20 52 30 2c  52 37 2c 52 30 0d 06 2c  |     R0,R7,R0..,|
00000e70  19 4d 4c 41 20 20 20 20  20 20 20 52 30 2c 52 32  |.MLA       R0,R2|
00000e80  2c 52 36 2c 52 30 0d 06  36 19 4d 4c 41 20 20 20  |,R6,R0..6.MLA   |
00000e90  20 20 20 20 52 32 2c 52  37 2c 52 32 2c 52 39 0d  |    R2,R7,R2,R9.|
00000ea0  06 40 1b 4d 4f 56 20 20  20 20 20 20 20 52 32 2c  |.@.MOV       R2,|
00000eb0  52 32 2c 41 53 52 20 23  31 35 0d 06 4a 20 4c 44  |R2,ASR #15..J LD|
00000ec0  52 20 20 20 20 20 20 20  52 39 2c 5b 52 31 31 2c  |R       R9,[R11,|
00000ed0  52 32 2c 41 53 4c 20 23  32 5d 0d 06 54 19 4c 44  |R2,ASL #2]..T.LD|
00000ee0  52 42 20 20 20 20 20 20  52 33 2c 5b 52 31 33 2c  |RB      R3,[R13,|
00000ef0  52 32 5d 0d 06 5e 16 4d  55 4c 20 20 20 20 20 20  |R2]..^.MUL      |
00000f00  20 52 30 2c 52 39 2c 52  30 0d 06 68 16 4d 55 4c  | R0,R9,R0..h.MUL|
00000f10  20 20 20 20 20 20 20 52  31 2c 52 39 2c 52 31 0d  |       R1,R9,R1.|
00000f20  06 72 16 4d 55 4c 20 20  20 20 20 20 20 52 32 2c  |.r.MUL       R2,|
00000f30  52 39 2c 52 34 0d 06 7c  1a 4d 4f 56 20 20 20 20  |R9,R4..|.MOV    |
00000f40  20 20 20 52 31 2c 52 31  2c 41 53 52 20 23 38 0d  |   R1,R1,ASR #8.|
00000f50  06 86 1d 52 53 42 20 20  20 20 20 20 20 52 32 2c  |...RSB       R2,|
00000f60  52 31 2c 52 32 2c 41 53  52 20 23 38 0d 06 90 1a  |R1,R2,ASR #8....|
00000f70  53 54 4d 49 41 20 20 20  20 20 52 31 32 21 2c 7b  |STMIA     R12!,{|
00000f80  52 30 2d 52 33 7d 0d 06  9a 18 53 55 42 53 20 20  |R0-R3}....SUBS  |
00000f90  20 20 20 20 52 31 30 2c  52 31 30 2c 23 31 0d 06  |    R10,R10,#1..|
00000fa0  a4 15 42 47 54 20 20 20  20 20 20 20 72 6f 74 61  |..BGT       rota|
00000fb0  74 65 34 0d 06 ae 17 4c  44 52 20 20 20 20 20 20  |te4....LDR      |
00000fc0  20 52 31 33 2c 72 6f 74  2b 34 0d 06 b8 18 4c 44  | R13,rot+4....LD|
00000fd0  4d 46 44 20 20 20 20 20  52 31 33 21 2c 7b 52 31  |MFD     R13!,{R1|
00000fe0  35 7d 0d 06 c2 04 0d 06  cc 0b 2e 63 69 72 63 6c  |5}.........circl|
00000ff0  65 0d 06 d6 1a 4d 4f 56  53 20 20 20 20 20 20 52  |e....MOVS      R|
00001000  33 2c 52 32 2c 4c 53 52  20 23 31 0d 06 e0 16 41  |3,R2,LSR #1....A|
00001010  44 44 43 53 20 20 20 20  20 52 33 2c 52 33 2c 23  |DDCS     R3,R3,#|
00001020  31 0d 06 ea 16 41 44 44  20 20 20 20 20 20 20 52  |1....ADD       R|
00001030  31 2c 52 31 2c 52 33 0d  06 f4 15 43 4d 4e 20 20  |1,R1,R3....CMN  |
00001040  20 20 20 20 20 52 31 2c  23 31 32 38 0d 06 fe 15  |     R1,#128....|
00001050  4d 4f 56 4c 45 20 20 20  20 20 52 31 35 2c 52 31  |MOVLE     R15,R1|
00001060  34 0d 07 08 18 53 54 4d  46 44 20 20 20 20 20 52  |4....STMFD     R|
00001070  31 33 21 2c 7b 52 31 34  7d 0d 07 12 1f 41 44 44  |13!,{R14}....ADD|
00001080  20 20 20 20 20 20 20 52  35 2c 52 31 32 2c 52 30  |       R5,R12,R0|
00001090  2c 41 53 52 20 23 32 33  0d 07 1c 1d 41 44 44 20  |,ASR #23....ADD |
000010a0  20 20 20 20 20 20 52 30  2c 52 31 2c 52 31 2c 41  |      R0,R1,R1,A|
000010b0  53 4c 20 23 32 0d 07 26  1d 41 44 44 20 20 20 20  |SL #2..&.ADD    |
000010c0  20 20 20 52 35 2c 52 35  2c 52 30 2c 41 53 4c 20  |   R5,R5,R0,ASL |
000010d0  23 36 0d 07 30 16 4d 55  4c 20 20 20 20 20 20 20  |#6..0.MUL       |
000010e0  52 34 2c 52 33 2c 52 33  0d 07 3a 16 53 55 42 20  |R4,R3,R3..:.SUB |
000010f0  20 20 20 20 20 20 52 30  2c 52 31 2c 52 32 0d 07  |      R0,R1,R2..|
00001100  44 18 41 44 44 53 20 20  20 20 20 20 52 30 2c 52  |D.ADDS      R0,R|
00001110  30 2c 23 31 32 38 0d 07  4e 16 41 44 44 4c 54 20  |0,#128..N.ADDLT |
00001120  20 20 20 20 52 32 2c 52  32 2c 52 30 0d 07 58 0f  |    R2,R2,R0..X.|
00001130  a4 61 64 72 28 30 2c 73  71 72 29 0d 07 62 1d 41  |.adr(0,sqr)..b.A|
00001140  44 44 20 20 20 20 20 20  20 52 30 2c 52 30 2c 52  |DD       R0,R0,R|
00001150  34 2c 4c 53 4c 20 23 32  0d 07 6c 0c 2e 63 69 72  |4,LSL #2..l..cir|
00001160  63 6c 65 32 0d 07 76 16  4d 55 4c 20 20 20 20 20  |cle2..v.MUL     |
00001170  20 20 52 34 2c 52 33 2c  52 33 0d 07 80 20 4c 44  |  R4,R3,R3... LD|
00001180  52 20 20 20 20 20 20 20  52 34 2c 5b 52 30 2c 2d  |R       R4,[R0,-|
00001190  52 34 2c 4c 53 4c 20 23  32 5d 0d 07 8a 1f 41 44  |R4,LSL #2]....AD|
000011a0  44 20 20 20 20 20 20 20  52 31 34 2c 52 35 2c 52  |D       R14,R5,R|
000011b0  34 2c 41 53 52 20 23 31  32 0d 07 94 15 80 20 20  |4,ASR #12.....  |
000011c0  20 20 20 20 20 52 31 2c  52 31 34 2c 23 33 0d 07  |     R1,R14,#3..|
000011d0  9e 1e 53 55 42 53 20 20  20 20 20 20 52 34 2c 52  |..SUBS      R4,R|
000011e0  34 2c 52 31 2c 41 53 4c  20 23 31 31 0d 07 a8 1e  |4,R1,ASL #11....|
000011f0  41 44 44 4c 54 20 20 20  20 20 52 31 2c 52 31 2c  |ADDLT     R1,R1,|
00001200  52 34 2c 41 53 52 20 23  31 31 0d 07 b2 13 4d 4f  |R4,ASR #11....MO|
00001210  56 4c 54 20 20 20 20 20  52 34 2c 23 30 0d 07 bc  |VLT     R4,#0...|
00001220  13 54 53 54 20 20 20 20  20 20 20 52 31 2c 23 31  |.TST       R1,#1|
00001230  0d 07 c6 1b 53 54 52 4e  45 42 20 20 20 20 52 36  |....STRNEB    R6|
00001240  2c 5b 52 31 34 2c 23 2d  31 5d 21 0d 07 d0 13 54  |,[R14,#-1]!....T|
00001250  53 54 20 20 20 20 20 20  20 52 31 2c 23 32 0d 07  |ST       R1,#2..|
00001260  da 1b 53 54 52 4e 45 42  20 20 20 20 52 36 2c 5b  |..STRNEB    R6,[|
00001270  52 31 34 2c 23 2d 31 5d  21 0d 07 e4 1b 53 54 52  |R14,#-1]!....STR|
00001280  4e 45 42 20 20 20 20 52  36 2c 5b 52 31 34 2c 23  |NEB    R6,[R14,#|
00001290  2d 31 5d 21 0d 07 ee 17  54 53 54 20 20 20 20 20  |-1]!....TST     |
000012a0  20 20 52 34 2c 23 31 3c  3c 31 33 0d 07 f8 1b 53  |  R4,#1<<13....S|
000012b0  54 52 4e 45 20 20 20 20  20 52 36 2c 5b 52 31 34  |TRNE     R6,[R14|
000012c0  2c 23 2d 34 5d 21 0d 08  02 17 54 53 54 20 20 20  |,#-4]!....TST   |
000012d0  20 20 20 20 52 34 2c 23  31 3c 3c 31 34 0d 08 0c  |    R4,#1<<14...|
000012e0  1a 53 54 4d 4e 45 44 42  20 20 20 52 31 34 21 2c  |.STMNEDB   R14!,|
000012f0  7b 52 36 2d 52 37 7d 0d  08 16 17 54 53 54 20 20  |{R6-R7}....TST  |
00001300  20 20 20 20 20 52 34 2c  23 31 3c 3c 31 35 0d 08  |     R4,#1<<15..|
00001310  20 1a 53 54 4d 4e 45 44  42 20 20 20 52 31 34 21  | .STMNEDB   R14!|
00001320  2c 7b 52 36 2d 52 39 7d  0d 08 21 17 54 53 54 20  |,{R6-R9}..!.TST |
00001330  20 20 20 20 20 20 52 34  2c 23 31 3c 3c 31 36 0d  |      R4,#1<<16.|
00001340  08 22 1a 53 54 4d 4e 45  44 42 20 20 20 52 31 34  |.".STMNEDB   R14|
00001350  21 2c 7b 52 36 2d 52 39  7d 0d 08 23 1a 53 54 4d  |!,{R6-R9}..#.STM|
00001360  4e 45 44 42 20 20 20 52  31 34 21 2c 7b 52 36 2d  |NEDB   R14!,{R6-|
00001370  52 39 7d 0d 08 48 17 54  53 54 20 20 20 20 20 20  |R9}..H.TST      |
00001380  20 52 34 2c 23 31 3c 3c  31 32 0d 08 52 1b 53 54  | R4,#1<<12..R.ST|
00001390  52 4e 45 42 20 20 20 20  52 36 2c 5b 52 31 34 2c  |RNEB    R6,[R14,|
000013a0  23 2d 31 5d 21 0d 08 5c  1b 53 54 52 4e 45 42 20  |#-1]!..\.STRNEB |
000013b0  20 20 20 52 36 2c 5b 52  31 34 2c 23 2d 31 5d 21  |   R6,[R14,#-1]!|
000013c0  0d 08 66 17 54 53 54 20  20 20 20 20 20 20 52 34  |..f.TST       R4|
000013d0  2c 23 31 3c 3c 31 31 0d  08 70 1b 53 54 52 4e 45  |,#1<<11..p.STRNE|
000013e0  42 20 20 20 20 52 36 2c  5b 52 31 34 2c 23 2d 31  |B    R6,[R14,#-1|
000013f0  5d 21 0d 08 7a 18 53 55  42 20 20 20 20 20 20 20  |]!..z.SUB       |
00001400  52 35 2c 52 35 2c 23 33  32 30 0d 08 84 16 53 55  |R5,R5,#320....SU|
00001410  42 20 20 20 20 20 20 20  52 33 2c 52 33 2c 23 31  |B       R3,R3,#1|
00001420  0d 08 8e 16 53 55 42 53  20 20 20 20 20 20 52 32  |....SUBS      R2|
00001430  2c 52 32 2c 23 31 0d 08  98 15 42 47 54 20 20 20  |,R2,#1....BGT   |
00001440  20 20 20 20 63 69 72 63  6c 65 32 0d 08 a2 18 4c  |    circle2....L|
00001450  44 4d 46 44 20 20 20 20  20 52 31 33 21 2c 7b 52  |DMFD     R13!,{R|
00001460  31 35 7d 0d 08 ac 04 0d  08 b6 14 2e 72 6e 20 20  |15}.........rn  |
00001470  20 20 20 20 20 45 51 55  44 20 30 0d 08 c0 09 2e  |     EQUD 0.....|
00001480  72 61 69 6e 0d 08 ca 18  53 54 4d 46 44 20 20 20  |rain....STMFD   |
00001490  20 20 52 31 33 21 2c 7b  52 31 34 7d 0d 08 d4 13  |  R13!,{R14}....|
000014a0  4c 44 52 20 20 20 20 20  20 20 52 30 2c 72 6e 0d  |LDR       R0,rn.|
000014b0  08 de 16 53 55 42 53 20  20 20 20 20 20 52 30 2c  |...SUBS      R0,|
000014c0  52 30 2c 23 31 0d 08 e8  15 4d 4f 56 4c 54 20 20  |R0,#1....MOVLT  |
000014d0  20 20 20 52 30 2c 23 33  36 30 0d 08 f2 13 53 54  |   R0,#360....ST|
000014e0  52 20 20 20 20 20 20 20  52 30 2c 72 6e 0d 08 fc  |R       R0,rn...|
000014f0  10 a4 61 64 72 28 39 2c  77 61 76 65 29 0d 09 06  |..adr(9,wave)...|
00001500  1d 41 44 44 20 20 20 20  20 20 20 52 39 2c 52 39  |.ADD       R9,R9|
00001510  2c 52 30 2c 4c 53 4c 20  23 32 0d 09 10 17 a4 61  |,R0,LSL #2.....a|
00001520  64 72 28 31 31 2c 78 79  7a 2b 31 35 36 2a 31 32  |dr(11,xyz+156*12|
00001530  29 0d 09 1a 16 4d 4f 56  20 20 20 20 20 20 20 52  |)....MOV       R|
00001540  31 30 2c 23 32 30 30 0d  09 24 0a 2e 72 61 69 6e  |10,#200..$..rain|
00001550  32 0d 09 2e 1a 4c 44 52  20 20 20 20 20 20 20 52  |2....LDR       R|
00001560  30 2c 5b 52 31 31 2c 23  34 5d 21 0d 09 38 16 41  |0,[R11,#4]!..8.A|
00001570  44 44 20 20 20 20 20 20  20 52 30 2c 52 30 2c 23  |DD       R0,R0,#|
00001580  31 0d 09 42 15 43 4d 50  20 20 20 20 20 20 20 52  |1..B.CMP       R|
00001590  30 2c 23 31 34 30 0d 09  4c 15 4d 56 4e 47 45 20  |0,#140..L.MVNGE |
000015a0  20 20 20 20 52 30 2c 23  31 30 30 0d 09 56 19 53  |    R0,#100..V.S|
000015b0  54 52 20 20 20 20 20 20  20 52 30 2c 5b 52 31 31  |TR       R0,[R11|
000015c0  5d 2c 23 38 0d 09 60 18  53 55 42 53 20 20 20 20  |],#8..`.SUBS    |
000015d0  20 20 52 31 30 2c 52 31  30 2c 23 31 0d 09 6a 13  |  R10,R10,#1..j.|
000015e0  42 47 54 20 20 20 20 20  20 20 72 61 69 6e 32 0d  |BGT       rain2.|
000015f0  09 74 18 53 55 42 20 20  20 20 20 20 20 52 31 31  |.t.SUB       R11|
00001600  2c 52 31 31 2c 23 34 0d  09 7e 16 4d 4f 56 20 20  |,R11,#4..~.MOV  |
00001610  20 20 20 20 20 52 31 30  2c 23 31 32 30 0d 09 88  |     R10,#120...|
00001620  0a 2e 72 61 69 6e 33 0d  09 92 1a 4c 44 52 20 20  |..rain3....LDR  |
00001630  20 20 20 20 20 52 30 2c  5b 52 31 31 2c 23 38 5d  |     R0,[R11,#8]|
00001640  21 0d 09 9c 19 4c 44 52  20 20 20 20 20 20 20 52  |!....LDR       R|
00001650  34 2c 5b 52 39 5d 2c 23  31 32 0d 09 a6 16 41 44  |4,[R9],#12....AD|
00001660  44 20 20 20 20 20 20 20  52 30 2c 52 30 2c 52 34  |D       R0,R0,R4|
00001670  0d 09 b0 1a 53 54 52 20  20 20 20 20 20 20 52 30  |....STR       R0|
00001680  2c 5b 52 31 31 2c 23 38  5d 21 0d 09 ba 18 53 55  |,[R11,#8]!....SU|
00001690  42 53 20 20 20 20 20 20  52 31 30 2c 52 31 30 2c  |BS      R10,R10,|
000016a0  23 31 0d 09 c4 13 42 47  54 20 20 20 20 20 20 20  |#1....BGT       |
000016b0  72 61 69 6e 33 0d 09 ce  18 4c 44 4d 46 44 20 20  |rain3....LDMFD  |
000016c0  20 20 20 52 31 33 21 2c  7b 52 31 35 7d 0d 09 d8  |   R13!,{R15}...|
000016d0  04 0d 09 e2 09 2e 76 69  65 77 0d 09 ec 18 53 54  |......view....ST|
000016e0  4d 46 44 20 20 20 20 20  52 31 33 21 2c 7b 52 31  |MFD     R13!,{R1|
000016f0  34 7d 0d 09 f6 12 42 4c  20 20 20 20 20 20 20 20  |4}....BL        |
00001700  73 77 61 70 0d 0a 00 19  a4 61 64 72 28 31 30 2c  |swap.....adr(10,|
00001710  74 72 61 6e 73 2b 33 35  36 2a 31 32 29 0d 0a 14  |trans+356*12)...|
00001720  1a 5d e3 20 41 25 3d 33  20 b8 20 31 32 3a 5b 4f  |.]. A%=3 . 12:[O|
00001730  50 54 20 70 61 73 73 0d  0a 1e 1a 4c 44 52 20 20  |PT pass....LDR  |
00001740  20 20 20 20 20 52 36 2c  6c 69 73 74 2b 41 25 2a  |     R6,list+A%*|
00001750  34 0d 0a 28 13 4d 4f 56  20 20 20 20 20 20 20 52  |4..(.MOV       R|
00001760  37 2c 52 36 0d 0a 32 13  4d 4f 56 20 20 20 20 20  |7,R6..2.MOV     |
00001770  20 20 52 38 2c 52 36 0d  0a 3c 13 4d 4f 56 20 20  |  R8,R6..<.MOV  |
00001780  20 20 20 20 20 52 39 2c  52 36 0d 0a 46 16 4d 4f  |     R9,R6..F.MO|
00001790  56 20 20 20 20 20 20 20  52 31 31 2c 23 31 32 30  |V       R11,#120|
000017a0  0d 0a 50 0a 2e 76 69 65  77 32 0d 0a 5a 1a 4c 44  |..P..view2..Z.LD|
000017b0  4d 49 41 20 20 20 20 20  52 31 30 21 2c 7b 52 30  |MIA     R10!,{R0|
000017c0  2d 52 33 7d 0d 0a 64 1b  43 4d 50 20 20 20 20 20  |-R3}..d.CMP     |
000017d0  20 20 52 33 2c 52 36 2c  4c 53 52 20 23 32 34 0d  |  R3,R6,LSR #24.|
000017e0  0a 6e 14 42 4c 45 51 20  20 20 20 20 20 63 69 72  |.n.BLEQ      cir|
000017f0  63 6c 65 0d 0a 78 18 53  55 42 53 20 20 20 20 20  |cle..x.SUBS     |
00001800  20 52 31 31 2c 52 31 31  2c 23 31 0d 0a 82 13 42  | R11,R11,#1....B|
00001810  47 54 20 20 20 20 20 20  20 76 69 65 77 32 0d 0a  |GT       view2..|
00001820  8c 1d 53 55 42 20 20 20  20 20 20 20 52 31 30 2c  |..SUB       R10,|
00001830  52 31 30 2c 23 31 32 30  2a 31 36 0d 0a 96 10 5d  |R10,#120*16....]|
00001840  ed 3a 5b 4f 50 54 20 70  61 73 73 0d 0a aa 12 a4  |.:[OPT pass.....|
00001850  61 64 72 28 31 30 2c 74  72 61 6e 73 29 0d 0a b4  |adr(10,trans)...|
00001860  15 4d 4f 56 20 20 20 20  20 20 20 52 38 2c 23 33  |.MOV       R8,#3|
00001870  35 36 0d 0a be 0a 2e 76  69 65 77 33 0d 0a c8 1a  |56.....view3....|
00001880  4c 44 4d 49 41 20 20 20  20 20 52 31 30 21 2c 7b  |LDMIA     R10!,{|
00001890  52 30 2d 52 32 7d 0d 0a  d2 1a 4d 4f 56 20 20 20  |R0-R2}....MOV   |
000018a0  20 20 20 20 52 31 2c 52  31 2c 41 53 52 20 23 38  |    R1,R1,ASR #8|
000018b0  0d 0a dc 15 43 4d 50 20  20 20 20 20 20 20 52 31  |....CMP       R1|
000018c0  2c 23 31 32 37 0d 0a e6  13 42 47 54 20 20 20 20  |,#127....BGT    |
000018d0  20 20 20 76 69 65 77 34  0d 0a f0 15 43 4d 4e 20  |   view4....CMN |
000018e0  20 20 20 20 20 20 52 31  2c 23 31 32 37 0d 0a fa  |      R1,#127...|
000018f0  13 42 4c 54 20 20 20 20  20 20 20 76 69 65 77 34  |.BLT       view4|
00001900  0d 0b 04 1d 41 44 44 20  20 20 20 20 20 20 52 31  |....ADD       R1|
00001910  2c 52 31 2c 52 31 2c 41  53 4c 20 23 32 0d 0b 0e  |,R1,R1,ASL #2...|
00001920  1e 41 44 44 20 20 20 20  20 20 20 52 31 2c 52 31  |.ADD       R1,R1|
00001930  32 2c 52 31 2c 41 53 4c  20 23 36 0d 0b 18 20 4c  |2,R1,ASL #6... L|
00001940  44 52 42 20 20 20 20 20  20 52 33 2c 5b 52 31 2c  |DRB      R3,[R1,|
00001950  52 30 2c 41 53 52 20 23  32 33 5d 0d 0b 22 13 43  |R0,ASR #23]..".C|
00001960  4d 50 20 20 20 20 20 20  20 52 32 2c 52 33 0d 0b  |MP       R2,R3..|
00001970  2c 20 53 54 52 47 54 42  20 20 20 20 52 32 2c 5b  |, STRGTB    R2,[|
00001980  52 31 2c 52 30 2c 41 53  52 20 23 32 33 5d 0d 0b  |R1,R0,ASR #23]..|
00001990  36 0a 2e 76 69 65 77 34  0d 0b 40 16 53 55 42 53  |6..view4..@.SUBS|
000019a0  20 20 20 20 20 20 52 38  2c 52 38 2c 23 31 0d 0b  |      R8,R8,#1..|
000019b0  4a 13 42 47 54 20 20 20  20 20 20 20 76 69 65 77  |J.BGT       view|
000019c0  33 0d 0b 54 18 4c 44 4d  46 44 20 20 20 20 20 52  |3..T.LDMFD     R|
000019d0  31 33 21 2c 7b 52 31 35  7d 0d 0b 90 04 0d 0b 9a  |13!,{R15}.......|
000019e0  1f 2e 6c 69 73 74 20 20  20 20 20 5d 50 25 2b 3d  |..list     ]P%+=|
000019f0  36 34 3a 5b 4f 50 54 20  70 61 73 73 0d 0b a4 22  |64:[OPT pass..."|
00001a00  2e 77 61 76 65 20 20 20  20 20 5d 50 25 2b 3d 37  |.wave     ]P%+=7|
00001a10  32 30 2a 34 3a 5b 4f 50  54 20 70 61 73 73 0d 0b  |20*4:[OPT pass..|
00001a20  ae 22 2e 73 69 6e 65 20  20 20 20 20 5d 50 25 2b  |.".sine     ]P%+|
00001a30  3d 33 36 30 2a 34 3a 5b  4f 50 54 20 70 61 73 73  |=360*4:[OPT pass|
00001a40  0d 0b b8 22 2e 63 6f 73  69 6e 65 20 20 20 5d 50  |...".cosine   ]P|
00001a50  25 2b 3d 33 36 30 2a 34  3a 5b 4f 50 54 20 70 61  |%+=360*4:[OPT pa|
00001a60  73 73 0d 0b c2 20 2e 63  6f 6c 7a 31 20 20 20 20  |ss... .colz1    |
00001a70  5d 50 25 2b 3d 35 31 32  3a 5b 4f 50 54 20 70 61  |]P%+=512:[OPT pa|
00001a80  73 73 0d 0b cc 20 2e 63  6f 6c 7a 32 20 20 20 20  |ss... .colz2    |
00001a90  5d 50 25 2b 3d 35 31 32  3a 5b 4f 50 54 20 70 61  |]P%+=512:[OPT pa|
00001aa0  73 73 0d 0b d6 20 2e 63  6f 6c 7a 33 20 20 20 20  |ss... .colz3    |
00001ab0  5d 50 25 2b 3d 35 31 32  3a 5b 4f 50 54 20 70 61  |]P%+=512:[OPT pa|
00001ac0  73 73 0d 0b e0 20 20 20  20 20 20 20 20 20 20 20  |ss...           |
00001ad0  5d 50 25 2b 3d 35 31 32  3a 5b 4f 50 54 20 70 61  |]P%+=512:[OPT pa|
00001ae0  73 73 0d 0b ea 21 2e 64  69 76 20 20 20 20 20 20  |ss...!.div      |
00001af0  5d 50 25 2b 3d 31 35 33  36 3a 5b 4f 50 54 20 70  |]P%+=1536:[OPT p|
00001b00  61 73 73 0d 0b f4 21 2e  73 71 72 20 20 20 20 20  |ass...!.sqr     |
00001b10  20 5d 50 25 2b 3d 34 30  39 36 3a 5b 4f 50 54 20  | ]P%+=4096:[OPT |
00001b20  70 61 73 73 0d 0b fe 21  2e 78 79 7a 20 20 20 20  |pass...!.xyz    |
00001b30  20 20 5d 50 25 2b 3d 38  31 39 32 3a 5b 4f 50 54  |  ]P%+=8192:[OPT|
00001b40  20 70 61 73 73 0d 0c 08  21 2e 74 72 61 6e 73 20  | pass...!.trans |
00001b50  20 20 20 5d 50 25 2b 3d  38 31 39 32 3a 5b 4f 50  |   ]P%+=8192:[OP|
00001b60  54 20 70 61 73 73 0d 0c  12 04 0d 0c 1c 06 5d ed  |T pass........].|
00001b70  0d 0c 26 05 3a 0d 0c 30  0a d6 20 69 6e 69 74 0d  |..&.:..0.. init.|
00001b80  0c 3a 25 f1 20 22 50 72  65 63 69 70 69 74 61 74  |.:%. "Precipitat|
00001b90  69 6f 6e 22 27 22 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ion"'"==========|
00001ba0  3d 3d 3d 22 0d 0c 44 28  f1 27 22 55 73 65 20 53  |==="..D(.'"Use S|
00001bb0  65 6c 65 63 74 20 61 6e  64 20 41 64 6a 75 73 74  |elect and Adjust|
00001bc0  20 74 6f 20 72 6f 74 61  74 65 2e 22 0d 0c 4e 05  | to rotate."..N.|
00001bd0  3a 0d 0c 58 1e 21 64 69  76 3d 34 30 39 36 3a 44  |:..X.!div=4096:D|
00001be0  25 3d 30 3a 61 64 72 3d  6c 69 73 74 2b 36 34 0d  |%=0:adr=list+64.|
00001bf0  0c 62 13 e3 20 41 25 3d  2d 31 32 38 20 b8 20 33  |.b.. A%=-128 . 3|
00001c00  38 33 0d 0c 6c 1e 20 64  69 76 21 28 41 25 2a 34  |83..l. div!(A%*4|
00001c10  29 3d 36 35 35 33 36 2f  28 41 25 2b 32 35 36 29  |)=65536/(A%+256)|
00001c20  0d 0c 76 16 20 42 25 3d  32 35 36 2d 28 41 25 2b  |..v. B%=256-(A%+|
00001c30  31 32 38 29 2f 32 0d 0c  80 36 20 c8 99 20 22 43  |128)/2...6 .. "C|
00001c40  6f 6c 6f 75 72 54 72 61  6e 73 5f 52 65 74 75 72  |olourTrans_Retur|
00001c50  6e 43 6f 6c 6f 75 72 4e  75 6d 62 65 72 22 2c 28  |nColourNumber",(|
00001c60  42 25 3c 3c 31 36 29 20  b8 20 43 25 0d 0c 8a 16  |B%<<16) . C%....|
00001c70  20 63 6f 6c 7a 31 3f 28  41 25 2b 31 32 38 29 3d  | colz1?(A%+128)=|
00001c80  43 25 0d 0c 94 3f 20 c8  99 20 22 43 6f 6c 6f 75  |C%...? .. "Colou|
00001c90  72 54 72 61 6e 73 5f 52  65 74 75 72 6e 43 6f 6c  |rTrans_ReturnCol|
00001ca0  6f 75 72 4e 75 6d 62 65  72 22 2c 28 42 25 3c 3c  |ourNumber",(B%<<|
00001cb0  31 36 29 2b 28 42 25 3c  3c 32 34 29 20 b8 20 43  |16)+(B%<<24) . C|
00001cc0  25 0d 0c 9e 16 20 63 6f  6c 7a 32 3f 28 41 25 2b  |%.... colz2?(A%+|
00001cd0  31 32 38 29 3d 43 25 0d  0c a8 47 20 c8 99 20 22  |128)=C%...G .. "|
00001ce0  43 6f 6c 6f 75 72 54 72  61 6e 73 5f 52 65 74 75  |ColourTrans_Retu|
00001cf0  72 6e 43 6f 6c 6f 75 72  4e 75 6d 62 65 72 22 2c  |rnColourNumber",|
00001d00  28 42 25 3c 3c 38 29 2b  28 42 25 3c 3c 31 36 29  |(B%<<8)+(B%<<16)|
00001d10  2b 28 42 25 3c 3c 32 34  29 20 b8 20 43 25 0d 0c  |+(B%<<24) . C%..|
00001d20  b2 16 20 63 6f 6c 7a 33  3f 28 41 25 2b 31 32 38  |.. colz3?(A%+128|
00001d30  29 3d 43 25 0d 0c bc 3c  20 e7 20 44 25 3c 3e 43  |)=C%...< . D%<>C|
00001d40  25 20 61 64 72 2d 3d 34  3a 21 61 64 72 3d 43 25  |% adr-=4:!adr=C%|
00001d50  2b 28 43 25 3c 3c 38 29  2b 28 43 25 3c 3c 31 36  |+(C%<<8)+(C%<<16|
00001d60  29 2b 28 43 25 3c 3c 32  34 29 3a 44 25 3d 43 25  |)+(C%<<24):D%=C%|
00001d70  0d 0c c6 05 ed 0d 0c d0  05 3a 0d 0c da 10 e3 20  |.........:..... |
00001d80  41 25 3d 30 20 b8 20 37  31 39 0d 0c e4 1d 20 77  |A%=0 . 719.... w|
00001d90  61 76 65 21 28 41 25 2a  34 29 3d b5 b2 28 41 25  |ave!(A%*4)=..(A%|
00001da0  29 2a 31 32 2b 33 36 0d  0c ee 05 ed 0d 0c f8 05  |)*12+36.........|
00001db0  3a 0d 0d 02 10 e3 20 41  25 3d 30 20 b8 20 33 35  |:..... A%=0 . 35|
00001dc0  39 0d 0d 0c 1d 20 73 69  6e 65 21 28 41 25 2a 34  |9.... sine!(A%*4|
00001dd0  29 3d b5 b2 28 41 25 29  2a 33 32 37 36 38 0d 0d  |)=..(A%)*32768..|
00001de0  16 1f 20 63 6f 73 69 6e  65 21 28 41 25 2a 34 29  |.. cosine!(A%*4)|
00001df0  3d 9b b2 28 41 25 29 2a  33 32 37 36 38 0d 0d 20  |=..(A%)*32768.. |
00001e00  05 ed 0d 0d 2a 05 3a 0d  0d 34 11 e3 20 41 25 3d  |....*.:..4.. A%=|
00001e10  30 20 b8 20 31 30 32 33  0d 0d 3e 1a 20 73 71 72  |0 . 1023..>. sqr|
00001e20  21 28 41 25 2a 34 29 3d  34 30 39 36 2a b6 28 41  |!(A%*4)=4096*.(A|
00001e30  25 29 0d 0d 48 05 ed 0d  0d 52 05 3a 0d 0d 5c 10  |%)..H....R.:..\.|
00001e40  61 64 72 3d 78 79 7a 3a  52 25 3d 37 0d 0d 66 10  |adr=xyz:R%=7..f.|
00001e50  e3 20 58 25 3d 2d 31 30  20 b8 20 39 0d 0d 70 11  |. X%=-10 . 9..p.|
00001e60  20 e3 20 59 25 3d 2d 31  30 20 b8 20 39 0d 0d 7a  | . Y%=-10 . 9..z|
00001e70  23 20 20 e7 20 b6 28 28  58 25 2b 2e 35 29 5e 32  |#  . .((X%+.5)^2|
00001e80  2b 28 59 25 2b 2e 35 29  5e 32 29 3c 52 25 20 8c  |+(Y%+.5)^2)<R% .|
00001e90  0d 0d 84 15 20 20 20 61  64 72 21 30 3d 58 25 2a  |....   adr!0=X%*|
00001ea0  32 34 2b 31 32 0d 0d 8e  10 20 20 20 61 64 72 21  |24+12....   adr!|
00001eb0  34 3d 31 34 30 0d 0d 98  15 20 20 20 61 64 72 21  |4=140....   adr!|
00001ec0  38 3d 59 25 2a 32 34 2b  31 32 0d 0d a2 0e 20 20  |8=Y%*24+12....  |
00001ed0  20 61 64 72 2b 3d 31 32  0d 0d ac 07 20 20 cd 0d  | adr+=12....  ..|
00001ee0  0d b6 06 20 ed 0d 0d c0  05 ed 0d 0d ca 05 3a 0d  |... ..........:.|
00001ef0  0d d4 08 41 25 3d 31 0d  0d de 05 f5 0d 0d e8 15  |...A%=1.........|
00001f00  20 61 64 72 21 30 3d b3  28 34 30 30 29 2d 32 30  | adr!0=.(400)-20|
00001f10  30 0d 0d f2 15 20 61 64  72 21 34 3d b3 28 32 38  |0.... adr!4=.(28|
00001f20  30 29 2d 31 34 30 0d 0d  fc 15 20 61 64 72 21 38  |0)-140.... adr!8|
00001f30  3d b3 28 34 30 30 29 2d  32 30 30 0d 0e 06 2f 20  |=.(400)-200.../ |
00001f40  e7 20 b6 28 28 61 64 72  21 30 29 5e 32 2b 28 61  |. .((adr!0)^2+(a|
00001f50  64 72 21 38 29 5e 32 29  3c 31 34 38 20 41 25 2b  |dr!8)^2)<148 A%+|
00001f60  3d 31 3a 61 64 72 2b 3d  31 32 0d 0e 10 0c fd 20  |=1:adr+=12..... |
00001f70  41 25 3e 32 30 30 0d 0e  1a 05 3a 0d 0e 24 08 41  |A%>200....:..$.A|
00001f80  25 3d 31 0d 0e 2e 05 f5  0d 0e 38 15 20 61 64 72  |%=1.......8. adr|
00001f90  21 30 3d b3 28 34 30 30  29 2d 32 30 30 0d 0e 42  |!0=.(400)-200..B|
00001fa0  14 20 61 64 72 21 34 3d  2d 31 32 30 2b b3 28 38  |. adr!4=-120+.(8|
00001fb0  29 0d 0e 4c 15 20 61 64  72 21 38 3d b3 28 34 30  |)..L. adr!8=.(40|
00001fc0  30 29 2d 32 30 30 0d 0e  56 1a 20 61 64 72 21 31  |0)-200..V. adr!1|
00001fd0  32 3d 61 64 72 21 34 2b  b3 28 33 32 29 2b 31 36  |2=adr!4+.(32)+16|
00001fe0  0d 0e 60 2f 20 e7 20 b6  28 28 61 64 72 21 30 29  |..`/ . .((adr!0)|
00001ff0  5e 32 2b 28 61 64 72 21  38 29 5e 32 29 3c 31 35  |^2+(adr!8)^2)<15|
00002000  38 20 41 25 2b 3d 31 3a  61 64 72 2b 3d 31 36 0d  |8 A%+=1:adr+=16.|
00002010  0e 6a 0c fd 20 41 25 3e  31 32 30 0d 0e 74 05 3a  |.j.. A%>120..t.:|
00002020  0d 0e 7e 05 f5 0d 0e 88  0d 20 c8 97 20 58 2c 59  |..~...... .. X,Y|
00002030  2c 5a 0d 0e 92 22 20 e7  20 28 5a 20 80 20 34 29  |,Z..." . (Z . 4)|
00002040  20 21 72 6f 74 3d 28 21  72 6f 74 2b 31 29 20 83  | !rot=(!rot+1) .|
00002050  20 33 36 30 0d 0e 9c 24  20 e7 20 28 5a 20 80 20  | 360...$ . (Z . |
00002060  31 29 20 21 72 6f 74 3d  28 21 72 6f 74 2b 33 35  |1) !rot=(!rot+35|
00002070  39 29 20 83 20 33 36 30  0d 0e a6 0d 20 d6 20 72  |9) . 360.... . r|
00002080  6f 74 61 74 65 0d 0e b0  0b 20 d6 20 72 61 69 6e  |otate.... . rain|
00002090  0d 0e ba 0c 20 d6 20 76  69 65 77 20 0d 0e c4 07  |.... . view ....|
000020a0  fd 20 30 0d 0e ce 04 0d  0e d8 16 dd 20 a4 61 64  |. 0......... .ad|
000020b0  72 28 52 65 67 25 2c 41  64 64 72 25 29 0d 0e e2  |r(Reg%,Addr%)...|
000020c0  15 e7 20 70 61 73 73 3d  30 20 41 64 64 72 25 3d  |.. pass=0 Addr%=|
000020d0  50 25 0d 0e ec 10 e7 20  41 64 64 72 25 3c 50 25  |P%..... Addr%<P%|
000020e0  20 8c 0d 0e f6 15 20 41  64 64 72 25 3d 50 25 2d  | ..... Addr%=P%-|
000020f0  41 64 64 72 25 2b 38 0d  0f 00 4b 20 5b 4f 50 54  |Addr%+8...K [OPT|
00002100  20 70 61 73 73 3a 53 55  42 20 52 65 67 25 2c 52  | pass:SUB Reg%,R|
00002110  31 35 2c 23 28 41 64 64  72 25 20 80 20 26 46 46  |15,#(Addr% . &FF|
00002120  30 30 29 3a 53 55 42 20  52 65 67 25 2c 52 65 67  |00):SUB Reg%,Reg|
00002130  25 2c 23 28 41 64 64 72  25 20 80 20 26 46 46 29  |%,#(Addr% . &FF)|
00002140  3a 5d 0d 0f 0a 05 cc 0d  0f 14 15 20 41 64 64 72  |:]......... Addr|
00002150  25 3d 41 64 64 72 25 2d  50 25 2d 38 0d 0f 1e 4b  |%=Addr%-P%-8...K|
00002160  20 5b 4f 50 54 20 70 61  73 73 3a 41 44 44 20 52  | [OPT pass:ADD R|
00002170  65 67 25 2c 52 31 35 2c  23 28 41 64 64 72 25 20  |eg%,R15,#(Addr% |
00002180  80 20 26 46 46 30 30 29  3a 41 44 44 20 52 65 67  |. &FF00):ADD Reg|
00002190  25 2c 52 65 67 25 2c 23  28 41 64 64 72 25 20 80  |%,Reg%,#(Addr% .|
000021a0  20 26 46 46 29 3a 5d 0d  0f 28 05 cd 0d 0f 32 06  | &FF):]..(....2.|
000021b0  3d 30 0d ff                                       |=0..|
000021b4