Yamaha YM2612

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

The YM2612, aka OPN2, is a six-channel sound chip developed by Yamaha. It belongs to Yamaha's OPN family of FM synthesis chips used in several game and computer systems.

Developed as a stripped-down version of the YM2608, it lacks its larger sibling's ADPCM channel, Rhythm Sound System, SSG components, and GPIO ports. It also includes a simplified sound mixer with integrated DAC. It was also available in CMOS form, as the YM3438, aka OPN2C. It was most notably used in Sega's Genesis game console, and Fujitsu's FM Towns computer series. As with the YM3438, it was used by Sega in various arcade game systems, including the Mega-Play, System 18, and System 32.

The YM2612 has the following features:

  • Six monophonic FM channels (voices)
  • Four operators per channel
  • Two interval timers
  • A sine-wave low frequency oscillator
  • Analogue stereo output (most other contemporary Yamaha FM chips require a separate external digital-to-analog converter chip)
  • For channels 3 and 6, 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.)
  • Per-channel programmable stereo sound (left, right, or both left and right resulting in centre)
  • Patch compatibility with Yamaha DX/TX synthesizers, for example TX81Z, and others, once the user accounts for the differing parameter ranges displayed by the synths as a convenience to the user. This of course does not account for differences such as these synths not offering a sine wave for the LFO, differing clock rates and hence envelope speeds, and some particular sound signatures of the YM2612 as described next.
File:YM2612 TDM Distortion Example.ogg
An example of the distortion created by the YM2612's time-division multiplexing DAC, and its potentially timbre-altering effects on the chip's output.

The major difference between the YM2612 and the YM2608 is the removal of the original accumulator-equipped sound mixer, which mixed together the 14-bit floating point output of the FM channels, followed by serial output to a separate DAC chip. Instead, the YM2612 uses a simpler time-division sound multiplexer, which first truncates the 14-bit channel output to 9-bits, then loops through outputting each channel in sequence using a built-in DAC. The truncation of the output samples is done in such a way that it introduces a glitch in the negative edge of waveforms, shifting that side out of place, causing a distinctive form of distortion that has become known among fans as the "ladder effect". Post-YM2612 sound filtering circuitry varied in quality between devices using the YM2612, affecting the sound quality even further.

Along with the mixer changes, the chip was stripped of its predecessor's SSG component, although its vestigial SSG envelope generator is still functional.

Whereas the high-end OPN chips have dedicated ADPCM channels for playing sampled audio, the YM2612 does not. However, its sixth channel can act as a surrogate PCM channel by means of the 'DAC Enable' register, allowing the chip to play 8-bit PCM sound samples. This replaces (disables) FM output for that channel. PCM data is written to the channel via an 8-bit register. 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.

The YM3438, aka OPN2C, the CMOS form of the YM2612, changed the Channel 6 DAC output to the same 9-bit output in FM mode[clarification needed]. The chip also had higher output impedance, requiring heavier external noise filtering circuitry but outputting louder sound. Sega used an improved version of the OPN2C for the Model 2 version of the Mega Drive/Genesis, which uses a modified output multiplexer that produces considerably less "ladder effect" distortion.[citation needed] Despite this, some prefer the YM2612's more distorted output as it can be used with clever programming to achieve unusual timbres, which may sound tangibly different on the more 'ideal' YM3438 or ASIC FM.


See also