bsnes-purify — Tool for preparing ROMs for usage with bsnes


bsnes-purify scan source-dir output-file

bsnes-purify output source-dir target-dir


bsnes can not open all ROMs. For example SNES ROMs have to be without copier headers and with the filename extension .sfc. Recent versions of bsnes support games to be arranged in cartridge folders (see below). bsnes 0.089 and later will only support cartridge folders.

bsnes-purify searches a directory for ROMs and performs an action on them. It also finds ROMs contained in .zip files.

bsnes-purify scan writes a list of the found ROMs together with their SHA256 checksums and sizes to a file.

bsnes-purify output creates for each found ROM a cartridge folder with the files program.rom and and manifest.xml in the target directory. If the original ROM was a headered SNES ROM, program.rom will be the same, but without the header.

Cardridge folders

Cartridge folders are intendended to contain all data belonging to a game. The name of a cartridge folder has to end with one of the filename extensions sfc, fc, gb, gbb, gbc or gba, depending on the system the game is for.

The user has to make sure that the following files exist


the game ROM
Additional data about the cartridge, generated by bsnes-purify. Sometimes bsnes-purify can't guess all the information for this file and it has to be edited manually.
dsp1.rom, dsp1b.rom, dsp2.rom, dsp3.rom, dsp4.rom, st010.rom, st011.rom, st018.rom or cx4.rom
Some SNES games have pre-programmed coprocessors (DSPs) built into their cartridges. For these games, the required DSP programs also need to be in the cartridge folders.

bsnes itself also writes files to cartridge folders, for example the data that would be saved to RAM in real cartridges to save progress, or bsnes specific save states.

For further details, please ask at

Man page author

Tobias Hansen