Snes9x is a free Super Nintendo Entertainment System emulator for Windows, macOS and Linux. It runs SNES and Super Famicom games from ROM image files, recreating the console’s processing, graphics and sound on a computer. Its Windows interface adds configurable controllers, snapshots of game progress and tools for recording and replaying player inputs.
Cartridge images
Snes9x opens locally stored ROM images through its game selection dialog. It also reads gzip and JMA compressed files and ZIP archives containing a single ROM.
Emulation extends to hardware that some cartridges added to the SNES. Super FX and SA-1 processing, C4 graphics operations and S-DD1 decompression are among the supported functions. Compatibility still depends on the individual game and the hardware behavior it expects.
Joypad mapping
The Windows version lets players assign keyboard keys or gamepad buttons to the SNES directional controls, face buttons, shoulder buttons, Start and Select. Each emulated joypad has its own mapping and enable setting, allowing separate control layouts for different players.
Snes9x also emulates the SNES Mouse, Super Scope and Justifier for games designed around those devices. Its Multi Player 5 option represents the console’s multiplayer adapter, allowing up to five participants in games that support it.
How Snes9x saves progress
Snes9x maintains cartridge save data in an SRAM file with the .srm extension. Saving through a game’s own menus updates the emulated cartridge memory; the emulator writes that data to disk when another game is loaded or Snes9x closes. It restores the file when the game is opened again.
Freeze files capture the running game’s entire state. They let a player resume from a chosen moment even when the game itself offers no save point there. Separate slots keep multiple snapshots, while a configurable save folder controls where these files and SRAM data are stored. Games with cartridge clocks also retain clock information, with the emulated time advanced according to the computer’s date and time.
Cheat codes
The cheat editor accepts Game Genie, Pro Action Replay and raw memory address/value codes. Entries can have descriptions and can be switched on individually or disabled together. Snes9x saves the list for use when the same game is loaded again.
Its cheat search can locate a changing value in emulated memory. Successive searches compare earlier and current values, narrowing the candidate addresses as a counter changes during play. A selected address can then become a cheat with a specified replacement value. Codes need to match the game’s region and revision because the same address may serve a different purpose in another ROM.
Input movies
Snes9x records controller actions for later playback. A recording can begin from a reset or the current game state, and the player chooses which controllers to include. Playback runs those inputs against the same ROM, reproducing the recorded sequence within the emulator.
Freeze files also support re-recording: loading a saved state during recording or playback allows that section of the input sequence to be recorded again. A read-only playback option prevents accidental changes to a movie being watched.
ROM patches
IPS, UPS and BPS patches can be applied as a game loads without overwriting the original ROM image. Snes9x matches a patch to the ROM by its base filename and looks in the game’s folder or a configured patch directory.
Video controls
Players can switch between windowed and full-screen display, use graphics filters and apply supported shaders to change how the console image is presented. The Windows version supports GLSL and Slang shaders through OpenGL.
Screenshots capture individual game images. Pause and frame advance provide finer control over the moment being viewed, while turbo mode runs through gameplay more quickly. These controls, along with save and playback commands, can be assigned through the hotkey settings.






