ROM File Formats

Understanding the different file types for game backups and which ones to use.

Overview

A ROM file is a digital copy of a game. The file format depends on what the original media was (cartridge, CD, DVD, etc.) and whether the file has been compressed.

Think of it like this: A photo can be saved as JPG, PNG, or RAW. They are all the same image, just stored differently. Game files work the same way. The same game can exist in multiple formats.

Why So Many Formats?

  • Original media type: Cartridges and discs have different data structures
  • Compression: Smaller files save storage space
  • Emulator requirements: Some emulators prefer specific formats
  • Regional variations: Different dump methods in different communities

Cartridge-Based Formats

Games that originally came on cartridges (NES, SNES, N64, Game Boy, etc.) have straightforward formats. The ROM file is basically a raw dump of the data stored on the cartridge's memory chips.

Common Cartridge Extensions

Extension System Notes
.nesNES/FamicomiNES format, includes header with mapper info
.sfc / .smcSNESSFC is preferred, SMC may have obsolete header
.n64 / .z64 / .v64Nintendo 64Same data, different byte order (z64 preferred)
.gbGame BoyOriginal Game Boy games
.gbcGame Boy ColorGBC-specific or GBC-enhanced games
.gbaGame Boy AdvanceGBA games
.ndsNintendo DSDS game dumps
.3ds / .ciaNintendo 3DS3DS: cartridge dump. CIA: installable format. Both need decryption.
.md / .bin / .genSega GenesisAll work, .md is standard
.smsSega Master SystemMaster System games
.ggGame GearGame Gear games
.32xSega 32X32X add-on games
.pceTurboGrafx-16PC Engine/TG16 HuCards
.ngp / .ngcNeo Geo PocketNGP and NGP Color games
.a26Atari 26002600 cartridge dumps
.lnxAtari LynxLynx game format

NES Headers Explained

NES ROMs come in two variants:

  • Headered (.nes) - Has a 16-byte iNES header at the start. This header tells the emulator which mapper chip the cartridge used. Most emulators require headered ROMs.
  • Headerless - Raw dump without the header. Rarely used for emulation, mainly for hardware flashcarts or special purposes.

Stick with headered .nes files. The iNES 2.0 format is the most accurate version of the header, containing detailed mapper and submapper info.

N64 Byte Order Explained

Nintendo 64 ROMs have three formats that contain the same data but store bytes in different orders:

  • .z64 - Big-endian (native N64 format). Preferred.
  • .n64 - Little-endian (byte-swapped). Common but not ideal.
  • .v64 - Word-swapped. Less common.

All three work in modern emulators. If you have a choice, use .z64 (big-endian). ROM sets from No-Intro use the z64 format.

3DS Encryption

