Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

PNES Switch: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 4: Line 4:
|description=Portable NES Emulator. Based on Nestopia.
|description=Portable NES Emulator. Based on Nestopia.
|author=Cpasjuste
|author=Cpasjuste
|lastupdated=2022/08/30
|lastupdated=2025/12/30
|type=Console
|type=Console
|version=6.6
|version=7.1
|license=Mixed
|license=GPL-3.0
|download=https://dlhb.gamebrew.org/switchhomebrews/pnesnx.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/pnesnx.7z
|website=https://gbatemp.net/threads/pnes-portable-nes-emulator.533713/
|website=https://gbatemp.net/threads/pnes-portable-nes-emulator.533713/
|source=https://github.com/Cpasjuste/pemu/tree/master/pnes
|source=https://github.com/Cpasjuste/pemu/tree/master/src/cores/pnes
|donation=
|donation=https://ko-fi.com/cpasjuste
}}
}}
pNES ia a NES emulator for the Nintendo Switch.
pNES ia a NES emulator for the Nintendo Switch.
Line 20: Line 20:
*Cross-platform and code portability.
*Cross-platform and code portability.
*Easy updates of nestopia core (no modifications to the original sources).
*Easy updates of nestopia core (no modifications to the original sources).
This was participated in the GBAtemp Switch Homebrew Bounty 2018 (Emulators).


==Features==
==Features==
Line 25: Line 27:
*Support 2x, 3x, fit, fit 4/3 and fullscreen hardware scaling.
*Support 2x, 3x, fit, fit 4/3 and fullscreen hardware scaling.
*Support hardware filtering (shaders).
*Support hardware filtering (shaders).
*Support titles, previews, and icons images (png), named as the rom name with png extension instead zip/sfc, in their respective directory (to be created if needed).
*Support shaders effects.


==Installation==
==Installation==
Line 31: Line 33:


