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, with the YM3438 being integrated into an ASIC in later models 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
 * 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)

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, YM2608 and YM2610. While the YM2612 was mostly 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 Mega Drive/Genesis games such as After Burner II had their music written around this distortion, and as a result, the music sounds too quiet on later Mega Drive/Genesis consoles that uses the integrated YM3438 chip 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, the low volume distortion bug in the YM2612 has been successfully emulated in software and has been implemented as a feature in many Mega Drive/Genesis emulators since. Other variants of the YM2612 that have reduced the low volume distortion bug such as the YM3438 are also emulated and have been implemented in many Mega Drive/Genesis emulators as well.

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 with a higher signal-to-noise ratio than the YM2612 as well as a significantly reduced low volume distortion. 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 the Fujitsu FM Towns II. It came in a smaller 24-pin SOP package. Unlike the YM2612 and YM3438, the YMF276 requires an external DAC chip like most other Yamaha FM chips. The YM3433 external DAC chip was made specifically for the YMF276. As such, it does not produce significant low volume distortion as with the YM2612/YM3438 chips due to the 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.