TNES

From NESdev Wiki
Revision as of 20:21, 9 June 2018 by NewRisingSun (talk | contribs) (Based on the images available (in particular, Adventure of Link and Metroid), byte 9 is a "battery" byte and not a "CHR-RAM" byte.)
Jump to navigationJump to search

The TNES file format was discovered in Nintendo 3DS Virtual Console games. It fulfills much the same role as iNES format, but it avoids allegations of having misappropriated a format from the emulation scene.

Offset Contents
0-3 "TNES" (54 4E 45 53)
4 Mapper (TNES codes, not iNES codes)
5 PRG ROM size in 8192 byte units
6 CHR ROM size in 8192 byte units
7 WRAM (0 for none, 1 for 8192 bytes)
8 Mirroring (0 mapper-controlled; 1 horizontal; 2 vertical)
9 Battery (0 none; 1 battery present)
10-11 Used only for FDS images; purpose unknown, possibly side count
12-15 Zero

Mapper numbers differ, and Nintendo's own ASIC mappers have a contiguous block:

TNES mapper iNES mapper Meaning Notes
0 0 NROM
1 1 SxROM (MMC1)
2 9 PNROM (MMC2)
3 4 TxROM (MMC3) And presumably HKROM (MMC6)
4 10 FxROM (MMC4)
5 5 ExROM (MMC5)
6 2 UxROM
7 3 CNROM
9 7 AxROM
100 FDS ROM image consists of 8192 byte BIOS followed by .qd sides, which are 65536-byte FDS sides with CRCs included but no 16-byte header. Size bytes 5-9 are zero, but 10-11 are used.

References