Sunday, September 23, 2018

Sega Genesis - Compatibility Issues Across Models

When you buy a console, you might expect every game to work perfectly on it.  In most instances you are covered, but some consoles tend to be a little picky about the games they can play for obscure, rather than obvious, reasons.  Here let's look at the Sega Mega Drive and Genesis and see what kind of compatibility issues you can encounter when playing games on them.




TMSS Copy Protection

The earliest motherboard revisions in the Genesis do not have any copy protection, but the Trade Mark Security System was present in later Model 1s and all other variants that followed it.  The TMSS is code that checks for the bytes that are ASCII-encoded to SEGA and a function that requires writing the values contained in "SEGA" to a certain memory location.  If the game fails to meet either requirement, the system will lock up.

Certain early games will refuse to work with TMSS consoles because they fail to meet the requirements.  The US games which fail are Budokan: The Martial Spirit, Ishido: The Way of Stones, Populous, Zany Golf rev 0 and Onslaught.  The Japanese games which fail are After Burner II, Alex Kidd: Tenkuu Majou (Alex Kid in the Enchanted Castle), Juuouki (Altered Beast), Osomatsu-kun Hachamecha Gekijou, Phantasy Star II, Space Harrier II, Super Daisenryaku and Super Thunder Blade.

Motherboard variations are essentially uniform across regions, so any motherboard variation of a Model 1 with a VA6 or higher will have TMSS.  You can avoid TMSS Model 1s by looking at the FCC ID on the bottom of the console.  If the FCC ID is FJ846EUSASEGA, you are good.  The Game Genie, which is a licensed Sega product, can also be used to bypass TMSS if an incompatible game is plugged into it, no codes required.

TAS Bug

The TAS bug is an issue between the 68000 CPU and the Video Display Processor (VDP) in the Genesis.  "TAS" refers to a CPU instruction called Test and Set which functions slightly differently than other CPU instructions.  The discrete VDPs found in the Genesis Model 1s and most of the Model 2s do not account for the instruction's behavior properly and a few games require the incorrect behavior to function.

When Sega integrated all the Genesis components into a single chip to cut down on costs, it fixed the VDP so that it does function properly when the TAS instruction is executed.  This will cause issues or break certain games.  The Genesis 3 VA2 motherboard revision suffers from this issue, but the VA1 is fine.

The only game which is confirmed beyond dispute to have issues with a proper TAS implementation is Gargoyles.  Other games which may exhibit the issue include Bubba 'N' Stix, Cliffhanger (highly likely), Ex-Mutants, Adventures of Mighty Max, Turrican, X-perts and one of the Batman games.

Compatibility with the 32x, Power Base Converter, Virtua Racing and Game Genie.

The Sega Nomad and Genesis 3 are missing signals on their cartridge ports which these devices need to work.  The modification requires running wires from the GOAC to the cartridge port, which is tricky because the GOACs use fine pitch QFP.  Also, you will need to mod your Nomad to mix the Nomad's RGB signal with the 32x's RGB.  Only the Genesis 3 motherboard revision VA1 can be modded, the VA2 is impossible because Sega eliminated signals that must leave the GOAC.  I would advise starting here :

http://www.sega-16.com/forum/showthread.php?10676-Genesis-3-Compatibility-Restoration

The JVC X'Eye works with the 32x without difficulty (except for CD games because the 32x blocks the CD lid from opening) if it has the Model 2 A/V output, but will not work with later X'Eyes (with composite & s-video) unless you mod the system to restore that output.

FM Behavior Differences

The Genesis started with discrete YM2612 chips.  However in Model 1 motherboard revision VA1.7 and above, Sega used a YM3438 core integrated into an ASIC with other functions in the system.  The Model 2s also use the integrated YM3438 except for motherboard revisions VA2 and VA2.3.  The Wondermega and X'Eye and the Pioneer Laseractive Mega Drive module also use the integrated YM3438.  Curiously, the Amstrad Mega PC uses a YM2612 while the Sega Teradrive uses a discrete YM3438.  The Model 2 VA4, Nomad and the Genesis 3s integrate all their sound into their GOAC.

In terms of noise level, the YM2612 is the nosiest of the bunch, then followed by the discrete YM3438, the integrated ASIC YM3438 and finally the GOAC YM3438.  While noise is generally undesirable, in the Genesis there is an exception.  After Burner II relies on the DAC noise for mixing in certain sound effects in its music.  I have an example here.





Listen very carefully to the background notes between my Genesis Model 1 VA6.8 with a YM2612 and my Genesis Model 1 VA7 with an ASIC YM3438 in the first song.  The volume level of those notes is louder on the YM2612 due to its DAC noise.

