fceux - Man Page

An emulator for the original (8-bit) Nintendo / Famicom game console.


fceux [options] "filename"


FCEUX is an emulator for the original (8-bit) Nintendo Entertainment System (NES). It has a robust color palette rendering engine that is fully customizable, along with excellent sound and joystick support, and even supports movie  recording and playback.


Misc. Options

--no-config {0|1}

Use default config file and do not save to it, when enabled.

-g {0|1}, --gamegenie {0|1}

Enable or disable emulated Game Genie.

--nogui {0|1}

Enable or disable the GTK GUI.

--loadlua FILE

Loads lua script from filename FILE.

Emulation Options

--pal {0|1}

Enable or disable PAL mode.

Input Options

-i DEV, --inputcfg DEV

Configures input device DEV on startup. Devices: gamepad powerpad hypershot quizking

--input{1|2} DEV

Set which input device to emulate for input 1 or 2. Devices: gamepad zapper powerpad.0 powerpad.1 arkanoid

--input{3|4} DEV

Set the famicom expansion device to emulate for input 3 or 4. Devices: quizking hypershot mahjong toprider ftrainer familykeyboard oekakids arkanoid shadow bworld 4player

--inputdisplay {0|1}

Enable or disable input display.

--fourscore {0|1}

Enable or disable fourscore emulation.

Graphics Options

--newppu {0|1}

Enable or disable the new PPU core. (WARNING: May break savestates)

--frameskip NUM

Set NUM of frames to skip per emulated frame.

--clipsides {0|1}

Enable or disable clipping of the leftmost and rightmost 8 columns of the video output.

--slstart SCANLINE

Set the first scanline to be rendered.

--slend SCANLINE

Set the last scanline to be rendered.

--nospritelim {0|1}

When set to 0, this disables the normal 8 sprites per scanline limitation. When set to 1, this enables the normal 8 sprites per scanline limitation. NOTE: Yes, this option is 'backwards'.

-x XRES, --xres XRES

Set horizontal resolution for full screen mode.

-y YRES, --yres YRES

Set vertical resolution for full screen mode.

--doublebuf {0|1}

Enable or disable double buffering.

--autoscale {0|1}

Enable or disable autoscaling in fullscreen.

--keepratio {0|1}

Keep native NES aspect ratio when autoscaling.

--{x|y}scale VAL

Multiply width/height by VAL. (Real numbers > 0 with OpenGL, otherwise integers > 0).

--{x|y}stretch {0|1}

Stretch to fill surface on x/y axis (OpenGL only).

-b {8|16|24|32}, --bpp {8|16|24|32}

Set bits per pixel.

--opengl {0|1}

Enable or disable OpenGL support.

--openglip {0|1}

Enable or disable OpenGL linear interpolation.

-f {0|1}, --fullscreen {0|1}

Enable or disable full-screen mode.

--noframe {0|1}

Hide title bar and window decorations.

--special {1-4}

Use special video scaling filters. (1 = hq2x 2 = Scale2x 3 = NTSC 2x 4 = hq3x 5 = Scale3x)

-p FILE, --palette FILE

Use the custom palette in FILE.

--ntsccolor {0|1}

Enable or disable NTSC NES colors.

--tint VAL

Set the NTSC tint.

--hue VAL

Set the NTSC hue.

Sound Options

-s {0|1}, --sound {0|1}

Enable or disable sound.

--soundrate RATE

Set the sound playback sample rate (0 == off?).

--soundq {0|1|2}

Set sound quality. (0 = Low 1 = High 2 = Very High)

--soundbufsize MS

Set sound buffer size to MS milliseconds.

--volume {0-256}

Sets the sound volume to the given value, where 256 is max volume.

--trianglevol {0-256}

Sets the sound volume of the triangle wave to the given value, where 256 is max volume.

--square1vol {0-256}

Sets the sound volume of square wave 1 to the given value, where 256 is max volume.

--square2vol {0-256}

Sets the sound volume of square wave 2 to the given value, where 256 is max volume.

--noisevol {0-256}

Sets the sound volume of the noise generator to the given value, where 256 is max volume.

--lowpass {0|1}

Enables or disables lowpass filtering of the sound.

--soundrecord FILE

Record sound to file FILE.

Movie Options

--playmov FILE

Play back a recorded FCM/FM2 movie from filename FILE.

--pauseframe FRAME

Pause movie playback at frame FRAME.

--moviemsg {0|1}

Enable or disable movie messages.

--fcmconvert FILE

Convert fcm movie file FILE to fm2.

--ripsubs FILE

Convert movie's subtitles to srt.

--subtitles {0|1}

Enable or disable subtitle display.

Networking Options

-n SRV, --net SRV

Connect to server SRV for TCP/IP network play.

--port PORT

Use TCP/IP port PORT for network play.

-u NICK, --user NICK

Set the nickname to use in network play.

-w PASS, --pass PASS

Set password to use for connecting to the server.

-k NETKEY, --netkey NETKEY

Use string NETKEY to create a unique session for the game loaded.

--players NUM

Set the number of local players.

--rp2mic {0|1}

If enabled, replace Port 2 Start with microphone (Famicom).

--videolog c

Calls mencoder to grab the video and audio streams to encode them. Check the documentation for more on this.?

--mute {0|1}

Mutes FCEUX while still passing the audio stream to mencoder.

Keyboard Commands

FCEUX has a number of commands available within the emulator. It also includes default keyboard bindings when emulating game pads or power pads.

Gamepad Keyboard Bindings

NES GamepadKeyboard
Up  Keypad Up
DownKeypad Down
LeftKeypad Left
RightKeypad Right

Other Commands


Toggle full-screen mode.


Cheat menu (command-line only).


Toggle savestate binding to movies.


Load LUA script.


Toggles background rendering.


Save game state into current slot (set using number keys).


Restore game state from current slot (set using number keys).


Toggle movie subtitles.


Reset NES.


Save screen snapshot.


Beging recording video.


Load recorded video.


Select save state slot.


Select next/previous state.


Decrease emulation speed.


Increase emulation speed.


Hold for turbo emulation speed.


Pause emulation.


Advance a single frame.


Toggle movie frame counter.


Toggle input display.


Toggle movie read-only.


Advance a single frame.


Lag counter display.


Frame advance lag skip display.



VS Unisystem Commands


Insert coin.


Show/Hide dip switches.


Toggle dip switches (when dip switches are shown).

Famicom Disk System Commands


Select disk and disk side.


Eject or insert disk.


The FCEUX project homepage.


This manual page was written by Joe Nahmias <joe _at_ nahmias.net>,  Lukas Sabota <ltsmooth42 _at_ gmail.com> and Alexander Toresson  <alexander.toresson _at_ gmail.com> for the Debian GNU/Linux system  (but may be used by others).


June 24, 2012