PNES Switch
From GameBrew
More actions
| pNES | |
|---|---|
| General | |
| Author | Cpasjuste |
| Type | Console |
| Version | 7.1 |
| License | GPL-3.0 |
| Last Updated | 2025/12/30 |
| Links | |
| Download | |
| Website | |
| Source | |
| Support Author | |
pNES ia a NES emulator for the Nintendo Switch.
It is based on the excellent nestopia emulator. The main goals of this nestopia port are:
- Have a basic but user friendly user interface on non windows devices.
- Use a recent rendering interface for speed and effects support.
- Cross-platform and code portability.
- Easy updates of nestopia core (no modifications to the original sources).
This was participated in the GBAtemp Switch Homebrew Bounty 2018 (Emulators).
Features
- Support save states.
- Support 2x, 3x, fit, fit 4/3 and fullscreen hardware scaling.
- Support hardware filtering (shaders).
- Support shaders effects.
Installation
Copy "pnes" directory to "/switch/" directory on SD card.
Copy roms to "/switch/pnes/roms/" directory on SD card.
Controls
Plus - (In rom list) Configure main options and default roms options
Minus - (In rom list) Configure per rom options
Plus+Minus - (When in emulation) Bring the options menu
Screenshots
Changelog
v7.1
- psnes: fix texture pitch/lock
- psnes: bump snes9x to latest git rev
- switch: fix libmpv crash (fix crash on startup)
- vita: fix pgba installation (but gba emulation is slow...)
v7.0
- Main changes
- pgba: add mGBA core
- ui: add roms count in rom listing
- ui: improve filtering
- ui: fix roms listbox up/down
- ui: fix roms/systems filtering
- ui: rename FILTER_AVAILABLE to FILTER_MISSING
- ui: fix fit scaling on high resolution screens
- config: big refactor (may need manual deletion of old configs files)
- config: allow adding custom roms paths to config file
- common: remove embedded gamelist support(use gamelist.xml files found in roms paths)
- common: set option "FILTER_AVAILABLE" to "ON" by default
- misc: add support for loading game from console argument
- pgen: fix roms paths
- fbneo: bump to latest git revision : https://github.com/finalburnneo/FBNeo/tree/36092078ac2ba48acf2105d2cad8310ab2236224
- pfbneo: fix driver lookup
- vita: enable large heap size (256MB)
- vita: enable console games back
- vita: fix scaling options (missing scale 2x)
- vita: fix crash in release builds
- vita: fix fbneo core bump
- switch: fix libmpv crash on second app launch
- windows/linux: fix fullscreen on/off option
- Notes
- windows, vita and ps4 platforms were not fully tested
- Notes (pfbneo)
- Since version 7.0, "gamelist.xml" files are not included anymore in the binaries. The "gamelist.xml" file provide information about each game (name, genre, release date, if the game is a clone, etc...). If you do not provide your own "gamelist.xml" in each pfbneo rom folder, you will miss some information. If you do not have them, they can be created with a tool like Skraper (or my own command line one sscrap). Else you can download them from the repository history and put them in the corresponding rom folder (and rename them to "gamelist.xml").
- Know bugs
- The roms are not correctly detected on first app launch, please launch the app a second time to see your roms...
v6.7.1
- Common: cleanup media loading code.
- Common: add unknown files even if it doesn't exist in gamelist.xml.
- Common: change menus items position.
- Common: fix games paths starting with ./
- Common: fix medias paths with recalbox gamelist.xml format.
- Common: add ability to use custom gamelist.xml file in roms folders, overriding embedded (romfs) gamelist.xml.
- Common: add SHOW_AVAILABLE menu option to hide missing files/roms/systems from gamelist (restart required).
- ui: better handling of auto screen resolution.
- ui: add font scaling option.
- ui: add aspect ratio option.
- ui: do not show extensions in rom list.
- Skins: fix start and select buttons size.
- Skins: fix option menu title position.
- Skins: remove big skin (font scaling and aspect ratio options should be enough now).
- Skins: add config.cfg.override and config.cfg.override.43 support.
- Skins: allow/fix skin override from data directory.
- pNES: bump nestopia to 1.52.0.
- pNES: fix data paths (nestopia saves, etc...).
- pFBNeo: bump fbneo to latest git revision.
- pGEN: bump Genesis-Plus-GX to latest git revision (c3f02f9c9059e7f4898dd73feac57ef610e22db0).
- pGEN: fix vita audio crackling (fps drops).
- pSNES: bump to latest git revision (153965e5f2fbb0b638868ac3fa89ff8b0363d22c).
- Vita, 3DS, Windows: fix compilation.
- Vita: enable cps3 driver back (OPTION_LIGHT).
- Vita: fix app version in sfo creation.
- Switch(pnes): invert A/B buttons by default.
- Switch: force 720p resolution.
6.6
- Common: fix adding favorites in some cases.
- Common: revert roms paths to default if not available.
- pNES: should fix zip loading.
6.5
- pGEN: fix hidden roms when file extension len is 2 (switch/vita/ps4).
- Vita: fix fps counter.
- pGEN: fix sram loading.
- Common: disable config overwrite by default.
- Input: fix inputs not always cleared before processing.
- pGEN: fix emulation for roms size > 8MB.
- pNES: remove load_archive hacks (use libarchive).
- pNES: use 0ldsk00l repo.
- Linux: hopefully fix missing shared libaries.
6.4
- pGEN: check for missing mega-cd bios on loading.
- pGEN: save per game mega-cd backup ram.
- pGEN: fix state saving (vita).
- pGEN: fix scd_bram_cart.brm size.
- pGEN: add sram saving support.
- pSNES: remove deprecated high res option.
- pSNES: add AUDIO_SYNC option (on: perfect audio, off: minor audio stuttering in favor of fps).
- Vita: add more optimisations flags (improve fps).
- Vita: add WAIT_RENDERING option (improve fps but not working with effects).
- Common: fix wrong keys assignment in help bar (hopefully).
- Common: improve audio handling.
5.2
- Common: fix audio sync (50hz roms in pSNES/pNES and a few games like seiken densetsu 3).
- Common(skins): make menu text outline bigger.
- Common(skins): fix fonts vertical positions.
- Common: fix font padding and outline position.
- Common: update gamelists (move to emulationstation format, lower memory usage).
- pFBNeo: fix some games detected as clones (X-Men - Konami, ...).
- Switch (pNES/pSNES): update romlist help texture.
- Switch: fix single joycon mode for new c2d input (thanks R-YaTian).
- Linux: add buttons gfx, enable some joystick buttons (wip).
- Common: general improvements to enhance the user's experience...
5.1
- pNES: update gamelist.xml.
- pNES: fix paths (for NstDatabase.xml, etc...).
- pNES: always force audio sync.
- pNES: use romfs for NstDatabase.xml.
- pNES: update nestopia to latest git revision (c103378).
- pNES: fix states menu.
- pNES (ps4): fix datadir.
- pNES/pSNES: disable auto aspect ratio scaling mode.
- pNES/pSNES: improve scaling.
5.0
- FBNeo: bump core to git rev e44cd75.
- FBNeo: add system switch with fire buttons 5-6 (L/R).
- Input: add menu1 and menu2 keys config option.
- Update all databases.
- Add crt-geom-flat (for selected systems).
- Add ps4 support.
- Many changes...
4.4
- pNES: update for latest pemu changes.
- pFBN: add nes console support.
- pFBN: update FBNeo core to commit 89f2b6d.
- All: add "big_preview" skin.
- All: romlist: fix lower/upper cases sorting.
- All: romlist: don't filter on file extension, show any files in roms folder.
- All: load previews from default folders even if the game do not exist in database ("media/mixrbv2/.png", "media/video/.mp4").
- All: add "no preview" image when no preview found.
- All: add a few effects to preview images/videos.
- All: further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
3.4
- Fix uppercase roms not detected.
3.1
- Skins: use zipped skins (put zipped skins in "skins" directory).
- Skins: add skin selection to main options menu.
- Skins: change "skin" path to "skins".
- Skins: change "ROM_ITEM" name/type to "TEXT".
- Skins: add "color_missing", "color_not_working" and "highlight_use_text_color" options to "ROM_LIST > TEXT" skin config.
- Options menu: set states options menu at the first place, for easier in game access.
- States menu: fix bug to return to main menu with back button.
- States: allow loading a rom with it's state from the main rom menu.
- States menu: add tween position for a better effect.
- Switch: input: use joystick click/press for either start (left joycon) or select (right joycon) on single joycon mode.
Credits
Thanks:
- devkitPro and libnx people: fincs, WntrMute, yellows8, plutoo...
- Nestopia author(s).
- ScHlAuChi for providing a 3.0 Switch (you rock mate).
External links
- GitHub - https://github.com/Cpasjuste/pemu/tree/master/src/cores/pnes
- GBAtemp - https://gbatemp.net/threads/pnes-portable-nes-emulator.533713/
- Homebrew App Store - https://apps.fortheusers.org/switch/pNES