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

Music/!PlayerMod/Bits/TrackerI

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/TrackerI
Read OK:
File size: 0E1B bytes
Load address: 0000
Exec address: 0000
Duplicates

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

File contents
   10REM > TrackerI
   20REM   Single Track display
   30REM   Original code by Nick Smith
   40REM   Completely (almost! Nick) rewritten by The Mad Dog, 1990
   50:
   60MODE 15:OFF
   70DIM code% 8000
   80SYS "OS_Module",18,"TrackerModule" TO ,,,point%,pr%
   90IF pr%=0 THEN PRINT '"Please run a STracker tune before this app."':END
  100:
  110mul%=640
  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 MOV     point,R0
  230 MOV     screenbse,R1
  240 MOV     multiply,#mul%
  250 MOV     R8,#0
  260 LDR     R6,orr
  270 LDR     R7,or2r
  280 B       bigloop
  290.ltr
  300 EQUD    ltable
  310.orr
  320 EQUD    oldrefs
  330.or2r
  340 EQUD    oldrefs2
  350.ccc
  360 EQUD    0
  370.col
  380 EQUD    &FF
  390.bigloop
  400 LDR     R14,ccc
  410 ADD     R14,R14,#1
  420 STR     R14,ccc
  430
  440 LDR     R0, col
  450 ADD     R0, R0, R0, LSL #8
  460 ADD     R0, R0, R0, LSL #16
  470 MOV     R1, #160
  480 MOV     R2, screenbse
  490.hline
  500 STR     R0, [R2], #4
  510 SUBS    R1, R1, #1
  520 BNE     hline
  530 
  540 MOV     R0,#19
  550 SWI     "OS_Byte"
  560 SUB     R4,R7,R8
  570 MOV     R14,#0
  580 MOV     R1,#mul%
  590.loop1a
  600 LDR     R0,[R4],#4
  610 STRB    R14,[R0]
  620 LDR     R0,[R4],#4
  630 STRB    R14,[R0]
  640 LDR     R0,[R4],#4
  650 STRB    R14,[R0]
  660 LDR     R0,[R4],#4
  670 STRB    R14,[R0]
  680 LDR     R0,[R4],#4
  690 STRB    R14,[R0]
  700 LDR     R0,[R4],#4
  710 STRB    R14,[R0]
  720 LDR     R0,[R4],#4
  730 STRB    R14,[R0]
  740 LDR     R0,[R4],#4
  750 STRB    R14,[R0]
  760 SUBS    R1,R1,#8
  770 BNE     loop1a
  780 
  790 ADD     R4,R6,R8
  800 LDR     R14, col
  810 MOV     R1,#mul%
  820.loop1b
  830 LDR     R0,[R4],#4
  840 STRB    R14,[R0]
  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 SUBS    R1,R1,#8
 1000 BNE     loop1b
 1010 
 1020 EOR     R8,R8,#mul%*4
 1030 
 1040 STMFD   R13!,{R6-R8,screenbse,point}
 1050 
 1060 ADD     R0,point,#4
 1070 ADD     point,R6,R8
 1080 LDMIA   R0!,{R1-R6}
 1090 MOV     xpos,screenbse
 1100 MOV     R7,#mul%
 1110 LDR     screenbse,ltr
 1120.loop1
 1130 LDRB    R0,[R5,R1,LSR #16]
 1140 LDR     R0,[screenbse,R0,LSL #2]
 1150 ADD     R3,xpos,R0,LSL #9
 1160 ADD     R3,R3,R0,LSL #7
 1170 STR     R3,[point],#4
 1180 ADD     xpos,xpos,#1
 1190 ADD     R1,R1,R2
 1200 SUBS    R7,R7,#1
 1210 BNE     loop1
 1220 
 1230 LDMFD   R13!,{R6-R8,screenbse,point}
 1240 
 1250 SWI     "OS_ReadEscapeState"
 1260 BCC     bigloop
 1270 MOV     R0,#124
 1280 SWI     "OS_Byte"
 1290 LDMFD   R13!,{PC}
 1300 
 1310.ltable
 1320 ]:P%+=256*4:[OPT J%
 1330.oldrefs
 1340]:P%+=mul%*4:[OPT J%
 1350.oldrefs2
 1360]:P%+=mul%*4:[OPT J%
 1370 
 1380]
 1390NEXT
 1400:
 1410PROCinit_table
 1420SYS "OS_ReadDynamicArea",2 TO B%
 1430SYS "OS_ReadModeVariable",-1,7 TO ,,L%
 1440FOR A%=0 TO mul%*4-4 STEP 4
 1450 oldrefs2!A%=B%
 1460 oldrefs!A%=B%+4*L%/8
 1470NEXT
 1480:
 1490track%=0
 1500B%=B%+(L%/2)
 1510REPEAT
 1520  A%=point%+&A1C+(track%*32)
 1530  IF track%=0 THEN !col=&FF
 1540  IF track%=1 THEN !col=&63
 1550  IF track%=2 THEN !col=&77
 1560  IF track%=3 THEN !col=&17
 1570  PRINT TAB(27,0);"Sound Tracker VU Analyser"
 1580  PRINT TAB(23,1);"By The Mad Dog & Nick Smith, 1990"
 1590  PRINT TAB(13,3);"Press Escape to change channel, Escape & Space to Exit"
 1600  CALL code%
 1610  track%=(track%+1) MOD 4
 1620UNTIL INKEY(5)=32
 1630PRINT
 1640:
 1650END
 1660:
 1670DEF PROCinit_table
 1680REM OSCLI "Load <PlayerMod$Dir>.Bits.Table1Data "+STR$~ltable
 1690FOR A%=0 TO 255
 1700 B%=A%-128:B%=B%<<24:SYS "Sound_SoundLog",B% TO C%
 1710 D%=A% EOR 128
 1720 IF D% AND 128 D%-=256
 1730 !(ltable+C%*4)=D%/2
 1740NEXT
 1750REM OSCLI "Save Table1Data "+STR$~ltable+" +10_1024"
 1760ENDPROC

� > TrackerI
�   Single Track display
#�   Original code by Nick Smith
(@�   Completely (almost! Nick) rewritten by The Mad Dog, 1990
2:
<
� 15:�
F� code% 8000
P5ș "OS_Module",18,"TrackerModule" � ,,,point%,pr%
ZA� pr%=0 � � '"Please run a STracker tune before this app."':�
d:
nmul%=640
x:
�xpos=11
�point=12
�screenbse=10
�multiply=9
�� J%=0 � 2 � 2
�P%=code%
�[OPT J%
� 
� STMFD   R13!,{R14}
� MOV     point,R0
� MOV     screenbse,R1
� MOV     multiply,#mul%
� MOV     R8,#0
 LDR     R6,orr
 LDR     R7,or2r
 B       bigloop
".ltr
, EQUD    ltable
6.orr
@ EQUD    oldrefs
J	.or2r
T EQUD    oldrefs2
^.ccc
h EQUD    0
r.col
| EQUD    &FF
�.bigloop
� LDR     R14,ccc
� ADD     R14,R14,#1
� STR     R14,ccc
�
� LDR     R0, col
� ADD     R0, R0, R0, LSL #8
�  ADD     R0, R0, R0, LSL #16
� MOV     R1, #160
� MOV     R2, screenbse
�
.hline
� STR     R0, [R2], #4
� SUBS    R1, R1, #1
 BNE     hline
 
 MOV     R0,#19
& SWI     "OS_Byte"
0 SUB     R4,R7,R8
: MOV     R14,#0
D MOV     R1,#mul%
N.loop1a
X LDR     R0,[R4],#4
b STRB    R14,[R0]
l LDR     R0,[R4],#4
v 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]
� LDR     R0,[R4],#4
� STRB    R14,[R0]
� SUBS    R1,R1,#8
 BNE     loop1a
 
 ADD     R4,R6,R8
  LDR     R14, col
* MOV     R1,#mul%
4.loop1b
> LDR     R0,[R4],#4
H STRB    R14,[R0]
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]
� SUBS    R1,R1,#8
� BNE     loop1b
� 
� �     R8,R8,#mul%*4
 
) STMFD   R13!,{R6-R8,screenbse,point}
 
