Some SNES ROM files start with 512 extra bytes written by the copier device that dumped
the cartridge. Apart from those bytes a “headered” file is the same as an unheadered one.
The copier header is not the game’s internal
header; it is generally useless outside the copier it was made for, and current
practice prefers files without it. The extension is commonly .sfc, then
.smc, and less often .fig or .swc; the extension
alone does not say whether a header is present.
Detecting and removing it
- If the file size modulo 1024 is 512, the file has a copier header: ROMs are made of whole 32 KiB or 64 KiB banks, so only the header can leave 512 bytes over.
- If the internal header is not found at its usual place, look again 512 bytes further on.
- The internal header’s checksum never includes the copier header.
- Removing it is simply dropping the first 512 bytes.
Super Wild Card header
Several copier makers used their own layouts. The one documented in the sources read for this page is the Super Wild Card’s, which shares its identifying bytes and type codes with the Magic Griffon and Sega Magic Drive copiers:
| Offset | Size | Meaning |
|---|---|---|
0 | 2 | Number of 8 KiB pages, low byte first. |
2 | 1 | Emulation mode bits; see below. |
3–7 | 5 | Not described. |
8 | 2 | AA BB: identifies the header. |
10 | 1 | Image type; see below. |
11–511 | 501 | Reserved, zero. |
| Bit of byte 2 | Meaning |
|---|---|
| 7 | Set: run in mode 0 (jump to $8000). |
| 6 | 0: this is the last file of the game (for games split over several files). |
| 5 | SRAM mapping: 0 mode 1, 1 mode 2. |
| 4 | DRAM mapping: 0 mode 20, 1 mode 21. |
| 2 | 0: run in mode 3; 1: run in mode 2 (jump to the reset vector). |
| 1 | Enables (1) or disables (0) an external cartridge memory image (system modes 2 and 3). |
| 0, 3 | Not described. |
| Byte 10 | Image type |
|---|---|
0x02 | Magic Griffon image. |
0x03 | Magic Griffon save RAM. |
0x04 | Super Wild Card image. |
0x05 | Super Wild Card save RAM. |
0x06 | Sega Magic Drive image. |
0x07 | Sega Magic Drive save RAM. |
The layouts of other copiers’ headers (Pro Fighter, Game Doctor and others) were not found in a source and are not described here; they are unknown to this page.
Sources
- ROM file formats – SNESdev Wiki: extensions, headered and unheadered files, detection
- SWC header – Archaic Ruins’ notes on the Super Wild Card header: every field and image type in the tables