snes9x(1) Super Nintendo Entertainment System emulator

SYNOPSIS

snes9x [-so] [-sound] [-ns] [-nosound] [-sk #] [-soundskip #] [-ra #] [-ratio #] [-h #] [-cycles #] [-nh] [-nodma] [-ha] [-hdma] [-n] [-nospeedhacks] [-sh] [-speedhacks] [-p] [-pal] [-ntsc] [-f #] [-frameskip #] [-fh] [-hr] [-hirom] [-fl] [-lr] [-lorom] [-hd] [-header] [-he] [-nhd] [-noheader] [-t] [-trace] [-L] [-layering] [-nl] [-nolayering] [-O] [-tileredraw] [-no] [-lineredraw] [-tr] [-transparency] [-nt] [-notransparency] [-hi] [-hires] [-16] [-sixteen] [-displayframerate] [-dfr] [-s] [-sw] [-swapjoypads] [-i] [-interleaved] [-i2] [-interleaved2] [-ni] [-nointerleave] [-noirq] [-nw] [-nowindows] [-windows] [-gg <code>] [-gamegenie <code>] [-ar <code>] [-actionreplay <code>] [-gf <code>] [-goldfinger <code>] [-ft #] [-frametime #] [-e] [-echo] [-ne] [-noecho] [-r #] [-sq #] [-soundquality #] [-st] [-stereo] [-mono] [-ex] [-envx] [-nc] [-nsc] [-nosamplecaching] [-nmv] [-nomastervolume] [-sy] [-soundsync] [-sy2] [-soundsync2] [-is] [-interpolatedsound] [-ts] [-threadsound] [-alt] [-altsampledecode] [-nosfx] [-nosuperfx] [-sfx] [-superfx] [-dsp1] [-nodsp1] [-nmp] [-nomultiplayer5] [-mp] [-multiplayer5] [-mo] [-mouse] [-nm] [-nomouse] [-ss] [-superscope] [-nss] [-nosuperscope] [-po #] [-port #] [-srv <servername>] [-server <servername>] [-net] [-y] [-keymap <keymap>] [-turbospeed #]

DESCRIPTION

Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES) emulator. It basically allows you to play most games designed for the SNES and Super Famicom Nintendo game systems on your PC or Workstation; they include some real gems that were only ever released in Japan.

OPTIONS