Copy roms to "/switch/pnes/roms/" directory on SD card.
Copy roms to "/switch/pnes/roms/" directory on SD card.
The pNES database is built against the no-intro romset "No-Intro - Nintendo - Nintendo Entertainment System (2017-06-18).zip".
==User guide==
===Preview images and videos===
pNES support preview images and videos (put files in roms media folder):
* png files location - "roms/media/mixrbv2/"
* mp4 files location - "roms/media/video/"
You can download a near fullset mixrbv2 and video package (either in high quality or low quality format) in the [https://github.com/Cpasjuste/pemu/tree/master/pnes readme].
===Skins===
New skin can be placed in the skins folder, then select it from the menu in the emulator.
* [https://gbatemp.net/threads/pnes-portable-nes-emulator.533713/post-8636725 Custom skin by Bisk8.]
===Other versions===
* [https://github.com/Cpasjuste/pemu/issues/250 Rebuild versions] by nosekefik - Recompiled [[PGEN Switch|pGEN]] / pNES / [[PFBN Switch|pFBNeo]] / [[PSNES Switch|pSNES]] with the latest libnx for FW 16.0.2 (2023/05/08).


==Controls==
==Controls==
Line 62: Line 46:
https://dlhb.gamebrew.org/switchhomebrews/pnesnx3.png
https://dlhb.gamebrew.org/switchhomebrews/pnesnx3.png


Skin by [https://gbatemp.net/threads/pnes-portable-nes-emulator.533713/post-8636725 Bisk8]<br>
==Changelog==
https://dlhb.gamebrew.org/switchhomebrews/pnesnx4.png
'''v7.1'''
* [https://github.com/Cpasjuste/pemu/commit/4cc2602d259ce195c8ed41e65111ad4711d91a30 psnes: fix texture pitch/lock]
* [https://github.com/Cpasjuste/pemu/commit/4cc2602d259ce195c8ed41e65111ad4711d91a30 psnes: bump snes9x to latest git rev]
* [https://github.com/Cpasjuste/pemu/commit/1d7f65fb982716b682c0ab7dbb403d892060eb6b switch: fix libmpv crash] (fix crash on startup)
* [https://github.com/Cpasjuste/pemu/commit/890b5b57eab993c5f39c5a876cb687005b612bcc vita: fix pgba installation] (but gba emulation is slow...)
 
'''v7.0'''
* Main changes
** [https://github.com/Cpasjuste/pemu/commit/b1792bcb41359a74a15d4719cc15414c3c08f390 pgba: add mGBA core]
** [https://github.com/Cpasjuste/pemu/commit/033808b87705d8393dbe9e14e744c9de879eb395 ui: add roms count in rom listing]
** [https://github.com/Cpasjuste/pemu/commit/2a97926eaaf463dfd58bdfa8357438756501270b ui: improve filtering]
** [https://github.com/Cpasjuste/pemu/commit/254bbde0028be87ff0cf278241ea570c0acf933e ui: fix roms listbox up/down]
** [https://github.com/Cpasjuste/pemu/commit/6e0d9f648675fe0778e8f3da37a94413929422bb ui: fix roms/systems filtering]
** [https://github.com/Cpasjuste/pemu/commit/35c60bf5d8f8ab0cbc42510200216d325210fb7f ui: rename FILTER_AVAILABLE to FILTER_MISSING]
** [https://github.com/Cpasjuste/pemu/commit/f2171382aa5881de3efa12e92507f0f21a9ff7d6 ui: fix fit scaling on high resolution screens]
** [https://github.com/Cpasjuste/pemu/commit/dfbc8b27db79d0818eb6bf76954cef0d477a93e6 config: big refactor] (may need manual deletion of old configs files)
** [https://github.com/Cpasjuste/pemu/commit/ff452ec3702cc7ef367112ea0e0725c8ac44231c config: allow adding custom roms paths to config file]
** [https://github.com/Cpasjuste/pemu/commit/28c5301d60c1e29afa0c8ee183fe94b9048c942e common: remove embedded gamelist support(use gamelist.xml files found in roms paths)]
** [https://github.com/Cpasjuste/pemu/commit/f66049a10628cbc383c6c1803132afed372c3ff0 common: set option &quot;FILTER_AVAILABLE&quot; to &quot;ON&quot; by default]
** [https://github.com/Cpasjuste/pemu/commit/79b0c31367f73d2b7841ff14f5090c494fbc05a1 misc: add support for loading game from console argument]
** [https://github.com/Cpasjuste/pemu/commit/c2693fc42155e0dc492bfda682350143c6b9e7f3 pgen: fix roms paths]
** [https://github.com/Cpasjuste/pemu/commit/a9dbdc1bf9b1a0972ef1170e7ad7ed4f6696fad6 fbneo: bump to latest git revision] : https://github.com/finalburnneo/FBNeo/tree/36092078ac2ba48acf2105d2cad8310ab2236224
** [https://github.com/Cpasjuste/pemu/commit/35de4060b4f46a50e632d8c47fe0e226ea4d5074 pfbneo: fix driver lookup]
** [https://github.com/Cpasjuste/pemu/commit/4aafc635fe3928ffa5d9136d66d8d2253a38a30e vita: enable large heap size (256MB)]
*** vita: enable console games back
*** vita: fix scaling options (missing scale 2x)
*** vita: fix crash in release builds
** [https://github.com/Cpasjuste/pemu/commit/a5f27cfa1e4bbc177370c58356ab47c845b4f4e8 vita: fix fbneo core bump]
** [https://github.com/Cpasjuste/pemu/commit/4a622fac05893395ba159c92f1f70fad14564b26 switch: fix libmpv crash on second app launch]
** [https://github.com/Cpasjuste/pemu/commit/95f1bd8f8898bddb8ef00fde55eae74c83e69a86 windows/linux: fix fullscreen on/off option]
* Notes
** windows, vita and ps4 platforms were not fully tested
* Notes (pfbneo)
** Since version 7.0, &quot;gamelist.xml&quot; files are not included anymore in the binaries. The &quot;gamelist.xml&quot; file provide information about each game (name, genre, release date, if the game is a clone, etc...). If you do not provide your own &quot;gamelist.xml&quot; in each pfbneo rom folder, you will miss some information. If you do not have them, they can be created with a tool like [https://www.skraper.net/ Skraper] (or my own command line one [https://github.com/Cpasjuste/sscrap sscrap]). Else you can download them from the [https://github.com/Cpasjuste/pemu/tree/98e9bc6d7617972b7036f0e10365c1b350210f66/src/cores/pfbneo/data/common/romfs repository history] and put them in the corresponding rom folder (and rename them to &quot;gamelist.xml&quot;).
* 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.


==Changelog==
'''6.6'''
'''6.6'''
*Common: fix adding favorites in some cases.
*Common: fix adding favorites in some cases.
Line 161: Line 208:


== External links ==
== External links ==
* GitHub - https://github.com/Cpasjuste/pemu/tree/master/pnes
* GitHub - https://github.com/Cpasjuste/pemu/tree/master/src/cores/pnes
* GBAtemp - https://gbatemp.net/threads/pnes-portable-nes-emulator.533713/
* GBAtemp - https://gbatemp.net/threads/pnes-portable-nes-emulator.533713/
* ForTheUsers - https://apps.fortheusers.org/switch/pNES
* Homebrew App Store - https://apps.fortheusers.org/switch/pNES
 
[[Category:GBAtemp Homebrew Bounty 2018]]

Latest revision as of 02:43, 2 January 2026

pNES
General
AuthorCpasjuste
TypeConsole
Version7.1
LicenseGPL-3.0
Last Updated2025/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

pnesnx2.png

pnesnx3.png

Changelog

v7.1

v7.0

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

Advertising: