ZSNES(1)
๐ฎ ZSNES โ bestie's guide to the Super Nintendo emulator โจ
okay so this is the manual page for ZSNES 2.3.8, from the General Commands Manual, and likeโฆ it's a lot but we're gonna get through it together, i promise ๐ซถ
๐ธ NAME
ZSNES โ the Super Nintendo console emulator. that's it, that's the vibe ๐
โจ SYNOPSIS
ZSNES [- | -? | --help] [-1 #] [-2 #] [-ad driver] [-dd] [-dh] [-ds] [-f
#] [-g #] [-h | -l] [-j] [-js #] [-k #] [-m] [-mc] [-md] [-ml #] [-mo
ID] [-n #] [-p #] [-r #] [-s] [-sa] [-t | -u] [-V] [--verbose] [-v #]
[-v8] [-y] [-z] [-zm #] [-zs #] [romname]
like yes, that's a wall of flags. we'll take them one at a time, no cap ๐
๐ DESCRIPTION
ZSNES emulates the Super Nintendo video game console. it's written in C11 and PSR (iconic combo ngl), and it runs on Windows, Linux, macOS, and BSD.
for the latest updates, go be nosy at https://github.com/xyproto/zsnes/ ๐
๐ OPTIONS
heads up bestie: a lot of these can also be set in the GUI, so you don't have to rawdog the command line. but like, you can ๐
-|-?|-help|--helpโ shows the command-line help. and like, not-h, okay?-hdoes a completely different thing (it forces HiROM, we'll get there). do not mix them up, i'm begging ๐-1 #/-2 #โ sets the controls for Player 1 / Player 2. the values are:0= None1= Keyboard/Gamepad
-ad driverโ picks the audio driver.autosnags the first one that actually works; the rest of the list is entirely dependent on what your build shipped with, and-shows you the list. lowkey useful ๐ง-ddโ disables sound DSP emulation.-dsโ disables sound output only โ the SPC700/DSP emulation keeps running in the background like a little trooper.-dhโ disables game hacks.-f #โ turns on frame skipping.#is a number from0-9.-g #โ sets the gamma correction value.#is a number from0-15.-hโ forces HiROM. cannot be used with-l. (and again โ this is not help. she's a different girl entirely ๐)-jโ disables the Mouse. fun fact: this automatically turns off right mouse click too โจ-js #โ tweaks joystick sensitivity.#is a number from0-32767.-k #โ sets the volume level.#is a number from1-100. ๐ถ-lโ forces LoROM. cannot be used with-h. they are literally not on speaking terms.-mโ disables the GUI. โ ๏ธ you must specify a ROM filename when you do this, otherwise she's just a blank screen and vibes.-mcโ exits ZSNES when you close a movie. (use it with-zm)-mdโ dumps raw video. (use it with-zm)-ml #โ defines the movie dump length in amount of frames. (use it with-md)-mo ID|-mo listโ opens on the monitor with that identifier, orlistshows you the ones this machine reports. and the choice is remembered, so your external display stays the one being used. main character monitor energy ๐-n #โ enables scanlines (when available).#is one of:0= none1= full2= 25%3= 50%
-p #โ changes the clock speed of the main CPU.#is a number from50-150, and100is normal speed. > โ ๏ธ changing this value may have adverse side effects โ so like, proceed with caution bestie ๐ญ-r #โ sets the audio sampling rate. on Unix builds it's accepted and totally ignored โ SDL, PipeWire and libao all render at the DSP's own rate and leave the resampling to the sound server, so it's literally just kept around so your existing command lines don't break. on Windows,#is one of:0= 8 KHz1= 11.025 KHz2= 22.05 KHz3= 44.1 KHz4= 16 KHz5= 32 KHz6= 48 KHz
-sโ enables SPC700/DSP emulation (Sound). ๐-saโ shows files with all extensions (*.*) in the GUI. the default is to only show files with one of the extensions listed underromnamedown below.-tโ forces NTSC (60 Hz) timing. cannot be used with-u.-uโ forces PAL (50 Hz) timing. cannot be used with-t. (pick a lane, bestie ๐ฆ)-V|--verboseโ prints status messages: the joysticks found, the audio backend in use, and how many mice ManyMouse detected. ๐ญ warnings and error messages print regardless, so those show up no matter what.-v8โ grayscale mode. it's giving vintage film ๐๏ธ-v #โ selects the video mode.#is one of:
0 = 256x224 R W 1 = 256x224 R F 2 = 512x448 DR W
3 = 512x448 DR F 4 = 640x480 DR F 5 = 256x224 OR W
6 = 512x448 ODR 7 = 640x480 ODS F 8 = 640x480 ODS W
9 = 640x560 ODR W 10 = 768x672 ODR W 11 = 800x600 ODS F
12 = 800x600 ODS W 13 = 896x784 ODR W 14 = 1024x768 ODS F
15 = 1024x768 ODS W 16 = 1024x896 ODR W 17 = 1280x960 ODS F
18 = 1280x1024 ODS F 19 = 1600x1200 ODS F 20 = VARIABLE ODR W
21 = VARIABLE ODS W 22 = CUSTOM OD F
-yโ enables Interpolation โจ-zโ disables stereo sound. (stereo sound is enabled by default, so like, she's stereo until you tell her not to be)-zm #โ auto loads the specified movie on startup.#is a number from0-9.-zs #โ auto loads the specified save state on startup.#is a number from0-99.romnameโ the name of the ROM to auto-load. it's in the formatfilename.ext, where.extis one ofSMC,SFC,SWC,FIG,MGD,MGH,UFO,BIN,GD3,GD7,USA,EUR,JAP,AUS,ST,BS,DX2,048,058,078,1orA. you can also load ROMs that have been compressed with GZip or Zip ๐๏ธ
๐ฆ FILES AND DIRECTORIES
ZSNESโ the main program. the queen herself ๐~/.zsnesโ the directory where ZSNES config files live. by default it's also where save states, screenshots, SPC dumps and ZMV movie files go, but you can change that behaviour by editingzsnesl.cfg. this directory is created by ZSNES, so don't stress about making it yourself ๐~/.zsnes/zsnesl.cfgโ where ZSNES' configuration settings are stored. it's in a human-readable format and you can absolutely edit it by hand. created by ZSNES.~/.zsnes/zmovie.cfgโ where the settings specific to AVI dumping are saved. created by ZSNES.~/.zsnes/zfont.txtโ this one lets you customize the fonts in the GUI! just enable "Use Custom Font" in the GUI Options menu. created by ZSNES ๐~/.zsnes/zinput.cfgโ where the input configuration settings for ZSNES are stored.
๐ซถ real talk: if you update your version of ZSNES and it keeps crashing before you can do literally anything, try deleting the .cfg files above and let ZSNES create brand new ones. it's the "have you tried turning it off and on again" of config files ๐
๐ง SPECIAL CHIP GAMES
okay so lots of Super Nintendo games used custom CPUs on top of the main SNES CPU (overachievers, honestly). some of these CPUs have not been fully reverse-engineered, and games that use them may either not work at all or may experience strange bugs. ๐ญ
you can find more info about these special CPUs at:
http://users.tpg.com.au/advlink/dsp/
http://nsrt.edgeemu.com/INFO/chipinfo.htm
๐ GRAPHICS PACKS
some games based on the SPC7110 chip โ like Far East of Eden Zero โ can use special graphics packs to work around the unemulated portions of their custom CPU. these graphics packs must be stored in individual directories within the save directory, which is specified in zsnesl.cfg. by default that's ~/.zsnes. ๐
โ ๏ธ the directory name of each graphics pack must be capitalized, and all files within that directory must be in lowercase. yes, that's the rule. yes, it's fussy. she's worth it ๐
the proper directory name for a given graphics pack can be found in the readme file included with that pack.
NOTE: as of version1.40, games which use the S-DD1 chip (Star OceanandStreet Fighter Alpha 2) do not require graphics packs. slay ๐ฅ
๐ LICENSE
GPL2
and that's the whole page bestie!! ๐ source and version: this is the ZSNES 2.3.8 manual page, straight out of the General Commands Manual โ go forth and emulate, you absolute icon ๐โจ
๐ฆ where this page comes from
- arch rolling: zsnes 2.3.8-1 ยท GPL-2.0-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms