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 the Sega Mega Drive/Sega Genesis game console and Fujitsu's FM Towns computer series. As 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 concurrent 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.
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. Instead it uses a simpler time-division sound multiplexer, which first truncated the 14-bit channel output to 9-bits, then rapidly looped through outputting each channel. Also, the truncation of the output causes a glitch in the negative edge of waveforms, whereby they were shifted out of place, causing a distinctive form of distortion known as the "ladder effect". Post-YM2612 sound filtering circuitry varied in quality between devices using the YM2612, thus affecting the sound quality even further. The "ladder effect" was not always an undesirable flaw, however, as some games and musicians (notably Yuzo Koshiro with the intro theme for Streets of Rage 2) took advantage of this distortion by playing decaying sounds at low volumes to simulate a chorus effect.
Along with the mixer changes, the chip was stripped of its predecessor's SSG component, although its vestigial SSG envelope generator is still functional.
The 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. Enabling the register disables FM output for that channel. PCM data is written to the channel via an 8-bit register. The YM2612 does not provide any timing or buffering of the PCM 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. 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 does not perform the bit-depth truncating seen in the original OPN2 and OPN2C as described above, and as such does not suffer from the "ladder effect".
An example schematic for the YM2612 can be found here.
- The infamous SEGA2.DOC
- spritesmind.net – New Documentation: An authoritative reference on the YM2612
- YM3438 Application Manual (Japanese)