Home » Archimedes archive » Micro User » MU 1991-05.adf » PDStuff » Music/!PlayerMod/Bits/TrackerIV

Music/!PlayerMod/Bits/TrackerIV

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 » Micro User » MU 1991-05.adf » PDStuff
Filename: Music/!PlayerMod/Bits/TrackerIV
Read OK:
File size: 1433 bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM > TrackerIV
   20REM   Four Track display, Version 1.10
   30REM   Written by Nick Smith & The Mad Dog, 1990
   40:
   50N%=4
   60MODE 15
   70SYS "OS_Module",18,"TrackerModule" TO ,,,point%,pr%
   80IF pr%=0 THEN PRINT '"Please run a STracker tune before this app."':END
   90:
  100mul%=640
  110DIM code% 4000+16*2*mul%
  120:
  130xpos=11
  140point=12
  150screenbse=10
  160multiply=9
  170FOR J%=0 TO 2 STEP 2
  180P%=code%
  190[OPT J%
  200 
  210 STMFD   R13!,{R14}
  220 SWI     &2010C
  230 MOV     point,R0
  240 MOV     screenbse,R1
  250 SWI     "OS_RemoveCursors"
  260 MOV     multiply,#mul%
  270 MOV     R8,#0
  280 B       bigloop
  290.ltr
  300 EQUD    ltable
  310.orr
  320 EQUD    oldrefs
  330.or2r
  340 EQUD    oldrefs2
  350.cols
  360 EQUB 0:EQUB &17:EQUB &77:EQUB &63:EQUB &FF:ALIGN
  370.trackno
  380 EQUD    0
  390.bigloop
  400 MOV     R0,#19
  410 SWI     "OS_Byte"
  420 LDR     R6,orr
  430 LDR     R7,or2r
  440 MOV     R14,#N%
  450 STR     R14,trackno
  460.trackloop1a
  470 SUB     R4,R7,R8
  480 MOV     R14,#0
  490 MOV     R1,#mul%
  500.loop1a
  510 LDR     R0,[R4],#4
  520 STRB    R14,[R0]
  530 LDR     R0,[R4],#4
  540 STRB    R14,[R0]
  550 LDR     R0,[R4],#4
  560 STRB    R14,[R0]
  570 LDR     R0,[R4],#4
  580 STRB    R14,[R0]
  590 LDR     R0,[R4],#4
  600 STRB    R14,[R0]
  610 LDR     R0,[R4],#4
  620 STRB    R14,[R0]
  630 LDR     R0,[R4],#4
  640 STRB    R14,[R0]
  650 LDR     R0,[R4],#4
  660 STRB    R14,[R0]
  670 SUBS    R1,R1,#8
  680 BNE     loop1a
  690 
  700 ADD     R7,R7,#mul%*4
  710 LDR     R14,trackno
  720 SUBS    R14,R14,#1
  730 STR     R14,trackno
  740 BNE     trackloop1a
  750 
  760 MOV     R14,#N%
  770 STR     R14,trackno
  780
  790.trackloop1b
  800 ADD     R4,R6,R8
  810 ADR     R1, cols
  820 LDRB    R14, [R1, R14]
  830 MOV     R1,#mul%
  840.loop1b
  850 LDR     R0,[R4],#4
  860 STRB    R14,[R0]
  870 LDR     R0,[R4],#4
  880 STRB    R14,[R0]
  890 LDR     R0,[R4],#4
  900 STRB    R14,[R0]
  910 LDR     R0,[R4],#4
  920 STRB    R14,[R0]
  930 LDR     R0,[R4],#4
  940 STRB    R14,[R0]
  950 LDR     R0,[R4],#4
  960 STRB    R14,[R0]
  970 LDR     R0,[R4],#4
  980 STRB    R14,[R0]
  990 LDR     R0,[R4],#4
 1000 STRB    R14,[R0]
 1010 SUBS    R1,R1,#8
 1020 BNE     loop1b
 1030 
 1040 ADD     R6,R6,#mul%*4
 1050 LDR     R14,trackno
 1060 SUBS    R14,R14,#1
 1070 STR     R14,trackno
 1080 BNE     trackloop1b
 1090 
 1100 EOR     R8,R8,#mul%*4*4
 1110 
 1120 MOV     R14,#N%
 1130 STR     R14,trackno
 1140 SUB     R6,R6,#mul%*4*4
 1150 
 1160.trackloop2
 1170 STMFD   R13!,{R6-R8,screenbse,point}
 1180 
 1190 ADD     R0,point,#4
 1200 ADD     point,R6,R8
 1210 LDMIA   R0!,{R1-R6}
 1220 MOV     xpos,screenbse
 1230 MOV     R7,#mul%
 1240 TEQ     R1,#0
 1250 TEQNE   R5,#0
 1260 BEQ     nosignal
 1270 LDR     screenbse,ltr
 1280.loop1
 1290 LDRB    R0,[R5,R1,LSR #16]
 1300 SUBS    R0,R0,R6
 1310 MOVMI   R0,#0
 1320 LDR     R0,[screenbse,R0,LSL #2]
 1330 ADD     R3,xpos,R0,LSL #9
 1340 ADD     R3,R3,R0,LSL #7
 1350 STR     R3,[point],#4
 1360 ADD     xpos,xpos,#1
 1370 ADD     R1,R1,R2
 1380 SUBS    R7,R7,#1
 1390 BNE     loop1
 1400 B       donesignal
 1410 
 1420.nosignal
 1430 MOV     R0,#128<<7
 1440 ADD     R0,R0,R0,LSL #2
 1450 ADD     R0,R0,xpos
 1460.nosigloop
 1470 STR     xpos,[point],#4
 1480 ADD     xpos,xpos,#1
 1490 ADD     R0,R0,#1
 1500 SUBS    R7,R7,#1
 1510 BNE     nosigloop
 1520 
 1530.donesignal
 1540 LDMFD   R13!,{R6-R8,screenbse,point}
 1550 
 1560 ADD     screenbse,screenbse,#40*1024
 1570 ADD     point,point,#32
 1580 LDR     R14,trackno
 1590 SUBS    R14,R14,#1
 1600 ADD     R6,R6,#mul%*4
 1610 STR     R14,trackno
 1620 BNE     trackloop2
 1630 
 1640 SUB     screenbse,screenbse,#40*1024*N%
 1650 SUB     point,point,#32*N%
 1660 
 1670 SWI     "OS_ReadEscapeState"
 1680 BCC     bigloop
 1690 MOV     R0,#124
 1700 SWI     "OS_Byte"
 1710 SWI     "OS_RestoreCursors"
 1720 LDMFD   R13!,{PC}
 1730 
 1740.ltable
 1750 ]:P%+=256*4:[OPT J%
 1760.oldrefs
 1770]:P%+=mul%*4*4:[OPT J%
 1780.oldrefs2
 1790]:P%+=mul%*4*4:[OPT J%
 1800 
 1810]
 1820NEXT
 1830:
 1840DIM p% 400
 1850FOR I%=0 TO 2 STEP 2
 1860P%=p%
 1870[OPT I%
 1880 
 1890.sc
 1900 EQUD    148
 1910 EQUD    150
 1920 EQUD    -1
 1930.setup
 1940 STMFD   R13!,{R14}
 1950 LDR     R1,a+8
 1960 MOV     R2,#255
 1970.logl1
 1980 MOV     R0,#&12000
 1990 STR     R0,[R1,R2,LSL #2]
 2000 SUBS    R2,R2,#1
 2010 BPL     logl1
 2020 MOV     R2,#255
 2030.logloop
 2040 SUBS    R0,R2,#128
 2050 MOV     R0,R0,LSL #24
 2060 ORRMI   R0,R0,#1<<31
 2070 SWI     "Sound_SoundLog"
 2080 SUB     R3,R2,#128
 2090 MOV     R3,R3,ASR #2
 2100.backrefx
 2110 STR     R3,[R1,R0,LSL #2]
 2120 ADD     R0,R0,#1
 2130 LDR     R14,[R1,R0,LSL #2]
 2140 TEQ     R14,#&12000
 2150 BEQ     backrefx
 2160 SUBS    R2,R2,#1
 2170 BPL     logloop
 2180 ADR     R0,sc
 2190 MOV     R1,R0
 2200 SWI     "OS_ReadVduVariables"
 2210 LDR     R4,sc
 2220 LDR     R5,sc+4
 2230 LDR     R0,a+12
 2240 MOV     R0,R0,LSL #2
 2250 LDR     R1,a+4
 2260 MOV     R2,#0
 2270 B       o2l
 2280.a
 2290 EQUD    oldrefs
 2300 EQUD    oldrefs2
 2310 EQUD    ltable
 2320 EQUD    mul%
 2330.o2l
 2340 STR     R4,[R1,R2,LSL #2]
 2350 ADD     R2,R2,#1
 2360 CMP     R2,R0
 2370 BLT     o2l
 2380 LDR     R0,a
 2390 MOV     R2,#3
 2400 MOV     R6,R5,LSR #2
 2410 ADD     R5,R4,R5,LSR #3
 2420 LDR     R3,a+12
 2430.trkl2
 2440 MOV     R1,#0
 2450.trkl
 2460 STR     R5,[R0,R1,LSL #2]
 2470 ADD     R1,R1,#1
 2480 CMP     R1,R3
 2490 BLT     trkl
 2500 ADD     R0,R0,R1,LSL #2
 2510 ADD     R5,R5,R6
 2520 SUBS    R2,R2,#1
 2530 BPL     trkl2
 2540 LDMFD   R13!,{PC}
 2550 
 2560]
 2570NEXT
 2580:
 2590CALL p%
 2600A%=point%+&A1C
 2610B%=!sc+(sc!4)/8
 2620CALL code%
 2630:
 2640END

� > TrackerIV
(�   Four Track display, Version 1.10
1�   Written by Nick Smith & The Mad Dog, 1990
(:
2N%=4
<� 15
F5ș "OS_Module",18,"TrackerModule" � ,,,point%,pr%
PA� pr%=0 � � '"Please run a STracker tune before this app."':�
Z:
dmul%=640
n� code% 4000+16*2*mul%
x:
�xpos=11
�point=12
�screenbse=10
�multiply=9
�� J%=0 � 2 � 2
�P%=code%
�[OPT J%
� 
� STMFD   R13!,{R14}
� SWI     &2010C
� MOV     point,R0
� MOV     screenbse,R1
� SWI     "OS_RemoveCursors"
 MOV     multiply,#mul%
 MOV     R8,#0
 B       bigloop
".ltr
, EQUD    ltable
6.orr
@ EQUD    oldrefs
J	.or2r
T EQUD    oldrefs2
^	.cols
h5 EQUB 0:EQUB &17:EQUB &77:EQUB &63:EQUB &FF:ALIGN
r.trackno
| EQUD    0
�.bigloop
� MOV     R0,#19
� SWI     "OS_Byte"
� LDR     R6,orr
� LDR     R7,or2r
� MOV     R14,#N%
� STR     R14,trackno
�.trackloop1a
� SUB     R4,R7,R8
� MOV     R14,#0
� MOV     R1,#mul%
�.loop1a
� LDR     R0,[R4],#4
 STRB    R14,[R0]
 LDR     R0,[R4],#4
 STRB    R14,[R0]
& LDR     R0,[R4],#4
0 STRB    R14,[R0]
: LDR     R0,[R4],#4
D STRB    R14,[R0]
N LDR     R0,[R4],#4
X STRB    R14,[R0]
b LDR     R0,[R4],#4
l STRB    R14,[R0]
v LDR     R0,[R4],#4
� STRB    R14,[R0]
� LDR     R0,[R4],#4
� STRB    R14,[R0]
� SUBS    R1,R1,#8
� BNE     loop1a
� 
� ADD     R7,R7,#mul%*4
� LDR     R14,trackno
� SUBS    R14,R14,#1
� STR     R14,trackno
� BNE     trackloop1a
� 
� MOV     R14,#N%
 STR     R14,trackno

.trackloop1b
  ADD     R4,R6,R8
* ADR     R1, cols
4 LDRB    R14, [R1, R14]
> MOV     R1,#mul%
H.loop1b
R LDR     R0,[R4],#4
\ STRB    R14,[R0]
f LDR     R0,[R4],#4
p STRB    R14,[R0]
z LDR     R0,[R4],#4
� STRB    R14,[R0]
� LDR     R0,[R4],#4
� STRB    R14,[R0]
� LDR     R0,[R4],#4
� STRB    R14,[R0]
� LDR     R0,[R4],#4
� STRB    R14,[R0]
� LDR     R0,[R4],#4
� STRB    R14,[R0]
� LDR     R0,[R4],#4
� STRB    R14,[R0]
� SUBS    R1,R1,#8
� BNE     loop1b
 
 ADD     R6,R6,#mul%*4
 LDR     R14,trackno
$ SUBS    R14,R14,#1
. STR     R14,trackno
8 BNE     trackloop1b
B 
L �     R8,R8,#mul%*4*4
V 
` MOV     R14,#N%
j STR     R14,trackno
t SUB     R6,R6,#mul%*4*4
~ 
�.trackloop2
�) STMFD   R13!,{R6-R8,screenbse,point}
� 
� ADD     R0,point,#4
� ADD     point,R6,R8
� LDMIA   R0!,{R1-R6}
� MOV     xpos,screenbse
� MOV     R7,#mul%
� TEQ     R1,#0
� TEQNE   R5,#0
� BEQ     nosignal
� LDR     screenbse,ltr

.loop1

 LDRB    R0,[R5,R1,LSR #16]
 SUBS    R0,R0,R6
 MOVMI   R0,#0
(% LDR     R0,[screenbse,R0,LSL #2]
2 ADD     R3,xpos,R0,LSL #9
< ADD     R3,R3,R0,LSL #7
F STR     R3,[point],#4
P ADD     xpos,xpos,#1
Z ADD     R1,R1,R2
d SUBS    R7,R7,#1
n BNE     loop1
x B       donesignal
� 
�
.nosignal
� MOV     R0,#128<<7
� ADD     R0,R0,R0,LSL #2
� ADD     R0,R0,xpos
�.nosigloop
� STR     xpos,[point],#4
� ADD     xpos,xpos,#1
� ADD     R0,R0,#1
� SUBS    R7,R7,#1
� BNE     nosigloop
� 
�.donesignal
) LDMFD   R13!,{R6-R8,screenbse,point}
 
) ADD     screenbse,screenbse,#40*1024
" ADD     point,point,#32
, LDR     R14,trackno
6 SUBS    R14,R14,#1
@ ADD     R6,R6,#mul%*4
J STR     R14,trackno
T BNE     trackloop2
^ 
h, SUB     screenbse,screenbse,#40*1024*N%
r SUB     point,point,#32*N%
| 
�! SWI     "OS_ReadEscapeState"
� BCC     bigloop
� MOV     R0,#124
� SWI     "OS_Byte"
�  SWI     "OS_RestoreCursors"
� LDMFD   R13!,{PC}
� 
�.ltable
� ]:P%+=256*4:[OPT J%
�.oldrefs
�]:P%+=mul%*4*4:[OPT J%
�
.oldrefs2
�]:P%+=mul%*4*4:[OPT J%
 
]
�
&:
0� p% 400
:� I%=0 � 2 � 2
D	P%=p%
N[OPT I%
X 
b.sc
l EQUD    148
v EQUD    150
� EQUD    -1
�
.setup
� STMFD   R13!,{R14}
� LDR     R1,a+8
� MOV     R2,#255
�
.logl1
� MOV     R0,#&12000
� STR     R0,[R1,R2,LSL #2]
� SUBS    R2,R2,#1
� BPL     logl1
� MOV     R2,#255
�.logloop
� SUBS    R0,R2,#128
 MOV     R0,R0,LSL #24
 �RMI   R0,R0,#1<<31
 SWI     "Sound_SoundLog"
  SUB     R3,R2,#128
* MOV     R3,R3,ASR #2
4
.backrefx
> STR     R3,[R1,R0,LSL #2]
H ADD     R0,R0,#1
R LDR     R14,[R1,R0,LSL #2]
\ TEQ     R14,#&12000
f BEQ     backrefx
p SUBS    R2,R2,#1
z BPL     logloop
� ADR     R0,sc
� MOV     R1,R0
�" SWI     "OS_ReadVduVariables"
� LDR     R4,sc
� LDR     R5,sc+4
� LDR     R0,a+12
� MOV     R0,R0,LSL #2
� LDR     R1,a+4
� MOV     R2,#0
� B       o2l
�.a
� EQUD    oldrefs
� EQUD    oldrefs2
	 EQUD    ltable
	 EQUD    mul%
	.o2l
	$ STR     R4,[R1,R2,LSL #2]
	. ADD     R2,R2,#1
	8 CMP     R2,R0
	B BLT     o2l
	L LDR     R0,a
	V MOV     R2,#3
	` MOV     R6,R5,LSR #2
	j ADD     R5,R4,R5,LSR #3
	t LDR     R3,a+12
	~
.trkl2
	� MOV     R1,#0
	�	.trkl
	� STR     R5,[R0,R1,LSL #2]
	� ADD     R1,R1,#1
	� CMP     R1,R3
	� BLT     trkl
	� ADD     R0,R0,R1,LSL #2
	� ADD     R5,R5,R6
	� SUBS    R2,R2,#1
	� BPL     trkl2
	� LDMFD   R13!,{PC}
	� 
]

�
:
� p%
(A%=point%+&A1C
2B%=!sc+(sc!4)/8
<� code%
F:
P�
�
00000000  0d 00 0a 11 f4 20 3e 20  54 72 61 63 6b 65 72 49  |..... > TrackerI|
00000010  56 0d 00 14 28 f4 20 20  20 46 6f 75 72 20 54 72  |V...(.   Four Tr|
00000020  61 63 6b 20 64 69 73 70  6c 61 79 2c 20 56 65 72  |ack display, Ver|
00000030  73 69 6f 6e 20 31 2e 31  30 0d 00 1e 31 f4 20 20  |sion 1.10...1.  |
00000040  20 57 72 69 74 74 65 6e  20 62 79 20 4e 69 63 6b  | Written by Nick|
00000050  20 53 6d 69 74 68 20 26  20 54 68 65 20 4d 61 64  | Smith & The Mad|
00000060  20 44 6f 67 2c 20 31 39  39 30 0d 00 28 05 3a 0d  | Dog, 1990..(.:.|
00000070  00 32 08 4e 25 3d 34 0d  00 3c 08 eb 20 31 35 0d  |.2.N%=4..<.. 15.|
00000080  00 46 35 c8 99 20 22 4f  53 5f 4d 6f 64 75 6c 65  |.F5.. "OS_Module|
00000090  22 2c 31 38 2c 22 54 72  61 63 6b 65 72 4d 6f 64  |",18,"TrackerMod|
000000a0  75 6c 65 22 20 b8 20 2c  2c 2c 70 6f 69 6e 74 25  |ule" . ,,,point%|
000000b0  2c 70 72 25 0d 00 50 41  e7 20 70 72 25 3d 30 20  |,pr%..PA. pr%=0 |
000000c0  8c 20 f1 20 27 22 50 6c  65 61 73 65 20 72 75 6e  |. . '"Please run|
000000d0  20 61 20 53 54 72 61 63  6b 65 72 20 74 75 6e 65  | a STracker tune|
000000e0  20 62 65 66 6f 72 65 20  74 68 69 73 20 61 70 70  | before this app|
000000f0  2e 22 27 3a e0 0d 00 5a  05 3a 0d 00 64 0c 6d 75  |."':...Z.:..d.mu|
00000100  6c 25 3d 36 34 30 0d 00  6e 1a de 20 63 6f 64 65  |l%=640..n.. code|
00000110  25 20 34 30 30 30 2b 31  36 2a 32 2a 6d 75 6c 25  |% 4000+16*2*mul%|
00000120  0d 00 78 05 3a 0d 00 82  0b 78 70 6f 73 3d 31 31  |..x.:....xpos=11|
00000130  0d 00 8c 0c 70 6f 69 6e  74 3d 31 32 0d 00 96 10  |....point=12....|
00000140  73 63 72 65 65 6e 62 73  65 3d 31 30 0d 00 a0 0e  |screenbse=10....|
00000150  6d 75 6c 74 69 70 6c 79  3d 39 0d 00 aa 12 e3 20  |multiply=9..... |
00000160  4a 25 3d 30 20 b8 20 32  20 88 20 32 0d 00 b4 0c  |J%=0 . 2 . 2....|
00000170  50 25 3d 63 6f 64 65 25  0d 00 be 0b 5b 4f 50 54  |P%=code%....[OPT|
00000180  20 4a 25 0d 00 c8 05 20  0d 00 d2 17 20 53 54 4d  | J%.... .... STM|
00000190  46 44 20 20 20 52 31 33  21 2c 7b 52 31 34 7d 0d  |FD   R13!,{R14}.|
000001a0  00 dc 13 20 53 57 49 20  20 20 20 20 26 32 30 31  |... SWI     &201|
000001b0  30 43 0d 00 e6 15 20 4d  4f 56 20 20 20 20 20 70  |0C.... MOV     p|
000001c0  6f 69 6e 74 2c 52 30 0d  00 f0 19 20 4d 4f 56 20  |oint,R0.... MOV |
000001d0  20 20 20 20 73 63 72 65  65 6e 62 73 65 2c 52 31  |    screenbse,R1|
000001e0  0d 00 fa 1f 20 53 57 49  20 20 20 20 20 22 4f 53  |.... SWI     "OS|
000001f0  5f 52 65 6d 6f 76 65 43  75 72 73 6f 72 73 22 0d  |_RemoveCursors".|
00000200  01 04 1b 20 4d 4f 56 20  20 20 20 20 6d 75 6c 74  |... MOV     mult|
00000210  69 70 6c 79 2c 23 6d 75  6c 25 0d 01 0e 12 20 4d  |iply,#mul%.... M|
00000220  4f 56 20 20 20 20 20 52  38 2c 23 30 0d 01 18 14  |OV     R8,#0....|
00000230  20 42 20 20 20 20 20 20  20 62 69 67 6c 6f 6f 70  | B       bigloop|
00000240  0d 01 22 08 2e 6c 74 72  0d 01 2c 13 20 45 51 55  |.."..ltr..,. EQU|
00000250  44 20 20 20 20 6c 74 61  62 6c 65 0d 01 36 08 2e  |D    ltable..6..|
00000260  6f 72 72 0d 01 40 14 20  45 51 55 44 20 20 20 20  |orr..@. EQUD    |
00000270  6f 6c 64 72 65 66 73 0d  01 4a 09 2e 6f 72 32 72  |oldrefs..J..or2r|
00000280  0d 01 54 15 20 45 51 55  44 20 20 20 20 6f 6c 64  |..T. EQUD    old|
00000290  72 65 66 73 32 0d 01 5e  09 2e 63 6f 6c 73 0d 01  |refs2..^..cols..|
000002a0  68 35 20 45 51 55 42 20  30 3a 45 51 55 42 20 26  |h5 EQUB 0:EQUB &|
000002b0  31 37 3a 45 51 55 42 20  26 37 37 3a 45 51 55 42  |17:EQUB &77:EQUB|
000002c0  20 26 36 33 3a 45 51 55  42 20 26 46 46 3a 41 4c  | &63:EQUB &FF:AL|
000002d0  49 47 4e 0d 01 72 0c 2e  74 72 61 63 6b 6e 6f 0d  |IGN..r..trackno.|
000002e0  01 7c 0e 20 45 51 55 44  20 20 20 20 30 0d 01 86  |.|. EQUD    0...|
000002f0  0c 2e 62 69 67 6c 6f 6f  70 0d 01 90 13 20 4d 4f  |..bigloop.... MO|
00000300  56 20 20 20 20 20 52 30  2c 23 31 39 0d 01 9a 16  |V     R0,#19....|
00000310  20 53 57 49 20 20 20 20  20 22 4f 53 5f 42 79 74  | SWI     "OS_Byt|
00000320  65 22 0d 01 a4 13 20 4c  44 52 20 20 20 20 20 52  |e".... LDR     R|
00000330  36 2c 6f 72 72 0d 01 ae  14 20 4c 44 52 20 20 20  |6,orr.... LDR   |
00000340  20 20 52 37 2c 6f 72 32  72 0d 01 b8 14 20 4d 4f  |  R7,or2r.... MO|
00000350  56 20 20 20 20 20 52 31  34 2c 23 4e 25 0d 01 c2  |V     R14,#N%...|
00000360  18 20 53 54 52 20 20 20  20 20 52 31 34 2c 74 72  |. STR     R14,tr|
00000370  61 63 6b 6e 6f 0d 01 cc  10 2e 74 72 61 63 6b 6c  |ackno.....trackl|
00000380  6f 6f 70 31 61 0d 01 d6  15 20 53 55 42 20 20 20  |oop1a.... SUB   |
00000390  20 20 52 34 2c 52 37 2c  52 38 0d 01 e0 13 20 4d  |  R4,R7,R8.... M|
000003a0  4f 56 20 20 20 20 20 52  31 34 2c 23 30 0d 01 ea  |OV     R14,#0...|
000003b0  15 20 4d 4f 56 20 20 20  20 20 52 31 2c 23 6d 75  |. MOV     R1,#mu|
000003c0  6c 25 0d 01 f4 0b 2e 6c  6f 6f 70 31 61 0d 01 fe  |l%.....loop1a...|
000003d0  17 20 4c 44 52 20 20 20  20 20 52 30 2c 5b 52 34  |. LDR     R0,[R4|
000003e0  5d 2c 23 34 0d 02 08 15  20 53 54 52 42 20 20 20  |],#4.... STRB   |
000003f0  20 52 31 34 2c 5b 52 30  5d 0d 02 12 17 20 4c 44  | R14,[R0].... LD|
00000400  52 20 20 20 20 20 52 30  2c 5b 52 34 5d 2c 23 34  |R     R0,[R4],#4|
00000410  0d 02 1c 15 20 53 54 52  42 20 20 20 20 52 31 34  |.... STRB    R14|
00000420  2c 5b 52 30 5d 0d 02 26  17 20 4c 44 52 20 20 20  |,[R0]..&. LDR   |
00000430  20 20 52 30 2c 5b 52 34  5d 2c 23 34 0d 02 30 15  |  R0,[R4],#4..0.|
00000440  20 53 54 52 42 20 20 20  20 52 31 34 2c 5b 52 30  | STRB    R14,[R0|
00000450  5d 0d 02 3a 17 20 4c 44  52 20 20 20 20 20 52 30  |]..:. LDR     R0|
00000460  2c 5b 52 34 5d 2c 23 34  0d 02 44 15 20 53 54 52  |,[R4],#4..D. STR|
00000470  42 20 20 20 20 52 31 34  2c 5b 52 30 5d 0d 02 4e  |B    R14,[R0]..N|
00000480  17 20 4c 44 52 20 20 20  20 20 52 30 2c 5b 52 34  |. LDR     R0,[R4|
00000490  5d 2c 23 34 0d 02 58 15  20 53 54 52 42 20 20 20  |],#4..X. STRB   |
000004a0  20 52 31 34 2c 5b 52 30  5d 0d 02 62 17 20 4c 44  | R14,[R0]..b. LD|
000004b0  52 20 20 20 20 20 52 30  2c 5b 52 34 5d 2c 23 34  |R     R0,[R4],#4|
000004c0  0d 02 6c 15 20 53 54 52  42 20 20 20 20 52 31 34  |..l. STRB    R14|
000004d0  2c 5b 52 30 5d 0d 02 76  17 20 4c 44 52 20 20 20  |,[R0]..v. LDR   |
000004e0  20 20 52 30 2c 5b 52 34  5d 2c 23 34 0d 02 80 15  |  R0,[R4],#4....|
000004f0  20 53 54 52 42 20 20 20  20 52 31 34 2c 5b 52 30  | STRB    R14,[R0|
00000500  5d 0d 02 8a 17 20 4c 44  52 20 20 20 20 20 52 30  |].... LDR     R0|
00000510  2c 5b 52 34 5d 2c 23 34  0d 02 94 15 20 53 54 52  |,[R4],#4.... STR|
00000520  42 20 20 20 20 52 31 34  2c 5b 52 30 5d 0d 02 9e  |B    R14,[R0]...|
00000530  15 20 53 55 42 53 20 20  20 20 52 31 2c 52 31 2c  |. SUBS    R1,R1,|
00000540  23 38 0d 02 a8 13 20 42  4e 45 20 20 20 20 20 6c  |#8.... BNE     l|
00000550  6f 6f 70 31 61 0d 02 b2  05 20 0d 02 bc 1a 20 41  |oop1a.... .... A|
00000560  44 44 20 20 20 20 20 52  37 2c 52 37 2c 23 6d 75  |DD     R7,R7,#mu|
00000570  6c 25 2a 34 0d 02 c6 18  20 4c 44 52 20 20 20 20  |l%*4.... LDR    |
00000580  20 52 31 34 2c 74 72 61  63 6b 6e 6f 0d 02 d0 17  | R14,trackno....|
00000590  20 53 55 42 53 20 20 20  20 52 31 34 2c 52 31 34  | SUBS    R14,R14|
000005a0  2c 23 31 0d 02 da 18 20  53 54 52 20 20 20 20 20  |,#1.... STR     |
000005b0  52 31 34 2c 74 72 61 63  6b 6e 6f 0d 02 e4 18 20  |R14,trackno.... |
000005c0  42 4e 45 20 20 20 20 20  74 72 61 63 6b 6c 6f 6f  |BNE     trackloo|
000005d0  70 31 61 0d 02 ee 05 20  0d 02 f8 14 20 4d 4f 56  |p1a.... .... MOV|
000005e0  20 20 20 20 20 52 31 34  2c 23 4e 25 0d 03 02 18  |     R14,#N%....|
000005f0  20 53 54 52 20 20 20 20  20 52 31 34 2c 74 72 61  | STR     R14,tra|
00000600  63 6b 6e 6f 0d 03 0c 04  0d 03 16 10 2e 74 72 61  |ckno.........tra|
00000610  63 6b 6c 6f 6f 70 31 62  0d 03 20 15 20 41 44 44  |ckloop1b.. . ADD|
00000620  20 20 20 20 20 52 34 2c  52 36 2c 52 38 0d 03 2a  |     R4,R6,R8..*|
00000630  15 20 41 44 52 20 20 20  20 20 52 31 2c 20 63 6f  |. ADR     R1, co|
00000640  6c 73 0d 03 34 1b 20 4c  44 52 42 20 20 20 20 52  |ls..4. LDRB    R|
00000650  31 34 2c 20 5b 52 31 2c  20 52 31 34 5d 0d 03 3e  |14, [R1, R14]..>|
00000660  15 20 4d 4f 56 20 20 20  20 20 52 31 2c 23 6d 75  |. MOV     R1,#mu|
00000670  6c 25 0d 03 48 0b 2e 6c  6f 6f 70 31 62 0d 03 52  |l%..H..loop1b..R|
00000680  17 20 4c 44 52 20 20 20  20 20 52 30 2c 5b 52 34  |. LDR     R0,[R4|
00000690  5d 2c 23 34 0d 03 5c 15  20 53 54 52 42 20 20 20  |],#4..\. STRB   |
000006a0  20 52 31 34 2c 5b 52 30  5d 0d 03 66 17 20 4c 44  | R14,[R0]..f. LD|
000006b0  52 20 20 20 20 20 52 30  2c 5b 52 34 5d 2c 23 34  |R     R0,[R4],#4|
000006c0  0d 03 70 15 20 53 54 52  42 20 20 20 20 52 31 34  |..p. STRB    R14|
000006d0  2c 5b 52 30 5d 0d 03 7a  17 20 4c 44 52 20 20 20  |,[R0]..z. LDR   |
000006e0  20 20 52 30 2c 5b 52 34  5d 2c 23 34 0d 03 84 15  |  R0,[R4],#4....|
000006f0  20 53 54 52 42 20 20 20  20 52 31 34 2c 5b 52 30  | STRB    R14,[R0|
00000700  5d 0d 03 8e 17 20 4c 44  52 20 20 20 20 20 52 30  |].... LDR     R0|
00000710  2c 5b 52 34 5d 2c 23 34  0d 03 98 15 20 53 54 52  |,[R4],#4.... STR|
00000720  42 20 20 20 20 52 31 34  2c 5b 52 30 5d 0d 03 a2  |B    R14,[R0]...|
00000730  17 20 4c 44 52 20 20 20  20 20 52 30 2c 5b 52 34  |. LDR     R0,[R4|
00000740  5d 2c 23 34 0d 03 ac 15  20 53 54 52 42 20 20 20  |],#4.... STRB   |
00000750  20 52 31 34 2c 5b 52 30  5d 0d 03 b6 17 20 4c 44  | R14,[R0].... LD|
00000760  52 20 20 20 20 20 52 30  2c 5b 52 34 5d 2c 23 34  |R     R0,[R4],#4|
00000770  0d 03 c0 15 20 53 54 52  42 20 20 20 20 52 31 34  |.... STRB    R14|
00000780  2c 5b 52 30 5d 0d 03 ca  17 20 4c 44 52 20 20 20  |,[R0].... LDR   |
00000790  20 20 52 30 2c 5b 52 34  5d 2c 23 34 0d 03 d4 15  |  R0,[R4],#4....|
000007a0  20 53 54 52 42 20 20 20  20 52 31 34 2c 5b 52 30  | STRB    R14,[R0|
000007b0  5d 0d 03 de 17 20 4c 44  52 20 20 20 20 20 52 30  |].... LDR     R0|
000007c0  2c 5b 52 34 5d 2c 23 34  0d 03 e8 15 20 53 54 52  |,[R4],#4.... STR|
000007d0  42 20 20 20 20 52 31 34  2c 5b 52 30 5d 0d 03 f2  |B    R14,[R0]...|
000007e0  15 20 53 55 42 53 20 20  20 20 52 31 2c 52 31 2c  |. SUBS    R1,R1,|
000007f0  23 38 0d 03 fc 13 20 42  4e 45 20 20 20 20 20 6c  |#8.... BNE     l|
00000800  6f 6f 70 31 62 0d 04 06  05 20 0d 04 10 1a 20 41  |oop1b.... .... A|
00000810  44 44 20 20 20 20 20 52  36 2c 52 36 2c 23 6d 75  |DD     R6,R6,#mu|
00000820  6c 25 2a 34 0d 04 1a 18  20 4c 44 52 20 20 20 20  |l%*4.... LDR    |
00000830  20 52 31 34 2c 74 72 61  63 6b 6e 6f 0d 04 24 17  | R14,trackno..$.|
00000840  20 53 55 42 53 20 20 20  20 52 31 34 2c 52 31 34  | SUBS    R14,R14|
00000850  2c 23 31 0d 04 2e 18 20  53 54 52 20 20 20 20 20  |,#1.... STR     |
00000860  52 31 34 2c 74 72 61 63  6b 6e 6f 0d 04 38 18 20  |R14,trackno..8. |
00000870  42 4e 45 20 20 20 20 20  74 72 61 63 6b 6c 6f 6f  |BNE     trackloo|
00000880  70 31 62 0d 04 42 05 20  0d 04 4c 1a 20 82 20 20  |p1b..B. ..L. .  |
00000890  20 20 20 52 38 2c 52 38  2c 23 6d 75 6c 25 2a 34  |   R8,R8,#mul%*4|
000008a0  2a 34 0d 04 56 05 20 0d  04 60 14 20 4d 4f 56 20  |*4..V. ..`. MOV |
000008b0  20 20 20 20 52 31 34 2c  23 4e 25 0d 04 6a 18 20  |    R14,#N%..j. |
000008c0  53 54 52 20 20 20 20 20  52 31 34 2c 74 72 61 63  |STR     R14,trac|
000008d0  6b 6e 6f 0d 04 74 1c 20  53 55 42 20 20 20 20 20  |kno..t. SUB     |
000008e0  52 36 2c 52 36 2c 23 6d  75 6c 25 2a 34 2a 34 0d  |R6,R6,#mul%*4*4.|
000008f0  04 7e 05 20 0d 04 88 0f  2e 74 72 61 63 6b 6c 6f  |.~. .....tracklo|
00000900  6f 70 32 0d 04 92 29 20  53 54 4d 46 44 20 20 20  |op2...) STMFD   |
00000910  52 31 33 21 2c 7b 52 36  2d 52 38 2c 73 63 72 65  |R13!,{R6-R8,scre|
00000920  65 6e 62 73 65 2c 70 6f  69 6e 74 7d 0d 04 9c 05  |enbse,point}....|
00000930  20 0d 04 a6 18 20 41 44  44 20 20 20 20 20 52 30  | .... ADD     R0|
00000940  2c 70 6f 69 6e 74 2c 23  34 0d 04 b0 18 20 41 44  |,point,#4.... AD|
00000950  44 20 20 20 20 20 70 6f  69 6e 74 2c 52 36 2c 52  |D     point,R6,R|
00000960  38 0d 04 ba 18 20 4c 44  4d 49 41 20 20 20 52 30  |8.... LDMIA   R0|
00000970  21 2c 7b 52 31 2d 52 36  7d 0d 04 c4 1b 20 4d 4f  |!,{R1-R6}.... MO|
00000980  56 20 20 20 20 20 78 70  6f 73 2c 73 63 72 65 65  |V     xpos,scree|
00000990  6e 62 73 65 0d 04 ce 15  20 4d 4f 56 20 20 20 20  |nbse.... MOV    |
000009a0  20 52 37 2c 23 6d 75 6c  25 0d 04 d8 12 20 54 45  | R7,#mul%.... TE|
000009b0  51 20 20 20 20 20 52 31  2c 23 30 0d 04 e2 12 20  |Q     R1,#0.... |
000009c0  54 45 51 4e 45 20 20 20  52 35 2c 23 30 0d 04 ec  |TEQNE   R5,#0...|
000009d0  15 20 42 45 51 20 20 20  20 20 6e 6f 73 69 67 6e  |. BEQ     nosign|
000009e0  61 6c 0d 04 f6 1a 20 4c  44 52 20 20 20 20 20 73  |al.... LDR     s|
000009f0  63 72 65 65 6e 62 73 65  2c 6c 74 72 0d 05 00 0a  |creenbse,ltr....|
00000a00  2e 6c 6f 6f 70 31 0d 05  0a 1f 20 4c 44 52 42 20  |.loop1.... LDRB |
00000a10  20 20 20 52 30 2c 5b 52  35 2c 52 31 2c 4c 53 52  |   R0,[R5,R1,LSR|
00000a20  20 23 31 36 5d 0d 05 14  15 20 53 55 42 53 20 20  | #16].... SUBS  |
00000a30  20 20 52 30 2c 52 30 2c  52 36 0d 05 1e 12 20 4d  |  R0,R0,R6.... M|
00000a40  4f 56 4d 49 20 20 20 52  30 2c 23 30 0d 05 28 25  |OVMI   R0,#0..(%|
00000a50  20 4c 44 52 20 20 20 20  20 52 30 2c 5b 73 63 72  | LDR     R0,[scr|
00000a60  65 65 6e 62 73 65 2c 52  30 2c 4c 53 4c 20 23 32  |eenbse,R0,LSL #2|
00000a70  5d 0d 05 32 1e 20 41 44  44 20 20 20 20 20 52 33  |]..2. ADD     R3|
00000a80  2c 78 70 6f 73 2c 52 30  2c 4c 53 4c 20 23 39 0d  |,xpos,R0,LSL #9.|
00000a90  05 3c 1c 20 41 44 44 20  20 20 20 20 52 33 2c 52  |.<. ADD     R3,R|
00000aa0  33 2c 52 30 2c 4c 53 4c  20 23 37 0d 05 46 1a 20  |3,R0,LSL #7..F. |
00000ab0  53 54 52 20 20 20 20 20  52 33 2c 5b 70 6f 69 6e  |STR     R3,[poin|
00000ac0  74 5d 2c 23 34 0d 05 50  19 20 41 44 44 20 20 20  |t],#4..P. ADD   |
00000ad0  20 20 78 70 6f 73 2c 78  70 6f 73 2c 23 31 0d 05  |  xpos,xpos,#1..|
00000ae0  5a 15 20 41 44 44 20 20  20 20 20 52 31 2c 52 31  |Z. ADD     R1,R1|
00000af0  2c 52 32 0d 05 64 15 20  53 55 42 53 20 20 20 20  |,R2..d. SUBS    |
00000b00  52 37 2c 52 37 2c 23 31  0d 05 6e 12 20 42 4e 45  |R7,R7,#1..n. BNE|
00000b10  20 20 20 20 20 6c 6f 6f  70 31 0d 05 78 17 20 42  |     loop1..x. B|
00000b20  20 20 20 20 20 20 20 64  6f 6e 65 73 69 67 6e 61  |       donesigna|
00000b30  6c 0d 05 82 05 20 0d 05  8c 0d 2e 6e 6f 73 69 67  |l.... .....nosig|
00000b40  6e 61 6c 0d 05 96 17 20  4d 4f 56 20 20 20 20 20  |nal.... MOV     |
00000b50  52 30 2c 23 31 32 38 3c  3c 37 0d 05 a0 1c 20 41  |R0,#128<<7.... A|
00000b60  44 44 20 20 20 20 20 52  30 2c 52 30 2c 52 30 2c  |DD     R0,R0,R0,|
00000b70  4c 53 4c 20 23 32 0d 05  aa 17 20 41 44 44 20 20  |LSL #2.... ADD  |
00000b80  20 20 20 52 30 2c 52 30  2c 78 70 6f 73 0d 05 b4  |   R0,R0,xpos...|
00000b90  0e 2e 6e 6f 73 69 67 6c  6f 6f 70 0d 05 be 1c 20  |..nosigloop.... |
00000ba0  53 54 52 20 20 20 20 20  78 70 6f 73 2c 5b 70 6f  |STR     xpos,[po|
00000bb0  69 6e 74 5d 2c 23 34 0d  05 c8 19 20 41 44 44 20  |int],#4.... ADD |
00000bc0  20 20 20 20 78 70 6f 73  2c 78 70 6f 73 2c 23 31  |    xpos,xpos,#1|
00000bd0  0d 05 d2 15 20 41 44 44  20 20 20 20 20 52 30 2c  |.... ADD     R0,|
00000be0  52 30 2c 23 31 0d 05 dc  15 20 53 55 42 53 20 20  |R0,#1.... SUBS  |
00000bf0  20 20 52 37 2c 52 37 2c  23 31 0d 05 e6 16 20 42  |  R7,R7,#1.... B|
00000c00  4e 45 20 20 20 20 20 6e  6f 73 69 67 6c 6f 6f 70  |NE     nosigloop|
00000c10  0d 05 f0 05 20 0d 05 fa  0f 2e 64 6f 6e 65 73 69  |.... .....donesi|
00000c20  67 6e 61 6c 0d 06 04 29  20 4c 44 4d 46 44 20 20  |gnal...) LDMFD  |
00000c30  20 52 31 33 21 2c 7b 52  36 2d 52 38 2c 73 63 72  | R13!,{R6-R8,scr|
00000c40  65 65 6e 62 73 65 2c 70  6f 69 6e 74 7d 0d 06 0e  |eenbse,point}...|
00000c50  05 20 0d 06 18 29 20 41  44 44 20 20 20 20 20 73  |. ...) ADD     s|
00000c60  63 72 65 65 6e 62 73 65  2c 73 63 72 65 65 6e 62  |creenbse,screenb|
00000c70  73 65 2c 23 34 30 2a 31  30 32 34 0d 06 22 1c 20  |se,#40*1024..". |
00000c80  41 44 44 20 20 20 20 20  70 6f 69 6e 74 2c 70 6f  |ADD     point,po|
00000c90  69 6e 74 2c 23 33 32 0d  06 2c 18 20 4c 44 52 20  |int,#32..,. LDR |
00000ca0  20 20 20 20 52 31 34 2c  74 72 61 63 6b 6e 6f 0d  |    R14,trackno.|
00000cb0  06 36 17 20 53 55 42 53  20 20 20 20 52 31 34 2c  |.6. SUBS    R14,|
00000cc0  52 31 34 2c 23 31 0d 06  40 1a 20 41 44 44 20 20  |R14,#1..@. ADD  |
00000cd0  20 20 20 52 36 2c 52 36  2c 23 6d 75 6c 25 2a 34  |   R6,R6,#mul%*4|
00000ce0  0d 06 4a 18 20 53 54 52  20 20 20 20 20 52 31 34  |..J. STR     R14|
00000cf0  2c 74 72 61 63 6b 6e 6f  0d 06 54 17 20 42 4e 45  |,trackno..T. BNE|
00000d00  20 20 20 20 20 74 72 61  63 6b 6c 6f 6f 70 32 0d  |     trackloop2.|
00000d10  06 5e 05 20 0d 06 68 2c  20 53 55 42 20 20 20 20  |.^. ..h, SUB    |
00000d20  20 73 63 72 65 65 6e 62  73 65 2c 73 63 72 65 65  | screenbse,scree|
00000d30  6e 62 73 65 2c 23 34 30  2a 31 30 32 34 2a 4e 25  |nbse,#40*1024*N%|
00000d40  0d 06 72 1f 20 53 55 42  20 20 20 20 20 70 6f 69  |..r. SUB     poi|
00000d50  6e 74 2c 70 6f 69 6e 74  2c 23 33 32 2a 4e 25 0d  |nt,point,#32*N%.|
00000d60  06 7c 05 20 0d 06 86 21  20 53 57 49 20 20 20 20  |.|. ...! SWI    |
00000d70  20 22 4f 53 5f 52 65 61  64 45 73 63 61 70 65 53  | "OS_ReadEscapeS|
00000d80  74 61 74 65 22 0d 06 90  14 20 42 43 43 20 20 20  |tate".... BCC   |
00000d90  20 20 62 69 67 6c 6f 6f  70 0d 06 9a 14 20 4d 4f  |  bigloop.... MO|
00000da0  56 20 20 20 20 20 52 30  2c 23 31 32 34 0d 06 a4  |V     R0,#124...|
00000db0  16 20 53 57 49 20 20 20  20 20 22 4f 53 5f 42 79  |. SWI     "OS_By|
00000dc0  74 65 22 0d 06 ae 20 20  53 57 49 20 20 20 20 20  |te"...  SWI     |
00000dd0  22 4f 53 5f 52 65 73 74  6f 72 65 43 75 72 73 6f  |"OS_RestoreCurso|
00000de0  72 73 22 0d 06 b8 16 20  4c 44 4d 46 44 20 20 20  |rs".... LDMFD   |
00000df0  52 31 33 21 2c 7b 50 43  7d 0d 06 c2 05 20 0d 06  |R13!,{PC}.... ..|
00000e00  cc 0b 2e 6c 74 61 62 6c  65 0d 06 d6 18 20 5d 3a  |...ltable.... ]:|
00000e10  50 25 2b 3d 32 35 36 2a  34 3a 5b 4f 50 54 20 4a  |P%+=256*4:[OPT J|
00000e20  25 0d 06 e0 0c 2e 6f 6c  64 72 65 66 73 0d 06 ea  |%.....oldrefs...|
00000e30  1a 5d 3a 50 25 2b 3d 6d  75 6c 25 2a 34 2a 34 3a  |.]:P%+=mul%*4*4:|
00000e40  5b 4f 50 54 20 4a 25 0d  06 f4 0d 2e 6f 6c 64 72  |[OPT J%.....oldr|
00000e50  65 66 73 32 0d 06 fe 1a  5d 3a 50 25 2b 3d 6d 75  |efs2....]:P%+=mu|
00000e60  6c 25 2a 34 2a 34 3a 5b  4f 50 54 20 4a 25 0d 07  |l%*4*4:[OPT J%..|
00000e70  08 05 20 0d 07 12 05 5d  0d 07 1c 05 ed 0d 07 26  |.. ....].......&|
00000e80  05 3a 0d 07 30 0c de 20  70 25 20 34 30 30 0d 07  |.:..0.. p% 400..|
00000e90  3a 12 e3 20 49 25 3d 30  20 b8 20 32 20 88 20 32  |:.. I%=0 . 2 . 2|
00000ea0  0d 07 44 09 50 25 3d 70  25 0d 07 4e 0b 5b 4f 50  |..D.P%=p%..N.[OP|
00000eb0  54 20 49 25 0d 07 58 05  20 0d 07 62 07 2e 73 63  |T I%..X. ..b..sc|
00000ec0  0d 07 6c 10 20 45 51 55  44 20 20 20 20 31 34 38  |..l. EQUD    148|
00000ed0  0d 07 76 10 20 45 51 55  44 20 20 20 20 31 35 30  |..v. EQUD    150|
00000ee0  0d 07 80 0f 20 45 51 55  44 20 20 20 20 2d 31 0d  |.... EQUD    -1.|
00000ef0  07 8a 0a 2e 73 65 74 75  70 0d 07 94 17 20 53 54  |....setup.... ST|
00000f00  4d 46 44 20 20 20 52 31  33 21 2c 7b 52 31 34 7d  |MFD   R13!,{R14}|
00000f10  0d 07 9e 13 20 4c 44 52  20 20 20 20 20 52 31 2c  |.... LDR     R1,|
00000f20  61 2b 38 0d 07 a8 14 20  4d 4f 56 20 20 20 20 20  |a+8.... MOV     |
00000f30  52 32 2c 23 32 35 35 0d  07 b2 0a 2e 6c 6f 67 6c  |R2,#255.....logl|
00000f40  31 0d 07 bc 17 20 4d 4f  56 20 20 20 20 20 52 30  |1.... MOV     R0|
00000f50  2c 23 26 31 32 30 30 30  0d 07 c6 1e 20 53 54 52  |,#&12000.... STR|
00000f60  20 20 20 20 20 52 30 2c  5b 52 31 2c 52 32 2c 4c  |     R0,[R1,R2,L|
00000f70  53 4c 20 23 32 5d 0d 07  d0 15 20 53 55 42 53 20  |SL #2].... SUBS |
00000f80  20 20 20 52 32 2c 52 32  2c 23 31 0d 07 da 12 20  |   R2,R2,#1.... |
00000f90  42 50 4c 20 20 20 20 20  6c 6f 67 6c 31 0d 07 e4  |BPL     logl1...|
00000fa0  14 20 4d 4f 56 20 20 20  20 20 52 32 2c 23 32 35  |. MOV     R2,#25|
00000fb0  35 0d 07 ee 0c 2e 6c 6f  67 6c 6f 6f 70 0d 07 f8  |5.....logloop...|
00000fc0  17 20 53 55 42 53 20 20  20 20 52 30 2c 52 32 2c  |. SUBS    R0,R2,|
00000fd0  23 31 32 38 0d 08 02 1a  20 4d 4f 56 20 20 20 20  |#128.... MOV    |
00000fe0  20 52 30 2c 52 30 2c 4c  53 4c 20 23 32 34 0d 08  | R0,R0,LSL #24..|
00000ff0  0c 18 20 84 52 4d 49 20  20 20 52 30 2c 52 30 2c  |.. .RMI   R0,R0,|
00001000  23 31 3c 3c 33 31 0d 08  16 1d 20 53 57 49 20 20  |#1<<31.... SWI  |
00001010  20 20 20 22 53 6f 75 6e  64 5f 53 6f 75 6e 64 4c  |   "Sound_SoundL|
00001020  6f 67 22 0d 08 20 17 20  53 55 42 20 20 20 20 20  |og".. . SUB     |
00001030  52 33 2c 52 32 2c 23 31  32 38 0d 08 2a 19 20 4d  |R3,R2,#128..*. M|
00001040  4f 56 20 20 20 20 20 52  33 2c 52 33 2c 41 53 52  |OV     R3,R3,ASR|
00001050  20 23 32 0d 08 34 0d 2e  62 61 63 6b 72 65 66 78  | #2..4..backrefx|
00001060  0d 08 3e 1e 20 53 54 52  20 20 20 20 20 52 33 2c  |..>. STR     R3,|
00001070  5b 52 31 2c 52 30 2c 4c  53 4c 20 23 32 5d 0d 08  |[R1,R0,LSL #2]..|
00001080  48 15 20 41 44 44 20 20  20 20 20 52 30 2c 52 30  |H. ADD     R0,R0|
00001090  2c 23 31 0d 08 52 1f 20  4c 44 52 20 20 20 20 20  |,#1..R. LDR     |
000010a0  52 31 34 2c 5b 52 31 2c  52 30 2c 4c 53 4c 20 23  |R14,[R1,R0,LSL #|
000010b0  32 5d 0d 08 5c 18 20 54  45 51 20 20 20 20 20 52  |2]..\. TEQ     R|
000010c0  31 34 2c 23 26 31 32 30  30 30 0d 08 66 15 20 42  |14,#&12000..f. B|
000010d0  45 51 20 20 20 20 20 62  61 63 6b 72 65 66 78 0d  |EQ     backrefx.|
000010e0  08 70 15 20 53 55 42 53  20 20 20 20 52 32 2c 52  |.p. SUBS    R2,R|
000010f0  32 2c 23 31 0d 08 7a 14  20 42 50 4c 20 20 20 20  |2,#1..z. BPL    |
00001100  20 6c 6f 67 6c 6f 6f 70  0d 08 84 12 20 41 44 52  | logloop.... ADR|
00001110  20 20 20 20 20 52 30 2c  73 63 0d 08 8e 12 20 4d  |     R0,sc.... M|
00001120  4f 56 20 20 20 20 20 52  31 2c 52 30 0d 08 98 22  |OV     R1,R0..."|
00001130  20 53 57 49 20 20 20 20  20 22 4f 53 5f 52 65 61  | SWI     "OS_Rea|
00001140  64 56 64 75 56 61 72 69  61 62 6c 65 73 22 0d 08  |dVduVariables"..|
00001150  a2 12 20 4c 44 52 20 20  20 20 20 52 34 2c 73 63  |.. LDR     R4,sc|
00001160  0d 08 ac 14 20 4c 44 52  20 20 20 20 20 52 35 2c  |.... LDR     R5,|
00001170  73 63 2b 34 0d 08 b6 14  20 4c 44 52 20 20 20 20  |sc+4.... LDR    |
00001180  20 52 30 2c 61 2b 31 32  0d 08 c0 19 20 4d 4f 56  | R0,a+12.... MOV|
00001190  20 20 20 20 20 52 30 2c  52 30 2c 4c 53 4c 20 23  |     R0,R0,LSL #|
000011a0  32 0d 08 ca 13 20 4c 44  52 20 20 20 20 20 52 31  |2.... LDR     R1|
000011b0  2c 61 2b 34 0d 08 d4 12  20 4d 4f 56 20 20 20 20  |,a+4.... MOV    |
000011c0  20 52 32 2c 23 30 0d 08  de 10 20 42 20 20 20 20  | R2,#0.... B    |
000011d0  20 20 20 6f 32 6c 0d 08  e8 06 2e 61 0d 08 f2 14  |   o2l.....a....|
000011e0  20 45 51 55 44 20 20 20  20 6f 6c 64 72 65 66 73  | EQUD    oldrefs|
000011f0  0d 08 fc 15 20 45 51 55  44 20 20 20 20 6f 6c 64  |.... EQUD    old|
00001200  72 65 66 73 32 0d 09 06  13 20 45 51 55 44 20 20  |refs2.... EQUD  |
00001210  20 20 6c 74 61 62 6c 65  0d 09 10 11 20 45 51 55  |  ltable.... EQU|
00001220  44 20 20 20 20 6d 75 6c  25 0d 09 1a 08 2e 6f 32  |D    mul%.....o2|
00001230  6c 0d 09 24 1e 20 53 54  52 20 20 20 20 20 52 34  |l..$. STR     R4|
00001240  2c 5b 52 31 2c 52 32 2c  4c 53 4c 20 23 32 5d 0d  |,[R1,R2,LSL #2].|
00001250  09 2e 15 20 41 44 44 20  20 20 20 20 52 32 2c 52  |... ADD     R2,R|
00001260  32 2c 23 31 0d 09 38 12  20 43 4d 50 20 20 20 20  |2,#1..8. CMP    |
00001270  20 52 32 2c 52 30 0d 09  42 10 20 42 4c 54 20 20  | R2,R0..B. BLT  |
00001280  20 20 20 6f 32 6c 0d 09  4c 11 20 4c 44 52 20 20  |   o2l..L. LDR  |
00001290  20 20 20 52 30 2c 61 0d  09 56 12 20 4d 4f 56 20  |   R0,a..V. MOV |
000012a0  20 20 20 20 52 32 2c 23  33 0d 09 60 19 20 4d 4f  |    R2,#3..`. MO|
000012b0  56 20 20 20 20 20 52 36  2c 52 35 2c 4c 53 52 20  |V     R6,R5,LSR |
000012c0  23 32 0d 09 6a 1c 20 41  44 44 20 20 20 20 20 52  |#2..j. ADD     R|
000012d0  35 2c 52 34 2c 52 35 2c  4c 53 52 20 23 33 0d 09  |5,R4,R5,LSR #3..|
000012e0  74 14 20 4c 44 52 20 20  20 20 20 52 33 2c 61 2b  |t. LDR     R3,a+|
000012f0  31 32 0d 09 7e 0a 2e 74  72 6b 6c 32 0d 09 88 12  |12..~..trkl2....|
00001300  20 4d 4f 56 20 20 20 20  20 52 31 2c 23 30 0d 09  | MOV     R1,#0..|
00001310  92 09 2e 74 72 6b 6c 0d  09 9c 1e 20 53 54 52 20  |...trkl.... STR |
00001320  20 20 20 20 52 35 2c 5b  52 30 2c 52 31 2c 4c 53  |    R5,[R0,R1,LS|
00001330  4c 20 23 32 5d 0d 09 a6  15 20 41 44 44 20 20 20  |L #2].... ADD   |
00001340  20 20 52 31 2c 52 31 2c  23 31 0d 09 b0 12 20 43  |  R1,R1,#1.... C|
00001350  4d 50 20 20 20 20 20 52  31 2c 52 33 0d 09 ba 11  |MP     R1,R3....|
00001360  20 42 4c 54 20 20 20 20  20 74 72 6b 6c 0d 09 c4  | BLT     trkl...|
00001370  1c 20 41 44 44 20 20 20  20 20 52 30 2c 52 30 2c  |. ADD     R0,R0,|
00001380  52 31 2c 4c 53 4c 20 23  32 0d 09 ce 15 20 41 44  |R1,LSL #2.... AD|
00001390  44 20 20 20 20 20 52 35  2c 52 35 2c 52 36 0d 09  |D     R5,R5,R6..|
000013a0  d8 15 20 53 55 42 53 20  20 20 20 52 32 2c 52 32  |.. SUBS    R2,R2|
000013b0  2c 23 31 0d 09 e2 12 20  42 50 4c 20 20 20 20 20  |,#1.... BPL     |
000013c0  74 72 6b 6c 32 0d 09 ec  16 20 4c 44 4d 46 44 20  |trkl2.... LDMFD |
000013d0  20 20 52 31 33 21 2c 7b  50 43 7d 0d 09 f6 05 20  |  R13!,{PC}.... |
000013e0  0d 0a 00 05 5d 0d 0a 0a  05 ed 0d 0a 14 05 3a 0d  |....].........:.|
000013f0  0a 1e 08 d6 20 70 25 0d  0a 28 12 41 25 3d 70 6f  |.... p%..(.A%=po|
00001400  69 6e 74 25 2b 26 41 31  43 0d 0a 32 13 42 25 3d  |int%+&A1C..2.B%=|
00001410  21 73 63 2b 28 73 63 21  34 29 2f 38 0d 0a 3c 0b  |!sc+(sc!4)/8..<.|
00001420  d6 20 63 6f 64 65 25 0d  0a 46 05 3a 0d 0a 50 05  |. code%..F.:..P.|
00001430  e0 0d ff                                          |...|
00001433