Genesis:Audio Chip Notes: Difference between revisions

From ConsoleMods Wiki
Jump to navigation Jump to search
Line 7: Line 7:
The YM3438 was marketed as an improved version of the YM2612. Unlike the YM2612, it uses CMOS logic (as opposed to NMOS in the YM2612) 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 [https://segaretro.org/Sega_System_32 System 32] and Genesis-based [https://segaretro.org/Sega_System_C 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.  
The YM3438 was marketed as an improved version of the YM2612. Unlike the YM2612, it uses CMOS logic (as opposed to NMOS in the YM2612) 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 [https://segaretro.org/Sega_System_32 System 32] and Genesis-based [https://segaretro.org/Sega_System_C 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 YM3438 into a single chip. The first console to use this ASIC was the original Wondermega, followed by the VA7 model 1 Genesis. All future variants of the Genesis would use this ASIC or later versions of it. 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. It is unknown why Sega chose to use the 2612 when they had already used the discrete 3438.
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 variants of the Genesis/Mega Drive hardware would use variants of this ASIC, and it would later be incorporated into the GOAC ('''G'''enesis '''O'''n '''A''' '''C'''hip) 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. A discrete YM3438 was not used as it has different status register behavior compared to a 2612, and would have required extra logic circuitry to make it work properly.
 
===''Hellfire'' tempo===
 
One interesting curiosity about ASICs with the modified YM3438 core is that the music in the game ''Hellfire'' has a significantly slower tempo when played back on such equipped consoles. This is because the audio driver used in this game exhibits unusual behavior in regards to the "FM BUSY" flag and tries to read it from multiple memory addresses instead of only one. This is not a problem on the YM2612 as the flag is only accessible on a single address ($4000), but on the YM3438, the FM BUSY flag is available on multiple memory addresses ($4000 through $4003). This results in the game having slower music on these consoles because it now has to wait longer to write data to the FM chip.
 
This error was fixed in the Retro-Bit rerelease of the game <ref>https://shmups.system11.org/viewtopic.php?p=1425166&sid=190e96aa1ad601743d748173c184b449#p1425166</ref> and [https://www.romhacking.net/hacks/7235/ a ROM patch is also available] so the game will have the proper tempo on all consoles.


===VA7 Model 1 and VA0-VA1.8 Model 2===
===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. These consoles tend to have very muffled sound with copious amounts of distortion, and are among the worst sounding Genesis systems as a result. 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 [[Genesis:Audio_Circuit_Mod_(Model_2)|altered with different components]] to improve the audio quality without resorting to more invasive mods.
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. These consoles tend to have very muffled sound with copious amounts of distortion, and are among the worst sounding Genesis systems as a result. 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 [[Genesis:Audio_Circuit_Mod_(Model_2)|altered with different components]] to improve the audio quality without resorting to more invasive mods.



Revision as of 19:30, 28 December 2023

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, and was also used in the Master System and SG-1000. 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.

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 (as opposed to NMOS in the YM2612) 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 variants 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. A discrete YM3438 was not used as it has different status register behavior compared to a 2612, and would have required extra logic circuitry to make it work properly.

Hellfire tempo

One interesting curiosity about ASICs with the modified YM3438 core is that the music in the game Hellfire has a significantly slower tempo when played back on such equipped consoles. This is because the audio driver used in this game exhibits unusual behavior in regards to the "FM BUSY" flag and tries to read it from multiple memory addresses instead of only one. This is not a problem on the YM2612 as the flag is only accessible on a single address ($4000), but on the YM3438, the FM BUSY flag is available on multiple memory addresses ($4000 through $4003). This results in the game having slower music on these consoles because it now has to wait longer to write data to the FM chip.

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.

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. These consoles tend to have very muffled sound with copious amounts of distortion, and are among the worst sounding Genesis systems as a result. 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.

Links and References