Home » Personal collection » Acorn hard disk » files » music » !MIDIPanel/!RunImage

!MIDIPanel/!RunImage

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

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

Tape/disk: Home » Personal collection » Acorn hard disk » files » music
Filename: !MIDIPanel/!RunImage
Read OK:
File size: 0CE8 bytes
Load address: 0000
Exec address: 0000
File contents
   10MODE0:MOUSE ON
   20reverb=0:clev=&40:cfeed=&13:cdel=&13:crate=&03:cdep=&13:done=FALSE
   30DIMchan%(15),s$(128),rev$(8)
   40FORr=0TO15:chan%(r)=0:NEXT
   50PROCreadtext
   60:
   70REPEAT
   80 PROCdisp
   90 PROCgetclick
  100UNTIL done
  110END
  120:
  130DEFPROCdisp
  140CLS
  150PRINT"MIDI Instrument Controller"
  160PRINT"Dominic Ford - July 1999"
  170PRINT
  180FORr=0TO15:COLOUR129:COLOUR0:PRINT"Test";:COLOUR1:COLOUR128:PRINT" 1: ";s$(chan%(r)):NEXT
  190PRINT
  200PRINT"Reverb: ";rev$(reverb)'"Chorus: Level=";clev;" Feedback=";cfeed;" Delay=";cdel;" Rate=";crate;" Depth=";cdep
  210COLOUR129:COLOUR0:PRINTTAB(71,31);"Quit";:COLOUR1:COLOUR128
  220PRINTTAB(0,27);
  230ENDPROC
  240:
  250DEFPROCgetclick
  260 REPEAT MOUSE x,y,c:UNTIL c=0
  270 REPEAT MOUSE x,y,c:UNTIL c<>0
  280xc%=x/64:yc%=32-y/32
  290IF yc%>2 AND yc%<19 AND xc%=0 THEN PROCtest(yc%-3)
  300IF yc%>2 AND yc%<19 AND xc%<>0 THEN PROCset(yc%-3)
  310IF yc%=31 AND xc%=18 THEN done=TRUE
  320IF yc%=20 THEN PROCreverb
  330IF yc%=21 THEN PROCchorus
  340ENDPROC
  350:
  360DEFPROCreadtext
  370FORr=0TO64:READs$(r):NEXT
  380FORr=0TO8:READrev$(r):NEXT
  390ENDPROC
  400:
  410DEFPROCset(v)
  420INPUT"Program";p%
  430IF p%<>0 THEN
  440 chan%(v)=p%
  450 SYS "MIDI_TxByte",&C0+v
  460 SYS "MIDI_TxByte",p%-1
  470ENDIF
  480INPUT"Hold";p%
  490IF p%<>0 THEN
  500 SYS "MIDI_TxByte",&B0+v
  510 SYS "MIDI_TxByte",&40
  520 SYS "MIDI_TxByte",p%-1
  530ENDIF
  540INPUT"Chorus send";p%
  550IF p%<>0 THEN
  560 SYS "MIDI_TxByte",&B0+v
  570 SYS "MIDI_TxByte",&5D
  580 SYS "MIDI_TxByte",p%-1
  590ENDIF
  600ENDPROC
  610:
  620DEFPROCreverb
  630INPUT"Location";p%
  640IF p%<>0 THEN
  650  reverb=p%
  660  PROCtx(0,p%)
  670ENDIF
  680ENDPROC
  690:
  700DEFPROCchorus
  710INPUT"Level";p%
  720IF p%<>0 THEN
  730  clev=p%
  740  PROCtx(5,p%)
  750ENDIF
  760INPUT"Feedback";p%
  770IF p%<>0 THEN
  780  cfeed=p%
  790  PROCtx(6,p%)
  800ENDIF
  810INPUT"Delay";p%
  820IF p%<>0 THEN
  830  cdel=p%
  840  PROCtx(7,p%)
  850ENDIF
  860INPUT"Rate";p%
  870IF p%<>0 THEN
  880  crate=p%
  890  PROCtx(8,p%)
  900ENDIF
  910INPUT"Depth";p%
  920IF p%<>0 THEN
  930  cdep=p%
  940  PROCtx(9,p%)
  950ENDIF
  960ENDPROC
  970:
  980DEFPROCtx(ad,val)
  990  SYS "MIDI_TxByte",&F0
 1000  SYS "MIDI_TxByte",&41
 1010  SYS "MIDI_TxByte",&10
 1020  SYS "MIDI_TxByte",&56
 1030  SYS "MIDI_TxByte",&12
 1040  SYS "MIDI_TxByte",&00
 1050  SYS "MIDI_TxByte",&00
 1060  SYS "MIDI_TxByte",ad
 1070  SYS "MIDI_TxByte",val
 1080  SYS "MIDI_TxByte",128-ad-val
 1090  SYS "MIDI_TxByte",&F7
 1100ENDPROC
 1110:
 1120DEFPROCtest(v)
 1130 SYS "MIDI_SoundEnable"
 1140 SYS "MIDI_TxStart"
 1150 PROCplay(v,60):PROCplay(v,64):PROCplay(v,67):PROCplay(v,72)
 1160 SYS "MIDI_TxStop"
 1170ENDPROC
 1180:
 1190DEFPROCplay(v,n)
 1200  SYS "MIDI_TxByte",&90+v
 1210  SYS "MIDI_TxByte",n
 1220  SYS "MIDI_TxByte",&70
 1230   FORR=0TO5000:NEXT
 1240  SYS "MIDI_TxByte",&90+v
 1250  SYS "MIDI_TxByte",n
 1260  SYS "MIDI_TxByte",0
 1270ENDPROC
 1280:
 1290DATA"Undefined"
 1300DATA"Piano 1","Piano 2","Honky-tonk piano","Electric Piano 1","Electric Piano 2","Electric Piano 3","Harpsichord","Clavichord"
 1310DATA"Celesta","Glockenspeil","Music Box","Vibraphone","Marimba","Xylophone","Tubular-bell","Dulcimer"
 1320DATA"Organ 1","Organ 2","Organ 3","Church Organ 1","Reed Organ","Accordion","Harmonica","Tango Accordion"
 1330DATA"Nylon-string guitar","Steel-string guitar","Jazz guitar","Clean guitar","Muted guitar","Overdrive guitar","Distortion guitar","Guitar harmonics"
 1340DATA"Acoustic bass","Fingered bass","Picked bass","Fretless bass","Slap Bass 1","Slap Bass 2","Synth bass 1","Synth bass 2"
 1350DATA"Violin","Viola","Cello","Contrabass","Tremolo strings","Pizzicato strings","Harp","Timpini"
 1360DATA"Strings","Slow string","Synth strings 1","Synth strings 2","Choir Aah","Voice Oooh","SynthVox","OrchHit"
 1370DATA"Trumpet","Trombone","Tuba","Muted trumpet","French horn","Brass 1","Synth brass 1","Synth brass 2"
 1380:
 1390DATA"Undefined"
 1400DATA"Room 1","Room 2","Room 3","Hall 1","Hall 2","Plate","Delay","Panned delay"

