Homebrew RetroArch Switch

  • Thread starter Thread starter ShadowOne333
  • Start date Start date
  • Views Views 2,215,813
  • Replies Replies 9,245
  • Likes Likes 100
Another PPSSPP core from Retroarch

========

Builds the libretro core for the Nintendo Switch from this tree, so the buildbot's Switch core can stop coming from a fork.
Today it is built from libretro/ppsspp-libnx, branch switch, whose upstream base is 6f04f52f5cMarch 2022. That is what Switch users have been running. @m4xw has kept rebasing the port privately (his rebase_2026 branch sits on December 2025), and this is that work carried onto current master, with the parts that were never scoped to the Switch put back.
The first three commits are his, rebased. The rest is mine.

What was in the way​

Most of it was the port assuming a toolchain and a tree from four years ago:
  • libnx dropped virtmemReserve for virtmemFindAslr, and now defines BIT and BreakReason, which collide with Arm64Emitter and with the rename block CommonTypes.h already keeps around switch.h.
  • newlib gaps: no <sys/mman.h>, no <sys/syscall.h>, ENETDOWN sharing a value with ESHUTDOWN, <climits> not arriving transitively.
  • T3DCreateGLContext grew a parameter; Common/GL/GLInterfaceBase.h stopped existing (the port carried an #include of it next to a member its own comment marked // unknown leftover??); proAdhoc.cpp had 38 lines of resurrected DNS code calling g_Config.proAdhocServer, renamed to sProAdhocServer long ago.

https://github.com/WizzardSK/ppsspp-ci/releases/tag/0.2
Quick question: do you know which core runs TurboGrafx-CD / PC Engine CD games on RetroArch for Switch?
 
Another PPSSPP core from Retroarch

========

Builds the libretro core for the Nintendo Switch from this tree, so the buildbot's Switch core can stop coming from a fork.
Today it is built from libretro/ppsspp-libnx, branch switch, whose upstream base is 6f04f52f5cMarch 2022. That is what Switch users have been running. @m4xw has kept rebasing the port privately (his rebase_2026 branch sits on December 2025), and this is that work carried onto current master, with the parts that were never scoped to the Switch put back.
The first three commits are his, rebased. The rest is mine.

What was in the way​

Most of it was the port assuming a toolchain and a tree from four years ago:
  • libnx dropped virtmemReserve for virtmemFindAslr, and now defines BIT and BreakReason, which collide with Arm64Emitter and with the rename block CommonTypes.h already keeps around switch.h.
  • newlib gaps: no <sys/mman.h>, no <sys/syscall.h>, ENETDOWN sharing a value with ESHUTDOWN, <climits> not arriving transitively.
  • T3DCreateGLContext grew a parameter; Common/GL/GLInterfaceBase.h stopped existing (the port carried an #include of it next to a member its own comment marked // unknown leftover??); proAdhoc.cpp had 38 lines of resurrected DNS code calling g_Config.proAdhocServer, renamed to sProAdhocServer long ago.

https://github.com/WizzardSK/ppsspp-ci/releases/tag/0.2
I tested it and it works with .cso files, but not with .chd yet, just like previous versions.

Quick question: do you know which core runs TurboGrafx-CD / PC Engine CD games on RetroArch for Switch?
Beetle PCE FAST.
 
  • Like
Reactions: johw
I tested it and it works with .cso files, but not with .chd yet, just like previous versions.


Beetle PCE FAST.
That core isn't on the RetroArch for Switch website; is there another source?
 

Attachments

  • Captura de Tela (936).png
    Captura de Tela (936).png
    111.2 KB · Views: 1

Site & Scene News

Popular threads in this forum