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
- Martin Freij
- R. Danbrook
- Rupert Carmichael (carmiker)
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.
External Links¶
- Upstream Nestopia JG Repository
- Libretro Nestopia Core info file
- Libretro Nestopia Github Repository
- Report Libretro Nestopia Core Issues Here