Nintendo - NES / Famicom (FCEUmm)¶
FCEU "mappers modified" is an unofficial build of FCEU Ultra by CaH4e3, which supports a lot of new mappers including some obscure mappers such as one for unlicensed NES ROM's.
The FCEUmm core has been authored by
- FCEU Team
The FCEUmm core is licensed under
A summary of the licenses behind RetroArch and its cores have found here.
Content that can be loaded by the FCEUmm core have the following file extensions:
RetroArch database(s) that are associated with the FCEUmm core:
Required or optional firmware files go in the frontend's system directory.
|disksys.rom||Family Computer Disk System BIOS - Required for Famicom Disk System emulation||ca30b50f880eb660a320674ed365ef7a|
Frontend-level settings or features that the FCEUmm core respects.
The FCEUmm core's internal core name is 'FCEUmm'
The FCEUmm core saves/loads to/from these directories.
Frontend's Save directory
|*.srm||Cartridge battery save|
Frontend's State directory
Frontend's System directory
|nes.pal||Custom palette (64 triplets)|
Geometry and timing¶
- The FCEUmm core's core provided FPS is NTSC 60.10, PAL 50.0, Dendy 50.0
- The FCEUmm core's core provided sample rate is 48000 Hz
- The FCEUmm core's base width is 256
- The FCEUmm core's base height is 240
- The FCEUmm core's max width is 256
- The FCEUmm core's max height is 240
- The FCEUmm core's core provided aspect ratio is 4:3 or 8:7
Custom color palettes¶
To use custom color palettes in the FCEUmm core, the 'Color Palette' core option must be set to custom and the custom color palette file you want to use must be in RetroArch's system directory.
Make sure the custom palette file is named 'nes.pal'
Custom color palettes for the NES can be generated with either of these tools.
The FCEUmm core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
Region Override [fceumm_region] (Auto|NTSC|PAL|Dendy)
Choose which region the system is from.
Preferred aspect ratio [fceumm_aspect] (8:7 PAR|4:3)
Choose the preferred aspect ratio. RetroArch's aspect ratio must be set to Core provided in the Video seetings.
Preferred aspect ratio - 8:7 PAR
Preferred aspect ratio - 4:3
Color Palette [fceumm_palette] (default|asqrealc|nintendo-vc|rgb|yuv-v3|unsaturated-final|sony-cxa2025as-us|pal|bmf-final2|bmf-final3|smooth-fbx|composite-direct-fbx|pvm-style-d93-fbx|ntsc-hardware-fbx|nes-classic-fbx-fs|nescap|wavebeam|raw|custom)
Choose which color palette is going to be used. The raw palette can used in combination with the nes-decoder shader to give colors based off on Bisqwit's NES palette generator and applies either an FCC color conversion matrix or specific Sony US matrix.
These 'Color Palette core option screenshots have been taken with the 'Use NTSC Palette' core option set to Off.
Color Palette - default
Color Palette - asqrealc
Color Palette - nintendo-vc
Color Palette - rgb
Color Palette - yuv-v3
Color Palette - unsaturated-final
Color Palette - sony-cxa2025as-us
Color Palette - pal
Color Palette - bmf-final2
Color Palette - bmf-final3
Color Palette - smooth-fbx
Color Palette - composite-direct-fbx
Color Palette - pvm-style-d93-fbx
Color Palette - ntsc-hardware-fbx
Color Palette - nes-classic-fbx-fs
Color Palette - nescap
Color Palette - wavebeam
Color Palette - raw
Allow Opposing Directions [fceumm_up_down_allowed] (disabled|enabled)
Enabling this will allow pressing / quickly alternating / holding both left and right (or up and down in some games) directions at the same time.
This may cause movement based glitches to occur in certain games.
It's best to keep this core option disabled.
Crop Overscan (Horizontal) [fceumm_overscan_h] (disabled|enabled)
Crop out (horizontally) the potentially random glitchy video output that would have been hidden by the bezel around the edge of a standard-definition television screen.
Crop Overscan (Horiontal) - Off
Crop Overscan (Horizontal) - On
Crop Overscan (Vertical) [fceumm_overscan_v] (enabled|disabled)
Crop out (vertically) the potentially random glitchy video output that would have been hidden by the bezel around the edge of a standard-definition television screen.
Crop Overscan (Vertical) - On
Crop Overscan (Vertical) - Off
No Sprite Limit [fceumm_nospritelimit] (disabled|enabled)
Removes 8-sprites-per-scanline hardware limit.
Sound Volume [fceumm_sndvolume] (0|1|2|3|4|5|6|7|8|9|10)
Sound Quality [fceumm_sndquality] (Low|High|Very High)
Enables high/higher sound quality for games using expansion audio (MMC5, VRC6, VRC7, Namco, Sunsoft). Use Low for slower devices.
Swap Duty Cycles [fceumm_swapduty] (disabled|enabled)
Replicates the sound of some famiclones that have duty cycles swapped for square channels. A quick sound comparison is in Contra's sound effect when shooting with normal bullets.
Turbo Enable [fceumm_turbo_enable] (None|Player 1|Player 2|Both)
Enable the use of the Turbo B and Turbo A buttons.
Turbo Delay (in frames) [fceumm_turbo_delay] (3|5|10|15|30|60|1|2)
The number of frames between consecutive buttton presses when the Turbo B or Turbo A buttons are held down.
Zapper Mode [fceumm_zapper_mode] (lightgun|touchscreen|mouse)
Pointer allows the Zapper Device Type to be used for touch-devices, but still can be used with regular mouse. Pointer and Mouse mode movement behaves differently with different input driver so user can choose which movement feels natural to them.
Show Crosshair [fceumm_show_crosshair] (enabled|disabled)
Show the crosshair for the Zapper device type.
Show Crosshair - On
Show Crosshair - Off
Overclocking [fceumm_overclocking] (disabled|2x-Postrender|2x-VBlank)
Overclocks the NES using PPU method to minimize ingame slowdowns of some games. Contra Force needs VBlank mode (stage 3 slowdowns). Choose which ever minimizes slowdowns without image distortion.
RAM power up state (Restart) [fceumm_ramstate] (fill $ff|fill $00|random)
Choose RAM startup during power up. Fill the ram with either $FF, $00 or random. Some games rely on initial ram values for random generator as an example.
The FCEUmm core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):
User 1 device types¶
- None - Input disabled.
- Auto - Joypad - Based off the loaded game's crc, the core will automatically select a regular controller (NES or Famicom) for User 1.
- Gamepad - Joypad - Manually selects a regular controller (NES or Famicom) for User 1.
- Zapper - Mouse - Manually selects a Zapper light gun (NES or Famicom) for User 1.
NOTE 1: Zapper connected to user 1 is only required on VS Unisystem games. You will hear a loud alarm when a game requires one and no zapped device is selected or the game's CRC fails to match existing database for autodetection.
User 2 device types¶
- None - Input disabled.
- Auto - Joypad - Based off the loaded game's crc, the core will automatically select a regular controller (NES or Famicom) or a Zapper light gun (NES or Famicom) or a Arkanoid Paddle (NES only) for User 2.
- Gamepad - Joypad - Manually selects a regular controller (NES or Famicom) for User 2.
- Arkanoid - Mouse - Manually selects a Arkanoid Paddle (NES only) for User 2.
- Zapper - Mouse - Manually selects a Zapper light gun (NES or Famicom) for User 2.
NOTE 2: Zapper connected to user 2 is required for most cases. See note 1 above.
User 3 and 4 device types - used for multitap¶
- None - Input disabled.
- Auto - Joypad - Based off the loaded game's crc, the core will automatically select a regular controller (NES or Famicom) for User 3 and/or 4 in multitap games.
- Gamepad - Joypad - Manually selects a regular controller (NES or Famicom) for User 3/4.
Other controllers (User 5 device type)¶
The FCEUmm core will also auto select the following controllers for the Famicom based off the loaded game's crc.
- Arkanoid Paddle (Famicom) - Mouse
- Bandai Hyper Shot Gun (Famicom) - Mouse
- Oeka Kids Tablet (Famicom) - Mouse
- 4-Player Adaptor - force enable multitap mode
The FCEUmm core supports up to 4 players in multitap games for the NES and Famicom, games with multitap usage are detected by their crc. Multitap can be manually enabled if selecting 4-Player Adaptor in User 5 Device type.
In order to use the Turbo A and Turbo B buttons, the 'Turbo Enable' core option must be set to On.
|User 1 Remap descriptors||RetroPad Inputs|
|(FDS) Disk Side Change|
|(FDS) Insert/Eject Disk|
|(VSSystem) Insert Coin|
|User 2 - 4 Remap descriptors||RetroPad Inputs|
|RetroMouse Inputs||Zapper||Arkanoid||Oeka Kids Tablet||Bandai Hyper Shot Gun|
|or||Zapper Crosshair||Arkanoid Movement||Oeka Kids Tablet Cursor||Bandai Hyper Shot Gun Crosshair|
|or||Zapper Trigger||Arkanoid Fire||Oeka Kids Tablet Touch||Bandai Hyper Shot Gun Trigger|
- When the 'Zapper Mode' core option is set to lightgun, the 'Zapper' device type can be controlled with lightgun inputs (such as Wii remote).
- When the 'Zapper Mode' core option is set to touchscreen, the 'Zapper' device type can be controlled with touch inputs.
- When the 'Zapper Mode' core option is set to mouse, the 'Zapper' device type can be controlled with mouse inputs.
|Skull & Crossbones||Graphical glitches and screen shaking when in 2-player mode.|
- Official FCEUmm Website
- Official FCEUmm Sourceforge Repository
- Libretro FCEUmm Core info file
- Libretro FCEUmm Github Repository
- Report Libretro FCEUmm Core Issues Here