Nintendo 3DS games are encrypted. They need to be decrypted before most emulators can play them.

  • .3ds - Cartridge dump format. Encrypted.
  • .cia - Installable format (like how you'd install on a real 3DS). Encrypted.
  • .cxi - Decrypted format. Ready to play.

Decrypting 3DS Games

To decrypt 3DS games, you need AES keys (aes_keys.txt). These go in your emulator's system folder:

  • Citra/Lime3DS: Place in sysdata folder
  • Tools: Batch CIA-3DS Decryptor can decrypt files in bulk

Alternatively, download pre-decrypted CIA files from sources like hShop.

Disc-Based Formats

Games on CDs, DVDs, and Blu-rays are more complex. They contain not just game data but also audio tracks, file systems, and error correction data.

ISO Format

.iso is the most common disc image format. It is a raw sector-by-sector copy of a data disc. ISO works for:

  • PlayStation 1 (data-only games)
  • PlayStation 2
  • PlayStation Portable
  • GameCube (though RVZ is better)
  • Wii (though RVZ is better)
  • Dreamcast (when converted from GDI)
  • Xbox (original)
ISO Limitation

ISO cannot store CD audio tracks. Many PS1 games and Sega CD games have music on separate audio tracks. For these, you need BIN/CUE or CHD format.

BIN/CUE Format

A BIN/CUE set consists of two files:

  • .bin - The actual disc data (can be multiple .bin files)
  • .cue - A text file that tells the emulator how to read the .bin

This format properly handles:

  • Multiple data and audio tracks
  • Mixed-mode CDs
  • Pregaps and postgaps between tracks

Essential for: PlayStation 1, Sega CD, Saturn, TurboGrafx-CD, and any game with CD audio.

GDI Format (Dreamcast)

.gdi is the recommended format for Dreamcast. A GDI set includes:

  • A .gdi file (index, similar to .cue)
  • Multiple track files (.raw or .bin)

This preserves the unique layout of Dreamcast's GD-ROM discs, which held about 1GB on a special high-density area.

Dreamcast Format Compatibility

Not all emulators support BIN/CUE for Dreamcast. GDI format works with all Dreamcast emulators and is the standard for Redump sets. If you have BIN/CUE Dreamcast games, consider converting them to CHD.

CDI Format

.cdi was a proprietary DiscJuggler format commonly used for Dreamcast. It works but GDI or CHD is preferred for accuracy. CDI files may be missing data from the high-density area.

Compressed Formats

Compressed formats save storage space by eliminating redundant data. Modern emulators can decompress on-the-fly with no performance impact.

CHD (Compressed Hunks of Data)

CHD is MAME's compression format and is now widely supported. It is the best choice for most disc-based games.

Advantage Details
Single fileNo more managing .bin + .cue + audio tracks
Great compressionOften 50-70% smaller than ISO
Preserves everythingAudio tracks, subchannel data, all metadata
Wide supportRetroArch, PCSX2, Dolphin, and more
VerificationIncludes checksums for integrity

CHD works for: PlayStation 1, PlayStation 2, Sega CD, Saturn, Dreamcast, TurboGrafx-CD, arcade games, and more.

RVZ (Revolution Compressed)

RVZ is Dolphin's modern compression format for GameCube and Wii games. It is the best choice for GameCube and Wii.

Feature RVZ ISO WBFS
File size (typical Wii game)~2-4 GB~4.7 GB~2-4 GB
Preserves all dataYesYesNo (strips unused)
Dolphin supportFullFullFull
Can convert back to ISOYesN/ANo

NKit Format

.nkit.iso and .nkit.gcz are special formats for GameCube and Wii that achieve very small file sizes by removing junk data.

NKit is Lossy

NKit removes padding and unused data to shrink files. While games play fine, you cannot perfectly restore the original disc image. For archival purposes, use RVZ instead. For just playing games, NKit works but RVZ is still preferred.

Other GameCube/Wii Formats

Format Notes
.gczOlder Dolphin compressed format. Works but RVZ is better.
.wbfsWii Backup File System. Removes unused data, cannot convert back perfectly.
.cisoCompressed ISO. Less efficient than RVZ.
.wiaOlder format, replaced by RVZ.
.nkit.isoNKit format. Small but lossy. RVZ preferred.

PSP Compressed Formats

Format Notes
.csoCompressed ISO. Widely supported, good compression.
.zsoLZ4-compressed. Faster decompression than CSO.
.chdAlso works for PSP in PPSSPP.
.pbpPlayStation Store format. Some games came in this format.

ZIP Archives

Many RetroArch cores can load ROMs directly from .zip files. This saves space for cartridge-based games but is not recommended for disc games.

Modern Console Formats

Nintendo Switch

Format Description Notes
.nsp Nintendo Submission Package Digital download format. Commonly used.
.xci NX Card Image Game cartridge dump. Larger, may include updates.
.nsz Compressed NSP Smaller than NSP, requires decompression or compatible emulator.
.xcz Compressed XCI Same as NSZ but for XCI.

Nintendo Wii U

Format Description
.wux Compressed Wii U disc image. Recommended for disc games.
.wud Uncompressed Wii U disc. Very large (25 GB each).
.wua Cemu's archive format. Contains game + updates + DLC in one file.
Folder Loadiine format. Extracted and decrypted game files in folders.

Encrypted vs Decrypted Wii U Games

Wii U games from the eShop are encrypted. You need Wii U common keys to decrypt them. Tools like CDecrypt or WiiUDownloader handle this automatically.

Cemu can play encrypted games if you provide the keys, but decrypted folder format or WUA is simpler to work with.

PlayStation 3

PS3 games are structured as folders, not single files:

GAMEID/
    PS3_GAME/
        USRDIR/
            EBOOT.BIN    (main executable)
            ... (game data)

The folder structure must be preserved. RPCS3 can also install .pkg files directly.

PlayStation Vita

Format Description
.vpk Vita Package. Standard homebrew installation format.
NoNpDrm Decrypted game folders. Preferred for Vita3K emulator.
MAIDump Older decrypted format. Works but NoNpDrm is preferred.

Vita Format Notes

NoNpDrm is the preferred format for Vita games on the Vita3K emulator. These are decrypted dumps that maintain the original folder structure. VPK files work for homebrew but NoNpDrm is better for commercial games.

You can find Vita games through NoPayStation, which provides direct downloads of PSN content.

Arcade ROM Formats

Arcade games work differently from home console games. Each arcade machine had unique hardware, so ROMs contain:

  • Multiple chip dumps (CPU, graphics, sound, etc.)
  • Specific file naming (derived from MAME's naming convention)
  • Parent/clone relationships

ROM Set Types

Type Description Use Case
Split Each game is complete in its own folder Easy to manage individual games
Merged Parent + clones combined in one file Most space efficient
Non-Merged Each clone is complete on its own Easiest but largest

Arcade ROM sets are specific to MAME versions. A ROM set for MAME 0.250 may not work with MAME 0.260. See the Arcade guide for details.

Verification and Quality

What is No-Intro?

No-Intro is a group that catalogs known-good dumps of cartridge games. Their databases contain checksums (digital fingerprints) for every verified ROM. A "No-Intro" ROM set means:

  • Every file has been verified against known-good dumps
  • Bad dumps and trainer hacks are excluded
  • File naming follows a consistent standard
  • Headers are correct or removed as appropriate

What is Redump?

Redump does the same for disc-based games. They verify disc images down to the subchannel level, ensuring perfect preservation.

What is TOSEC?

TOSEC (The Old School Emulation Center) is another cataloging project. Unlike No-Intro which focuses on verified good dumps, TOSEC aims to catalog everything: good dumps, bad dumps, alternate versions, prototypes, and more. This makes TOSEC useful for preservation research but less ideal for just playing games.

Checking Your ROMs

You can verify your ROMs using:

  • Romcenter - Compares your files against DAT files
  • clrmamepro - Advanced ROM management and verification
  • RomVault - Modern ROM manager with DAT support
Why Verification Matters

Bad dumps can cause crashes, glitches, or save corruption. Verified ROMs work correctly. This is especially important for games you plan to invest significant time in.

Converting Between Formats

Creating CHD Files

Use chdman (included with MAME) to convert BIN/CUE or GDI to CHD:

chdman createcd -i game.cue -o game.chd

Creating RVZ Files

Use Dolphin's built-in converter:

  1. Open Dolphin
  2. Right-click the game
  3. Select Convert File
  4. Choose RVZ format

Converting PSP Games to CSO

Use maxcso or PPSSPP's built-in conversion to compress ISO to CSO/ZSO.

RetroDeck and EmuDeck Compression Tools

Both solutions include built-in tools to compress your ROM collection without manually running commands.

Recommended Formats by System

System Best Format Notes
NES.nes (or .zip)iNES 2.0 if available
SNES.sfc (or .zip)SFC over SMC
N64.z64 (or .zip)Big-endian preferred
GameCube.rvzBest compression, full Dolphin support
Wii.rvzSame as GameCube
Wii U.wux or .wuaWUA includes updates and DLC
Switch.nsp or .xciNSZ for space saving if supported
Game Boy.gb / .gbc (or .zip)Straightforward
GBA.gba (or .zip)Straightforward
DS.nds (or .zip)Compression optional
3DS.3ds or .ciaDecrypted if possible
PlayStation 1.chdPreserves CD audio, great compression
PlayStation 2.chd or .isoCHD saves space
PlayStation 3Folder formatMaintain folder structure
PSP.cso or .chdEither works well in PPSSPP
PS Vita.vpkStandard format
Genesis.md (or .zip)Straightforward
Sega CD.chdPreserves audio tracks
Saturn.chdPreserves complex disc layout
Dreamcast.chdConvert from GDI
TurboGrafx-CD.chdPreserves CD audio
Arcade.zipKeep in original MAME format