poka.sh

Docs

NES

Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.

NES ROM Preview.

At a glance

Purpose An NES or Famicom cartridge ROM image in the iNES or NES 2.0 format.
Extensions .nes
Poka parser poka-nes-rom
Viewer poka-metadata-card-viewer
Depth tier Metadata card (see Depth tiers)
Breadth tier B4 Summary (see Breadth tiers)

How much Poka reads

B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.

Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-nes-rom/src/main.rs (272 lines) and plugin.json. No unit tests or tests/samples.rs, and the corpus has no .nes, .unif and .nes2 sample. Covers .nes, .unif and .nes2. The card decodes the 16-byte header: iNES or NES 2.0, mapper (named for common mappers), mirroring, battery, trainer, VS System and PlayChoice-10, PRG and CHR sizes, and for NES 2.0 the submapper, PRG RAM and NVRAM sizes and the TV system. Judgement: B4 rather than B5, because the whole header is decoded and checked; nothing of the ROM content (code, graphics, sound) is.

What Poka does not read

  • ROM content is not decoded: no code, CHR tiles or graphics
  • UNIF files (.unif) are refused: they have their own magic, which this module does not read, although .unif is routed here
  • NES 2.0: the high bits of the PRG and CHR sizes, CHR RAM sizes, console type, miscellaneous ROMs and the default expansion device are not read
  • The trainer contents are not shown
  • The file size stops counting at 16 MiB

Libraries

Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.

  • ines (candidate; MIT; Rust; https://lib.rs/crates/ines) — Reads and writes iNES ROMs; version 0.3.0 (Feb 2023); repository on GitLab (gridbugs/mos6502).
  • nes_rom (candidate; MIT; Rust; https://lib.rs/crates/nes_rom) — Parses iNES, UNIF and FDS files with basic validation; single unstable release 0.1.0 from April 2019.

Sources

  • parsers/poka-nes-rom/src/main.rs
  • parsers/poka-nes-rom/plugin.json