# Yamaha YM2612

The YM2612, a.k.a. OPN2, is a sound chip developed by Yamaha. It is a member of Yamaha's OPN family of FM synthesis chips, and is derived from the YM2203.
The YM2612 is a six-channel FM synthesizer used in several game and computer systems, most notably in Sega's Mega Drive/Genesis video game console as well as Fujitsu's FM Towns computer series. It was also available in CMOS form as the YM3438, a.k.a. OPN2C.
As with the YM3438, it was used by Sega in various arcade game systems, including the Mega-Play, Sega System C and Sega System 32; the YM3438 core was also integrated into an ASIC in later revisions of the Mega Drive/Genesis.

## Features

The YM2612 has the following features:
* Six concurrent FM synthesis channels (voices)
* Four operators per channel
* Two interval timers
* A sine-wave low frequency oscillator (LFO)
* Integrated stereo output digital-to-analog converter (most other contemporary Yamaha FM chips require a separate external D/A converter chip)
* Per-channel programmable stereo sound (left, right, or both left and right resulting in centre)
* For channel three, operator frequencies can be set independently, making dissonant harmonics possible. (Normally, they would have a simple relation like e.g. 2× or 3× relative to a common base frequency) This is a common feature of the OPN family of chips.

## Technical details

The YM2612's FM synthesis block is an extended version of the FM block featured in the YM2203, adding three additional FM channels and integrating a stereo output DAC. The YM2612 removes the SSG component (although retaining its envelope generators) and GPIO ports found in the YM2203 and YM2608, which were elements of the integrated YM2149F core on the other OPN chips. While the YM2612 was mainly based on the YM2203, it was often referred to as being based on the YM2608 due to a number of similarities between the two sound chips, only lacking the latter's ADPCM channels among other aforementioned changes.
Whereas the high-end OPN chips such as the YM2608 have dedicated ADPCM channels for playing sampled audio, the YM2612 does not. However, its sixth channel can act as a basic PCM channel by means of the 'DAC Enable' register, disabling FM output for that channel but allowing it to play 8-bit pulse-code modulation sound samples. Unlike the other OPNs with ADPCM, the YM2612 does not provide any timing or buffering of samples, so all frequency control and buffering must be done in software by the host processor.

### Low volume distortion of the built-in DAC

Unlike most Yamaha FM chips which require an external floating-point DAC, the YM2612 features a built-in 9-bit DAC, which uses time-division multiplexing to play one sample of each channel in sequence, similar to the YM2413.
Due to an error with the amplitude voltage in the original chip design, a peculiar form of crossover distortion known as low volume distortion (and historically known as the "ladder effect" or "TDM distortion") is introduced in the output. Any output that is sufficiently low in volume undergoes an exaggerated quantization, including any usage of fades in video game music.
Some early games in the Mega Drive/Genesis' lifespan such as After Burner II had their music written around this distortion; as a consequence, the music would sound too quiet on later Mega Drive/Genesis consoles using the integrated YM3438 core on the ASIC. Also, because of the reduced dynamic range of the built-in DAC, additional distortion may be generated when playing sounds with a very high volume.
In recent years, improvements in accuracy of the emulation of the sound chips resulted in the low volume distortion bug in the YM2612 being faithfully replicated in software, and many recent Mega Drive/Genesis emulators since have offered this feature as an option to replicate the sound outputs of the original and revised models of the Mega Drive/Genesis. It also allowed other variants of the YM2612 that had reduced the low volume distortion bug such as the YM3438 to be emulated and implemented in many Mega Drive/Genesis emulators as well.

### Variants
#### Yamaha YM3438

The YM3438, a.k.a. OPN2C, is a modified CMOS version of the YM2612, commonly used in Sega's arcade system boards. This version has an improved built-in DAC that significantly reduces the presence of crossover distortion from the original chip with a higher signal-to-noise ratio than the YM2612. It is not a direct, drop-in replacement for the YM2612 however, as the sound outputs have higher impedance.

#### Yamaha YMF276

The YMF276, a.k.a. OPN2L, is a low-powered version of the YM3438, used in later models of the Fujitsu FM Towns series (particularly the FM Towns II models). It came in a smaller 24-pin SOP package. Unlike the YM2612 and YM3438, the YMF276 requires an external DAC chip, similar to most other Yamaha FM chips. This is usually a YM3433B external DAC chip (as used in the FM Towns II models) or other equivalent DAC chips. As such, it does not produce significant low volume distortion as with the YM2612/YM3438 chips due to its usage of an external DAC chip.

#### Sega Mega Drive/Genesis ASICs made by Yamaha (FC1004, FF1004, FJ3002 and FQ8007)

The YM3438 core was integrated in custom ASICs used in the final revision of the Model 1 version and most revisions of the Model 2 version of the Sega Mega Drive/Genesis, as well as the Genesis 3 released by Majesco. The YM3438 core in these revisions further reduced the presence of the low volume distortion bug more so than with standalone YM3438 chips.

## Game audio

Used in conjunction with the Texas Instruments SN76489 PSG as the main sound generators of the Sega Mega Drive/Genesis console, the YM2612 was prominently utilized by numerous prolific video game music composers, most notably Yuzo Koshiro.