===================================================================================== YM2612 - FMDrive - GenMDM - Reference MIDI Mapping ===================================================================================== Reference for Operator Naming OP1 = M1 = S1 OP2 = M2 = S2 OP3 = C1 = S3 OP4 = C2 = S4 or compared to 2612 Instrument editor OP1 = OP1 (2612 Inst editor naming) OP2 = OP3 (2612 Inst editor naming) OP3 = OP2 (2612 Inst editor naming) OP4 = OP4 (2612 Inst editor naming) YM2612 FM Sound Chip Mapping ------------------------------------------------------------------------------------- Parameter CC Data Range * LFO OFF/ON (Global) 74 2 * LFO Speed (FRQ) 1 8 * Voice 3 Normal/Special Mode 80 2 reminder //If Channel 3 is in special mode: OP 4 frequency is in A2 and A6H OP 2 frequency is in A8 and ACH OP 3 frequency is in A9 and ADH OP 1 frequency is in AA and AEH * OP 2 key on/off and frequency are mapped to MIDI CH11 * OP 3 key on/off and frequency are mapped to MIDI CH12 * OP 1 key on/off and frequency are mapped to MIDI CH13 * Voice 3 CSM Mode OFF/ON 115 2 (CSM only work when special mode is also true, so when both CC#80 & CC#115 are set to 127) * Timer A (for CSM Mode) 116 962 Timer A is used in this useful range: limited to 1.13636ms = A5 register values for timer A useful limit: MSB 24 0xF0 LSB 25 0x01 =B1111000001 = 961 , so CC#116 full range should map to 0-961 instead of 0-1024 reminder of the full range (18 � (1024 - Timer A) microseconds) reminder for Ch3 Modes: 27 0x00 Normal 27 0x40 Special 27 0x81 CSM ------------------------------------------------------------------------------------- Channel / Voice Control CC Data Range * FM Algorithm 14 8 * FM Feedback 15 8 * Stereo Configuration (L/M/R) 10 3 * AMS 76 4 * FMS 75 8 * SSG-EG Operator 1 On and Setting 90 16 * SSG-EG Operator 2 On and Setting 91 16 * SSG-EG Operator 3 On and Setting 92 16 * SSG-EG Operator 4 On and Setting 93 16 ------------------------------------------------------------------------------------- Operator Control CC Data Range * Total Level OP 1 16 128 * Total Level OP 2 17 128 * Total Level OP 3 18 128 * Total Level OP 4 19 128 * Multiple OP 1 20 16 * Multiple OP 2 21 16 * Multiple OP 3 22 16 * Multiple OP 4 23 16 * Detune OP 1 24 8 * Detune OP 2 25 8 * Detune OP 3 26 8 * Detune OP 4 27 8 * Rate Scaling OP 1 39 4 * Rate Scaling OP 2 40 4 * Rate Scaling OP 3 41 4 * Rate Scaling OP 4 42 4 * Attack Rate OP 1 43 32 * Attack Rate OP 2 44 32 * Attack Rate OP 3 45 32 * Attack Rate OP 4 46 32 * First Decay Rate OP 1 47 32 * First Decay Rate OP 2 48 32 * First Decay Rate OP 3 49 32 * First Decay Rate OP 4 50 32 * Secondary Decay Rate OP 1 51 32 * Secondary Decay Rate OP 2 52 32 * Secondary Decay Rate OP 3 53 32 * Secondary Decay Rate OP 4 54 32 * Sustain Level OP 1 55 16 * Sustain Level OP 2 56 16 * Sustain Level OP 3 57 16 * Sustain Level OP 4 58 16 * Release Rate OP 1 59 16 * Release Rate OP 2 60 16 * Release Rate OP 3 61 16 * Release Rate OP 4 62 16 * Amplitude Modulation Enable OP 1 70 2 * Amplitude Modulation Enable OP 2 71 2 * Amplitude Modulation Enable OP 3 72 2 * Amplitude Modulation Enable OP 4 73 2 ------------------------------------------------------------------------------------- DAC Control (Channel 6) CC Data Range * DAC Enable 78 2 There is others CC to control the DAC or CSM mode... but there is no need to complicate this for mid2vgm. still here is a reminder of my CSM instrument control: * CH3 CSM mode/ normal mode is mapped to MIDI CH14 note on= CSM, note off= normal. Timer A period is controlled by the CH14 MIDI note & Pitchbend via a MIDI note number to timer A period conversion table.