home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sound Sensations!
/
sound_sensations.iso
/
midifile
/
d10lib
/
midi.txt
< prev
Wrap
Text File
|
1988-06-05
|
15KB
|
256 lines
MIDI is shareware. This means that you may copy it and give the copies to
anyone you want. It also means that you are requested to send a contribution
if you, or anyone you give it to, uses it. If you give MIDI to a friend, be
sure you give him/her this text file with the program.
Remember - if you're using it, then it is obviously worth something to you,
and a contribution should be made.
Eddy Reynolds
11214 Olde Mint House Lane
Tomball, Texas 77375
If you have any comments or suggestions I'm EDDYR on PAN and BDQ855 on the
Source.
Oh, and how much? Whatever you think is appropriate.
And we thank you for your support...
MIDI
Note: In order to write to the screen as fast as possible, MIDI writes data
directly to the screen memory. This works fine with monochrome and color
display adapters in all Compaq & compatible computers except the old IBM CGA
color card. If you have one of these, the screen will "snow" badly. Sorry -
I can only suggest upgrading to an EGA, VGA, or another brand of CGA card.
Except for the Real Time Commands page in Send Mode, MIDI uses the hex
numbering system. All midi data displayed on the screen is in hex, and all
midi data entered at the keyboard must be done in hex. Most information in
synth manuals about sys-ex messages is given in hex but be careful, SOME of it
is not. At the end of this file is a conversion chart for your convenience.
A memory resident program by Borland International called "Sidekick" has a
calculator that converts numbers from decimal to hex or binary. Be sure to
note the warnings for it's use in the following information about MIDI.
MONITOR MODE
Monitor Mode is used to look at the midi data coming from an instrument. The
Mask Bytes option enables you to have the program ignore and not display bytes
you don't want to see. To remove or enter a mask, press the "?" key - you do
not have to press Shift when doing this. The arrow keys can be used to move
around in the mask display area. Delete a mask by pressing "X" when the
cursor is at the desired byte. You can mask up to five different bytes. When
the masked byte is received, it is not displayed, and all following data bytes
are also masked. When the next status byte is received, if it is not masked,
it and it's associated data bytes will be displayed. Pressing "E" or "8" is a
shorthand way of entering "FE" or "F8". If you make a mistake in entering the
first digit of the byte, the Backspace key can be used to start again. If the
mistake is made on the second digit, you will have to press the "?" key, arrow
over to the byte, and then reenter it. To clear all masks, press "C".
To make the display of data more readable, any byte higher than 7F is
displayed in reverse video (to identify it as a status byte), and 2 spaces are
inserted before it. Pressing "L" will display a list of MIDI status bytes and
what they mean. The "K" key clears the screen and also clears the history
buffer. Pressing "H" calls up the history buffer, which holds 30,000 bytes
max. After the buffer shows 30,000, it is still being updated - so it will
always contain the last 30K received. The History Buffer can be written to
disk as an ASCII file which can then be printed. Don't call up any memory
resident programs like Sidekick while in the monitor screen. If you need to
do so, press "L" to call up the MIDI list, or "H" for the history buffer
display, and THEN call up Sidekick.
SEND MODE
Send Mode is used to find out how equipment will respond to various midi data.
The loop repeat can be used to constantly send a small sequence for trouble
shooting and testing. Use spaces for delays. You can enter up to two lines
of data. The "G" key retypes the last line(s) that were entered. The "U" key
allows you to send a "dump request" and then view the response in Monitor
Mode. Just type in the request, complete with F0 at the beginning and F7 at
the end, and then press "U". The request will be sent and you will be
immediately put in Monitor Mode to view the response, with FE and F8 masked.
Of course the response can then be viewed in the history buffer and printed if
desired. Some synths will respond to a dump request without the F7 at the
end.
It takes two hex characters to make a complete byte. If an odd number of hex
characters is entered, the last single character won't be sent. If you press
"U", the entry area will be blanked and you won't be put in Monitor Mode. If
this happens, press "G" to retype the entry, correct it, and then try again.
Don't call up any memory resident programs while in this screen either. Press
"L" first.
The Real Time Commands screen has more options for sending data, including
MIDI clock and associated commands. The only time the MPU is allowed to send
MIDI clock bytes is when you are in this screen.
PATCH MODE
Patch Mode consists of several subsections for dealing with saving and
transmitting bulk patch or sequence data that is in the standard "System
Exclusive" format.
When you first enter Patch Mode the screen shows an alphabetical listing of
all the files on the disk or current subdirectory. The maximum number of
files that can be displayed is 114. If there are more, they will not be
displayed and a message will appear to inform you of this condition. As files
are added, deleted, or renamed, the directory will be updated. You will
notice that the name of this program (MIDI.EXE) is not displayed. This is
done on purpose to save space for voice bank listings. DO NOT use this name
for any bank names. Memory resident programs can be called up when in Patch
Mode except when receiving or transmitting data.
The "Receive" option will save System Exclusive dumps from midi instruments.
When you press "R", you are given the choice of initiating the dump from the
instrument or sending a "dump request". Some common dump requests are listed
on the screen along with instructions for entering the request. If you elect
not to send a dump request, the computer is immediately put in sys-ex receive
mode and is waiting for data. As data comes in, small musical notes will
appear between the braces in the upper left portion of the screen. When the
notes are gone, the "W" key should be pressed to write the data to the disk.
This is a separate operation so that separate bulk dumps from one or more
instruments can be saved to one file. Just keep initiating bulk dumps until
you are done, then press the "W" key. The buffer in memory that holds the
data before writing to disk can hold 131,070 bytes. A switch in the SPX-90
has to be changed which makes the thru jack an out jack in order to use the
special SPX-90 dump request.
The "Transmit" option transmits the system exclusive files back to the
instruments. You have a "block-at-a-time" choice here in case you have saved
several instruments to one file and need time between each "send" to connect
the proper instrument to the computer. If the instruments are all different,
they can be fed the file non stop. Each instrument will respond only to it's
particular sys-ex message.
The "Rename" and "Delete" options are self explanatory. Delete does not ask
if you are sure before deleting so be careful.
The "File Size" command lists sizes of sys-ex dumps of various instruments.
This is for checking data integrity after a patch dump is received.
The "Echo ->" toggle turns the "thru" function of the midi interface on or off
for the patch mode only. Whenever you enter this screen, it is initially
turned off.
Enjoy !!
NUMBER CONVERSION
~~~~~~~~~~~~~~~~~
****** Data Bytes ******
~~~~ ~~~~~
HEX DECIMAL BINARY HEX DECIMAL BINARY HEX DECIMAL BINARY
~~~ ~~~~~~~ ~~~~~~ ~~~ ~~~~~~~ ~~~~~~ ~~~ ~~~~~~~ ~~~~~~
0 0 00000000 2B 43 00101011 56 86 01010110
1 1 00000001 2C 44 00101100 57 87 01010111
2 2 00000010 2D 45 00101101 58 88 01011000
3 3 00000011 2E 46 00101110 59 89 01011001
4 4 00000100 2F 47 00101111 5A 90 01011010
5 5 00000101 30 48 00110000 5B 91 01011011
6 6 00000110 31 49 00110001 5C 92 01011100
7 7 00000111 32 50 00110010 5D 93 01011101
8 8 00001000 33 51 00110011 5E 94 01011110
9 9 00001001 34 52 00110100 5F 95 01011111
A 10 00001010 35 53 00110101 60 96 01100000
B 11 00001011 36 54 00110110 61 97 01100001
C 12 00001100 37 55 00110111 62 98 01100010
D 13 00001101 38 56 00111000 63 99 01100011
E 14 00001110 39 57 00111001 64 100 01100100
F 15 00001111 3A 58 00111010 65 101 01100101
10 16 00010000 3B 59 00111011 66 102 01100110
11 17 00010001 3C 60 00111100 67 103 01100111
12 18 00010010 3D 61 00111101 68 104 01101000
13 19 00010011 3E 62 00111110 69 105 01101001
14 20 00010100 3F 63 00111111 6A 106 01101010
15 21 00010101 40 64 01000000 6B 107 01101011
16 22 00010110 41 65 01000001 6C 108 01101100
17 23 00010111 42 66 01000010 6D 109 01101101
18 24 00011000 43 67 01000011 6E 110 01101110
19 25 00011001 44 68 01000100 6F 111 01101111
1A 26 00011010 45 69 01000101 70 112 01110000
1B 27 00011011 46 70 01000110 71 113 01110001
1C 28 00011100 47 71 01000111 72 114 01110010
1D 29 00011101 48 72 01001000 73 115 01110011
1E 30 00011110 49 73 01001001 74 116 01110100
1F 31 00011111 4A 74 01001010 75 117 01110101
20 32 00100000 4B 75 01001011 76 118 01110110
21 33 00100001 4C 76 01001100 77 119 01110111
22 34 00100010 4D 77 01001101 78 120 01111000
23 35 00100011 4E 78 01001110 79 121 01111001
24 36 00100100 4F 79 01001111 7A 122 01111010
25 37 00100101 50 80 01010000 7B 123 01111011
26 38 00100110 51 81 01010001 7C 124 01111100
27 39 00100111 52 82 01010010 7D 125 01111101
28 40 00101000 53 83 01010011 7E 126 01111110
29 41 00101001 54 84 01010100 7F 127 01111111
2A 42 00101010 55 85 01010101
****** Status Bytes ******
~~~~~~ ~~~~~
HEX DECIMAL BINARY HEX DECIMAL BINARY HEX DECIMAL BINARY
~~~ ~~~~~~~ ~~~~~~ ~~~ ~~~~~~~ ~~~~~~ ~~~ ~~~~~~~ ~~~~~~
80 128 10000000 AB 171 10101011 D6 214 11010110
81 129 10000001 AC 172 10101100 D7 215 11010111
82 130 10000010 AD 173 10101101 D8 216 11011000
83 131 10000011 AE 174 10101110 D9 217 11011001
84 132 10000100 AF 175 10101111 DA 218 11011010
85 133 10000101 B0 176 10110000 DB 219 11011011
86 134 10000110 B1 177 10110001 DC 220 11011100
87 135 10000111 B2 178 10110010 DD 221 11011101
88 136 10001000 B3 179 10110011 DE 222 11011110
89 137 10001001 B4 180 10110100 DF 223 11011111
8A 138 10001010 B5 181 10110101 E0 224 11100000
8B 139 10001011 B6 182 10110110 E1 225 11100001
8C 140 10001100 B7 183 10110111 E2 226 11100010
8D 141 10001101 B8 184 10111000 E3 227 11100011
8E 142 10001110 B9 185 10111001 E4 228 11100100
8F 143 10001111 BA 186 10111010 E5 229 11100101
90 144 10010000 BB 187 10111011 E6 230 11100110
91 145 10010001 BC 188 10111100 E7 231 11100111
92 146 10010010 BD 189 10111101 E8 232 11101000
93 147 10010011 BE 190 10111110 E9 233 11101001
94 148 10010100 BF 191 10111111 EA 234 11101010
95 149 10010101 C0 192 11000000 EB 235 11101011
96 150 10010110 C1 193 11000001 EC 236 11101100
97 151 10010111 C2 194 11000010 ED 237 11101101
98 152 10011000 C3 195 11000011 EE 238 11101110
99 153 10011001 C4 196 11000100 EF 239 11101111
9A 154 10011010 C5 197 11000101 F0 240 11110000
9B 155 10011011 C6 198 11000110 F1 241 11110001
9C 156 10011100 C7 199 11000111 F2 242 11110010
9D 157 10011101 C8 200 11001000 F3 243 11110011
9E 158 10011110 C9 201 11001001 F4 244 11110100
9F 159 10011111 CA 202 11001010 F5 245 11110101
A0 160 10100000 CB 203 11001011 F6 246 11110110
A1 161 10100001 CC 204 11001100 F7 247 11110111
A2 162 10100010 CD 205 11001101 F8 248 11111000
A3 163 10100011 CE 206 11001110 F9 249 11111001
A4 164 10100100 CF 207 11001111 FA 250 11111010
A5 165 10100101 D0 208 11010000 FB 251 11111011
A6 166 10100110 D1 209 11010001 FC 252 11111100
A7 167 10100111 D2 210 11010010 FD 253 11111101
A8 168 10101000 D3 211 11010011 FE 254 11111110
A9 169 10101001 D4 212 11010100 FF 255 11111111
AA 170 10101010 D5 213 11010101