-
-
Notifications
You must be signed in to change notification settings - Fork 8
Configuration & Advanced Operations
Robert Hargreaves edited this page Jul 1, 2024
·
19 revisions
The interface is configurable by sending SysEx messages to the Mega Drive. There are also a number of advanced operations which have a specific effect when received. A list of all possible SysEx messages are given below:
Name | SysEx (Hexadecimal) | Description |
---|---|---|
General MIDI Reset | 7E 7F 09 01 |
Force all notes off on all channels and resets all MIDI channel mappings. |
Remap MIDI Channel | 00 22 77 00 xx yy |
Remap MIDI channel xx to device channel yy xx = MIDI channel ( 00 -0F ) or unassigned (7F )yy = FM ( 00 -05 ), PSG (06 -09 ), FM Ch. 3 Special Mode Operators (0A -0C ) or unassigned (7F ) |
Ping | 00 22 77 01 |
Interface responds with a pong SysEx reply (00 22 77 02 ). Intended for use in measuring MIDI round-trip latency. |
Mapping Mode | 00 22 77 03 xx |
Sets the mapping mode. "Dynamic" assigns MIDI channels to idle FM/PSG channels to allow for maximum polyphony and variation in instrumentation. "Static" keeps 1-to-1 mapping between MIDI and FM/PSG channels. "Auto" (default) switches to dynamic mode if a General MIDI reset is received. xx = Static ( 00 ) / Dynamic (01 ) / Auto (02 ) |
Non-General MIDI CCs | 00 22 77 04 xx |
Respond to non-General MIDI CCs. xx = Disable ( 00 ) / Enable (01 ) |
Polyphony Sticks to Device Type | 00 22 77 05 xx |
MIDI channel polyphony will stick to originally assigned device type (FM or PSG). Enable for consistent voicing, but disable to allow for maximum polyphony. xx = Disable ( 00 ) / Enable (01 ) |
Load User Defined PSG Envelope | 00 22 77 06 ... |
Loads a custom PSG envelope |
Invert Total Level | 00 22 77 07 xx |
Invert Total Level values sent via CC to match GenMDM's behaviour of inverting the value. This makes controlling the value from a MIDI controller more intuitive. The on-screen FM parameter table will continue to display the actual value sent to the YM2612. xx = Disable ( 00 ) / Enable (01 ) |
Direct Write To YM2612 (Bank 0) | 00 22 77 08 0x 0x 0y 0y |
Writes data to the registers of the YM2612 directly (reg bank/part 0). Useful for performing YM2612 operations which are unhandled by the interface at a MIDI CC level. x is an 8-bit value which represents the YM2612 register. It should be split into two 4-bit nibbles (for example, register 0xB1 will become 0B 01 ). y represents the 8-bit register data and should be split in a similar fashion to x . |
Direct Write To YM2612 (Bank 1) | 00 22 77 09 0x 0x 0y 0y |
Writes data to the registers of the YM2612 directly (reg bank/part 1). See the Bank 0 SysEx above for more information. |