Skip to content

Nintendo - NES / Famicom (Nestopia)

Background

Nestopia is a cycle accurate emulator for the NES/Famicom. This is the libretro port of the Nestopia emulator, based on the de facto upstream Nestopia JG fork. The libretro port contains an additional overclocking feature.

Author/License

The Nestopia core has been authored by

The Nestopia core is licensed under

A summary of the licenses behind RetroArch and its cores can be found here.

Extensions

Content that can be loaded by the Nestopia core have the following file extensions:

  • .nes
  • .fds
  • .unf
  • .unif

Databases

RetroArch database(s) that are associated with the Nestopia core:

BIOS

Required or optional firmware files go in the frontend's system directory.

Warning

Prior to version 1.50, it required the NstDatabase.xml file for general proper emulation. In version 1.50 or higher, it's baked into the core.

Filename Description md5sum
disksys.rom Family Computer Disk System BIOS - Required for Famicom Disk System emulation ca30b50f880eb660a320674ed365ef7a

Features

Frontend-level settings or features that the Nestopia core respects.

Feature Supported
Restart
Screenshots
Saves
States
Rewind
Netplay
Core Options
RetroAchievements
RetroArch Cheats
Native Cheats
Controls
Remapping
Multi-Mouse
Rumble
Sensors
Camera
Location
Subsystem
Softpatching
Disk Control
Username
Language
Crop Overscan
LEDs

Directories

The Nestopia core's internal core name is 'Nestopia'

The Nestopia core saves/loads to/from these directories.

Frontend's Save directory

  • 'content-name'.srm (Cartridge battery save)

Frontend's State directory

  • 'content-name'.state# (State)

Frontend's System directory

  • custom.pal (Custom palette file)

Geometry and timing

  • The Nestopia core's core provided FPS is (FPS)
  • The Nestopia core's core provided sample rate is 44100 Hz
  • The Nestopia core's core provided aspect ratio is dependent on the 'Preferred aspect ratio' core option.

NstDatabase.xml

The Nestopia core relies on the internal database (built from the NstDatabase.xml file) for

  • Games that support a custom mapper
  • Games that support multitap accessories
  • Games that support the Zapper
  • ROM Hacks
  • Famicom Disk System games
  • General proper emulation of games

Custom color palettes

To use custom color palettes in the Nestopia core, the custom color palette file you want to use must be in RetroArch's system directory.

Make sure the custom palette file is named 'custom.pal'

Also, the 'Palette' core option must be set to custom.

Custom color palettes for the NES can be generated with either of these tools.

Core options

The Nestopia 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.

  • Blargg NTSC filter [nestopia_blargg_ntsc_filter] (disabled|composite|svideo|rgb|monochrome)

    Enable Blargg NTSC filters.

Disclaimer

These 'Blargg NTSC filter' core option screenshots have been taken with the 'Palette' core option set to cxa2025as.

Blargg NTSC filter - Off

Blargg NTSC filter - composite

Blargg NTSC filter - svideo

Blargg NTSC filter - rgb

Blargg NTSC filter - monochrome

  • Palette [nestopia_palette] (cxa2025as|consumer|canonical|alternative|rgb|pal|composite-direct-fbx|pvm-style-d93-fbx|ntsc-hardware-fbx|nes-classic-fbx-fs|raw|custom)

    Choose which color palette is going to be used.

Disclaimer

These 'Palette' core option screenshots have been taken with the 'Blargg NTSC filter' core option set to Off.

Palette - cxa2025as

Palette - consumer

Palette - canonical

Palette - alternative

Palette - rgb

Palette - pal

Palette - composite-direct-fbx

Palette - pvm-style-d93-fbx

Palette - ntsc-hardware-fbx

Palette - nes-classic-fbx-fs

Palette - raw

  • Remove Sprite Limit [nestopia_nospritelimit] (disabled|enabled)

    Remove 8-sprites-per-scanline hardware limit.

  • CPU Speed (Overclock) [nestopia_overclock] (1x|2x)

    Overclock the emulated CPU.

  • 4 Player Adapter [nestopia_select_adapter] (auto|ntsc|famicom)

    Manually select a 4 Player Adapter if needed. Some games will not recognize the adapter correctly through the internal database, this option should help fix that.

  • FDS Auto Insntert [nestopia_fds_auto_insert] (enabled|disabled)

    Automatically insert first FDS disk on reset.

  • Mask Overscan (Vertical) [nestopia_overscan_v] (enabled|disabled)

    Mask 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.

Mask Overscan (Vertical) - On

Mask Overscan (Vertical) - Off

  • Mask Overscan (Horizontal) [nestopia_overscan_h] (disabled|enabled)

    Mask 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.

Mask Overscan (Horizontal) - Off

Mask Overscan (Horizontal) - On

  • Preferred aspect ratio [nestopia_aspect] (auto|ntsc|pal|4:3)

    Choose the preferred aspect ratio. RetroArch's aspect ratio must be set to Core provided in the Video settings. 'auto' will use the internal database for aspect ratio autodetection.

Preferred aspect ratio - ntsc

Preferred aspect ratio - pal

Preferred aspect ratio - 4:3

  • Game Genie Sound Distortion [nestopia_genie_distortion] (disabled|enabled)

    The Game Genie cheat device could inadvertently introduce sound distortion in games. By enabling this, you can simulate the distortion it would add to a game's sound.

  • System Region [nestopia_favored_system] (auto|ntsc|pal|famicom|dendy)

    Choose which region the system is from. 'auto' will use the internal database for region autodetection.

  • RAM Power-on State [nestopia_ram_power_state] (0x00|0xFF|random)

    Awaiting description.

  • Turbo Pulse Speed [nestopia_turbo_pulse] (2|3|4|5|6|7|8|9)

    Set the turbo pulse speed for the Turbo B and Turbo A buttons.

Controllers

The Nestopia core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):

User 1 - 4 device types

  • None - Disables input.
  • Auto - Automatically detects the device to use based on the internal database.
  • Gamepad - Joypad
  • Arkanoid - Arkanoid paddle - This should be automatic from the internal database, but this can be changed to Gamepad if you'd prefer using a joypad rather than a paddle. (Port 2 only)
  • Zapper - Lightgun - The Nestopia core can emulate Zapper inputs. This is generally done automatically based off of the internal database, but can be manually selected as a device type. (Port 2 only)

Multitap support

The Nestopia core uses the internal database to detect which games have multitap support.

Controller tables

Joypad

User 1 Remap descriptors RetroPad Inputs
B
Turbo B
Select
Start
D-Pad Up
D-Pad Down
D-Pad Left
D-Pad Right
A
Turbo A
(FDS) Disk Side Change
(FDS) Eject Disk
(VSSystem) Coin 1
(VSSystem) Coin 2
(Famicom) Microphone
User 2 - 4 Remap descriptors RetroPad Inputs
B
Turbo B
Select
Start
D-Pad Up
D-Pad Down
D-Pad Left
D-Pad Right
A
Turbo A
(FDS) Disk Side Change
(FDS) Eject Disk

Lightgun

RetroLightgun Inputs Zapper
Gun Crosshair Zapper Crosshair
Gun Trigger Zapper Trigger
Gun Aux B Zapper Light On

Compatibility

The Nestopia core is compatible with 100% of officially released titles, and the vast majority of homebrew and hacks.

See also

Nintendo - Family Computer Disk System

Nintendo - Nintendo Entertainment System