Difference between revisions of "TradeMark Security System"

From Sega Retro

Line 9: Line 9:
 
# 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 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.
 
# 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 (byte at $A10001 & 0xF); 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 (byte at $A10001 & $F); 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]]).
 
[[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]]).

Revision as of 03:55, 21 December 2012

Tmss.png

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:

  1. 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.
  2. 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 (byte at $A10001 & $F); 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