ROM header

From Sega Retro

The ROM header or disc ID[1] is a defined area of a video game cartridge ROM or CD-ROM used to identify software. Sega mandated that software include a header, both so the hardware understood what it was running, and for cataloguing purposes.

Sega's ROM headers were designed to be human readable, so details of compatible software can be understood quickly. The layout of these headers were dictated by Sega, and failure to conform with the company's guidelines could mean software would be rejected by Sega's quality assurance teams and be prevented from going on sale.

Sega's first ROM header scheme came into use with the Sega Mega Drive in late 1988, and were still being mandated for Sega Dreamcast releases twenty years later. Other video game platform holders have adopted different schemes (or indeed no schemes at all).

Pre-Mega Drive

Likely due to smaller cartridge (or card) sizes, no ROM header schemes were ever enforced for Sega's earlier systems (or add-ons), the SG-1000, SC-3000 and Sega Master System. They were also not enforced with Sega Game Gear software, likely for similar reasons, or its technical similarities with the Master System architecture.

Mega Drive

Guidelines for Sega Mega Drive software were the first to mandate the inclusion of ROM headers, and the same system would be used for Sega Mega-CD, Sega 32X and Pico software in the early 1990s.

ROM headers for these systems must occupy 256 bytes of memory in the cartridge (or disc) from 100 to 1FF, laid out as follows[2]:

Offset Contents
100 Hardware designation
110 Company code, date
120 Domestic game title
130
140
150 Overseas game title
160
170
180 Disc type, product no., version SPACE
190 I/O info
1A0 SPACE
1B0 SPACE Modem info
1C0 Modem info SPACE
1D0 SPACE
1E0 SPACE
1F0 Regional compatibility

Contents breakdown

Hardware designation

Hardware Designation Comments
Sega Mega Drive SEGA MEGA DRIVE
Sega Genesis SEGA GENESIS
Sega Mega-CD SEGA MEGA DRIVE No distinction is made between cartridge and CD-based software.
Sega CD SEGA GENESIS No distinction is made between cartridge and CD-based software.
Sega 32X
Pico

Example

The following header is for the initial release of Sonic the Hedgehog for the Mega Drive:



Offset Contents (hexadecimal) Decoded text
00000100
00000110
00000120
00000130
00000140
00000150
00000160
00000170
00000180
00000190
000001A0
000001B0
000001C0
000001D0
000001E0
000001F0
53 45 47 41 20 4D 45 47 41 20 44 52 49 56 45 20
28 43 29 53 45 47 41 20 31 39 39 31 2E 41 50 52
53 4F 4E 49 43 20 54 48 45 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 48 45 44 47 45 48 4F 47
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
53 4F 4E 49 43 20 54 48 45 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 48 45 44 47 45 48 4F 47
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
47 4D 20 30 30 30 30 31 30 30 39 2D 30 30 26 4A
4A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00 00 00 00 00 07 FF FF 00 FF 00 00 00 FF FF FF
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4A 55 45 20 20 20 20 20 20 20 20 20 20 20 20 20
SEGA MEGA DRIVE 
(C)SEGA 1991.APR
SONIC THE       
        HEDGEHOG
                
SONIC THE       
        HEDGEHOG
                
GM 00001009-00&J
J               
                
                
                
                
                
JUE             

From the header alone, it can be established that:

  • It is Mega Drive software
  • The software was published by Sega
  • The software is dated April 1991
  • The software is known as "Sonic the Hedgehog" both domestically (Japan) and overseas.
  • It is a game (GM) with product code "00001009-00&J"
  • The software is compatible with the Control Pad (J)
  • The software is designed to run on NTSC-J (J), NTSC-U (U) and PAL (E) systems.

Saturn

Dreamcast

Issues

Inaccuracies

While Sega usually policed the layout of ROM headers, they were less likely to moderate the contents, meaning some headers do not accurately describe the software. For most users, the contents of ROM headers did not matter, as they wouldn't be shown when the software was running, however if one wishes to catalogue software based on the internal headers alone, the information can be misleading.

Most ROM headers were written while the software was in development and thus may not reflect the final product. The dates are particularly unreliable for this reason, however if a game changed publisher or gained new features late in development, this may not be reflected in the header's contents. As such, while in theory ROM headers should describe the software well enough for cataloguing, in practise the information can only provide rough guidelines.

Prototypes suggest that information was often added well in advance of software coming to market, with developers filling in the relevant fields to appease Sega's quality control, but not subsequently updating said fields when the product neared completion. This means headers often contain projected information, i.e. what the developers thought the software might look like sometimes months before the project fully took shape.

For example, Sonic the Hedgehog's header claims an April 1991 release and an incorrect product code. The game was originally planned for release around that time, but was delayed into June 1991, with the header not being updated. Furthermore the original ROM claims to be designed for NTSC-J systems, and while the game will indeed boot, Japan actually received a updated revision of the game in July, not the original release.

TradeMark Security System

With the Mega Drive, Sega incorporated the ROM header into its TradeMark Security System (TMSS) license checking system. The first of these checks expects to see the text "SEGA" (or " SEGA") at 100, the start of the hardware designation field. Starting in 1991, software that failed this check would not boot.

Early (and unlicensed) software often have ROM headers stored in the wrong place in memory (for example, Onslaught an unlicensed title by Accolade which infamously was never re-released to be TMSS-compliant, starts its header at 108).

References