-
-
Notifications
You must be signed in to change notification settings - Fork 8
Channel Mapping
You can re-configure the MIDI mappings manually by sending the appropriate SysEx messages.
The interface starts in static mode, but a General MIDI reset will switch the mapping to dynamic mode.
By default, MIDI channels are assigned in a static, one-to-one arrangement to FM or PSG channels as follows:
Channels | Assignment |
---|---|
1 - 6 | FM Channels 1 - 6 |
7 - 9 | PSG Square Wave Tones 1 - 3 |
10 | PSG Noise Channel |
11 - 13 | FM Ch. 3 Special Mode Operator Pitches |
Each channel implements a last note played note priority algorithm; keeping track of up to 10 concurrent notes. Additional notes are dropped. Take special care to ensure note off events are sent to the interface to release notes to prevent channels from jamming up.
When dynamic mapping mode is enabled (SysEx 00 22 77 03 01
), MIDI channel note-on/off events are dynamically routed to free FM and PSG channels. That is, MIDI channels no-longer map directly onto device channels but are virtualised and note-on/off events and MIDI program data is set on the next available channel. This mode is best suited for playback of General MIDI files and makes full use of available YM2612/PSG capacity.
The following rules are used to determine which device channel receives the MIDI event:
- FM channels 1 - 6 and PSG channels 1 - 3 (device channels) are included in the pool of available channels. The first available channel is assigned the first MIDI note on event. Future events are sent to this channel.
- On subsequent events, if the note is already playing on that channel, the next available device channel is used.
- The following MIDI parameters are automatically set on any mapped device channels:
- Program
- Volume
- Pan
The following features are unavailable in dynamic mode:
- Ch. 3 "Special Mode" individual operator pitch
- Portamento
When polyphonic mode is enabled (CC 84), dynamic mapping mode is enabled and MIDI channel 1 is mapped to FM channels 1-6. This allows for polyphony within a single MIDI channel. In addition, any FM parameter change made will be sent to all FM channels. If all channels are busy, the note on event is dropped.
The interface groups all the device channels available into 3 distinct devices:
- FM
- PSG Tone
- PSG Noise
You can use CC 86 to restrict the device channels selected to play notes for a specific MIDI channel:
CC Value | Description |
---|---|
0 - 31 | FM or PSG tone channels (default) |
32 - 63 | FM channels only |
64 - 95 | PSG tone channels only |
96 - 127 | PSG noise channel only |