Difference between revisions of "TradeMark Security System"
From Sega Retro
Line 8: | Line 8: | ||
In order for software to run on a Mega Drive/Genesis with a TMSS built in, the software must do two things: | In order for software to run on a Mega Drive/Genesis with a TMSS built in, the software must do two things: | ||
# have either the longword whose bytes represent ASCII string "SEGA" in big endian at ROM address $100 OR the five bytes " SEGA" at the same address — this is checked by the TMSS ROM and is the source of the "Produced By or Under License From Sega Enterprises Ltd." message. | # have either the longword whose bytes represent ASCII string "SEGA" in big endian at ROM address $100 OR the five bytes " SEGA" at the same address — this is checked by the TMSS ROM and is the source of the "Produced By or Under License From Sega Enterprises Ltd." message. | ||
− | # write a long word containing "SEGA" (all caps) to address $A14000 | + | # write a long word containing "SEGA" (all caps) to address $A14000 before accessing the [[VDP (Mega Drive)|VDP]] data port ($C00000). If the game fails to do this, the next VDP data port access will cause the 68000 to lock up — this is done by the I/O controller. |
#* The sample code in the official programmer documentation has this part skipped on boards that report themselves as revision 0; the effect of doing this write on a revision 0 board is unknown. | #* The sample code in the official programmer documentation has this part skipped on boards that report themselves as revision 0; the effect of doing this write on a revision 0 board is unknown. | ||
Revision as of 02:54, 21 December 2012
The TradeMark Security System (TMSS) was a feature of Sega Mega Drive motherboards ensuring games which were unlicensed by Sega (and thus not receiving the Sega Seal of Quality, which was attainable through a fee paid to Sega) were not playable. Though TMSS was not produced in whole until late 1992/early 1993, the necessary code was in programmer documentation as far back as 1989. Some early games that did not implement TMSS in full consequently did not work in newer board revisions.
TMSS works by simply requiring instances of the SEGA trademark to appear in various memory locations (see below). Should an unlicensed game appear on the market, Sega could exert its rights over the SEGA trademark and sue the developer for trademark infringement.
The legality of this system was challenged in the United States by Accolade in the court case SEGA vs. Accolade, which ruled in Accolade's favor. The verdict set a precedent that copyrights do not extend to non-expressive content in software that is required by another system to be present in order for that system to run the software. While the system was never challenged elsewhere, Sega did not enforce it after the Accolade case, and consequently several unlicensed game developers started popping up.
In order for software to run on a Mega Drive/Genesis with a TMSS built in, the software must do two things:
- have either the longword whose bytes represent ASCII string "SEGA" in big endian at ROM address $100 OR the five bytes " SEGA" at the same address — this is checked by the TMSS ROM and is the source of the "Produced By or Under License From Sega Enterprises Ltd." message.
- write a long word containing "SEGA" (all caps) to address $A14000 before accessing the VDP data port ($C00000). If the game fails to do this, the next VDP data port access will cause the 68000 to lock up — this is done by the I/O controller.
- The sample code in the official programmer documentation has this part skipped on boards that report themselves as revision 0; the effect of doing this write on a revision 0 board is unknown.
Absolute Entertainment, for some reason, faked the TMSS screen if it detected a non-TMSS board on all their Mega Drive games (including BattleTech, which was published under the Extreme Entertainment Group label which they had recently purchased from Micronet).
Known official games without support
- This list is incomplete; please add to it if you find something missing. However, one of the ways to bypass this is using the Game Genie
- Space Harrier II Japanese launch cartridges (skips step 2)
- Super Thunder Blade Japanese launch cartridges (skips step 2)
- Juuouki Japanese cartridges with revision 0 (skips step 2)
- Osomatsu-kun Hachamecha Gekijou all cartridges (skips step 2)
- Alex Kidd: Tenkuu Majou all Japanese cartridges (skips step 2)
- Phantasy Star II: Kaerazaru Toki no Owari ni all Japanese cartridges (skips step 2)
- Super Daisenryaku all cartridges (skips step 2)
- Budokan: The Martial Spirit all US cartridges (skips both steps)
- Populous all US cartridges (skips both steps)
- Zany Golf all cartridges with revision 0 (skips both steps)
- After Burner II all Japanese cartridges (skips step 2)