$ ADD     R0,point,#4
. ADD     point,R6,R8
8 LDMIA   R0!,{R1-R6}
B MOV     xpos,screenbse
L MOV     R7,#mul%
V LDR     screenbse,ltr
`
.loop1
j LDRB    R0,[R5,R1,LSR #16]
t% LDR     R0,[screenbse,R0,LSL #2]
~ ADD     R3,xpos,R0,LSL #9
� ADD     R3,R3,R0,LSL #7
� STR     R3,[point],#4
� ADD     xpos,xpos,#1
� ADD     R1,R1,R2
� SUBS    R7,R7,#1
� BNE     loop1
� 
�) LDMFD   R13!,{R6-R8,screenbse,point}
� 
�! SWI     "OS_ReadEscapeState"
� BCC     bigloop
� MOV     R0,#124
 SWI     "OS_Byte"

 LDMFD   R13!,{PC}
 
.ltable
( ]:P%+=256*4:[OPT J%
2.oldrefs
<]:P%+=mul%*4:[OPT J%
F
.oldrefs2
P]:P%+=mul%*4:[OPT J%
Z 
d]
n�
x:
��init_table
�"ș "OS_ReadDynamicArea",2 � B%
�(ș "OS_ReadModeVariable",-1,7 � ,,L%
�� A%=0 � mul%*4-4 � 4
� oldrefs2!A%=B%
� oldrefs!A%=B%+4*L%/8
��
�:
�track%=0
�B%=B%+(L%/2)
��
�   A%=point%+&A1C+(track%*32)
�  � track%=0 � !col=&FF
  � track%=1 � !col=&63
  � track%=2 � !col=&77
  � track%=3 � !col=&17
"*  � �27,0);"Sound Tracker VU Analyser"
,2  � �23,1);"By The Mad Dog & Nick Smith, 1990"
6G  � �13,3);"Press Escape to change channel, Escape & Space to Exit"
@
  � code%
J  track%=(track%+1) � 4
T
� �(5)=32
^�
h:
r�
|:
�� �init_table
�?� OSCLI "Load <PlayerMod$Dir>.Bits.Table1Data "+STR$~ltable
�� A%=0 � 255
�4 B%=A%-128:B%=B%<<24:ș "Sound_SoundLog",B% � C%
� D%=A% � 128
� � D% � 128 D%-=256
� !(ltable+C%*4)=D%/2
��
�6� OSCLI "Save Table1Data "+STR$~ltable+" +10_1024"
��
�
00000000  0d 00 0a 10 f4 20 3e 20  54 72 61 63 6b 65 72 49  |..... > TrackerI|
00000010  0d 00 14 1c f4 20 20 20  53 69 6e 67 6c 65 20 54  |.....   Single T|
00000020  72 61 63 6b 20 64 69 73  70 6c 61 79 0d 00 1e 23  |rack display...#|
00000030  f4 20 20 20 4f 72 69 67  69 6e 61 6c 20 63 6f 64  |.   Original cod|
00000040  65 20 62 79 20 4e 69 63  6b 20 53 6d 69 74 68 0d  |e by Nick Smith.|
00000050  00 28 40 f4 20 20 20 43  6f 6d 70 6c 65 74 65 6c  |.(@.   Completel|
00000060  79 20 28 61 6c 6d 6f 73  74 21 20 4e 69 63 6b 29  |y (almost! Nick)|
00000070  20 72 65 77 72 69 74 74  65 6e 20 62 79 20 54 68  | rewritten by Th|
00000080  65 20 4d 61 64 20 44 6f  67 2c 20 31 39 39 30 0d  |e Mad Dog, 1990.|
00000090  00 32 05 3a 0d 00 3c 0a  eb 20 31 35 3a 87 0d 00  |.2.:..<.. 15:...|
000000a0  46 10 de 20 63 6f 64 65  25 20 38 30 30 30 0d 00  |F.. code% 8000..|
000000b0  50 35 c8 99 20 22 4f 53  5f 4d 6f 64 75 6c 65 22  |P5.. "OS_Module"|
000000c0  2c 31 38 2c 22 54 72 61  63 6b 65 72 4d 6f 64 75  |,18,"TrackerModu|
000000d0  6c 65 22 20 b8 20 2c 2c  2c 70 6f 69 6e 74 25 2c  |le" . ,,,point%,|
000000e0  70 72 25 0d 00 5a 41 e7  20 70 72 25 3d 30 20 8c  |pr%..ZA. pr%=0 .|
000000f0  20 f1 20 27 22 50 6c 65  61 73 65 20 72 75 6e 20  | . '"Please run |
00000100  61 20 53 54 72 61 63 6b  65 72 20 74 75 6e 65 20  |a STracker tune |
00000110  62 65 66 6f 72 65 20 74  68 69 73 20 61 70 70 2e  |before this app.|
00000120  22 27 3a e0 0d 00 64 05  3a 0d 00 6e 0c 6d 75 6c  |"':...d.:..n.mul|
00000130  25 3d 36 34 30 0d 00 78  05 3a 0d 00 82 0b 78 70  |%=640..x.:....xp|
00000140  6f 73 3d 31 31 0d 00 8c  0c 70 6f 69 6e 74 3d 31  |os=11....point=1|
00000150  32 0d 00 96 10 73 63 72  65 65 6e 62 73 65 3d 31  |2....screenbse=1|
00000160  30 0d 00 a0 0e 6d 75 6c  74 69 70 6c 79 3d 39 0d  |0....multiply=9.|
00000170  00 aa 12 e3 20 4a 25 3d  30 20 b8 20 32 20 88 20  |.... J%=0 . 2 . |
00000180  32 0d 00 b4 0c 50 25 3d  63 6f 64 65 25 0d 00 be  |2....P%=code%...|
00000190  0b 5b 4f 50 54 20 4a 25  0d 00 c8 05 20 0d 00 d2  |.[OPT J%.... ...|
000001a0  17 20 53 54 4d 46 44 20  20 20 52 31 33 21 2c 7b  |. STMFD   R13!,{|
000001b0  52 31 34 7d 0d 00 dc 15  20 4d 4f 56 20 20 20 20  |R14}.... MOV    |
000001c0  20 70 6f 69 6e 74 2c 52  30 0d 00 e6 19 20 4d 4f  | point,R0.... MO|
000001d0  56 20 20 20 20 20 73 63  72 65 65 6e 62 73 65 2c  |V     screenbse,|
000001e0  52 31 0d 00 f0 1b 20 4d  4f 56 20 20 20 20 20 6d  |R1.... MOV     m|
000001f0  75 6c 74 69 70 6c 79 2c  23 6d 75 6c 25 0d 00 fa  |ultiply,#mul%...|
00000200  12 20 4d 4f 56 20 20 20  20 20 52 38 2c 23 30 0d  |. MOV     R8,#0.|
00000210  01 04 13 20 4c 44 52 20  20 20 20 20 52 36 2c 6f  |... LDR     R6,o|
00000220  72 72 0d 01 0e 14 20 4c  44 52 20 20 20 20 20 52  |rr.... LDR     R|
00000230  37 2c 6f 72 32 72 0d 01  18 14 20 42 20 20 20 20  |7,or2r.... B    |
00000240  20 20 20 62 69 67 6c 6f  6f 70 0d 01 22 08 2e 6c  |   bigloop.."..l|
00000250  74 72 0d 01 2c 13 20 45  51 55 44 20 20 20 20 6c  |tr..,. EQUD    l|
00000260  74 61 62 6c 65 0d 01 36  08 2e 6f 72 72 0d 01 40  |table..6..orr..@|
00000270  14 20 45 51 55 44 20 20  20 20 6f 6c 64 72 65 66  |. EQUD    oldref|
00000280  73 0d 01 4a 09 2e 6f 72  32 72 0d 01 54 15 20 45  |s..J..or2r..T. E|
00000290  51 55 44 20 20 20 20 6f  6c 64 72 65 66 73 32 0d  |QUD    oldrefs2.|
000002a0  01 5e 08 2e 63 63 63 0d  01 68 0e 20 45 51 55 44  |.^..ccc..h. EQUD|
000002b0  20 20 20 20 30 0d 01 72  08 2e 63 6f 6c 0d 01 7c  |    0..r..col..||
000002c0  10 20 45 51 55 44 20 20  20 20 26 46 46 0d 01 86  |. EQUD    &FF...|
000002d0  0c 2e 62 69 67 6c 6f 6f  70 0d 01 90 14 20 4c 44  |..bigloop.... LD|
000002e0  52 20 20 20 20 20 52 31  34 2c 63 63 63 0d 01 9a  |R     R14,ccc...|
000002f0  17 20 41 44 44 20 20 20  20 20 52 31 34 2c 52 31  |. ADD     R14,R1|
00000300  34 2c 23 31 0d 01 a4 14  20 53 54 52 20 20 20 20  |4,#1.... STR    |
00000310  20 52 31 34 2c 63 63 63  0d 01 ae 04 0d 01 b8 14  | R14,ccc........|
00000320  20 4c 44 52 20 20 20 20  20 52 30 2c 20 63 6f 6c  | LDR     R0, col|
00000330  0d 01 c2 1f 20 41 44 44  20 20 20 20 20 52 30 2c  |.... ADD     R0,|
00000340  20 52 30 2c 20 52 30 2c  20 4c 53 4c 20 23 38 0d  | R0, R0, LSL #8.|
00000350  01 cc 20 20 41 44 44 20  20 20 20 20 52 30 2c 20  |..  ADD     R0, |
00000360  52 30 2c 20 52 30 2c 20  4c 53 4c 20 23 31 36 0d  |R0, R0, LSL #16.|
00000370  01 d6 15 20 4d 4f 56 20  20 20 20 20 52 31 2c 20  |... MOV     R1, |
00000380  23 31 36 30 0d 01 e0 1a  20 4d 4f 56 20 20 20 20  |#160.... MOV    |
00000390  20 52 32 2c 20 73 63 72  65 65 6e 62 73 65 0d 01  | R2, screenbse..|
000003a0  ea 0a 2e 68 6c 69 6e 65  0d 01 f4 19 20 53 54 52  |...hline.... STR|
000003b0  20 20 20 20 20 52 30 2c  20 5b 52 32 5d 2c 20 23  |     R0, [R2], #|
000003c0  34 0d 01 fe 17 20 53 55  42 53 20 20 20 20 52 31  |4.... SUBS    R1|
000003d0  2c 20 52 31 2c 20 23 31  0d 02 08 12 20 42 4e 45  |, R1, #1.... BNE|
000003e0  20 20 20 20 20 68 6c 69  6e 65 0d 02 12 05 20 0d  |     hline.... .|
000003f0  02 1c 13 20 4d 4f 56 20  20 20 20 20 52 30 2c 23  |... MOV     R0,#|
00000400  31 39 0d 02 26 16 20 53  57 49 20 20 20 20 20 22  |19..&. SWI     "|
00000410  4f 53 5f 42 79 74 65 22  0d 02 30 15 20 53 55 42  |OS_Byte"..0. SUB|
00000420  20 20 20 20 20 52 34 2c  52 37 2c 52 38 0d 02 3a  |     R4,R7,R8..:|
00000430  13 20 4d 4f 56 20 20 20  20 20 52 31 34 2c 23 30  |. MOV     R14,#0|
00000440  0d 02 44 15 20 4d 4f 56  20 20 20 20 20 52 31 2c  |..D. MOV     R1,|
00000450  23 6d 75 6c 25 0d 02 4e  0b 2e 6c 6f 6f 70 31 61  |#mul%..N..loop1a|
00000460  0d 02 58 17 20 4c 44 52  20 20 20 20 20 52 30 2c  |..X. LDR     R0,|
00000470  5b 52 34 5d 2c 23 34 0d  02 62 15 20 53 54 52 42  |[R4],#4..b. STRB|
00000480  20 20 20 20 52 31 34 2c  5b 52 30 5d 0d 02 6c 17  |    R14,[R0]..l.|
00000490  20 4c 44 52 20 20 20 20  20 52 30 2c 5b 52 34 5d  | LDR     R0,[R4]|
000004a0  2c 23 34 0d 02 76 15 20  53 54 52 42 20 20 20 20  |,#4..v. STRB    |
000004b0  52 31 34 2c 5b 52 30 5d  0d 02 80 17 20 4c 44 52  |R14,[R0].... LDR|
000004c0  20 20 20 20 20 52 30 2c  5b 52 34 5d 2c 23 34 0d  |     R0,[R4],#4.|
000004d0  02 8a 15 20 53 54 52 42  20 20 20 20 52 31 34 2c  |... STRB    R14,|
000004e0  5b 52 30 5d 0d 02 94 17  20 4c 44 52 20 20 20 20  |[R0].... LDR    |
000004f0  20 52 30 2c 5b 52 34 5d  2c 23 34 0d 02 9e 15 20  | R0,[R4],#4.... |
00000500  53 54 52 42 20 20 20 20  52 31 34 2c 5b 52 30 5d  |STRB    R14,[R0]|
00000510  0d 02 a8 17 20 4c 44 52  20 20 20 20 20 52 30 2c  |.... LDR     R0,|
00000520  5b 52 34 5d 2c 23 34 0d  02 b2 15 20 53 54 52 42  |[R4],#4.... STRB|
00000530  20 20 20 20 52 31 34 2c  5b 52 30 5d 0d 02 bc 17  |    R14,[R0]....|
00000540  20 4c 44 52 20 20 20 20  20 52 30 2c 5b 52 34 5d  | LDR     R0,[R4]|
00000550  2c 23 34 0d 02 c6 15 20  53 54 52 42 20 20 20 20  |,#4.... STRB    |
00000560  52 31 34 2c 5b 52 30 5d  0d 02 d0 17 20 4c 44 52  |R14,[R0].... LDR|
00000570  20 20 20 20 20 52 30 2c  5b 52 34 5d 2c 23 34 0d  |     R0,[R4],#4.|
00000580  02 da 15 20 53 54 52 42  20 20 20 20 52 31 34 2c  |... STRB    R14,|
00000590  5b 52 30 5d 0d 02 e4 17  20 4c 44 52 20 20 20 20  |[R0].... LDR    |
000005a0  20 52 30 2c 5b 52 34 5d  2c 23 34 0d 02 ee 15 20  | R0,[R4],#4.... |
000005b0  53 54 52 42 20 20 20 20  52 31 34 2c 5b 52 30 5d  |STRB    R14,[R0]|
000005c0  0d 02 f8 15 20 53 55 42  53 20 20 20 20 52 31 2c  |.... SUBS    R1,|
000005d0  52 31 2c 23 38 0d 03 02  13 20 42 4e 45 20 20 20  |R1,#8.... BNE   |
000005e0  20 20 6c 6f 6f 70 31 61  0d 03 0c 05 20 0d 03 16  |  loop1a.... ...|
000005f0  15 20 41 44 44 20 20 20  20 20 52 34 2c 52 36 2c  |. ADD     R4,R6,|
00000600  52 38 0d 03 20 15 20 4c  44 52 20 20 20 20 20 52  |R8.. . LDR     R|
00000610  31 34 2c 20 63 6f 6c 0d  03 2a 15 20 4d 4f 56 20  |14, col..*. MOV |
00000620  20 20 20 20 52 31 2c 23  6d 75 6c 25 0d 03 34 0b  |    R1,#mul%..4.|
00000630  2e 6c 6f 6f 70 31 62 0d  03 3e 17 20 4c 44 52 20  |.loop1b..>. LDR |
00000640  20 20 20 20 52 30 2c 5b  52 34 5d 2c 23 34 0d 03  |    R0,[R4],#4..|
00000650  48 15 20 53 54 52 42 20  20 20 20 52 31 34 2c 5b  |H. STRB    R14,[|
00000660  52 30 5d 0d 03 52 17 20  4c 44 52 20 20 20 20 20  |R0]..R. LDR     |
00000670  52 30 2c 5b 52 34 5d 2c  23 34 0d 03 5c 15 20 53  |R0,[R4],#4..\. S|
00000680  54 52 42 20 20 20 20 52  31 34 2c 5b 52 30 5d 0d  |TRB    R14,[R0].|
00000690  03 66 17 20 4c 44 52 20  20 20 20 20 52 30 2c 5b  |.f. LDR     R0,[|
000006a0  52 34 5d 2c 23 34 0d 03  70 15 20 53 54 52 42 20  |R4],#4..p. STRB |
000006b0  20 20 20 52 31 34 2c 5b  52 30 5d 0d 03 7a 17 20  |   R14,[R0]..z. |
000006c0  4c 44 52 20 20 20 20 20  52 30 2c 5b 52 34 5d 2c  |LDR     R0,[R4],|
000006d0  23 34 0d 03 84 15 20 53  54 52 42 20 20 20 20 52  |#4.... STRB    R|
000006e0  31 34 2c 5b 52 30 5d 0d  03 8e 17 20 4c 44 52 20  |14,[R0].... LDR |
000006f0  20 20 20 20 52 30 2c 5b  52 34 5d 2c 23 34 0d 03  |    R0,[R4],#4..|
00000700  98 15 20 53 54 52 42 20  20 20 20 52 31 34 2c 5b  |.. STRB    R14,[|
00000710  52 30 5d 0d 03 a2 17 20  4c 44 52 20 20 20 20 20  |R0].... LDR     |
00000720  52 30 2c 5b 52 34 5d 2c  23 34 0d 03 ac 15 20 53  |R0,[R4],#4.... S|
00000730  54 52 42 20 20 20 20 52  31 34 2c 5b 52 30 5d 0d  |TRB    R14,[R0].|
00000740  03 b6 17 20 4c 44 52 20  20 20 20 20 52 30 2c 5b  |... LDR     R0,[|
00000750  52 34 5d 2c 23 34 0d 03  c0 15 20 53 54 52 42 20  |R4],#4.... STRB |
00000760  20 20 20 52 31 34 2c 5b  52 30 5d 0d 03 ca 17 20  |   R14,[R0].... |
00000770  4c 44 52 20 20 20 20 20  52 30 2c 5b 52 34 5d 2c  |LDR     R0,[R4],|
00000780  23 34 0d 03 d4 15 20 53  54 52 42 20 20 20 20 52  |#4.... STRB    R|
00000790  31 34 2c 5b 52 30 5d 0d  03 de 15 20 53 55 42 53  |14,[R0].... SUBS|
000007a0  20 20 20 20 52 31 2c 52  31 2c 23 38 0d 03 e8 13  |    R1,R1,#8....|
000007b0  20 42 4e 45 20 20 20 20  20 6c 6f 6f 70 31 62 0d  | BNE     loop1b.|
000007c0  03 f2 05 20 0d 03 fc 18  20 82 20 20 20 20 20 52  |... .... .     R|
000007d0  38 2c 52 38 2c 23 6d 75  6c 25 2a 34 0d 04 06 05  |8,R8,#mul%*4....|
000007e0  20 0d 04 10 29 20 53 54  4d 46 44 20 20 20 52 31  | ...) STMFD   R1|
000007f0  33 21 2c 7b 52 36 2d 52  38 2c 73 63 72 65 65 6e  |3!,{R6-R8,screen|
00000800  62 73 65 2c 70 6f 69 6e  74 7d 0d 04 1a 05 20 0d  |bse,point}.... .|
00000810  04 24 18 20 41 44 44 20  20 20 20 20 52 30 2c 70  |.$. ADD     R0,p|
00000820  6f 69 6e 74 2c 23 34 0d  04 2e 18 20 41 44 44 20  |oint,#4.... ADD |
00000830  20 20 20 20 70 6f 69 6e  74 2c 52 36 2c 52 38 0d  |    point,R6,R8.|
00000840  04 38 18 20 4c 44 4d 49  41 20 20 20 52 30 21 2c  |.8. LDMIA   R0!,|
00000850  7b 52 31 2d 52 36 7d 0d  04 42 1b 20 4d 4f 56 20  |{R1-R6}..B. MOV |
00000860  20 20 20 20 78 70 6f 73  2c 73 63 72 65 65 6e 62  |    xpos,screenb|
00000870  73 65 0d 04 4c 15 20 4d  4f 56 20 20 20 20 20 52  |se..L. MOV     R|
00000880  37 2c 23 6d 75 6c 25 0d  04 56 1a 20 4c 44 52 20  |7,#mul%..V. LDR |
00000890  20 20 20 20 73 63 72 65  65 6e 62 73 65 2c 6c 74  |    screenbse,lt|
000008a0  72 0d 04 60 0a 2e 6c 6f  6f 70 31 0d 04 6a 1f 20  |r..`..loop1..j. |
000008b0  4c 44 52 42 20 20 20 20  52 30 2c 5b 52 35 2c 52  |LDRB    R0,[R5,R|
000008c0  31 2c 4c 53 52 20 23 31  36 5d 0d 04 74 25 20 4c  |1,LSR #16]..t% L|
000008d0  44 52 20 20 20 20 20 52  30 2c 5b 73 63 72 65 65  |DR     R0,[scree|
000008e0  6e 62 73 65 2c 52 30 2c  4c 53 4c 20 23 32 5d 0d  |nbse,R0,LSL #2].|
000008f0  04 7e 1e 20 41 44 44 20  20 20 20 20 52 33 2c 78  |.~. ADD     R3,x|
00000900  70 6f 73 2c 52 30 2c 4c  53 4c 20 23 39 0d 04 88  |pos,R0,LSL #9...|
00000910  1c 20 41 44 44 20 20 20  20 20 52 33 2c 52 33 2c  |. ADD     R3,R3,|
00000920  52 30 2c 4c 53 4c 20 23  37 0d 04 92 1a 20 53 54  |R0,LSL #7.... ST|
00000930  52 20 20 20 20 20 52 33  2c 5b 70 6f 69 6e 74 5d  |R     R3,[point]|
00000940  2c 23 34 0d 04 9c 19 20  41 44 44 20 20 20 20 20  |,#4.... ADD     |
00000950  78 70 6f 73 2c 78 70 6f  73 2c 23 31 0d 04 a6 15  |xpos,xpos,#1....|
00000960  20 41 44 44 20 20 20 20  20 52 31 2c 52 31 2c 52  | ADD     R1,R1,R|
00000970  32 0d 04 b0 15 20 53 55  42 53 20 20 20 20 52 37  |2.... SUBS    R7|
00000980  2c 52 37 2c 23 31 0d 04  ba 12 20 42 4e 45 20 20  |,R7,#1.... BNE  |
00000990  20 20 20 6c 6f 6f 70 31  0d 04 c4 05 20 0d 04 ce  |   loop1.... ...|
000009a0  29 20 4c 44 4d 46 44 20  20 20 52 31 33 21 2c 7b  |) LDMFD   R13!,{|
000009b0  52 36 2d 52 38 2c 73 63  72 65 65 6e 62 73 65 2c  |R6-R8,screenbse,|
000009c0  70 6f 69 6e 74 7d 0d 04  d8 05 20 0d 04 e2 21 20  |point}.... ...! |
000009d0  53 57 49 20 20 20 20 20  22 4f 53 5f 52 65 61 64  |SWI     "OS_Read|
000009e0  45 73 63 61 70 65 53 74  61 74 65 22 0d 04 ec 14  |EscapeState"....|
000009f0  20 42 43 43 20 20 20 20  20 62 69 67 6c 6f 6f 70  | BCC     bigloop|
00000a00  0d 04 f6 14 20 4d 4f 56  20 20 20 20 20 52 30 2c  |.... MOV     R0,|
00000a10  23 31 32 34 0d 05 00 16  20 53 57 49 20 20 20 20  |#124.... SWI    |
00000a20  20 22 4f 53 5f 42 79 74  65 22 0d 05 0a 16 20 4c  | "OS_Byte".... L|
00000a30  44 4d 46 44 20 20 20 52  31 33 21 2c 7b 50 43 7d  |DMFD   R13!,{PC}|
00000a40  0d 05 14 05 20 0d 05 1e  0b 2e 6c 74 61 62 6c 65  |.... .....ltable|
00000a50  0d 05 28 18 20 5d 3a 50  25 2b 3d 32 35 36 2a 34  |..(. ]:P%+=256*4|
00000a60  3a 5b 4f 50 54 20 4a 25  0d 05 32 0c 2e 6f 6c 64  |:[OPT J%..2..old|
00000a70  72 65 66 73 0d 05 3c 18  5d 3a 50 25 2b 3d 6d 75  |refs..<.]:P%+=mu|
00000a80  6c 25 2a 34 3a 5b 4f 50  54 20 4a 25 0d 05 46 0d  |l%*4:[OPT J%..F.|
00000a90  2e 6f 6c 64 72 65 66 73  32 0d 05 50 18 5d 3a 50  |.oldrefs2..P.]:P|
00000aa0  25 2b 3d 6d 75 6c 25 2a  34 3a 5b 4f 50 54 20 4a  |%+=mul%*4:[OPT J|
00000ab0  25 0d 05 5a 05 20 0d 05  64 05 5d 0d 05 6e 05 ed  |%..Z. ..d.]..n..|
00000ac0  0d 05 78 05 3a 0d 05 82  0f f2 69 6e 69 74 5f 74  |..x.:.....init_t|
00000ad0  61 62 6c 65 0d 05 8c 22  c8 99 20 22 4f 53 5f 52  |able...".. "OS_R|
00000ae0  65 61 64 44 79 6e 61 6d  69 63 41 72 65 61 22 2c  |eadDynamicArea",|
00000af0  32 20 b8 20 42 25 0d 05  96 28 c8 99 20 22 4f 53  |2 . B%...(.. "OS|
00000b00  5f 52 65 61 64 4d 6f 64  65 56 61 72 69 61 62 6c  |_ReadModeVariabl|
00000b10  65 22 2c 2d 31 2c 37 20  b8 20 2c 2c 4c 25 0d 05  |e",-1,7 . ,,L%..|
00000b20  a0 19 e3 20 41 25 3d 30  20 b8 20 6d 75 6c 25 2a  |... A%=0 . mul%*|
00000b30  34 2d 34 20 88 20 34 0d  05 aa 13 20 6f 6c 64 72  |4-4 . 4.... oldr|
00000b40  65 66 73 32 21 41 25 3d  42 25 0d 05 b4 19 20 6f  |efs2!A%=B%.... o|
00000b50  6c 64 72 65 66 73 21 41  25 3d 42 25 2b 34 2a 4c  |ldrefs!A%=B%+4*L|
00000b60  25 2f 38 0d 05 be 05 ed  0d 05 c8 05 3a 0d 05 d2  |%/8.........:...|
00000b70  0c 74 72 61 63 6b 25 3d  30 0d 05 dc 10 42 25 3d  |.track%=0....B%=|
00000b80  42 25 2b 28 4c 25 2f 32  29 0d 05 e6 05 f5 0d 05  |B%+(L%/2).......|
00000b90  f0 20 20 20 41 25 3d 70  6f 69 6e 74 25 2b 26 41  |.   A%=point%+&A|
00000ba0  31 43 2b 28 74 72 61 63  6b 25 2a 33 32 29 0d 05  |1C+(track%*32)..|
00000bb0  fa 1b 20 20 e7 20 74 72  61 63 6b 25 3d 30 20 8c  |..  . track%=0 .|
00000bc0  20 21 63 6f 6c 3d 26 46  46 0d 06 04 1b 20 20 e7  | !col=&FF....  .|
00000bd0  20 74 72 61 63 6b 25 3d  31 20 8c 20 21 63 6f 6c  | track%=1 . !col|
00000be0  3d 26 36 33 0d 06 0e 1b  20 20 e7 20 74 72 61 63  |=&63....  . trac|
00000bf0  6b 25 3d 32 20 8c 20 21  63 6f 6c 3d 26 37 37 0d  |k%=2 . !col=&77.|
00000c00  06 18 1b 20 20 e7 20 74  72 61 63 6b 25 3d 33 20  |...  . track%=3 |
00000c10  8c 20 21 63 6f 6c 3d 26  31 37 0d 06 22 2a 20 20  |. !col=&17.."*  |
00000c20  f1 20 8a 32 37 2c 30 29  3b 22 53 6f 75 6e 64 20  |. .27,0);"Sound |
00000c30  54 72 61 63 6b 65 72 20  56 55 20 41 6e 61 6c 79  |Tracker VU Analy|
00000c40  73 65 72 22 0d 06 2c 32  20 20 f1 20 8a 32 33 2c  |ser"..,2  . .23,|
00000c50  31 29 3b 22 42 79 20 54  68 65 20 4d 61 64 20 44  |1);"By The Mad D|
00000c60  6f 67 20 26 20 4e 69 63  6b 20 53 6d 69 74 68 2c  |og & Nick Smith,|
00000c70  20 31 39 39 30 22 0d 06  36 47 20 20 f1 20 8a 31  | 1990"..6G  . .1|
00000c80  33 2c 33 29 3b 22 50 72  65 73 73 20 45 73 63 61  |3,3);"Press Esca|
00000c90  70 65 20 74 6f 20 63 68  61 6e 67 65 20 63 68 61  |pe to change cha|
00000ca0  6e 6e 65 6c 2c 20 45 73  63 61 70 65 20 26 20 53  |nnel, Escape & S|
00000cb0  70 61 63 65 20 74 6f 20  45 78 69 74 22 0d 06 40  |pace to Exit"..@|
00000cc0  0d 20 20 d6 20 63 6f 64  65 25 0d 06 4a 1b 20 20  |.  . code%..J.  |
00000cd0  74 72 61 63 6b 25 3d 28  74 72 61 63 6b 25 2b 31  |track%=(track%+1|
00000ce0  29 20 83 20 34 0d 06 54  0d fd 20 a6 28 35 29 3d  |) . 4..T.. .(5)=|
00000cf0  33 32 0d 06 5e 05 f1 0d  06 68 05 3a 0d 06 72 05  |32..^....h.:..r.|
00000d00  e0 0d 06 7c 05 3a 0d 06  86 11 dd 20 f2 69 6e 69  |...|.:..... .ini|
00000d10  74 5f 74 61 62 6c 65 0d  06 90 3f f4 20 4f 53 43  |t_table...?. OSC|
00000d20  4c 49 20 22 4c 6f 61 64  20 3c 50 6c 61 79 65 72  |LI "Load <Player|
00000d30  4d 6f 64 24 44 69 72 3e  2e 42 69 74 73 2e 54 61  |Mod$Dir>.Bits.Ta|
00000d40  62 6c 65 31 44 61 74 61  20 22 2b 53 54 52 24 7e  |ble1Data "+STR$~|
00000d50  6c 74 61 62 6c 65 0d 06  9a 10 e3 20 41 25 3d 30  |ltable..... A%=0|
00000d60  20 b8 20 32 35 35 0d 06  a4 34 20 42 25 3d 41 25  | . 255...4 B%=A%|
00000d70  2d 31 32 38 3a 42 25 3d  42 25 3c 3c 32 34 3a c8  |-128:B%=B%<<24:.|
00000d80  99 20 22 53 6f 75 6e 64  5f 53 6f 75 6e 64 4c 6f  |. "Sound_SoundLo|
00000d90  67 22 2c 42 25 20 b8 20  43 25 0d 06 ae 10 20 44  |g",B% . C%.... D|
00000da0  25 3d 41 25 20 82 20 31  32 38 0d 06 b8 17 20 e7  |%=A% . 128.... .|
00000db0  20 44 25 20 80 20 31 32  38 20 44 25 2d 3d 32 35  | D% . 128 D%-=25|
00000dc0  36 0d 06 c2 18 20 21 28  6c 74 61 62 6c 65 2b 43  |6.... !(ltable+C|
00000dd0  25 2a 34 29 3d 44 25 2f  32 0d 06 cc 05 ed 0d 06  |%*4)=D%/2.......|
00000de0  d6 36 f4 20 4f 53 43 4c  49 20 22 53 61 76 65 20  |.6. OSCLI "Save |
00000df0  54 61 62 6c 65 31 44 61  74 61 20 22 2b 53 54 52  |Table1Data "+STR|
00000e00  24 7e 6c 74 61 62 6c 65  2b 22 20 2b 31 30 5f 31  |$~ltable+" +10_1|
00000e10  30 32 34 22 0d 06 e0 05  e1 0d ff                 |024".......|
00000e1b