poka.sh

Docs

SMC

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.

SNES ROM Preview.

At a glance

Purpose A Super Nintendo cartridge ROM image with a copier header (.smc, .swc, .fig).
Extensions .smc
Poka parser poka-snes-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-snes-rom/src/main.rs (307 lines) and plugin.json. No tests/samples.rs, and the corpus has no SNES ROM under these extensions; since #536, unit tests check the ROM and SRAM size bytes (2^n KiB, as in the corpus sample.sfc, which declares 0x05 and is 32 KiB). Covers .smc, .swc and .fig. The card skips a 512-byte copier header when the size says so, scores the LoROM, HiROM and ExHiROM header positions, and shows title, mapping, cartridge type (named for about 15 chip sets), region, licensee code, version, ROM and SRAM sizes and the checksum and complement with their XOR check. The corpus .fig files are FigCraft exports (ZIP), not SNES ROMs, so .fig on disk is mostly another format. 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, graphics or sound
  • The checksum is not recomputed over the ROM; only the stored checksum and complement are compared
  • The extended header (maker code, game code, expansion RAM) is not read and the licensee code is not named
  • FigCraft .fig files, which share the extension, are refused because no SNES header is found (judgement from the code)
  • Files over 16 MiB are cut (flagged)

Libraries

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

  • sfc_cart (candidate; GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-2.0; Rust; https://docs.rs/crate/sfc_cart/latest) — Reads SNES ROM header metadata; assumes no .smc copier header, so strip it first. Licences per docs.rs page, LICENSE file not seen. Repo: gitlab.com/gemarcano/libsfc_cart-rs.

Sources

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