SNES9X(1)

NAME
snes9x - 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.

SEE ALSO
gsnes9x(1), osnes9x(1), ssnes9x(1),

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