Mednafen

Nintendo Entertainment System/Famicom Documentation

Last updated March 19, 2024
Valid as of 1.32.1

Table of Contents:

Introduction

Mednafen's NES/Famicom emulation is based off of FCE Ultra.

Custom Palettes

Global Filename:Description:
nes-pal.palPAL NES

64 or 512 RGB triplets
nes.palNTSC NES/Famicom

64 or 512 RGB triplets
rp2c04-0001.palArcade RP2C04-0001

64 RGB triplets
rp2c04-0002.palArcade RP2C04-0002

64 RGB triplets
rp2c04-0003.palArcade RP2C04-0003

64 RGB triplets
rp2c04-0004.palArcade RP2C04-0004

64 RGB triplets
rp2c0x.palArcade RP2C03/RP2C05

64 RGB triplets

Input

Mednafen emulates the standard NES gamepad, the Four-Score multiplayer adapter, the Zapper, the Power Pad, and the Arkanoid controller. The Famicom version of the Arkanoid controller, the "Space Shadow" gun, the Famicom 4-player adapter, the Family Keyboard, the HyperShot controller, the Mahjong controller, the Oeka Kids tablet, the Party Tap, the Family Trainer, and the Barcode Battler II barcode reader are also emulated.

Zapper

Most Zapper NES games expect the Zapper to be plugged into port 2. and most VS Unisystem games expect the Zapper to be plugged into port 1.

The left mouse button is the emulated trigger button for the Zapper. The right mouse button is also emulated as the trigger, but as long as you have the right mouse button held down, no color detection will take place, which is effectively like pulling the trigger while the Zapper is pointed away from the television screen. Note that you must hold the right button down for a short time to have the desired effect.



File Formats

Mednafen supports the iNES, FDS(raw and with a header), UNIF, and NSF file formats. FDS ROM images in the iNES format are not supported; it would be silly to do so and storing them in that format is nonsensical.

iNES Format

