Home » Archimedes archive » Micro User » MU 1992-02.adf » PD » !PlayerMod/UserBits/TrackerI

!PlayerMod/UserBits/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 1992-02.adf » PD
Filename: !PlayerMod/UserBits/TrackerI
Read OK:
File size: 0E12 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > UserBits.TrackerI
   20REM   Single Channel VU Track display
   30REM   Original code by Nick Smith
   40REM   Completely (almost! Nick) rewritten by David Evans, 1990
   50:
   60IF MODE<>15 THEN PRINT '"I would like to be in MODE 15 please !"':END
   70MODE 15:OFF
   80DIM code% 8000
   90SYS "OS_Module",18,"TrackerModule" TO ,,,point%,pr%
  100IF pr%<=0 THEN PRINT '"Try running a SoundTracker tune before this app !"':END
  110:
  120mul%=640
  130:
  140xpos=11
  150point=12
  160screenbse=10
  170multiply=9
  180FOR J%=0 TO 2 STEP 2
  190P%=code%
  200[OPT J%
  210 
  220 STMFD   R13!,{R14}
  230 MOV     point,R0
  240 MOV     screenbse,R1
  250 MOV     multiply,#mul%
  260 MOV     R8,#0
  270 LDR     R6,orr
  280 LDR     R7,or2r
  290 B       bigloop
  300.ltr
  310 EQUD    ltable
  320.orr
  330 EQUD    oldrefs
  340.or2r
  350 EQUD    oldrefs2
  360.ccc
  370 EQUD    0
  380.col
  390 EQUD    &FF
  400.bigloop
  410 LDR     R14,ccc
  420 ADD     R14,R14,#1
  430 STR     R14,ccc
  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 MOV     R0,#19
  540 SWI     "XOS_Byte"
  550 SUB     R4,R7,R8
  560 MOV     R14,#0
  570 MOV     R1,#mul%
  580.loop1a
  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 LDR     R0,[R4],#4
  680 STRB    R14,[R0]
  690 LDR     R0,[R4],#4
  700 STRB    R14,[R0]
  710 LDR     R0,[R4],#4
  720 STRB    R14,[R0]
  730 LDR     R0,[R4],#4
  740 STRB    R14,[R0]
  750 SUBS    R1,R1,#8
  760 BNE     loop1a
  770 ADD     R4,R6,R8
  780 LDR     R14, col
  790 MOV     R1,#mul%
  800.loop1b
  810 LDR     R0,[R4],#4
  820 STRB    R14,[R0]
  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 SUBS    R1,R1,#8
  980 BNE     loop1b
  990 EOR     R8,R8,#mul%*4
 1000 STMFD   R13!,{R6-R8,screenbse,point}
 1010 ADD     R0,point,#4
 1020 ADD     point,R6,R8
 1030 LDMIA   R0!,{R1-R6}
 1040 MOV     xpos,screenbse
 1050 MOV     R7,#mul%
 1060 LDR     screenbse,ltr
 1070.loop1
 1080 LDRB    R0,[R5,R1,LSR #16]
 1090 LDR     R0,[screenbse,R0,LSL #2]
 1100 ADD     R3,xpos,R0,LSL #9
 1110 ADD     R3,R3,R0,LSL #7
 1120 STR     R3,[point],#4
 1130 ADD     xpos,xpos,#1
 1140 ADD     R1,R1,R2
 1150 SUBS    R7,R7,#1
 1160 BNE     loop1
 1170 LDMFD   R13!,{R6-R8,screenbse,point}
 1180 SWI     "XOS_ReadEscapeState"
 1190 BCC     bigloop
 1200 MOV     R0,#124
 1210 SWI     "XOS_Byte"
 1220 LDMFD   R13!,{R14}
 1230 MOV     PC, R14
 1240.ltable
 1250 ]:P%+=256*4:[OPT J%
 1260.oldrefs
 1270]:P%+=mul%*4:[OPT J%
 1280.oldrefs2
 1290]:P%+=mul%*4:[OPT J%
 1300 
 1310]
 1320NEXT
 1330:
 1340PROCinit_table
 1350SYS "OS_ReadDynamicArea",2 TO B%
 1360SYS "OS_ReadModeVariable",-1,7 TO ,,L%
 1370FOR A%=0 TO mul%*4-4 STEP 4
 1380 oldrefs2!A%=B%
 1390 oldrefs!A%=B%+4*L%/8
 1400NEXT
 1410:
 1420track%=0
 1430B%=B%+(L%/2)
 1440REPEAT
 1450 A%=point%+&A1C+(track%*32)
 1460 IF track%=0 THEN !col=&FF
 1470 IF track%=1 THEN !col=&63
 1480 IF track%=2 THEN !col=&77
 1490 IF track%=3 THEN !col=&17
 1500 PRINT TAB(27,0);"Sound Tracker VU Analyser"
 1510 PRINT TAB(23,1);"By David Evans & Nick Smith, 1990"
 1520 PRINT TAB(13,3);"Press Escape to change channel, Escape & Space to Exit"
 1530 PRINT TAB(0,5);"Channel Number : ";track%+1
 1540 CALL code%
 1550 track%=(track%+1) MOD 4
 1560UNTIL INKEY(5)=32
 1570PRINT
 1580MODE 15:OFF
 1590:
 1600END
 1610:
 1620DEF PROCinit_table
 1630FOR A%=0 TO 255
 1640 B%=A%-128:B%=B%<<24:SYS "Sound_SoundLog",B% TO C%
 1650 D%=A% EOR 128
 1660 IF D% AND 128 D%-=256
 1670 !(ltable+C%*4)=D%/2
 1680NEXT
 1690ENDPROC

� > UserBits.TrackerI
'�   Single Channel VU Track display
#�   Original code by Nick Smith
(@�   Completely (almost! Nick) rewritten by David Evans, 1990
2:
<<� �<>15 � � '"I would like to be in MODE 15 please !"':�
F
� 15:�
P� code% 8000
Z5ș "OS_Module",18,"TrackerModule" � ,,,point%,pr%
dH� pr%<=0 � � '"Try running a SoundTracker tune before this app !"':�
n:
xmul%=640
�:
�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
6 EQUD    ltable
@.orr
J EQUD    oldrefs
T	.or2r
^ EQUD    oldrefs2
h.ccc
r EQUD    0
|.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     "XOS_Byte"
& SUB     R4,R7,R8
0 MOV     R14,#0
: MOV     R1,#mul%
D.loop1a
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]
� 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%
 .loop1b
* LDR     R0,[R4],#4
4 STRB    R14,[R0]
> 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]
� SUBS    R1,R1,#8
� BNE     loop1b
� �     R8,R8,#mul%*4
�) STMFD   R13!,{R6-R8,screenbse,point}
� ADD     R0,point,#4
� ADD     point,R6,R8
 LDMIA   R0!,{R1-R6}
 MOV     xpos,screenbse
 MOV     R7,#mul%
