PGEN Switch

From GameBrew
pGen
Pgennx.png
General
AuthorCpasjuste
TypeConsole
Version6.7.1
LicenseGPL-3.0
Last Updated2023/09/11
Links
Download
Website
Source
Support Author

pGEN: Portable Genesis is a Sega Genesis emulator, multiplatform port of Genesis Plus GX.

The main goals of this Genesis-Plus-GX 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 genesis-plus-gx core (no modifications to the original sources).

Features

  • Support save states.
  • Support 2x, 3x, fit, fit 4/3 and fullscreen hardware scaling.
  • Support hardware filtering (shaders).

Installation

Copy "pgen.nro" to "/switch/pgen/" directory on SD card.

Place your roms to the following location:

  • gamegear roms - "/switch/pgen/gamegear/".
  • megadrive roms - "/switch/pgen/megadrive/".
  • master system roms - "/switch/pgen/sms/".
  • sg-1000 roms - "/switch/pgen/sg1000/".
  • mega-cd roms (unzipped cue/bin) "/switch/pgen/megacd/".

You need to put sega bios in the "pgen/bios" directory:

  • ggenie.bin
  • areplay.bin
  • sk.bin
  • sk2chip.bin
  • bios_CD_U.bin
  • bios_CD_E.bin
 
  • bios_CD_J.bin
  • bios_MD.bin
  • bios_U.sms
  • bios_E.sms
  • bios_J.sms
  • bios.gg

Controls

L - (In rom list) Configure main options and default roms options

R - (In rom list) Configure per rom options

L+R - (When in emulation) Bring the options menu

Known issues

https://github.com/Cpasjuste/pemu/issues

Changelog

v.6.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.

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.

6.3

  • pFBNeo: support latest fbneo core (eda8ae4).
  • pFBNeo: update arcade gamelist.xml.
  • pSNES: fix missing game in gamelist (Elfaria - The Isle of the Blest (Japan).zip).
  • Common: fix video snap delay option.
  • pGEN: fix gamegear resolution and centering.
  • pGEN: add unknown files to correct system.
  • pGEN: add mega-cd chd support.
  • Common: use rom filepath hash for unknown roms id (fix very slow roms discovery).
  • pGEN: do not add mega-cd bin files to roms listing.
  • pSNES: create saves directory on startup.

6.2

  • sdl2_audio: fill buffer with silence if nothing to play (fix pnes audio crap on game start).
  • pSNES: fix audio buffer overlflow (fix random crashes).
  • pSNES: fix minor remaining audio crackling (perfect audio now, hopefully).
  • pSNES: improve/simplify rendering code.
  • pSNES: update to latest snes9x revision (8c0a4a4).
  • Windows: fix crackling audio.
  • Gamelist: fix game id calculation (random crashes on unknown roms).
  • Windows: fix pnes compilation.

6.1

  • Windows: hopefully fix missing libcrypto-1_1-x64.dll.
  • pGEN: fix launchers icons.
  • Vita: fix setTextureRect texture pitch (fix pgen).
  • pGEN: fix roms directories creation on first run.

6.0

  • Common: add new emulator (pgen: genesis-plus-gx port).
  • Common: update gamelists.
  • Common: fix preview images and videos links.
  • Ui: only show know files extensions in rom list.
  • Ui: fix favorites preview images and videos.
  • Input: add rotation support back (wip).
  • Skins: enable font filtering back, remove big_preview skin.
  • Skins: add "config.cfg.override" file support for skin overriding.
  • Skins: code and data cleanup.
  • Skins: improve scaling.
  • pSNES: fix crackling audio in some games (zelda, ff6...).
  • Vita: remove slow pvr support (fix framerate on a lot of games).
  • Vita: fix input rotation (wip).
  • Switch: refactor inputs (use sdl2 gamecontroller and new sdl2 automatic single joycons handling).
  • Switch: update buttons gfx.
  • Windows: fix compilation, code improvements.
  • Android: add android support (wip).
  • And more...

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:

  • ScHlAuChi.
  • devkitPro and libnx people: yellows8, plutoo, profi200, WntrMute ....
  • ScHlAuChi again.

External links

Advertising: