YM2612 Registers

From MegaDrive Development Wiki
Revision as of 01:27, 4 August 2012 by ElBarto (talk | contribs)
Jump to navigation Jump to search

0x22 - LFO

Bit 7 6 5 4 3 2 1 0
Def Unused LFO Enable LFO Frequency


Value LFO Frequency
0 3.98
1 5.56
2 6.02
3 6.37
4 6.88
5 9.63
6 48.1
7 72.2

0x24/0x25 - Timer A

0x24

Bit 7 6 5 4 3 2 1 0
Def Timer A (bit 10-2)

0x25

Bit 7 6 5 4 3 2 1 0
Def Unused Timer A (bit 1-0)

0x26 - Timer B

Bit 7 6 5 4 3 2 1 0
Def Timer B

0x27 - Channel 3/6 and Timer control

Bit 7 6 5 4 3 2 1 0
Def Channel 3 Mode

0 : Normal

1 : Special

2/3 : Illegal

1 : Timer B Reset

0 : No effect

1 : Timer A Reset

0 : No effect

1 : Timer B overflow set the read register flag

0 : Timer B overflow don't set the read register flag

1 : Timer A overflow set the read register flag

0 : Timer A overflow don't set the read register flag

1 : Start Timer B

0 : Stop Timer B

1 : Start Timer A

0 : Stop Timer A

0x28 - Channel Operator control

Bit 7 6 5 4 3 2 1 0
Def Operator Unused Channel

0x2A/0x2B - DAC

0x2A

Bit 7 6 5 4 3 2 1 0
Def DAC Data

0x2B

Bit 7 6 5 4 3 2 1 0
Def 1 : DAC Enable

0 : DAC Disable

Unused

0x30-0x90 - Single operator

Each channel operators is configured with 7 registers.

Address Part I Part II
$x0 Channel 1 Operator 1 Channel 4 Operator 1
$x1 Channel 2 Operator 1 Channel 5 Operator 1
$x2 Channel 3 Operator 1 Channel 6 Operator 1
$x4 Channel 1 Operator 2 Channel 4 Operator 2
$x5 Channel 2 Operator 2 Channel 5 Operator 2
$x6 Channel 3 Operator 2 Channel 6 Operator 2
$x8 Channel 1 Operator 3 Channel 4 Operator 3
$x9 Channel 2 Operator 3 Channel 5 Operator 3
$xA Channel 3 Operator 3 Channel 6 Operator 3
$xC Channel 1 Operator 4 Channel 4 Operator 4
$xD Channel 2 Operator 4 Channel 5 Operator 4
$xE Channel 3 Operator 4 Channel 6 Operator 4


0x3x register

Bit 7 6 5 4 3 2 1 0
Def Unused DT1 (Detune) MUL (Multiple)


MUL multiplies the overall frequency by it's value (except for the 0 value which multiply by 0.5)

DT1 gives small variations from the overall frequency x MUL.


Value Multiplicative effect
0 No change
1 x(1 + E)
2 x(1 + 2E)
3 x(1 + 3E)
4 No change
5 x(1 - E)
6 x(1 - 2E)
7 x(1 - 3E)


0x4x register

Bit 7 6 5 4 3 2 1 0
Def Unused Total level (envelope's highest amplitude)

Value is between 0 (largest) and 127 (smallest)

A change of one unit is about 0.75dB


0x5x register

Bit 7 6 5 4 3 2 1 0
Def RS (Rate scaling) Unused AR (Attack rate)


0x6x register

Bit 7 6 5 4 3 2 1 0
Def AM (Amplitude modulation enable) Unused D1R (first decay rate)


0x7x register

Bit 7 6 5 4 3 2 1 0
Def Unused D2R


0x8x register

Bit 7 6 5 4 3 2 1 0
Def D1L RR


0x9x register

Bit 7 6 5 4 3 2 1 0
Def Unused SSG-EG