$ LDR     screenbse,ltr
.
.loop1
8 LDRB    R0,[R5,R1,LSR #16]
B% LDR     R0,[screenbse,R0,LSL #2]
L ADD     R3,xpos,R0,LSL #9
V ADD     R3,R3,R0,LSL #7
` STR     R3,[point],#4
j ADD     xpos,xpos,#1
t ADD     R1,R1,R2
~ SUBS    R7,R7,#1
� BNE     loop1
�) LDMFD   R13!,{R6-R8,screenbse,point}
�" SWI     "XOS_ReadEscapeState"
� BCC     bigloop
� MOV     R0,#124
� SWI     "XOS_Byte"
� LDMFD   R13!,{R14}
� MOV     PC, R14
�.ltable
� ]:P%+=256*4:[OPT J%
�.oldrefs
�]:P%+=mul%*4:[OPT J%

.oldrefs2

]:P%+=mul%*4:[OPT J%
 
]
(�
2:
<�init_table
F"ș "OS_ReadDynamicArea",2 � B%
P(ș "OS_ReadModeVariable",-1,7 � ,,L%
Z� A%=0 � mul%*4-4 � 4
d oldrefs2!A%=B%
n oldrefs!A%=B%+4*L%/8
x�
�:
�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"
�1 � �23,1);"By David Evans & Nick Smith, 1990"
�F � �13,3);"Press Escape to change channel, Escape & Space to Exit"
�) � �0,5);"Channel Number : ";track%+1
 � code%
 track%=(track%+1) � 4

� �(5)=32
"�
,
� 15:�
6:
@�
J:
T� �init_table
^� A%=0 � 255
h4 B%=A%-128:B%=B%<<24:ș "Sound_SoundLog",B% � C%
r D%=A% � 128
| � D% � 128 D%-=256
� !(ltable+C%*4)=D%/2
��
��
�
00000000  0d 00 0a 19 f4 20 3e 20  55 73 65 72 42 69 74 73  |..... > UserBits|
00000010  2e 54 72 61 63 6b 65 72  49 0d 00 14 27 f4 20 20  |.TrackerI...'.  |
00000020  20 53 69 6e 67 6c 65 20  43 68 61 6e 6e 65 6c 20  | Single Channel |
00000030  56 55 20 54 72 61 63 6b  20 64 69 73 70 6c 61 79  |VU Track display|
00000040  0d 00 1e 23 f4 20 20 20  4f 72 69 67 69 6e 61 6c  |...#.   Original|
00000050  20 63 6f 64 65 20 62 79  20 4e 69 63 6b 20 53 6d  | code by Nick Sm|
00000060  69 74 68 0d 00 28 40 f4  20 20 20 43 6f 6d 70 6c  |ith..(@.   Compl|
00000070  65 74 65 6c 79 20 28 61  6c 6d 6f 73 74 21 20 4e  |etely (almost! N|
00000080  69 63 6b 29 20 72 65 77  72 69 74 74 65 6e 20 62  |ick) rewritten b|
00000090  79 20 44 61 76 69 64 20  45 76 61 6e 73 2c 20 31  |y David Evans, 1|
000000a0  39 39 30 0d 00 32 05 3a  0d 00 3c 3c e7 20 eb 3c  |990..2.:..<<. .<|
000000b0  3e 31 35 20 8c 20 f1 20  27 22 49 20 77 6f 75 6c  |>15 . . '"I woul|
000000c0  64 20 6c 69 6b 65 20 74  6f 20 62 65 20 69 6e 20  |d like to be in |
000000d0  4d 4f 44 45 20 31 35 20  70 6c 65 61 73 65 20 21  |MODE 15 please !|
000000e0  22 27 3a e0 0d 00 46 0a  eb 20 31 35 3a 87 0d 00  |"':...F.. 15:...|
000000f0  50 10 de 20 63 6f 64 65  25 20 38 30 30 30 0d 00  |P.. code% 8000..|
00000100  5a 35 c8 99 20 22 4f 53  5f 4d 6f 64 75 6c 65 22  |Z5.. "OS_Module"|
00000110  2c 31 38 2c 22 54 72 61  63 6b 65 72 4d 6f 64 75  |,18,"TrackerModu|
00000120  6c 65 22 20 b8 20 2c 2c  2c 70 6f 69 6e 74 25 2c  |le" . ,,,point%,|
00000130  70 72 25 0d 00 64 48 e7  20 70 72 25 3c 3d 30 20  |pr%..dH. pr%<=0 |
00000140  8c 20 f1 20 27 22 54 72  79 20 72 75 6e 6e 69 6e  |. . '"Try runnin|
00000150  67 20 61 20 53 6f 75 6e  64 54 72 61 63 6b 65 72  |g a SoundTracker|
00000160  20 74 75 6e 65 20 62 65  66 6f 72 65 20 74 68 69  | tune before thi|
00000170  73 20 61 70 70 20 21 22  27 3a e0 0d 00 6e 05 3a  |s app !"':...n.:|
00000180  0d 00 78 0c 6d 75 6c 25  3d 36 34 30 0d 00 82 05  |..x.mul%=640....|
00000190  3a 0d 00 8c 0b 78 70 6f  73 3d 31 31 0d 00 96 0c  |:....xpos=11....|
000001a0  70 6f 69 6e 74 3d 31 32  0d 00 a0 10 73 63 72 65  |point=12....scre|
000001b0  65 6e 62 73 65 3d 31 30  0d 00 aa 0e 6d 75 6c 74  |enbse=10....mult|
000001c0  69 70 6c 79 3d 39 0d 00  b4 12 e3 20 4a 25 3d 30  |iply=9..... J%=0|
000001d0  20 b8 20 32 20 88 20 32  0d 00 be 0c 50 25 3d 63  | . 2 . 2....P%=c|
000001e0  6f 64 65 25 0d 00 c8 0b  5b 4f 50 54 20 4a 25 0d  |ode%....[OPT J%.|
000001f0  00 d2 05 20 0d 00 dc 17  20 53 54 4d 46 44 20 20  |... .... STMFD  |
00000200  20 52 31 33 21 2c 7b 52  31 34 7d 0d 00 e6 15 20  | R13!,{R14}.... |
00000210  4d 4f 56 20 20 20 20 20  70 6f 69 6e 74 2c 52 30  |MOV     point,R0|
00000220  0d 00 f0 19 20 4d 4f 56  20 20 20 20 20 73 63 72  |.... MOV     scr|
00000230  65 65 6e 62 73 65 2c 52  31 0d 00 fa 1b 20 4d 4f  |eenbse,R1.... MO|
00000240  56 20 20 20 20 20 6d 75  6c 74 69 70 6c 79 2c 23  |V     multiply,#|
00000250  6d 75 6c 25 0d 01 04 12  20 4d 4f 56 20 20 20 20  |mul%.... MOV    |
00000260  20 52 38 2c 23 30 0d 01  0e 13 20 4c 44 52 20 20  | R8,#0.... LDR  |
00000270  20 20 20 52 36 2c 6f 72  72 0d 01 18 14 20 4c 44  |   R6,orr.... LD|
00000280  52 20 20 20 20 20 52 37  2c 6f 72 32 72 0d 01 22  |R     R7,or2r.."|
00000290  14 20 42 20 20 20 20 20  20 20 62 69 67 6c 6f 6f  |. B       bigloo|
000002a0  70 0d 01 2c 08 2e 6c 74  72 0d 01 36 13 20 45 51  |p..,..ltr..6. EQ|
000002b0  55 44 20 20 20 20 6c 74  61 62 6c 65 0d 01 40 08  |UD    ltable..@.|
000002c0  2e 6f 72 72 0d 01 4a 14  20 45 51 55 44 20 20 20  |.orr..J. EQUD   |
000002d0  20 6f 6c 64 72 65 66 73  0d 01 54 09 2e 6f 72 32  | oldrefs..T..or2|
000002e0  72 0d 01 5e 15 20 45 51  55 44 20 20 20 20 6f 6c  |r..^. EQUD    ol|
000002f0  64 72 65 66 73 32 0d 01  68 08 2e 63 63 63 0d 01  |drefs2..h..ccc..|
00000300  72 0e 20 45 51 55 44 20  20 20 20 30 0d 01 7c 08  |r. EQUD    0..|.|
00000310  2e 63 6f 6c 0d 01 86 10  20 45 51 55 44 20 20 20  |.col.... EQUD   |
00000320  20 26 46 46 0d 01 90 0c  2e 62 69 67 6c 6f 6f 70  | &FF.....bigloop|
00000330  0d 01 9a 14 20 4c 44 52  20 20 20 20 20 52 31 34  |.... LDR     R14|
00000340  2c 63 63 63 0d 01 a4 17  20 41 44 44 20 20 20 20  |,ccc.... ADD    |
00000350  20 52 31 34 2c 52 31 34  2c 23 31 0d 01 ae 14 20  | R14,R14,#1.... |
00000360  53 54 52 20 20 20 20 20  52 31 34 2c 63 63 63 0d  |STR     R14,ccc.|
00000370  01 b8 14 20 4c 44 52 20  20 20 20 20 52 30 2c 20  |... LDR     R0, |
00000380  63 6f 6c 0d 01 c2 1f 20  41 44 44 20 20 20 20 20  |col.... ADD     |
00000390  52 30 2c 20 52 30 2c 20  52 30 2c 20 4c 53 4c 20  |R0, R0, R0, LSL |
000003a0  23 38 0d 01 cc 20 20 41  44 44 20 20 20 20 20 52  |#8...  ADD     R|
000003b0  30 2c 20 52 30 2c 20 52  30 2c 20 4c 53 4c 20 23  |0, R0, R0, LSL #|
000003c0  31 36 0d 01 d6 15 20 4d  4f 56 20 20 20 20 20 52  |16.... MOV     R|
000003d0  31 2c 20 23 31 36 30 0d  01 e0 1a 20 4d 4f 56 20  |1, #160.... MOV |
000003e0  20 20 20 20 52 32 2c 20  73 63 72 65 65 6e 62 73  |    R2, screenbs|
000003f0  65 0d 01 ea 0a 2e 68 6c  69 6e 65 0d 01 f4 19 20  |e.....hline.... |
00000400  53 54 52 20 20 20 20 20  52 30 2c 20 5b 52 32 5d  |STR     R0, [R2]|
00000410  2c 20 23 34 0d 01 fe 17  20 53 55 42 53 20 20 20  |, #4.... SUBS   |
00000420  20 52 31 2c 20 52 31 2c  20 23 31 0d 02 08 12 20  | R1, R1, #1.... |
00000430  42 4e 45 20 20 20 20 20  68 6c 69 6e 65 0d 02 12  |BNE     hline...|
00000440  13 20 4d 4f 56 20 20 20  20 20 52 30 2c 23 31 39  |. MOV     R0,#19|
00000450  0d 02 1c 17 20 53 57 49  20 20 20 20 20 22 58 4f  |.... SWI     "XO|
00000460  53 5f 42 79 74 65 22 0d  02 26 15 20 53 55 42 20  |S_Byte"..&. SUB |
00000470  20 20 20 20 52 34 2c 52  37 2c 52 38 0d 02 30 13  |    R4,R7,R8..0.|
00000480  20 4d 4f 56 20 20 20 20  20 52 31 34 2c 23 30 0d  | MOV     R14,#0.|
00000490  02 3a 15 20 4d 4f 56 20  20 20 20 20 52 31 2c 23  |.:. MOV     R1,#|
000004a0  6d 75 6c 25 0d 02 44 0b  2e 6c 6f 6f 70 31 61 0d  |mul%..D..loop1a.|
000004b0  02 4e 17 20 4c 44 52 20  20 20 20 20 52 30 2c 5b  |.N. LDR     R0,[|
000004c0  52 34 5d 2c 23 34 0d 02  58 15 20 53 54 52 42 20  |R4],#4..X. STRB |
000004d0  20 20 20 52 31 34 2c 5b  52 30 5d 0d 02 62 17 20  |   R14,[R0]..b. |
000004e0  4c 44 52 20 20 20 20 20  52 30 2c 5b 52 34 5d 2c  |LDR     R0,[R4],|
000004f0  23 34 0d 02 6c 15 20 53  54 52 42 20 20 20 20 52  |#4..l. STRB    R|
00000500  31 34 2c 5b 52 30 5d 0d  02 76 17 20 4c 44 52 20  |14,[R0]..v. LDR |
00000510  20 20 20 20 52 30 2c 5b  52 34 5d 2c 23 34 0d 02  |    R0,[R4],#4..|
00000520  80 15 20 53 54 52 42 20  20 20 20 52 31 34 2c 5b  |.. STRB    R14,[|
00000530  52 30 5d 0d 02 8a 17 20  4c 44 52 20 20 20 20 20  |R0].... LDR     |
00000540  52 30 2c 5b 52 34 5d 2c  23 34 0d 02 94 15 20 53  |R0,[R4],#4.... S|
00000550  54 52 42 20 20 20 20 52  31 34 2c 5b 52 30 5d 0d  |TRB    R14,[R0].|
00000560  02 9e 17 20 4c 44 52 20  20 20 20 20 52 30 2c 5b  |... LDR     R0,[|
00000570  52 34 5d 2c 23 34 0d 02  a8 15 20 53 54 52 42 20  |R4],#4.... STRB |
00000580  20 20 20 52 31 34 2c 5b  52 30 5d 0d 02 b2 17 20  |   R14,[R0].... |
00000590  4c 44 52 20 20 20 20 20  52 30 2c 5b 52 34 5d 2c  |LDR     R0,[R4],|
000005a0  23 34 0d 02 bc 15 20 53  54 52 42 20 20 20 20 52  |#4.... STRB    R|
000005b0  31 34 2c 5b 52 30 5d 0d  02 c6 17 20 4c 44 52 20  |14,[R0].... LDR |
000005c0  20 20 20 20 52 30 2c 5b  52 34 5d 2c 23 34 0d 02  |    R0,[R4],#4..|
000005d0  d0 15 20 53 54 52 42 20  20 20 20 52 31 34 2c 5b  |.. STRB    R14,[|
000005e0  52 30 5d 0d 02 da 17 20  4c 44 52 20 20 20 20 20  |R0].... LDR     |
000005f0  52 30 2c 5b 52 34 5d 2c  23 34 0d 02 e4 15 20 53  |R0,[R4],#4.... S|
00000600  54 52 42 20 20 20 20 52  31 34 2c 5b 52 30 5d 0d  |TRB    R14,[R0].|
00000610  02 ee 15 20 53 55 42 53  20 20 20 20 52 31 2c 52  |... SUBS    R1,R|
00000620  31 2c 23 38 0d 02 f8 13  20 42 4e 45 20 20 20 20  |1,#8.... BNE    |
00000630  20 6c 6f 6f 70 31 61 0d  03 02 15 20 41 44 44 20  | loop1a.... ADD |
00000640  20 20 20 20 52 34 2c 52  36 2c 52 38 0d 03 0c 15  |    R4,R6,R8....|
00000650  20 4c 44 52 20 20 20 20  20 52 31 34 2c 20 63 6f  | LDR     R14, co|
00000660  6c 0d 03 16 15 20 4d 4f  56 20 20 20 20 20 52 31  |l.... MOV     R1|
00000670  2c 23 6d 75 6c 25 0d 03  20 0b 2e 6c 6f 6f 70 31  |,#mul%.. ..loop1|
00000680  62 0d 03 2a 17 20 4c 44  52 20 20 20 20 20 52 30  |b..*. LDR     R0|
00000690  2c 5b 52 34 5d 2c 23 34  0d 03 34 15 20 53 54 52  |,[R4],#4..4. STR|
000006a0  42 20 20 20 20 52 31 34  2c 5b 52 30 5d 0d 03 3e  |B    R14,[R0]..>|
000006b0  17 20 4c 44 52 20 20 20  20 20 52 30 2c 5b 52 34  |. LDR     R0,[R4|
000006c0  5d 2c 23 34 0d 03 48 15  20 53 54 52 42 20 20 20  |],#4..H. STRB   |
000006d0  20 52 31 34 2c 5b 52 30  5d 0d 03 52 17 20 4c 44  | R14,[R0]..R. LD|
000006e0  52 20 20 20 20 20 52 30  2c 5b 52 34 5d 2c 23 34  |R     R0,[R4],#4|
000006f0  0d 03 5c 15 20 53 54 52  42 20 20 20 20 52 31 34  |..\. STRB    R14|
00000700  2c 5b 52 30 5d 0d 03 66  17 20 4c 44 52 20 20 20  |,[R0]..f. LDR   |
00000710  20 20 52 30 2c 5b 52 34  5d 2c 23 34 0d 03 70 15  |  R0,[R4],#4..p.|
00000720  20 53 54 52 42 20 20 20  20 52 31 34 2c 5b 52 30  | STRB    R14,[R0|
00000730  5d 0d 03 7a 17 20 4c 44  52 20 20 20 20 20 52 30  |]..z. LDR     R0|
00000740  2c 5b 52 34 5d 2c 23 34  0d 03 84 15 20 53 54 52  |,[R4],#4.... STR|
00000750  42 20 20 20 20 52 31 34  2c 5b 52 30 5d 0d 03 8e  |B    R14,[R0]...|
00000760  17 20 4c 44 52 20 20 20  20 20 52 30 2c 5b 52 34  |. LDR     R0,[R4|
00000770  5d 2c 23 34 0d 03 98 15  20 53 54 52 42 20 20 20  |],#4.... STRB   |
00000780  20 52 31 34 2c 5b 52 30  5d 0d 03 a2 17 20 4c 44  | R14,[R0].... LD|
00000790  52 20 20 20 20 20 52 30  2c 5b 52 34 5d 2c 23 34  |R     R0,[R4],#4|
000007a0  0d 03 ac 15 20 53 54 52  42 20 20 20 20 52 31 34  |.... STRB    R14|
000007b0  2c 5b 52 30 5d 0d 03 b6  17 20 4c 44 52 20 20 20  |,[R0].... LDR   |
000007c0  20 20 52 30 2c 5b 52 34  5d 2c 23 34 0d 03 c0 15  |  R0,[R4],#4....|
000007d0  20 53 54 52 42 20 20 20  20 52 31 34 2c 5b 52 30  | STRB    R14,[R0|
000007e0  5d 0d 03 ca 15 20 53 55  42 53 20 20 20 20 52 31  |].... SUBS    R1|
000007f0  2c 52 31 2c 23 38 0d 03  d4 13 20 42 4e 45 20 20  |,R1,#8.... BNE  |
00000800  20 20 20 6c 6f 6f 70 31  62 0d 03 de 18 20 82 20  |   loop1b.... . |
00000810  20 20 20 20 52 38 2c 52  38 2c 23 6d 75 6c 25 2a  |    R8,R8,#mul%*|
00000820  34 0d 03 e8 29 20 53 54  4d 46 44 20 20 20 52 31  |4...) STMFD   R1|
00000830  33 21 2c 7b 52 36 2d 52  38 2c 73 63 72 65 65 6e  |3!,{R6-R8,screen|
00000840  62 73 65 2c 70 6f 69 6e  74 7d 0d 03 f2 18 20 41  |bse,point}.... A|
00000850  44 44 20 20 20 20 20 52  30 2c 70 6f 69 6e 74 2c  |DD     R0,point,|
00000860  23 34 0d 03 fc 18 20 41  44 44 20 20 20 20 20 70  |#4.... ADD     p|
00000870  6f 69 6e 74 2c 52 36 2c  52 38 0d 04 06 18 20 4c  |oint,R6,R8.... L|
00000880  44 4d 49 41 20 20 20 52  30 21 2c 7b 52 31 2d 52  |DMIA   R0!,{R1-R|
00000890  36 7d 0d 04 10 1b 20 4d  4f 56 20 20 20 20 20 78  |6}.... MOV     x|
000008a0  70 6f 73 2c 73 63 72 65  65 6e 62 73 65 0d 04 1a  |pos,screenbse...|
000008b0  15 20 4d 4f 56 20 20 20  20 20 52 37 2c 23 6d 75  |. MOV     R7,#mu|
000008c0  6c 25 0d 04 24 1a 20 4c  44 52 20 20 20 20 20 73  |l%..$. LDR     s|
000008d0  63 72 65 65 6e 62 73 65  2c 6c 74 72 0d 04 2e 0a  |creenbse,ltr....|
000008e0  2e 6c 6f 6f 70 31 0d 04  38 1f 20 4c 44 52 42 20  |.loop1..8. LDRB |
000008f0  20 20 20 52 30 2c 5b 52  35 2c 52 31 2c 4c 53 52  |   R0,[R5,R1,LSR|
00000900  20 23 31 36 5d 0d 04 42  25 20 4c 44 52 20 20 20  | #16]..B% LDR   |
00000910  20 20 52 30 2c 5b 73 63  72 65 65 6e 62 73 65 2c  |  R0,[screenbse,|
00000920  52 30 2c 4c 53 4c 20 23  32 5d 0d 04 4c 1e 20 41  |R0,LSL #2]..L. A|
00000930  44 44 20 20 20 20 20 52  33 2c 78 70 6f 73 2c 52  |DD     R3,xpos,R|
00000940  30 2c 4c 53 4c 20 23 39  0d 04 56 1c 20 41 44 44  |0,LSL #9..V. ADD|
00000950  20 20 20 20 20 52 33 2c  52 33 2c 52 30 2c 4c 53  |     R3,R3,R0,LS|
00000960  4c 20 23 37 0d 04 60 1a  20 53 54 52 20 20 20 20  |L #7..`. STR    |
00000970  20 52 33 2c 5b 70 6f 69  6e 74 5d 2c 23 34 0d 04  | R3,[point],#4..|
00000980  6a 19 20 41 44 44 20 20  20 20 20 78 70 6f 73 2c  |j. ADD     xpos,|
00000990  78 70 6f 73 2c 23 31 0d  04 74 15 20 41 44 44 20  |xpos,#1..t. ADD |
000009a0  20 20 20 20 52 31 2c 52  31 2c 52 32 0d 04 7e 15  |    R1,R1,R2..~.|
000009b0  20 53 55 42 53 20 20 20  20 52 37 2c 52 37 2c 23  | SUBS    R7,R7,#|
000009c0  31 0d 04 88 12 20 42 4e  45 20 20 20 20 20 6c 6f  |1.... BNE     lo|
000009d0  6f 70 31 0d 04 92 29 20  4c 44 4d 46 44 20 20 20  |op1...) LDMFD   |
000009e0  52 31 33 21 2c 7b 52 36  2d 52 38 2c 73 63 72 65  |R13!,{R6-R8,scre|
000009f0  65 6e 62 73 65 2c 70 6f  69 6e 74 7d 0d 04 9c 22  |enbse,point}..."|
00000a00  20 53 57 49 20 20 20 20  20 22 58 4f 53 5f 52 65  | SWI     "XOS_Re|
00000a10  61 64 45 73 63 61 70 65  53 74 61 74 65 22 0d 04  |adEscapeState"..|
00000a20  a6 14 20 42 43 43 20 20  20 20 20 62 69 67 6c 6f  |.. BCC     biglo|
00000a30  6f 70 0d 04 b0 14 20 4d  4f 56 20 20 20 20 20 52  |op.... MOV     R|
00000a40  30 2c 23 31 32 34 0d 04  ba 17 20 53 57 49 20 20  |0,#124.... SWI  |
00000a50  20 20 20 22 58 4f 53 5f  42 79 74 65 22 0d 04 c4  |   "XOS_Byte"...|
00000a60  17 20 4c 44 4d 46 44 20  20 20 52 31 33 21 2c 7b  |. LDMFD   R13!,{|
00000a70  52 31 34 7d 0d 04 ce 14  20 4d 4f 56 20 20 20 20  |R14}.... MOV    |
00000a80  20 50 43 2c 20 52 31 34  0d 04 d8 0b 2e 6c 74 61  | PC, R14.....lta|
00000a90  62 6c 65 0d 04 e2 18 20  5d 3a 50 25 2b 3d 32 35  |ble.... ]:P%+=25|
00000aa0  36 2a 34 3a 5b 4f 50 54  20 4a 25 0d 04 ec 0c 2e  |6*4:[OPT J%.....|
00000ab0  6f 6c 64 72 65 66 73 0d  04 f6 18 5d 3a 50 25 2b  |oldrefs....]:P%+|
00000ac0  3d 6d 75 6c 25 2a 34 3a  5b 4f 50 54 20 4a 25 0d  |=mul%*4:[OPT J%.|
00000ad0  05 00 0d 2e 6f 6c 64 72  65 66 73 32 0d 05 0a 18  |....oldrefs2....|
00000ae0  5d 3a 50 25 2b 3d 6d 75  6c 25 2a 34 3a 5b 4f 50  |]:P%+=mul%*4:[OP|
00000af0  54 20 4a 25 0d 05 14 05  20 0d 05 1e 05 5d 0d 05  |T J%.... ....]..|
00000b00  28 05 ed 0d 05 32 05 3a  0d 05 3c 0f f2 69 6e 69  |(....2.:..<..ini|
00000b10  74 5f 74 61 62 6c 65 0d  05 46 22 c8 99 20 22 4f  |t_table..F".. "O|
00000b20  53 5f 52 65 61 64 44 79  6e 61 6d 69 63 41 72 65  |S_ReadDynamicAre|
00000b30  61 22 2c 32 20 b8 20 42  25 0d 05 50 28 c8 99 20  |a",2 . B%..P(.. |
00000b40  22 4f 53 5f 52 65 61 64  4d 6f 64 65 56 61 72 69  |"OS_ReadModeVari|
00000b50  61 62 6c 65 22 2c 2d 31  2c 37 20 b8 20 2c 2c 4c  |able",-1,7 . ,,L|
00000b60  25 0d 05 5a 19 e3 20 41  25 3d 30 20 b8 20 6d 75  |%..Z.. A%=0 . mu|
00000b70  6c 25 2a 34 2d 34 20 88  20 34 0d 05 64 13 20 6f  |l%*4-4 . 4..d. o|
00000b80  6c 64 72 65 66 73 32 21  41 25 3d 42 25 0d 05 6e  |ldrefs2!A%=B%..n|
00000b90  19 20 6f 6c 64 72 65 66  73 21 41 25 3d 42 25 2b  |. oldrefs!A%=B%+|
00000ba0  34 2a 4c 25 2f 38 0d 05  78 05 ed 0d 05 82 05 3a  |4*L%/8..x......:|
00000bb0  0d 05 8c 0c 74 72 61 63  6b 25 3d 30 0d 05 96 10  |....track%=0....|
00000bc0  42 25 3d 42 25 2b 28 4c  25 2f 32 29 0d 05 a0 05  |B%=B%+(L%/2)....|
00000bd0  f5 0d 05 aa 1f 20 41 25  3d 70 6f 69 6e 74 25 2b  |..... A%=point%+|
00000be0  26 41 31 43 2b 28 74 72  61 63 6b 25 2a 33 32 29  |&A1C+(track%*32)|
00000bf0  0d 05 b4 1a 20 e7 20 74  72 61 63 6b 25 3d 30 20  |.... . track%=0 |
00000c00  8c 20 21 63 6f 6c 3d 26  46 46 0d 05 be 1a 20 e7  |. !col=&FF.... .|
00000c10  20 74 72 61 63 6b 25 3d  31 20 8c 20 21 63 6f 6c  | track%=1 . !col|
00000c20  3d 26 36 33 0d 05 c8 1a  20 e7 20 74 72 61 63 6b  |=&63.... . track|
00000c30  25 3d 32 20 8c 20 21 63  6f 6c 3d 26 37 37 0d 05  |%=2 . !col=&77..|
00000c40  d2 1a 20 e7 20 74 72 61  63 6b 25 3d 33 20 8c 20  |.. . track%=3 . |
00000c50  21 63 6f 6c 3d 26 31 37  0d 05 dc 29 20 f1 20 8a  |!col=&17...) . .|
00000c60  32 37 2c 30 29 3b 22 53  6f 75 6e 64 20 54 72 61  |27,0);"Sound Tra|
00000c70  63 6b 65 72 20 56 55 20  41 6e 61 6c 79 73 65 72  |cker VU Analyser|
00000c80  22 0d 05 e6 31 20 f1 20  8a 32 33 2c 31 29 3b 22  |"...1 . .23,1);"|
00000c90  42 79 20 44 61 76 69 64  20 45 76 61 6e 73 20 26  |By David Evans &|
00000ca0  20 4e 69 63 6b 20 53 6d  69 74 68 2c 20 31 39 39  | Nick Smith, 199|
00000cb0  30 22 0d 05 f0 46 20 f1  20 8a 31 33 2c 33 29 3b  |0"...F . .13,3);|
00000cc0  22 50 72 65 73 73 20 45  73 63 61 70 65 20 74 6f  |"Press Escape to|
00000cd0  20 63 68 61 6e 67 65 20  63 68 61 6e 6e 65 6c 2c  | change channel,|
00000ce0  20 45 73 63 61 70 65 20  26 20 53 70 61 63 65 20  | Escape & Space |
00000cf0  74 6f 20 45 78 69 74 22  0d 05 fa 29 20 f1 20 8a  |to Exit"...) . .|
00000d00  30 2c 35 29 3b 22 43 68  61 6e 6e 65 6c 20 4e 75  |0,5);"Channel Nu|
00000d10  6d 62 65 72 20 3a 20 22  3b 74 72 61 63 6b 25 2b  |mber : ";track%+|
00000d20  31 0d 06 04 0c 20 d6 20  63 6f 64 65 25 0d 06 0e  |1.... . code%...|
00000d30  1a 20 74 72 61 63 6b 25  3d 28 74 72 61 63 6b 25  |. track%=(track%|
00000d40  2b 31 29 20 83 20 34 0d  06 18 0d fd 20 a6 28 35  |+1) . 4..... .(5|
00000d50  29 3d 33 32 0d 06 22 05  f1 0d 06 2c 0a eb 20 31  |)=32.."....,.. 1|
00000d60  35 3a 87 0d 06 36 05 3a  0d 06 40 05 e0 0d 06 4a  |5:...6.:..@....J|
00000d70  05 3a 0d 06 54 11 dd 20  f2 69 6e 69 74 5f 74 61  |.:..T.. .init_ta|
00000d80  62 6c 65 0d 06 5e 10 e3  20 41 25 3d 30 20 b8 20  |ble..^.. A%=0 . |
00000d90  32 35 35 0d 06 68 34 20  42 25 3d 41 25 2d 31 32  |255..h4 B%=A%-12|
00000da0  38 3a 42 25 3d 42 25 3c  3c 32 34 3a c8 99 20 22  |8:B%=B%<<24:.. "|
00000db0  53 6f 75 6e 64 5f 53 6f  75 6e 64 4c 6f 67 22 2c  |Sound_SoundLog",|
00000dc0  42 25 20 b8 20 43 25 0d  06 72 10 20 44 25 3d 41  |B% . C%..r. D%=A|
00000dd0  25 20 82 20 31 32 38 0d  06 7c 17 20 e7 20 44 25  |% . 128..|. . D%|
00000de0  20 80 20 31 32 38 20 44  25 2d 3d 32 35 36 0d 06  | . 128 D%-=256..|
00000df0  86 18 20 21 28 6c 74 61  62 6c 65 2b 43 25 2a 34  |.. !(ltable+C%*4|
00000e00  29 3d 44 25 2f 32 0d 06  90 05 ed 0d 06 9a 05 e1  |)=D%/2..........|
00000e10  0d ff                                             |..|
00000e12