�0:ȗ �
Breverb=0:clev=&40:cfeed=&13:cdel=&13:crate=&03:cdep=&13:done=�
�chan%(15),s$(128),rev$(8)
(�r=0�15:chan%(r)=0:�
2
�readtext
<:
F�
P
 �disp
Z �getclick
d
� done
n�
x:
�
��disp
��
�!�"MIDI Instrument Controller"
��"Dominic Ford - July 1999"
��
�;�r=0�15:�129:�0:�"Test";:�1:�128:�" 1: ";s$(chan%(r)):�
��
�r�"Reverb: ";rev$(reverb)'"Chorus: Level=";clev;" Feedback=";cfeed;" Delay=";cdel;" Rate=";crate;" Depth=";cdep
�$�129:�0:�71,31);"Quit";:�1:�128
��0,27);
��
�:
���getclick
 � ȗ x,y,c:� c=0
 � ȗ x,y,c:� c<>0
xc%=x/64:yc%=32-y/32
"+� yc%>2 � yc%<19 � xc%=0 � �test(yc%-3)
,+� yc%>2 � yc%<19 � xc%<>0 � �set(yc%-3)
6� yc%=31 � xc%=18 � done=�
@� yc%=20 � �reverb
J� yc%=21 � �chorus
T�
^:
h��readtext
r�r=0�64:�s$(r):�
|�r=0�8:�rev$(r):�
��
�:
���set(v)
��"Program";p%
�
� p%<>0 �
� chan%(v)=p%
� ș "MIDI_TxByte",&C0+v
� ș "MIDI_TxByte",p%-1
��
��"Hold";p%
�
� p%<>0 �
� ș "MIDI_TxByte",&B0+v
� ș "MIDI_TxByte",&40
 ș "MIDI_TxByte",p%-1
�
�"Chorus send";p%
&
� p%<>0 �
0 ș "MIDI_TxByte",&B0+v
: ș "MIDI_TxByte",&5D
D ș "MIDI_TxByte",p%-1
N�
X�
b:
l��reverb
v�"Location";p%
�
� p%<>0 �
�  reverb=p%
�  �tx(0,p%)
��
��
�:
���chorus
��"Level";p%
�
� p%<>0 �
�
  clev=p%
�  �tx(5,p%)
��
��"Feedback";p%

� p%<>0 �
  cfeed=p%
  �tx(6,p%)
 �
*�"Delay";p%
4
� p%<>0 �
>
  cdel=p%
H  �tx(7,p%)
R�
\�"Rate";p%
f
� p%<>0 �
p  crate=p%
z  �tx(8,p%)
��
��"Depth";p%
�
� p%<>0 �
�
  cdep=p%
�  �tx(9,p%)
��
��
�:
���tx(ad,val)
�  ș "MIDI_TxByte",&F0
�  ș "MIDI_TxByte",&41
�  ș "MIDI_TxByte",&10
�  ș "MIDI_TxByte",&56
  ș "MIDI_TxByte",&12
  ș "MIDI_TxByte",&00
  ș "MIDI_TxByte",&00