The battery-backed RAM, vertical/horizontal mirroring, four-screen name table layout, and 8-bit mapper number capabilities of the iNES format are supported. The 512-byte trainer capability is also supported, but it is deprecated. Common header corruption conditions are cleaned(let's go on a DiskDude hunt), though not all conditions can be automatically detected and fixed. In addition, a few common header inaccuracies for games are also corrected(detected by CRC32 value). Note that these fixes are not written back to the storage medium.

Support for the recent VS System bit and "number of 8kB RAM banks" is not implemented. Too many iNES headers are corrupt where this new data is stored, causing problems for those games.

The following table lists iNES-format "mappers" supported well in Mednafen.

Number:Description:Game Examples:
0No bankswitchingDonkey Kong, Mario Bros
1Nintendo MMC1MegaMan 2, Final Fantasy
2UNROMMegaMan, Archon, 1944
3CNROMSpy Hunter, Gradius
4Nintendo MMC3Super Mario Bros. 3, Recca, Final Fantasy 3
5Nintendo MMC5Castlevania 3, Just Breed, Bandit Kings of Ancient China
6FFE F4 Series(hacked, bootleg)
7AOROMBattle Toads, Time Lord
8FFE F3 Series(hacked, bootleg)
9Nintendo MMC2Punchout!
10Nintendo MMC4Fire Emblem, Fire Emblem Gaiden
11Color DreamsCrystal Mines, Bible Adventures
12??Dragon Ball Z 5 ("bootleg" original)
13CPROMVideomation
15Multi-cart(bootleg)100-in-1: Contra Function 16
16Bandai ??(X24C02P EEPROM)Dragon Ball Z 3
17FFE F8 Series(hacked, bootleg)
18Jaleco SS806Pizza Pop, Plasma Ball
19Namco 106Splatter House, Mappy Kids
21Konami VRC4 2AWaiWai World 2, Ganbare Goemon Gaiden 2
22Konami VRC4 1BTwinbee 3
23Konami VRC2BWaiWai World, Crisis Force
24Konami VRC6Akumajou Densetsu
25Konami VRC4Gradius 2, Bio Miracle:Boku tte Upa
26Konami VRC6 A0-A1 SwapEsper Dream 2, Madara
32IREM G-101Image Fight 2, Perman
33Taito TC0190/TC0350Don Doko Don
34NINA-001 and BNROMImpossible Mission 2, Deadly Towers, Bug Honey
37??Super Mario Bros/Tetris/Nintendo World Cup
38??Crime Busters
40??Super Mario Bros. 2j bootleg
41Caltron 6-in-1Caltron 6-in-1
42(bootleg)Mario Baby
44Multi-cart(bootleg)Super HiK 7 in 1
45Multi-cart(bootleg)Super 1000000 in 1
46Game StationRumble Station
47NES-QJNintendo World Cup/Super Spike V-Ball
48Taito TC190VFlintstones
49Multi-cart(bootleg)Super HiK 4 in 1
51Multi-cart(bootleg)11 in 1 Ball Games
52Multi-cart(bootleg)Mario Party 7 in 1
64Tengen RAMBO 1Klax, Rolling Thunder, Skull and Crossbones
65IREM H-3001Daiku no Gensan 2
66GNROMSMB/Duck Hunt
67Sunsoft ??Fantasy Zone 2
68Sunsoft ??After Burner 2, Nantetta Baseball
69Sunsoft FME-7Batman: Return of the Joker, Hebereke
70??Kamen Rider Club
71CamericaFire Hawk, Linus Spacehead
72Jaleco ??Pinball Quest
73Konami VRC3Salamander
74Taiwanese MMC3 CHR ROM w/ VRAMSuper Robot Wars 2
75Jaleco SS8805/Konami VRC1Tetsuwan Atom, King Kong 2
76Namco 109Megami Tensei
77IREM ??Napoleon Senki
78Irem 74HC161/32Holy Diver
79NINA-06/NINA-03F15 City War, Krazy Kreatures, Tiles of Fate
80Taito X-005Minelvation Saga
82Taito ??Kyuukyoku Harikiri Stadium - Heisei Gannen Ban
85Konami VRC7Lagrange Point
86Jaleco JF-13More Pro Baseball
87??Argus
88Namco 118Dragon Spirit
89Sunsoft ??Mito Koumon
90??Super Mario World, Mortal Kombat 3, Tekken 2
92Jaleco ??MOERO Pro Soccer
93??Fantasy Zone
94??Senjou no Ookami
95Namco 118Dragon Buster
96Bandai ??Oeka Kids
97??Kaiketsu Yanchamaru
99VS System 8KB VROM SwitchVS SMB, VS Excite Bike
101Jaleco JF-10Urusei Yatsura
105NES-EVENTNintendo World Championships
107??Magic Dragon
112AsderSango Fighter, Hwang Di
113MB-91Deathbots
114??The Lion King
115??Yuu Yuu Hakusho Final, Thunderbolt 2, Shisen Mahjian 2
117??San Guo Zhi 4
118MMC3-TLSROM/TKSROM BoardYs 3, Goal! 2, NES Play Action Football
119MMC3-TQROM BoardHigh Speed, Pin*Bot
133Sachen SA72008Jovial Race
134Sachen 74LS374NOlympic IQ
135Sachen 8259ASuper Pang
140Jaleco ??Bio Senshi Dan
144AGCI 50282Death Race
150Camerica BF9097FireHawk
151Konami VS System ExpansionVS The Goonies, VS Gradius
152??Arkanoid 2, Saint Seiya Ougon Densetsu
153Bandai ??Famicom Jump 2
154Namco ??Devil Man
155MMC1 w/o normal WRAM disableThe Money Game, Tatakae!! Rahmen Man
156??Buzz and Waldog
157Bandai Datach ??Datach DBZ, Datach SD Gundam Wars, **EEPROM is not emulated
158RAMBO 1 DerivativeAlien Syndrome
159Bandai ??(X24C01P EEPROM)Magical Taruruuto-kun
160(same as mapper 90)(same as mapper 90)
180??Crazy Climber
182??Super Donkey Kong
184??Wing of Madoola, The
185CNROM w/ CHR ROM unmappingBanana, Mighty Bomb Jack, Spy vs Spy(Japanese)
189??Thunder Warrior, Street Fighter 2 (Yoko)
190??Magic Kid Googoo
193Mega SoftFighting Hero
206DEIROMKarnov
207Taito ??Fudou Myouou Den
208??Street Fighter IV (by Gouder)
209(mapper 90 w/ name-table control mode enabled)Shin Samurai Spirits 2, Power Rangers III
210Namco ??Famista '92, Famista '93, Wagyan Land 2
215Bootleg multi-cart ??Super 308 3-in-1
217Bootleg multi-cart ??Golden Card 6-in-1
222Bootleg ??Dragon Ninja
228Action 52Action 52, Cheetahmen 2
232BIC-48Quattro Arcade, Quattro Sports
234Multi-cart ??Maxi-15
240??Gen Ke Le Zhuan, Shen Huo Le Zhuan
241??Journey to the West
242??Wai Xing Zhan Shi
244??Decathalon
246??Fong Shen Ban
248??Bao Qing Tian
249Waixing ????
250??Time Diver Avenger


UNIF

Mednafen supports the following UNIF boards. The prefixes HVC-, NES-, BTL-, and BMC- are omitted, since they are currently ignored in Mednafen's UNIF loader.

Group:
Name:Game Examples:
Bootleg:
BioMiracleAMario Baby
MARIO1-MALEE2Super Mario Bros. Malee 2
NovelDiamond9999999in1Novel Diamond 999999 in 1
Super24in1SC03Super 24 in 1
Supervision16in1Supervision 16-in-1
Unlicensed:
UNL-603-5052Contra Fighter
NINA-06F-15 City War
Sachen-8259ASuper Cartridge Version 1
Sachen-8259BSilver Eagle
Sachen-74LS374NAuto Upturn
SA-016-1MMaster Chu and the Drunkard Hu
SA-72007Sidewinder
SA-72008Jovial Race
SA-0036Mahjong 16
SA-0037Mahjong Trap
TC-U01-1.5MChallenge of the Dragon
8237Pocahontas Part 2
MMC1:
SAROMDragon Warrior
SBROMDance Aerobics
SCROMOrb 3D
SEROMBoulderdash
SGROMDefender of the Crown
SKROMDungeon Magic
SLROMCastlevania 2
SL1ROMSky Shark
SNROMShingen the Ruler
SOROMNobunaga's Ambition
MMC2:
PEEOROMMike Tyson's Punch Out
PNROMPunch Out
MMC3:
TFROMLegacy of the Wizard
TGROMMegaman 4
TKROMKirby's Adventure
TKSROMYs 3
TLROMSuper Spike V'Ball
TLSROMGoal! 2
TR1ROMGauntlet
TQROMPinbot
TSROMSuper Mario Bros. 3
TVROMRad Racer 2
MMC5:
EKROMGemfire
ELROMCastlevania 3
ETROMNobunaga's Ambition 2
EWROMRomance of the Three Kingdoms 2
MMC6:
HKROMStar Tropics
FME7:
BTRBatman: Return of the Joker
Nintendo Discrete Logic:
CNROMGotcha
CPROMVideomation
GNROMSuper Mario Bros./Duck Hunt
MHROM
NROM-128Mario Bros.
NROM-256Super Mario Bros.
RROM-128
UNROMMegaman



Famicom Disk System

You will need the FDS BIOS ROM image in the base Mednafen directory. It must be named "disksys.rom". Mednafen will not load FDS games without this file.

Two types of FDS disk images are supported: disk images with the FWNES-style header, and disk images with no header. The number of sides on headerless disk images is calculated by the total file size, so don't put extraneous data at the end of the file.

If a loaded disk image is written to during emulation, Mednafen will store the modified disk image in the save games directory, which is by default "sav" under the base directory.


Game Genie

The Game Genie ROM image is loaded from the path specified by the setting "nes.ggrom", or, if that string is not set, the file "gg.rom" in the base directory when Game Genie emulation is enabled.

The ROM image may either be the 24592 byte iNES-format image, or the 4352 byte raw ROM image.


VS Unisystem

Mednafen currently only supports VS Unisystem ROM images in the iNES format. DIP switches and coin insertion are both emulated. The following games are supported, and have palettes provided(though not necessarily 100% accurate or complete):



Default Key Assignments

Key(s):Action:Configuration String:
ALT + SHIFT + 1Activate in-game input configuration process for input port 1.input_config1
ALT + SHIFT + 2Activate in-game input configuration process for input port 2.input_config2
ALT + SHIFT + 3Activate in-game input configuration process for input port 3.input_config3
ALT + SHIFT + 4Activate in-game input configuration process for input port 4.input_config4
ALT + SHIFT + 5Activate in-game input configuration process for the Famicom expansion port.input_config5

VS Unisystem

Key:Action:Configuration String:
F8Insert coin.insert_coin
F6Show/Hide dip switches.toggle_dipview
1-8Toggle dip switches(when dip switches are shown)."1" through "8"

Famicom Disk System

Key:Action:Configuration String:
F6Select disk and disk side.select_disk
F8Eject or Insert disk.insert_eject_disk

Barcode Readers

Key:Action:Configuration String:
0-9Barcode digits(after activating barcode input)."0" through "9"
F8Activate barcode input/scan barcode.activate_barcode

Game Pad

Key:Button on Emulated Gamepad:
Keypad 2B
Keypad 3A
Enter/ReturnStart
TabSelect
SDown
WUp
ALeft
DRight

Power Pad

Side B
OP []
KL;'
M,./

Side A
P [
KL;'
,.

Family Keyboard

All emulated keys are mapped to the closest open key on the PC keyboard, with a few exceptions. The emulated "@" key is mapped to the "`"(grave) key, and the emulated "kana" key is mapped to the "Insert" key(in the 3x2 key block above the cursor keys).

To use the Family Keyboard emulation properly, press SHIFT + Scroll Lock, which will cause input to be grabbed from the window manager(if present) and disable Mednafen's other internal command processing.


HyperShot Controller

RunJump
Controller IQW
Controller IIER

Mahjong Controller

Emulated Mahjong Controller:ABCDEFGHIJKLMN
PC Keyboard:QWERTASDFGHJKL

Emulated Mahjong Controller:SELST?????
PC Keyboard:ZXCVBNM


Party Tap Controller

Emulated Buzzer:123456
PC Keyboard:QWERTY



Game-specific Emulation Hacks

Title:Description:Source code files affected:
KickMaster KickMaster relies on the low-level behavior of the MMC3(PPU A12 low->high transition) to work properly in certain parts. If an IRQ begins at the "normal" time on the last visible scanline(239), the game will crash after beating the second boss and retrieving the item. The hack is simple, to clock the IRQ counter twice on scanline 238. src/nes/boards/mmc3.cpp
Shougi Meikan '92
Shougin Meikan '93
The hack for these games is identical to the hack for KickMaster. src/nes/boards/mmc3.cpp
Star Wars (PAL/European Version) This game probably has the same(or similar) problem on Mednafen as KickMaster. The hack is to clock the IRQ counter twice on the "dummy" scanline(scanline before the first visible scanline).src/nes/boards/mmc3.c

Settings Reference

Caution: Any settings that change emulation behavior as seen from the emulated game are shown with the setting name bolded in the table. One should be conscious of these settings if one has changed them from the default values when using network play or movies, as they can cause desychronizations if not set the same among hosts(or between the recording emulator and the playing emulator).

Setting:Value Type:Possible Values:Default Value:Description:
nes.clipsidesboolean0
1
0Clip left+right 8 pixel columns.
 
nes.correct_aspectboolean0
1
0Correct the aspect ratio.
 
nes.fnscanboolean0
1
1Scan filename for (U),(J),(E),etc. strings to en/dis-able PAL emulation.

Caution: Enabling this option may break NES network play if the players are using ROM images with different filenames.

 
nes.ggboolean0
1
0Enable Game Genie emulation.
 
nes.ggromstring gg.romPath to Game Genie ROM image.
 
nes.input.fcexpenumnone
arkanoid
shadow
4player
fkb
hypershot
mahjong
partytap
ftrainera
ftrainerb
oekakids
bworld
noneInput device for Famicom Expansion Port
  • none - none

  • arkanoid - Arkanoid Paddle

  • shadow - Space Shadow Gun

  • 4player - 4-player Adapter

  • fkb - Family Keyboard
    Emulated keyboard key state is not updated unless input grabbing(by default, mapped to CTRL+SHIFT+Menu) is toggled on; refer to the main documentation for details.

  • hypershot - Hypershot Paddles

  • mahjong - Mahjong Controller

  • partytap - Party Tap

  • ftrainera - Family Trainer Side A

  • ftrainerb - Family Trainer Side B

  • oekakids - Oeka Kids Tablet

  • bworld - Barcode Battler II
 
nes.input.port1enumnone
gamepad
zapper
powerpada
powerpadb
arkanoid
gamepadInput device for Port 1
  • none - none

  • gamepad - Gamepad

  • zapper - Zapper

  • powerpada - Power Pad Side A

  • powerpadb - Power Pad Side B

  • arkanoid - Arkanoid Paddle
 
nes.input.port2enumnone
gamepad
zapper
powerpada
powerpadb
arkanoid
gamepadInput device for Port 2
  • none - none

  • gamepad - Gamepad

  • zapper - Zapper

  • powerpada - Power Pad Side A

  • powerpadb - Power Pad Side B

  • arkanoid - Arkanoid Paddle
 
nes.input.port3enumnone
gamepad
gamepadInput device for Port 3
  • none - none

  • gamepad - Gamepad
 
nes.input.port4enumnone
gamepad
gamepadInput device for Port 4
  • none - none

  • gamepad - Gamepad
 
nes.n106bsboolean0
1
0Enable less-accurate, but better sounding, Namco 106(mapper 19) sound emulation.
 
nes.no8limboolean0
1
0Remove 8-sprites-per-scanline hardware limit.

Caution: Enabling this option will cause graphical glitches in some games, including "Solstice".

 
nes.nofsboolean0
1
0Disable four-score emulation.
 
nes.ntsc.brightnessreal-1 through 10NTSC composite blitter brightness.
 
nes.ntsc.contrastreal-1 through 10NTSC composite blitter contrast.
 
nes.ntsc.huereal-1 through 10NTSC composite blitter hue.
 
nes.ntsc.matrixboolean0
1
0Enable NTSC custom decoder matrix.
 
nes.ntsc.matrix.0real-2.000 through 2.0001.539NTSC custom decoder matrix element 0(red, value * V).
 
nes.ntsc.matrix.1real-2.000 through 2.000-0.622NTSC custom decoder matrix element 1(red, value * U).
 
nes.ntsc.matrix.2real-2.000 through 2.000-0.571NTSC custom decoder matrix element 2(green, value * V).
 
nes.ntsc.matrix.3real-2.000 through 2.000-0.185NTSC custom decoder matrix element 3(green, value * U).
 
nes.ntsc.matrix.4real-2.000 through 2.0000.000NTSC custom decoder matrix element 4(blue, value * V).
 
nes.ntsc.matrix.5real-2.000 through 2.0002.000NTSC custom decoder matrix element 5(blue, value * U.
 
nes.ntsc.mergefieldsboolean0
1
0Merge fields to partially work around !=60.1Hz refresh rates.
 
nes.ntsc.presetenumdisabled
composite
svideo
rgb
monochrome
noneVideo quality/type preset.
  • disabled - Disabled

  • composite - Composite Video

  • svideo - S-Video

  • rgb - RGB

  • monochrome - Monochrome
 
nes.ntsc.saturationreal-1 through 10NTSC composite blitter saturation.
 
nes.ntsc.sharpnessreal-1 through 10NTSC composite blitter sharpness.
 
nes.ntscblitterboolean0
1
0Enable NTSC color generation and blitter.

NOTE: If your refresh rate isn't very close to 60.1Hz(+-0.1), you will need to set the "nes.ntsc.mergefields" setting to "1" to avoid excessive flickering.

 
nes.palboolean0
1
0Enable PAL(50Hz) NES emulation.
 
nes.slendinteger0 through 239231Last displayed scanline in NTSC mode.
 
nes.slendpinteger0 through 239239Last displayed scanline in PAL mode.
 
nes.slstartinteger0 through 2398First displayed scanline in NTSC mode.
 
nes.slstartpinteger0 through 2390First displayed scanline in PAL mode.
 
nes.sound_rate_errorreal0.0000001 through 0.010.00004Output rate tolerance.

Lower values correspond to better matching of the output rate of the resampler to the actual desired output rate, at the expense of increased RAM usage and poorer CPU cache utilization. DO NOT INCREASE THIS VALUE, OR SOUND WILL LIKELY BE OFF-KEY AND THE WRONG TEMPO, AMONG OTHER PROBLEMS.

 
nes.soundqinteger-2 through 30Sound quality.

Higher values correspond to better SNR and better preservation of higher frequencies("brightness"), at the cost of increased computational complexity and a negligible(<0.5ms) increase in latency.

 

Setting:Value Type:Possible Values:Default Value:Description:
nes.debugger.disfontsizeenum5x7
6x9
6x12
6x13
9x18
5x7Disassembly font size.

Note: Setting the font size to larger than the default may cause text overlap in the debugger.

  • 5x7 - 5x7

  • 6x9 - 6x9

  • 6x12 - 6x12

  • 6x13 - 6x13. CJK support.

  • 9x18 - 9x18; CJK support.
 
nes.debugger.memcharencstring cp437Character encoding for the debugger's memory editor.
 
nes.enableboolean0
1
1Enable (automatic) usage of this module.
 
nes.scanlinesinteger-100 through 1000Enable scanlines with specified opacity.

Opacity is specified in %; IE a value of "100" will give entirely black scanlines.

Negative values are the same as positive values for non-interlaced video, but for interlaced video will cause the scanlines to be overlaid over the previous(if the "video.deinterlacer" setting is set to "weave", the default) field's lines.

 
nes.shaderenumnone
autoip
autoipsharper
scale2x
sabr
ipsharper
ipxnoty
ipynotx
ipxnotysharper
ipynotxsharper
goat
noneEnable specified OpenGL shader.

Obviously, this will only work with the OpenGL "video.driver" setting, and only on cards and OpenGL implementations that support shaders, otherwise you will get a black screen, or Mednafen may display an error message when starting up. When a shader is enabled, the "nes.videoip" setting is ignored.

  • none - None/Disabled

  • autoip - Auto Interpolation
    Will automatically interpolate on each axis if the corresponding effective scaling factor is not an integer.

  • autoipsharper - Sharper Auto Interpolation
    Same as "autoip", but when interpolation is done, it is done in a manner that will reduce blurriness if possible.

  • scale2x - Scale2x

  • sabr - SABR v3.0
    GPU-intensive.

  • ipsharper - Sharper bilinear interpolation.

  • ipxnoty - Linear interpolation on X axis only.

  • ipynotx - Linear interpolation on Y axis only.

  • ipxnotysharper - Sharper version of "ipxnoty".

  • ipynotxsharper - Sharper version of "ipynotx".

  • goat - Simple approximation of a color TV CRT look.
    Intended for fullscreen modes with a vertical resolution of around 1000 to 1500 pixels. Doesn't simulate halation and electron beam energy distribution nuances.
 
nes.shader.goat.fprogboolean0
1
0Force interlaced video to be treated as progressive.

When disabled, the default, the "video.deinterlacer" setting is effectively ignored with respect to what appears on the screen, unless it's set to "blend" or "blend_rg". When enabled, it may be prudent to disable the scanlines effect controlled by the "nes.shader.goat.slen" setting, or else the scanline effect may look objectionable.

 
nes.shader.goat.hdivreal-2.00 through 2.000.50Constant RGB horizontal divergence.
 
nes.shader.goat.patenumgoatron
borg
slenderman
goatronMask pattern.
  • goatron - Goatron
    Brightest.

  • borg - Borg
    Darkest.

  • slenderman - Slenderman
    Spookiest?
 
nes.shader.goat.slenboolean0
1
1Enable scanlines effect.
 
nes.shader.goat.tpreal0.00 through 1.000.50Transparency of otherwise-opaque mask areas.
 
nes.shader.goat.vdivreal-2.00 through 2.000.50Constant RGB vertical divergence.
 
nes.specialenumnone
hq2x
hq3x
hq4x
scale2x
scale3x
scale4x
2xsai
super2xsai
supereagle
nn2x
nn3x
nn4x
nny2x
nny3x
nny4x
noneEnable specified special video scaler.

The destination rectangle is NOT altered by this setting, so if you have xscale and yscale set to "2", and try to use a 3x scaling filter like hq3x, the image is not going to look that great. The nearest-neighbor scalers are intended for use with bilinear interpolation enabled, for a sharper image, though the "autoipsharper" shader may provide better results.

  • none - None/Disabled

  • hq2x - hq2x

  • hq3x - hq3x

  • hq4x - hq4x

  • scale2x - scale2x

  • scale3x - scale3x

  • scale4x - scale4x

  • 2xsai - 2xSaI

  • super2xsai - Super 2xSaI

  • supereagle - Super Eagle

  • nn2x - Nearest-neighbor 2x

  • nn3x - Nearest-neighbor 3x

  • nn4x - Nearest-neighbor 4x

  • nny2x - Nearest-neighbor 2x, y axis only

  • nny3x - Nearest-neighbor 3x, y axis only

  • nny4x - Nearest-neighbor 4x, y axis only
 
nes.stretchenum0
full
aspect
aspect_int
aspect_mult2
aspect_mult2Stretch to fill screen.
  • 0 - Disabled

  • full - Full
    Full-screen stretch, disregarding aspect ratio.

  • aspect - Aspect Preserve
    Full-screen stretch as far as the aspect ratio(in this sense, the equivalent xscalefs == yscalefs) can be maintained.

  • aspect_int - Aspect Preserve + Integer Scale
    Full-screen stretch, same as "aspect" except that the equivalent xscalefs and yscalefs are rounded down to the nearest integer.

  • aspect_mult2 - Aspect Preserve + Integer Multiple-of-2 Scale
    Full-screen stretch, same as "aspect_int", but rounds down to the nearest multiple of 2.
 
nes.tblurboolean0
1
0Enable video temporal blur(50/50 previous/current frame by default).
 
nes.tblur.accumboolean0
1
0Accumulate color data rather than discarding it.
 
nes.tblur.accum.amountreal0 through 10050Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
 
nes.videoipenum0
1
x
y
0Enable (bi)linear interpolation.
  • 0 - Disabled

  • 1 - Bilinear

  • x - Linear (X)
    Interpolation only on the X axis.

  • y - Linear (Y)
    Interpolation only on the Y axis.
 
nes.xresinteger0 through 655360Full-screen horizontal resolution.

A value of "0" will cause the current desktop horizontal resolution to be used.

 
nes.xscalereal0.01 through 2564.000000Scaling factor for the X axis in windowed mode.
 
nes.xscalefsreal0.01 through 2561.000000Scaling factor for the X axis in fullscreen mode.

For this setting to have any effect, the "nes.stretch" setting must be set to "0".

 
nes.yresinteger0 through 655360Full-screen vertical resolution.

A value of "0" will cause the current desktop vertical resolution to be used.

 
nes.yscalereal0.01 through 2564.000000Scaling factor for the Y axis in windowed mode.
 
nes.yscalefsreal0.01 through 2561.000000Scaling factor for the Y axis in fullscreen mode.

For this setting to have any effect, the "nes.stretch" setting must be set to "0".

 

Credits

(This section is woefully outdated, being mostly copied from FCE Ultra)

Name:Contribution(s):
\Firebug\High-level mapper information.
BeroOriginal FCE source code.
Brad TaylorNES sound information.
EFXTesting.
Fredrik OlsonNES four-player adapter information.
gorohVarious documents.
Jeremy ChadwickGeneral NES information.
kevtrisLow-level NES information and sound information.
KiVarious technical information.
Mark KnibbsVarious NES information.
Marat FayzullinGeneral NES information.
Matthew ConteSound information.
noriFDS sound information.
rahgaFamicom four-player adapter information.
TheRedEyeROM images, testing.
...and everyone whose name my mind has misplaced.