Print the cartridge header of a SNES ROM to see title, checksum, and LoROM or HiROM layout
Disassemble a ROM into readable assembly text with snesfox disasm
Record CPU coverage across N frames and merge executed addresses into the disassembly as comments
Single step through a SNES game in an SDL debug window
macOS only build that needs SDL2 from Homebrew and an ad hoc code signature so the OS does not kill the binary.
SnesFox is a desktop program for inspecting Super Nintendo ROM files. A ROM is the data dumped from an old SNES cartridge that an emulator can run. The README describes the project as a toolkit for SNES ROM exploration, including a lightweight emulator with a debug window, a disassembler that converts the ROM's raw machine code back into readable assembly text, and a reassembler that can turn that assembly text back into a working ROM. The program is written in C++ and built on macOS using two libraries called SDL2 and SDL2_ttf, installed through Homebrew. Building is done with a single build.sh script that produces an executable called snesfox. The README notes that on macOS the build also ad hoc signs the binary so the operating system does not immediately terminate it, and gives several troubleshooting steps if the user still sees a killed message at startup. Features are exposed as subcommands. snesfox header prints information from the cartridge header, like the title, checksum, and whether the ROM uses LoROM or HiROM layout. snesfox disasm writes an assembly listing to a text file. snesfox cov runs the emulator without a window for a set number of frames and records every address the CPU executed, which can then be merged into the disassembly as comments. snesfox reasm converts an assembly file back into a ROM, and snesfox emu opens an interactive SDL debug window that supports pausing and single stepping. A long technical section explains how the audio subsystem, the SPC700 chip, is partially emulated. The sound DSP is not emulated, so games that wait on it should not hang, and several environment variables like SNESFOX_SPC_LOG let advanced users control logging and strictness.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.