$  ș "MIDI_TxByte",ad
.  ș "MIDI_TxByte",val
8!  ș "MIDI_TxByte",128-ad-val
B  ș "MIDI_TxByte",&F7
L�
V:
`
��test(v)
j ș "MIDI_SoundEnable"
t ș "MIDI_TxStart"
~4 �play(v,60):�play(v,64):�play(v,67):�play(v,72)
� ș "MIDI_TxStop"
��
�:
���play(v,n)
�  ș "MIDI_TxByte",&90+v
�  ș "MIDI_TxByte",n
�  ș "MIDI_TxByte",&70
�   �R=0�5000:�
�  ș "MIDI_TxByte",&90+v
�  ș "MIDI_TxByte",n
�  ș "MIDI_TxByte",0
��
:

�"Undefined"
�"Piano 1","Piano 2","Honky-tonk piano","Electric Piano 1","Electric Piano 2","Electric Piano 3","Harpsichord","Clavichord"
f�"Celesta","Glockenspeil","Music Box","Vibraphone","Marimba","Xylophone","Tubular-bell","Dulcimer"
(j�"Organ 1","Organ 2","Organ 3","Church Organ 1","Reed Organ","Accordion","Harmonica","Tango Accordion"
2��"Nylon-string guitar","Steel-string guitar","Jazz guitar","Clean guitar","Muted guitar","Overdrive guitar","Distortion guitar","Guitar harmonics"
<|�"Acoustic bass","Fingered bass","Picked bass","Fretless bass","Slap Bass 1","Slap Bass 2","Synth bass 1","Synth bass 2"
Fa�"Violin","Viola","Cello","Contrabass","Tremolo strings","Pizzicato strings","Harp","Timpini"
Pn�"Strings","Slow string","Synth strings 1","Synth strings 2","Choir Aah","Voice Oooh","SynthVox","OrchHit"
Zh�"Trumpet","Trombone","Tuba","Muted trumpet","French horn","Brass 1","Synth brass 1","Synth brass 2"
d:
n�"Undefined"
xP�"Room 1","Room 2","Room 3","Hall 1","Hall 2","Plate","Delay","Panned delay"
�
00000000  0d 00 0a 0b eb 30 3a c8  97 20 ee 0d 00 14 42 72  |.....0:.. ....Br|
00000010  65 76 65 72 62 3d 30 3a  63 6c 65 76 3d 26 34 30  |everb=0:clev=&40|
00000020  3a 63 66 65 65 64 3d 26  31 33 3a 63 64 65 6c 3d  |:cfeed=&13:cdel=|
00000030  26 31 33 3a 63 72 61 74  65 3d 26 30 33 3a 63 64  |&13:crate=&03:cd|
00000040  65 70 3d 26 31 33 3a 64  6f 6e 65 3d a3 0d 00 1e  |ep=&13:done=....|
00000050  1e de 63 68 61 6e 25 28  31 35 29 2c 73 24 28 31  |..chan%(15),s$(1|
00000060  32 38 29 2c 72 65 76 24  28 38 29 0d 00 28 18 e3  |28),rev$(8)..(..|
00000070  72 3d 30 b8 31 35 3a 63  68 61 6e 25 28 72 29 3d  |r=0.15:chan%(r)=|
00000080  30 3a ed 0d 00 32 0d f2  72 65 61 64 74 65 78 74  |0:...2..readtext|
00000090  0d 00 3c 05 3a 0d 00 46  05 f5 0d 00 50 0a 20 f2  |..<.:..F....P. .|
000000a0  64 69 73 70 0d 00 5a 0e  20 f2 67 65 74 63 6c 69  |disp..Z. .getcli|
000000b0  63 6b 0d 00 64 0a fd 20  64 6f 6e 65 0d 00 6e 05  |ck..d.. done..n.|
000000c0  e0 0d 00 78 05 3a 0d 00  82 0a dd f2 64 69 73 70  |...x.:......disp|
000000d0  0d 00 8c 05 db 0d 00 96  21 f1 22 4d 49 44 49 20  |........!."MIDI |
000000e0  49 6e 73 74 72 75 6d 65  6e 74 20 43 6f 6e 74 72  |Instrument Contr|
000000f0  6f 6c 6c 65 72 22 0d 00  a0 1f f1 22 44 6f 6d 69  |oller"....."Domi|
00000100  6e 69 63 20 46 6f 72 64  20 2d 20 4a 75 6c 79 20  |nic Ford - July |
00000110  31 39 39 39 22 0d 00 aa  05 f1 0d 00 b4 3b e3 72  |1999"........;.r|
00000120  3d 30 b8 31 35 3a fb 31  32 39 3a fb 30 3a f1 22  |=0.15:.129:.0:."|
00000130  54 65 73 74 22 3b 3a fb  31 3a fb 31 32 38 3a f1  |Test";:.1:.128:.|
00000140  22 20 31 3a 20 22 3b 73  24 28 63 68 61 6e 25 28  |" 1: ";s$(chan%(|
00000150  72 29 29 3a ed 0d 00 be  05 f1 0d 00 c8 72 f1 22  |r)):.........r."|
00000160  52 65 76 65 72 62 3a 20  22 3b 72 65 76 24 28 72  |Reverb: ";rev$(r|
00000170  65 76 65 72 62 29 27 22  43 68 6f 72 75 73 3a 20  |everb)'"Chorus: |
00000180  4c 65 76 65 6c 3d 22 3b  63 6c 65 76 3b 22 20 46  |Level=";clev;" F|
00000190  65 65 64 62 61 63 6b 3d  22 3b 63 66 65 65 64 3b  |eedback=";cfeed;|
000001a0  22 20 44 65 6c 61 79 3d  22 3b 63 64 65 6c 3b 22  |" Delay=";cdel;"|
000001b0  20 52 61 74 65 3d 22 3b  63 72 61 74 65 3b 22 20  | Rate=";crate;" |
000001c0  44 65 70 74 68 3d 22 3b  63 64 65 70 0d 00 d2 24  |Depth=";cdep...$|
000001d0  fb 31 32 39 3a fb 30 3a  f1 8a 37 31 2c 33 31 29  |.129:.0:..71,31)|
000001e0  3b 22 51 75 69 74 22 3b  3a fb 31 3a fb 31 32 38  |;"Quit";:.1:.128|
000001f0  0d 00 dc 0c f1 8a 30 2c  32 37 29 3b 0d 00 e6 05  |......0,27);....|
00000200  e1 0d 00 f0 05 3a 0d 00  fa 0e dd f2 67 65 74 63  |.....:......getc|
00000210  6c 69 63 6b 0d 01 04 15  20 f5 20 c8 97 20 78 2c  |lick.... . .. x,|
00000220  79 2c 63 3a fd 20 63 3d  30 0d 01 0e 16 20 f5 20  |y,c:. c=0.... . |
00000230  c8 97 20 78 2c 79 2c 63  3a fd 20 63 3c 3e 30 0d  |.. x,y,c:. c<>0.|
00000240  01 18 18 78 63 25 3d 78  2f 36 34 3a 79 63 25 3d  |...xc%=x/64:yc%=|
00000250  33 32 2d 79 2f 33 32 0d  01 22 2b e7 20 79 63 25  |32-y/32.."+. yc%|
00000260  3e 32 20 80 20 79 63 25  3c 31 39 20 80 20 78 63  |>2 . yc%<19 . xc|
00000270  25 3d 30 20 8c 20 f2 74  65 73 74 28 79 63 25 2d  |%=0 . .test(yc%-|
00000280  33 29 0d 01 2c 2b e7 20  79 63 25 3e 32 20 80 20  |3)..,+. yc%>2 . |
00000290  79 63 25 3c 31 39 20 80  20 78 63 25 3c 3e 30 20  |yc%<19 . xc%<>0 |
000002a0  8c 20 f2 73 65 74 28 79  63 25 2d 33 29 0d 01 36  |. .set(yc%-3)..6|
000002b0  1e e7 20 79 63 25 3d 33  31 20 80 20 78 63 25 3d  |.. yc%=31 . xc%=|
000002c0  31 38 20 8c 20 64 6f 6e  65 3d b9 0d 01 40 16 e7  |18 . done=...@..|
000002d0  20 79 63 25 3d 32 30 20  8c 20 f2 72 65 76 65 72  | yc%=20 . .rever|
000002e0  62 0d 01 4a 16 e7 20 79  63 25 3d 32 31 20 8c 20  |b..J.. yc%=21 . |
000002f0  f2 63 68 6f 72 75 73 0d  01 54 05 e1 0d 01 5e 05  |.chorus..T....^.|
00000300  3a 0d 01 68 0e dd f2 72  65 61 64 74 65 78 74 0d  |:..h...readtext.|
00000310  01 72 14 e3 72 3d 30 b8  36 34 3a f3 73 24 28 72  |.r..r=0.64:.s$(r|
00000320  29 3a ed 0d 01 7c 15 e3  72 3d 30 b8 38 3a f3 72  |):...|..r=0.8:.r|
00000330  65 76 24 28 72 29 3a ed  0d 01 86 05 e1 0d 01 90  |ev$(r):.........|
00000340  05 3a 0d 01 9a 0c dd f2  73 65 74 28 76 29 0d 01  |.:......set(v)..|
00000350  a4 11 e8 22 50 72 6f 67  72 61 6d 22 3b 70 25 0d  |..."Program";p%.|
00000360  01 ae 0d e7 20 70 25 3c  3e 30 20 8c 0d 01 b8 10  |.... p%<>0 .....|
00000370  20 63 68 61 6e 25 28 76  29 3d 70 25 0d 01 c2 1b  | chan%(v)=p%....|
00000380  20 c8 99 20 22 4d 49 44  49 5f 54 78 42 79 74 65  | .. "MIDI_TxByte|
00000390  22 2c 26 43 30 2b 76 0d  01 cc 1a 20 c8 99 20 22  |",&C0+v.... .. "|
000003a0  4d 49 44 49 5f 54 78 42  79 74 65 22 2c 70 25 2d  |MIDI_TxByte",p%-|
000003b0  31 0d 01 d6 05 cd 0d 01  e0 0e e8 22 48 6f 6c 64  |1.........."Hold|
000003c0  22 3b 70 25 0d 01 ea 0d  e7 20 70 25 3c 3e 30 20  |";p%..... p%<>0 |
000003d0  8c 0d 01 f4 1b 20 c8 99  20 22 4d 49 44 49 5f 54  |..... .. "MIDI_T|
000003e0  78 42 79 74 65 22 2c 26  42 30 2b 76 0d 01 fe 19  |xByte",&B0+v....|
000003f0  20 c8 99 20 22 4d 49 44  49 5f 54 78 42 79 74 65  | .. "MIDI_TxByte|
00000400  22 2c 26 34 30 0d 02 08  1a 20 c8 99 20 22 4d 49  |",&40.... .. "MI|
00000410  44 49 5f 54 78 42 79 74  65 22 2c 70 25 2d 31 0d  |DI_TxByte",p%-1.|
00000420  02 12 05 cd 0d 02 1c 15  e8 22 43 68 6f 72 75 73  |........."Chorus|
00000430  20 73 65 6e 64 22 3b 70  25 0d 02 26 0d e7 20 70  | send";p%..&.. p|
00000440  25 3c 3e 30 20 8c 0d 02  30 1b 20 c8 99 20 22 4d  |%<>0 ...0. .. "M|
00000450  49 44 49 5f 54 78 42 79  74 65 22 2c 26 42 30 2b  |IDI_TxByte",&B0+|
00000460  76 0d 02 3a 19 20 c8 99  20 22 4d 49 44 49 5f 54  |v..:. .. "MIDI_T|
00000470  78 42 79 74 65 22 2c 26  35 44 0d 02 44 1a 20 c8  |xByte",&5D..D. .|
00000480  99 20 22 4d 49 44 49 5f  54 78 42 79 74 65 22 2c  |. "MIDI_TxByte",|
00000490  70 25 2d 31 0d 02 4e 05  cd 0d 02 58 05 e1 0d 02  |p%-1..N....X....|
000004a0  62 05 3a 0d 02 6c 0c dd  f2 72 65 76 65 72 62 0d  |b.:..l...reverb.|
000004b0  02 76 12 e8 22 4c 6f 63  61 74 69 6f 6e 22 3b 70  |.v.."Location";p|
000004c0  25 0d 02 80 0d e7 20 70  25 3c 3e 30 20 8c 0d 02  |%..... p%<>0 ...|
000004d0  8a 0f 20 20 72 65 76 65  72 62 3d 70 25 0d 02 94  |..  reverb=p%...|
000004e0  0f 20 20 f2 74 78 28 30  2c 70 25 29 0d 02 9e 05  |.  .tx(0,p%)....|
000004f0  cd 0d 02 a8 05 e1 0d 02  b2 05 3a 0d 02 bc 0c dd  |..........:.....|
00000500  f2 63 68 6f 72 75 73 0d  02 c6 0f e8 22 4c 65 76  |.chorus....."Lev|
00000510  65 6c 22 3b 70 25 0d 02  d0 0d e7 20 70 25 3c 3e  |el";p%..... p%<>|
00000520  30 20 8c 0d 02 da 0d 20  20 63 6c 65 76 3d 70 25  |0 .....  clev=p%|
00000530  0d 02 e4 0f 20 20 f2 74  78 28 35 2c 70 25 29 0d  |....  .tx(5,p%).|
00000540  02 ee 05 cd 0d 02 f8 12  e8 22 46 65 65 64 62 61  |........."Feedba|
00000550  63 6b 22 3b 70 25 0d 03  02 0d e7 20 70 25 3c 3e  |ck";p%..... p%<>|
00000560  30 20 8c 0d 03 0c 0e 20  20 63 66 65 65 64 3d 70  |0 .....  cfeed=p|
00000570  25 0d 03 16 0f 20 20 f2  74 78 28 36 2c 70 25 29  |%....  .tx(6,p%)|
00000580  0d 03 20 05 cd 0d 03 2a  0f e8 22 44 65 6c 61 79  |.. ....*.."Delay|
00000590  22 3b 70 25 0d 03 34 0d  e7 20 70 25 3c 3e 30 20  |";p%..4.. p%<>0 |
000005a0  8c 0d 03 3e 0d 20 20 63  64 65 6c 3d 70 25 0d 03  |...>.  cdel=p%..|
000005b0  48 0f 20 20 f2 74 78 28  37 2c 70 25 29 0d 03 52  |H.  .tx(7,p%)..R|
000005c0  05 cd 0d 03 5c 0e e8 22  52 61 74 65 22 3b 70 25  |....\.."Rate";p%|
000005d0  0d 03 66 0d e7 20 70 25  3c 3e 30 20 8c 0d 03 70  |..f.. p%<>0 ...p|
000005e0  0e 20 20 63 72 61 74 65  3d 70 25 0d 03 7a 0f 20  |.  crate=p%..z. |
000005f0  20 f2 74 78 28 38 2c 70  25 29 0d 03 84 05 cd 0d  | .tx(8,p%)......|
00000600  03 8e 0f e8 22 44 65 70  74 68 22 3b 70 25 0d 03  |...."Depth";p%..|
00000610  98 0d e7 20 70 25 3c 3e  30 20 8c 0d 03 a2 0d 20  |... p%<>0 ..... |
00000620  20 63 64 65 70 3d 70 25  0d 03 ac 0f 20 20 f2 74  | cdep=p%....  .t|
00000630  78 28 39 2c 70 25 29 0d  03 b6 05 cd 0d 03 c0 05  |x(9,p%).........|
00000640  e1 0d 03 ca 05 3a 0d 03  d4 10 dd f2 74 78 28 61  |.....:......tx(a|
00000650  64 2c 76 61 6c 29 0d 03  de 1a 20 20 c8 99 20 22  |d,val)....  .. "|
00000660  4d 49 44 49 5f 54 78 42  79 74 65 22 2c 26 46 30  |MIDI_TxByte",&F0|
00000670  0d 03 e8 1a 20 20 c8 99  20 22 4d 49 44 49 5f 54  |....  .. "MIDI_T|
00000680  78 42 79 74 65 22 2c 26  34 31 0d 03 f2 1a 20 20  |xByte",&41....  |
00000690  c8 99 20 22 4d 49 44 49  5f 54 78 42 79 74 65 22  |.. "MIDI_TxByte"|
000006a0  2c 26 31 30 0d 03 fc 1a  20 20 c8 99 20 22 4d 49  |,&10....  .. "MI|
000006b0  44 49 5f 54 78 42 79 74  65 22 2c 26 35 36 0d 04  |DI_TxByte",&56..|
000006c0  06 1a 20 20 c8 99 20 22  4d 49 44 49 5f 54 78 42  |..  .. "MIDI_TxB|
000006d0  79 74 65 22 2c 26 31 32  0d 04 10 1a 20 20 c8 99  |yte",&12....  ..|
000006e0  20 22 4d 49 44 49 5f 54  78 42 79 74 65 22 2c 26  | "MIDI_TxByte",&|
000006f0  30 30 0d 04 1a 1a 20 20  c8 99 20 22 4d 49 44 49  |00....  .. "MIDI|
00000700  5f 54 78 42 79 74 65 22  2c 26 30 30 0d 04 24 19  |_TxByte",&00..$.|
00000710  20 20 c8 99 20 22 4d 49  44 49 5f 54 78 42 79 74  |  .. "MIDI_TxByt|
00000720  65 22 2c 61 64 0d 04 2e  1a 20 20 c8 99 20 22 4d  |e",ad....  .. "M|
00000730  49 44 49 5f 54 78 42 79  74 65 22 2c 76 61 6c 0d  |IDI_TxByte",val.|
00000740  04 38 21 20 20 c8 99 20  22 4d 49 44 49 5f 54 78  |.8!  .. "MIDI_Tx|
00000750  42 79 74 65 22 2c 31 32  38 2d 61 64 2d 76 61 6c  |Byte",128-ad-val|
00000760  0d 04 42 1a 20 20 c8 99  20 22 4d 49 44 49 5f 54  |..B.  .. "MIDI_T|
00000770  78 42 79 74 65 22 2c 26  46 37 0d 04 4c 05 e1 0d  |xByte",&F7..L...|
00000780  04 56 05 3a 0d 04 60 0d  dd f2 74 65 73 74 28 76  |.V.:..`...test(v|
00000790  29 0d 04 6a 1a 20 c8 99  20 22 4d 49 44 49 5f 53  |)..j. .. "MIDI_S|
000007a0  6f 75 6e 64 45 6e 61 62  6c 65 22 0d 04 74 16 20  |oundEnable"..t. |
000007b0  c8 99 20 22 4d 49 44 49  5f 54 78 53 74 61 72 74  |.. "MIDI_TxStart|
000007c0  22 0d 04 7e 34 20 f2 70  6c 61 79 28 76 2c 36 30  |"..~4 .play(v,60|
000007d0  29 3a f2 70 6c 61 79 28  76 2c 36 34 29 3a f2 70  |):.play(v,64):.p|
000007e0  6c 61 79 28 76 2c 36 37  29 3a f2 70 6c 61 79 28  |lay(v,67):.play(|
000007f0  76 2c 37 32 29 0d 04 88  15 20 c8 99 20 22 4d 49  |v,72).... .. "MI|
00000800  44 49 5f 54 78 53 74 6f  70 22 0d 04 92 05 e1 0d  |DI_TxStop"......|
00000810  04 9c 05 3a 0d 04 a6 0f  dd f2 70 6c 61 79 28 76  |...:......play(v|
00000820  2c 6e 29 0d 04 b0 1c 20  20 c8 99 20 22 4d 49 44  |,n)....  .. "MID|
00000830  49 5f 54 78 42 79 74 65  22 2c 26 39 30 2b 76 0d  |I_TxByte",&90+v.|
00000840  04 ba 18 20 20 c8 99 20  22 4d 49 44 49 5f 54 78  |...  .. "MIDI_Tx|
00000850  42 79 74 65 22 2c 6e 0d  04 c4 1a 20 20 c8 99 20  |Byte",n....  .. |
00000860  22 4d 49 44 49 5f 54 78  42 79 74 65 22 2c 26 37  |"MIDI_TxByte",&7|
00000870  30 0d 04 ce 12 20 20 20  e3 52 3d 30 b8 35 30 30  |0....   .R=0.500|
00000880  30 3a ed 0d 04 d8 1c 20  20 c8 99 20 22 4d 49 44  |0:.....  .. "MID|
00000890  49 5f 54 78 42 79 74 65  22 2c 26 39 30 2b 76 0d  |I_TxByte",&90+v.|
000008a0  04 e2 18 20 20 c8 99 20  22 4d 49 44 49 5f 54 78  |...  .. "MIDI_Tx|
000008b0  42 79 74 65 22 2c 6e 0d  04 ec 18 20 20 c8 99 20  |Byte",n....  .. |
000008c0  22 4d 49 44 49 5f 54 78  42 79 74 65 22 2c 30 0d  |"MIDI_TxByte",0.|
000008d0  04 f6 05 e1 0d 05 00 05  3a 0d 05 0a 10 dc 22 55  |........:....."U|
000008e0  6e 64 65 66 69 6e 65 64  22 0d 05 14 7f dc 22 50  |ndefined"....."P|
000008f0  69 61 6e 6f 20 31 22 2c  22 50 69 61 6e 6f 20 32  |iano 1","Piano 2|
00000900  22 2c 22 48 6f 6e 6b 79  2d 74 6f 6e 6b 20 70 69  |","Honky-tonk pi|
00000910  61 6e 6f 22 2c 22 45 6c  65 63 74 72 69 63 20 50  |ano","Electric P|
00000920  69 61 6e 6f 20 31 22 2c  22 45 6c 65 63 74 72 69  |iano 1","Electri|
00000930  63 20 50 69 61 6e 6f 20  32 22 2c 22 45 6c 65 63  |c Piano 2","Elec|
00000940  74 72 69 63 20 50 69 61  6e 6f 20 33 22 2c 22 48  |tric Piano 3","H|
00000950  61 72 70 73 69 63 68 6f  72 64 22 2c 22 43 6c 61  |arpsichord","Cla|
00000960  76 69 63 68 6f 72 64 22  0d 05 1e 66 dc 22 43 65  |vichord"...f."Ce|
00000970  6c 65 73 74 61 22 2c 22  47 6c 6f 63 6b 65 6e 73  |lesta","Glockens|
00000980  70 65 69 6c 22 2c 22 4d  75 73 69 63 20 42 6f 78  |peil","Music Box|
00000990  22 2c 22 56 69 62 72 61  70 68 6f 6e 65 22 2c 22  |","Vibraphone","|
000009a0  4d 61 72 69 6d 62 61 22  2c 22 58 79 6c 6f 70 68  |Marimba","Xyloph|
000009b0  6f 6e 65 22 2c 22 54 75  62 75 6c 61 72 2d 62 65  |one","Tubular-be|
000009c0  6c 6c 22 2c 22 44 75 6c  63 69 6d 65 72 22 0d 05  |ll","Dulcimer"..|
000009d0  28 6a dc 22 4f 72 67 61  6e 20 31 22 2c 22 4f 72  |(j."Organ 1","Or|
000009e0  67 61 6e 20 32 22 2c 22  4f 72 67 61 6e 20 33 22  |gan 2","Organ 3"|
000009f0  2c 22 43 68 75 72 63 68  20 4f 72 67 61 6e 20 31  |,"Church Organ 1|
00000a00  22 2c 22 52 65 65 64 20  4f 72 67 61 6e 22 2c 22  |","Reed Organ","|
00000a10  41 63 63 6f 72 64 69 6f  6e 22 2c 22 48 61 72 6d  |Accordion","Harm|
00000a20  6f 6e 69 63 61 22 2c 22  54 61 6e 67 6f 20 41 63  |onica","Tango Ac|
00000a30  63 6f 72 64 69 6f 6e 22  0d 05 32 96 dc 22 4e 79  |cordion"..2.."Ny|
00000a40  6c 6f 6e 2d 73 74 72 69  6e 67 20 67 75 69 74 61  |lon-string guita|
00000a50  72 22 2c 22 53 74 65 65  6c 2d 73 74 72 69 6e 67  |r","Steel-string|
00000a60  20 67 75 69 74 61 72 22  2c 22 4a 61 7a 7a 20 67  | guitar","Jazz g|
00000a70  75 69 74 61 72 22 2c 22  43 6c 65 61 6e 20 67 75  |uitar","Clean gu|
00000a80  69 74 61 72 22 2c 22 4d  75 74 65 64 20 67 75 69  |itar","Muted gui|
00000a90  74 61 72 22 2c 22 4f 76  65 72 64 72 69 76 65 20  |tar","Overdrive |
00000aa0  67 75 69 74 61 72 22 2c  22 44 69 73 74 6f 72 74  |guitar","Distort|
00000ab0  69 6f 6e 20 67 75 69 74  61 72 22 2c 22 47 75 69  |ion guitar","Gui|
00000ac0  74 61 72 20 68 61 72 6d  6f 6e 69 63 73 22 0d 05  |tar harmonics"..|
00000ad0  3c 7c dc 22 41 63 6f 75  73 74 69 63 20 62 61 73  |<|."Acoustic bas|
00000ae0  73 22 2c 22 46 69 6e 67  65 72 65 64 20 62 61 73  |s","Fingered bas|
00000af0  73 22 2c 22 50 69 63 6b  65 64 20 62 61 73 73 22  |s","Picked bass"|
00000b00  2c 22 46 72 65 74 6c 65  73 73 20 62 61 73 73 22  |,"Fretless bass"|
00000b10  2c 22 53 6c 61 70 20 42  61 73 73 20 31 22 2c 22  |,"Slap Bass 1","|
00000b20  53 6c 61 70 20 42 61 73  73 20 32 22 2c 22 53 79  |Slap Bass 2","Sy|
00000b30  6e 74 68 20 62 61 73 73  20 31 22 2c 22 53 79 6e  |nth bass 1","Syn|
00000b40  74 68 20 62 61 73 73 20  32 22 0d 05 46 61 dc 22  |th bass 2"..Fa."|
00000b50  56 69 6f 6c 69 6e 22 2c  22 56 69 6f 6c 61 22 2c  |Violin","Viola",|
00000b60  22 43 65 6c 6c 6f 22 2c  22 43 6f 6e 74 72 61 62  |"Cello","Contrab|
00000b70  61 73 73 22 2c 22 54 72  65 6d 6f 6c 6f 20 73 74  |ass","Tremolo st|
00000b80  72 69 6e 67 73 22 2c 22  50 69 7a 7a 69 63 61 74  |rings","Pizzicat|
00000b90  6f 20 73 74 72 69 6e 67  73 22 2c 22 48 61 72 70  |o strings","Harp|
00000ba0  22 2c 22 54 69 6d 70 69  6e 69 22 0d 05 50 6e dc  |","Timpini"..Pn.|
00000bb0  22 53 74 72 69 6e 67 73  22 2c 22 53 6c 6f 77 20  |"Strings","Slow |
00000bc0  73 74 72 69 6e 67 22 2c  22 53 79 6e 74 68 20 73  |string","Synth s|
00000bd0  74 72 69 6e 67 73 20 31  22 2c 22 53 79 6e 74 68  |trings 1","Synth|
00000be0  20 73 74 72 69 6e 67 73  20 32 22 2c 22 43 68 6f  | strings 2","Cho|
00000bf0  69 72 20 41 61 68 22 2c  22 56 6f 69 63 65 20 4f  |ir Aah","Voice O|
00000c00  6f 6f 68 22 2c 22 53 79  6e 74 68 56 6f 78 22 2c  |ooh","SynthVox",|
00000c10  22 4f 72 63 68 48 69 74  22 0d 05 5a 68 dc 22 54  |"OrchHit"..Zh."T|
00000c20  72 75 6d 70 65 74 22 2c  22 54 72 6f 6d 62 6f 6e  |rumpet","Trombon|
00000c30  65 22 2c 22 54 75 62 61  22 2c 22 4d 75 74 65 64  |e","Tuba","Muted|
00000c40  20 74 72 75 6d 70 65 74  22 2c 22 46 72 65 6e 63  | trumpet","Frenc|
00000c50  68 20 68 6f 72 6e 22 2c  22 42 72 61 73 73 20 31  |h horn","Brass 1|
00000c60  22 2c 22 53 79 6e 74 68  20 62 72 61 73 73 20 31  |","Synth brass 1|
00000c70  22 2c 22 53 79 6e 74 68  20 62 72 61 73 73 20 32  |","Synth brass 2|
00000c80  22 0d 05 64 05 3a 0d 05  6e 10 dc 22 55 6e 64 65  |"..d.:..n.."Unde|
00000c90  66 69 6e 65 64 22 0d 05  78 50 dc 22 52 6f 6f 6d  |fined"..xP."Room|
00000ca0  20 31 22 2c 22 52 6f 6f  6d 20 32 22 2c 22 52 6f  | 1","Room 2","Ro|
00000cb0  6f 6d 20 33 22 2c 22 48  61 6c 6c 20 31 22 2c 22  |om 3","Hall 1","|
00000cc0  48 61 6c 6c 20 32 22 2c  22 50 6c 61 74 65 22 2c  |Hall 2","Plate",|
00000cd0  22 44 65 6c 61 79 22 2c  22 50 61 6e 6e 65 64 20  |"Delay","Panned |
00000ce0  64 65 6c 61 79 22 0d ff                           |delay"..|
00000ce8