Yamaha YM2612
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 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 channel three, operator frequencies can be set independently, making dissonant harmonics possible. (Normally, they would have a simple relation like e.g. 2x or 3x relative to a common base frequency.)
- Per-channel programmable stereo sound (Left, Right, or both Left and Right)
- Patch compatibility with Yamaha DX/TX synthesizers
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. This truncating caused a "glitch" as the waveform approached the zero (neither positive or negative) point, known as the "ladder effect". External sound filtering circuitry was used to reduce some of the noise generated by the truncating and channel looping, reducing the sound quality even more.
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, without the bit-depth truncating seen in the original OPN2 and OPN2C.
Read more about Yamaha YM2612: Pinout, Example Circuit