HR-16/HR16B Service Manual 1.00
23
11.0 MIDI Implementation
ALESIS HR-16/HR-16B MIDI SYSTEM EXCLUSIVE
FORMAT
The following information is provided as a guide for programmers wishing to modify the data received via
MIDI from the HR-16 for the purpose of interchanging patterns from separate block dumps, modification of
drum setups, MIDI channel assignments, etc. Great care must be taken to insure that all modified addresses
are valid, since one incorrect value (the length of a pattern, for example) could result in all data being lost in
the HR-16. These errors may not show up immediately, since the incorrect values may not be accessed by the
HR-16 until a particular pattern or song is selected. Therefore, it is recommended that any data manipulation
programs be thoroughly tested after loading into the HR-16 by selecting and recording on many patterns and
songs before assuming that the data is valid.
For any of the sysex commands to be transmitted or received, the SYSEX ENABLE function (MIDI/UTIL
page 15) must be turned on. All 11 possible commands will be transmitted in the following format:
HEX
COMMENTS
F0H
SYSTEM EXCLUSIVE STATUS BYTE
00H
00H
0EH
ALESIS I.D. NUMBER
01H
HR-16 I.D. NUMBER
00H-0AH
SYSEX
COMMAND
... DATA
F7H
EOX
The following sysex commands are transmitted and received by the HR-16:
00H
COMPLETE MEMORY DUMP
A system exclusive MIDI data dump from the HR-16 is initiated by holding the TAPE button down, pressing
(and releasing) the left arrow button once, and then pressing the RECORD button. This command is followed
by a block of data representing the contents of the HR-16's memory. In order to optimize the data transfer, 8
MIDI bytes are used to transmit each block of 7 HR-16 data bytes. If the 7 data bytes are looked at as one 56-
bit word, the format for transmission is eight 7-bit words beginning with the most significant bit of the first
byte, as follows:
SEVEN HR-16 BYTES:
0:
A7 A6 A5 A4 A3 A2 A1 A0
1:
B7 B6 B5 B4 B3 B2 B1 B0
2:
C7 C6 C5 C4 C3 C2 C1 C0
3:
D7 D6 D5 D4 D3 D2 D1 D0
4:
E7 E6 E5 E4 E3 E2 E1 E0
5:
F7 F6 F5 F4 F3 F2 F1 F0
6:
G7 G6 G5 G4 G3 G2 G1 G0