-so, -sound
Enable sound CPU emulation and sound output. (Default)
-ns, -nosound
Disable sound CPU emulation and sound output, useful for the few ROMs where sound emulation causes them to lock up due to timing errors.
-sk <0-3>, -soundskip <0-3>
Sound CPU skip-waiting method. ONLY USED IF SOUND IS DISABLED. Default: 0
-ra 1+, -ratio 1+
Ratio of 65c816 to SPC700 instructions. Default of 2 is fine for most games, but 3 gets Fifa 96 and games written by the software house Human working. 5 gets The Empire Strikes Back working. There will be others. Default: 2
-h <0-200), -cycles <0-200>
Percentage of CPU cycles to execute per scan line, decrease value to increase emulation frame rate. Most ROMs work with a value of 85 or above. Default: 100
-nh, -nohdma
Turn off the H-DMA emulation. Pressing '0' during a game toggles H-DMA on and off.
-ha, -hdma
Turn on the H-DMA emulation. Pressing '0' during a game toggles H-DMA on and off. (Default)
-n, -nospeedhacks
Turn off a couple of speed hacks. The hacks boost the speed of many ROMs but cause problems a few ROMs.
-sh, -speedhacks
Turn on a couple of speed hacks. The hacks boost the speed of many ROMs but cause problems a few ROMs. (Default)
-p, -pal
Fool ROM into thinking this is a PAL SNES system and adjust frame time to 20ms (50 frames per second)
-ntsc
Fool ROM into thinking this is a NTSC SNES system and adjust frame time to 16.7ms (60 frames per second)
-f <count>, -frameskip <count>
Set this value to deliberately fix the frame skip rate and disable auto- speed regulation. Use a larger value faster emulation but more jerky movement and a smaller value for smooth but slower screen updates. Use '+' and '-' keys to modify the value during a game. deal for some Super FX games that confuse the auto-adjust code or for games that deliberately flash the screen every alternate frame.
-fh, -hr, -hirom
Force Hi-ROM memory map for ROMs where the Hi-ROM header test fails.
-fl, -lr, -lorom
Force Lo-ROM memory map for ROMs where the Hi-ROM header test fails
-hd, -header, -he
Force the detection of a ROM image header. Some ROM images have been hand-edited to remove unused space from the end of the file; if the resultant image size is not a multiple of 32k then Snes9x can't auto-detect the presense of a 512 byte ROM image header.
-nhd, -noheader
Force Snes9x into thinking no ROM image header is present. See -header above.
-l, -layering
Swap background layer priorities from background involved in sub-screen addition/subtraction. Can improve some games play-ability - no need to constantly toggle background layers on and off to read text/see maps, etc. Toggle feature on and off during game by pressing '8'. Not used if transparency effects are enabled.
-nl, -nolayering
Swap background layer priorities from background involved in sub-screen addition/subtraction. Can improve some games play-ability - no need to constantly toggle background layers on and off to read text/see maps, etc. Toggle feature on and off during game by pressing '8'. Not used if transparency effects are enabled.
-tr, -transparency
Enable transparency effects, also enables 16-bit screen mode selection. Transparency effects are automatically enabled if the depth of your X server is 15 or greater.
-nt, -notransparency
Disable transparency effects.
-hi, -hires
Enable support for SNES hi-res. and interlace modes. USE ONLY IF GAME REQUIRES IT (FEW DO) BECAUSE IT REALLY SLOWS DOWN THE EMULATOR. The window size will be doubled.
-y, -interpolate
Enables 'TV mode', hires support, 16-bit internal rendering and transparency effects. TV mode scales the SNES image by x2 by inserting an extra blended pixel between each SNES pixel and 80% brightness 'scan-lines' between each horizontal line. The result looks very nice but needs a fast machine. Use with the full-screen X mode and a 15 or 16 depth X server, or the SVGA port for fastest operation.
-sc, -scale
Stretch the SNES display to fit the whole of the computer display. Linux X Window System full-screen mode or SVGA port only. Use only if you have a very fast machine.
-16, -sixteen
Enable 16-bit internal screen rendering, allows palette changes but no transparency effects.
-dfr, -displayframerate
Displays the current framerate in the left bottom corner.
-s, -sw, -swapjoypads
Swaps the both joypads.
-i, -interleaved
Force interleaved ROM image format.
-i2, -interleaved2
Force alternate interleaved format (i.e. most Super FX games).
-ni, -nointerleaved
Force non interleaved ROM image format.
-noirq
Disables IRQs. Ignores SNES' IRQs. Do not use it. It is implemented mainly for debugging.
-nw, -nowindows
Disable graphics windows emulation. Use 'backspace' key during a game to toggle the emulation on and off.
-windows
Enable graphics windows emulation. Use 'backspace' key during a game to toggle the emulation on and off. (Default)
-gg <code>, -gamegenie <code>
Supply a Game Genie code for the current ROM. Up to 10 codes can be in affect at once. Game Genie codes for many SNES games are available from: http://game-genie.nvc.cc.ca.us
-ar <code>, -actionreplay <code>
Supply a Pro-Action Reply code for the current ROM. Up to 10 codes can be in affect at once. At the moment, codes which alter RAM do not work.
-gf <code>, -goldfinger <code>
Supply a Gold Finger code for the current ROM. Up to 10 codes can be in affect at once.
-ft <time_in_ms>, -frametime <time_in_ms>
If auto-adjust frame skip option is in effect, then the emulator will try to maintain a constant game and music speed locked to this value by skipping the rendering of some frames or waiting until the required time is reached. Increase the value to slow down games, decrease it to speed up games. During a game the value can be adjusted in millisecond steps by Pressing Shift '-' or Shift '+'. Default: 16.6ms NTSC games and 20ms for PAL games
-e, -echo
Turn on sound echo and FIR filter effects. Processing these effects can really slow down a non-MMX Pentium machine due to the number of calculations required to implement these features. (Default)
-ne, -noecho
Turn off sound echo and FIR filter effects. Processing these effects can really slow down a non-MMX Pentium machine due to the number of calculations required to implement these features.
-r <0-7>, -sq <0-7>, -soundquality <0-7>
Sound playback rate/quality:
0       disable sound
1       8192
2       11025
3       16500
4       22050 (default)
5       29300
6       36600
7       44000
-st, -stereo
Enable stereo sound output.
-mono
Enable mono sound output. Faster, but doesn't sound as nice.
-ex, -envx
Enable volume envelope height reading by the sound CPU. Can cure sound repeat problems with some games (e.g. Mortal Kombat series), while causing others to lock if enabled (eg. Bomberman series).
-nc, -nsc, -nosamplecaching
Disable decompressed sound sample caching. Decompressing samples takes time, slowing down the emulator. Normally the decompressed samples are saved just in case they need to be played again, but the way samples are stored and played on the SNES, it can result in a click sound or distortion when caching samples with loops in them.
-nmv, -nomastervolume
Disable emulation of the sound DSP master volume control. Some ROMs set the volume level very low requiring you to turn up the volume level of your speakers introducing more background noise. Use this option to always have the master volume set on full and to by-pass a bug which prevents the music and sound effects being heard on Turrican.
-sy, -soundsync
Uses another method to sync the game and the actual sound.
-sy2, -soundsync2
Uses yet another method to sync the game and the actual sound.
-is, -interpolatedsound
Enable sound interpolation.
-ts, -threadsound
If this option is given, snes9x uses generates another thread, which handles the sound.
-alt, -altsampledecode
If given, Snes9x uses an alternative method to decode the sound.
-nosfx, -nosuperfx
Forces snes9x to disable SuperFX emulation. By default snes9x autodetectes if it is needed.
-sfx, -superfx
Forces snes9x to enable SuperFX emulation. By default snes9x autodetectes if it is needed.
-nodsp1
Forces snes9x to disable DSP1 emulation. By default snes9x autodetectes if it is needed.
-dsp1
Forces snes9x to enable DSP1 emulation. By default snes9x autodetectes if it is needed.
-nmp, -nomultiplayer5
Disables Multiplayer TAP Support.
-mp, -multiplayer5
Enables Multiplayer TAP Support.
-nm, -nomouse
Disable mouse emulation.
-mo, -mouse
Enable mouse emulation.
-nss, -nosuperscope
Disable SuperScope emulation.
-ss, -superscope
Enable SuperScope emulation.
-po <port>, -port <port>
Specify what port to connect to. Default: 6096
-srv <hostname>, -server <hostname>
Name of the s9xserver to connect to.
-net
Enable Netplay.
-l <freezegame>, -loadsnapshot <freezegame>
Load snapshot file and restart game from saved position.
-nojoy
Disable joystick support.
-joydev1 <device>
Supply device for joypad number 1.
-joydev2 <device>
Supply device for joypad number 2.
-joydev3 <device>
Supply device for joypad number 3.
-joydev4 <device>
Supply device for joypad number 4.
-joymap1 <8 numbers>
You can assign the buttons by giving eight number from 0 to 7. Default Map is: 0 1 2 3 4 5 6 7, which corresponds to A B X Y TL TR Start Select.
-joymap2 <8 numbers>
You can assign the buttons by giving eight number from 0 to 7. Default Map is: 0 1 2 3 4 5 6 7, which corresponds to A B X Y TL TR Start Select.
-joymap3 <8 numbers>
You can assign the buttons by giving eight number from 0 to 7. Default Map is: 0 1 2 3 4 5 6 7, which corresponds to A B X Y TL TR Start Select.
-joymap4 <8 numbers>
You can assign the buttons by giving eight number from 0 to 7. Default Map is: 0 1 2 3 4 5 6 7, which corresponds to A B X Y TL TR Start Select.
-nms, -nomodeswitch
The Linux X Windows System port can change the screen resolution when switching to full-screen mode so the SNES display fills the whole screen. Specify this option to stop it if causes you problems.
-fs, -fullscreen
Starts up Snes9x in Fullscreen, if possible.
-b size, -bs size, -buffersize size
Sound playback buffer size in bytes 128-4096.
-keymap <keymap.ctl>
Use another keymap. Snes9x tries to load various keymaps, if no parameter is given: /path/to/rom/romname.ctl (if you used a zip file, it looks inside), ~/.snes96_snapshots/romname.ctl, /path/to/rom/snes9x.ctl, ~/.snes96_snapshots/snes9x.ctl and if it still hasn't found one /usr/share/snes9x/snes9x.ctl.

AUTHOR

Snes9x was written by Gary Henderson and Jerremy Koot. It also includes code from Ivar ([email protected]), zsKnight and _Demo_ and many others. This manual page was written by Stephen Crowley <[email protected]>, for the Debian GNU/Linux system (but may be used by others). It has been brought up to date by Alain Schroeder <[email protected]>.