Genesis:Audio Chip Notes

From ConsoleMods Wiki
Jump to navigation Jump to search

At the heart of the Genesis/Mega Drive's sound hardware is the Yamaha YM2612 FM synthesizer chip, which is descended from the YM2203 chip which Sega had used in numerous arcade games (i.e. Hang-On, Space Harrier, others). The YM2612 has six 4-operator FM synthesis channels, with the sixth channel capable of 8-bit PCM sample playback. Unlike the YM2203 and the YM2151 which Sega had also used in arcade hardware, the YM2612 also has a built-in stereo DAC (digital to analog converter), saving both motherboard space and production costs.

Accompanying the YM2612 are four PSG audio channels (three square wave and one noise) which originate from the VDP. The PSG core used in the VDP is based on the Texas Instruments SN76489, which was first used in discrete form on the SG-1000 and then as an integrated core in the Master System. In many Genesis games, the PSG is typically used for sound effects, but was also used to great effect in some games for lead and background melodies.

Both the cartridge and expansion ports also have inputs for stereo audio, which were used by both the 32X and Sega CD respectively. The 32X adds two channels of PWM sample playback, while the Sega CD adds eight channels of PCM sample playback and two CD-DA channels. Flash carts such as the Mega EverDrive X7, Mega EverDrive Pro and Mega SD also use the external audio pins for FM sound in certain Master System games, and in the case of the latter two, audio from Sega CD games.

Quantization Noise aka "Ladder Effect"

The YM2612 has a peculiar flaw with its 9-bit DAC, which causes low volume sounds to be quantized in an unusual way and is especially apparent during fades. Some composers were highly aware of this design flaw and used it in their compositions, with Yuzo Koshiro in particular being a fan of the technique.[1]

YM3438

The YM3438 was marketed as an improved version of the YM2612. Unlike the YM2612, it uses CMOS logic which reduces power consumption and heat, and Yamaha also greatly reduced the "ladder effect" present in the YM2612. Sega began using the YM3438 in its discrete form in arcade hardware such as the System 32 and Genesis-based System C. The discrete YM3438 was also used in the TeraDrive, a combination of a Mega Drive and IBM-compatible PC which was only released in Japan.

Starting in 1992, Sega phased in the use of the Yamaha FC1004 ASIC in Genesis hardware, which combined the VDP, I/O, and a modified YM3438 into a single chip. The first console to use this ASIC was the original Wondermega, followed by the VA7 model 1 Genesis. Future versions of the Genesis/Mega Drive hardware would use variants of this ASIC, and it would later be incorporated into the GOAC (Genesis On A Chip) ASICs used in the VA4 model 2 and all Genesis 3s.

The only two exceptions to this are the VA2 and VA2.3 model 2 consoles, which went back to using the YM2612 as the ASIC used in these models did not contain the YM3438 core.

VA7 Model 1 and VA0-VA1.8 Model 2

In the VA7 model 1 and VA0 through VA1.8 model 2s, the YM3438's sound is largely spoiled by poor component choices used in the audio circuitry of these systems, especially in regards to the op-amps. These consoles tend to have very muffled sound with copious amounts of distortion, and are among the worst sounding Genesis systems as a result. This has led to people blaming these issues on the different "audio chip" even though the YM3438 core is not at fault.

Thankfully, this can be rectified by using audio modification boards such as the Mega Amp or the audio portion of the Triple Bypass, which use the raw audio straight from the ASIC and put it through a different amplifier circuit, resulting in much cleaner sound. The existing circuitry can also be altered with different components to improve the audio quality without resorting to more invasive mods.

Busy flag behavior

Both the YM2612 and the YM3438 core also differ in the way they handle the busy flag, when the FM chip is busy and cannot accept new data at a particular moment.

Hellfire's music has a significantly slower tempo when played back on consoles with the YM3438 core because its audio driver uses the busy flag improperly. This error was fixed in the Retro-Bit rerelease of the game [2] and a ROM patch is also available so the game will have the proper tempo on all consoles.

Earthworm Jim also uses the busy flag improperly, but on the YM2612 instead of the 3438. This is especially notable on the first stage where the music seems to freeze in places. A patch is also available for this bug.

Samples

Ladder effect

Both samples are of the track "After Burner" from the port of After Burner II. The track is faded out using the game's sound test after about 30 seconds.

Busy flag behavior

The first three samples are of the title track from Earthworm Jim, while the last two are from the first stage of Hellfire.

Links and References