Another audio issue that has been found is an issue with the FM Busy flag.  The Yamaha FM chips require a certain amount of time to process data writes and the YM2612 is no exception.  The YM2612 has a flag in one of its regjsters that can tell a CPU that it is not able to accept data at the present time.  In other words, it is "Busy".  The compatibility issue comes in that while you can only read this flag at one port on the YM2612, you can read the flag from four ports on the ASIC or GOAC YM3438s.

Earthworm Jim and Hellfire are two games which are affected by the behavior.  Hellfire's music will appear slow in tempo on a system with an ASIC or GOAC YM3438 compared to a YM2612.  Based on the original arcade game, the faster tempo of the YM2612 is the intended tempo for this game.  See here : https://www.youtube.com/watch?v=GgO-EAwksVE  It appears that their code unintentionally reads the FM Busy flag and delays sending music data to the chip as a result.  An IPS patch to fix the issue can be found here : http://www.sega-16.com/forum/showthread.php?27955-Hellfire-sounds-slow-on-my-Model-2&p=776974&viewfull=1#post776974

Earthworm Jim seems to have the opposite problem.  There is some slight stuttering in the music playback during the first level when the game is played on a YM2612.  It seems like this game is looking for the FM Busy flag at one of the three ports only available on the YM3438.  However, the background notes are more audible and distinct on a YM2612.  If you run a real cartridge through a Game Genie, you can fix this issue using the code JD5C-LAHG.  If you are running a ROM, use a hex editor and change the value at $25F6E6 from 02 to 00.  Then use the ESE FixCheckSum program to fix the CRC of the game to ensure the ROM will work in your flash cart.  (Thanks to Ace9221 for the patch location value).

Here are some samples of Hellfire and Earthworm Jim to compare : http://www.mediafire.com/file/dgi1p3p9j1p6xjw/Sega_Genesis_FM_Sound_Comparison_Samples.7z/file

3-Button Control Pad Required

The 3-Button Control Pad was the original Sega Genesis gamepad.  Around 1993-1994, Sega began replacing the 3-Button Control Pad with a 6-Button Control Pad.  The 6-Button Control Pad was designed for Street Fighter 2' Special Championship Edition and was then used by other games.  The 6-Button Control Pad can function like a 3-Button Control Pad and has a Mode switch to improve compatibility with most games by making the controller function even more like a 3-Button Control Pad.  Games which require the Mode switch to function optimally are as follows : Arch Rivals, Double Dragon II: The Revenge, The Faery Tale Adventure, Golden Axe II, King of the Monsters (the button must be pressed longer than usual), Ms. Pac-Man, Sunset Riders.  You must hold down the Mode button when booting the game to get the controller to switch into the compatible mode.

However, even the Mode button's switching into 3-Button Compatible Mode is not fast enough for Forgotten Worlds, which reads the joystick port faster than the custom logic chip in the 6-Button Control Pad can respond to.  The simple logic chip in the 3-Button Control Pad is simple and can apparently respond as fast as the game requires.

Interlaced Mode

The Sega Genesis normally displays graphics in a 320x224 or a 256x224 resolution, but it is capable of displaying graphics at 320x448 and 256x448 through the use of interlacing.  Two Genesis games are known to use the 320x448 interlaced mode, Sonic the Hedgehog 2 and Combat Cars, but in their two-player modes only.  None are known to use 256x448.  These modes may confuse your scaler for a moment or your TV if it is not a CRT.  An LCD may refuse to display them, or conversely may display them but not the standard 240p modes.

If you use an OSSC to scale Genesis RGB to DVI/HDMI, you will want to make sure you have proper setting in place for both the 256 and 320 modes.  Genesis games can change modes at will and do so more frequently than you might think.

Sega Master System Compatibility Issues

Using the Power Base Converter, you can play Master System games.  The PBC has both a Cartridge and Card slot, so you can use the 3-D Glasses and play Sega Card games, but other devices  (Master System Converter II. Power Base FM) omit the Card slot, removing compatibility with those games.

Even with the PBC, some games will not take input correctly from a Sega Genesis Controller.  They require Sega Master System controllers to work correctly.  Alien Syndrome, Bomber Raid, Great Volleyball, Montezuma's Revenge, Penguin Land, Shanghai, Tennis Ace, Where in the World is Carmen Sandiego?, Wonder Boy in Monster Land are the affected games.  You can find patches to fix these games here : http://krikzz.com/forum/index.php?topic=5349.msg41101#msg41101

Some games use video display features present in the SMS but lacking in the Genesis to work, and these games will not work.  F-16 Fighting Falcon will not work because it uses a legacy TMS9918 mode,  Cosmic Spacehead, The Excellent Dizzy Collection, Fantastic Dizzy and Micro Machines use a 224-line mode found only on PAL SMS and certain US SMS consoles and will not look correct on any Genesis or Mega Drive.

1 comment:

James-F said...

Fantastic post!