Thirteen cores: 32X, PC Engine, PC-FX, Virtual Boy, Neo Geo Pocket, WonderSwan, Pokemon Mini, Lynx, Jaguar, 2600, 5200, 7800, MS-DOS

Each from my fork beside this repository (all local, not yet on GitHub),
upstream plus a PS5 platform commit (no --no-undefined, no LTO, zstd without
trace hooks), built through tools/core-fork.sh:
- PicoDrive (PS5_PicoDrive): the 32X SH-2s on the interpreter (the
  recompiler's static read-write-execute buffer faults on the PS5); frames
  go out as XRGB8888. Non-commercial licence, like Snes9x and FBNeo.
- Beetle PCE (mednafen_pce, with SuperGrafx and CD), Beetle PC-FX, Beetle
  VB, Beetle NeoPop, Beetle Cygne: GPL-2.0-or-later.
- PokeMini (GPL-3.0-or-later), Handy (zlib; its text is in the source
  headers, tooling/notices/texts/handy-zlib.txt), Virtual Jaguar
  (GPL-3.0-or-later), Stella 7.0c, a5200 (built-in Altirra BIOS; its
  Makefile empties LDFLAGS, so the link flags go in as PS5_LDFLAGS),
  ProSystem: GPL-2.0-or-later unless noted.
- DOSBox Pure 1.0-preview7 (now on Codeberg): the dynamic x86 core's code
  cache is ps5_exec_allocate memory, and stdio replaces the VFS wrapper,
  whose funopen the console lacks.
build-title.sh stages all thirteen; the notices list each; README: the
systems, forks, credits and licences (twenty-nine cores). On the console the
owner's BIOS files were moved where the cores look: system/pcfx.rom,
system/lynxboot.img, system/bios.min.

Verified on the base PS5 (13.40), one game per core with
tests/pad/boot-and-start.txt (runs 212433-220552): every core loads, runs at
its system's rate (Virtual Boy 50.3, Pokemon Mini 72, the rest 60 frames a
second) and exits with 0; pictures inspected
(evidence/new-cores-2026-10-06). tools/verify.sh format, unit and evidence
PASS (90 captures, 0 failed); build and integration not rerun this step.
Before a release: publish the thirteen forks the notices and README name.
This commit is contained in:
Mihawk committed 2026-10-06 22:11:05 -04:00
1 parent 809fb31163
commit 7414eba5cf
20 files changed
+554 -8

No files matched your search

+49 -7
View File
@@ -4,7 +4,7 @@
**Your collection on the console. Your controls in the browser.**
Native Vulkan rendering · Sixteen release cores · A local WebUI
Native Vulkan rendering · Twenty-nine release cores · A local WebUI
[Download a release](https://github.com/mihawk-99/PS5_RetroArch/releases) · [Get started](#get-started) · [Supported systems](#supported-systems) · [Build from source](#build-from-source)
@@ -129,6 +129,19 @@ through Vulkan. These are supported systems, not a promise that every title work
| Nintendo DS | DeSmuME | Software |
| Nintendo 3DS | Azahar | GPU |
| Dreamcast, NAOMI, NAOMI 2, Atomiswave | Flycast | GPU |
| Sega 32X (and Mega Drive, Mega-CD, Master System, Pico) | PicoDrive | Software |
| PC Engine / TurboGrafx-16, PC Engine CD, SuperGrafx | Beetle PCE | Software |
| PC-FX | Beetle PC-FX | Software |
| Virtual Boy | Beetle VB | Software |
| Neo Geo Pocket / Color | Beetle NeoPop | Software |
| WonderSwan / Color | Beetle Cygne | Software |
| Pokémon Mini | PokeMini | Software |
| Atari Lynx | Handy | Software |
| Atari Jaguar | Virtual Jaguar | Software |
| Atari 2600 | Stella | Software |
| Atari 5200 | a5200 | Software |
| Atari 7800 | ProSystem | Software |
| MS-DOS | DOSBox Pure | Software |
Use matching arcade sets: MAME currently targets **0.289**, and FBNeo requires
sets compatible with its pinned version. Azahar requires decrypted content.
@@ -284,7 +297,20 @@ The cores that needed changes for the console build from my forks of them
[PS5_DeSmuME](https://github.com/mihawk-99/PS5_DeSmuME),
[PS5_Azahar](https://github.com/mihawk-99/PS5_Azahar) with
[PS5_Dynarmic](https://github.com/mihawk-99/PS5_Dynarmic),
[PS5_Flycast](https://github.com/mihawk-99/PS5_Flycast)), each pinned by revision in
[PS5_Flycast](https://github.com/mihawk-99/PS5_Flycast),
[PS5_PicoDrive](https://github.com/mihawk-99/PS5_PicoDrive),
[PS5_BeetlePCE](https://github.com/mihawk-99/PS5_BeetlePCE),
[PS5_BeetlePCFX](https://github.com/mihawk-99/PS5_BeetlePCFX),
[PS5_BeetleVB](https://github.com/mihawk-99/PS5_BeetleVB),
[PS5_BeetleNGP](https://github.com/mihawk-99/PS5_BeetleNGP),
[PS5_BeetleWSwan](https://github.com/mihawk-99/PS5_BeetleWSwan),
[PS5_PokeMini](https://github.com/mihawk-99/PS5_PokeMini),
[PS5_Handy](https://github.com/mihawk-99/PS5_Handy),
[PS5_VirtualJaguar](https://github.com/mihawk-99/PS5_VirtualJaguar),
[PS5_Stella](https://github.com/mihawk-99/PS5_Stella),
[PS5_A5200](https://github.com/mihawk-99/PS5_A5200),
[PS5_ProSystem](https://github.com/mihawk-99/PS5_ProSystem),
[PS5_DOSBoxPure](https://github.com/mihawk-99/PS5_DOSBoxPure)), each pinned by revision in
its build script. The script uses the sibling checkout when there is one, and
`github.com/mihawk-99/<fork>` otherwise.
@@ -310,7 +336,7 @@ bash tools/verify.sh
The five gates are **format → unit → build → integration → evidence**. The build
pins RetroArch 1.22.2, fetches core sources/metadata with checked hashes, builds the
frontend and sixteen cores, and stages the native title in `dist/PPSA99169/`.
frontend and twenty-nine cores, and stages the native title in `dist/PPSA99169/`.
The initial dependency/source fetch requires network access.
For an already configured checkout:
@@ -324,7 +350,13 @@ bash tools/build-ppsspp.sh # The larger cores have scripts of their own:
# build-beetle-psx.sh, build-mupen64plus.sh,
# build-beetle-saturn.sh, build-vice.sh,
# build-mame.sh, build-desmume.sh, build-azahar.sh,
# build-flycast.sh
# build-flycast.sh, build-picodrive.sh,
# build-beetle-pce.sh, build-beetle-pcfx.sh,
# build-beetle-vb.sh, build-beetle-ngp.sh,
# build-beetle-wswan.sh, build-pokemini.sh,
# build-handy.sh, build-virtualjaguar.sh,
# build-stella.sh, build-a5200.sh, build-prosystem.sh,
# build-dosbox-pure.sh
```
When adding or updating a core, rebuild the title too: the frontend's native
@@ -375,6 +407,15 @@ lists and original notices.
| [DeSmuME](https://github.com/libretro/desmume) | DeSmuME team and contributors |
| [Azahar](https://github.com/azahar-emu/azahar), [Dynarmic](https://github.com/azahar-emu/dynarmic) | Azahar contributors, building on Citra; Dynarmic by merryhime and contributors |
| [Flycast](https://github.com/flyinghead/flycast) | flyinghead and contributors, building on reicast and nullDC; PS5 port begun by rpf16rj |
| [PicoDrive](https://github.com/libretro/picodrive) | notaz, fDave and the PicoDrive contributors |
| [Beetle PCE](https://github.com/libretro/beetle-pce-libretro), [Beetle PC-FX](https://github.com/libretro/beetle-pcfx-libretro), [Beetle VB](https://github.com/libretro/beetle-vb-libretro), [Beetle NeoPop](https://github.com/libretro/beetle-ngp-libretro), [Beetle Cygne](https://github.com/libretro/beetle-wswan-libretro) | The Mednafen authors and contributors; libretro Beetle maintainers |
| [PokeMini](https://github.com/libretro/PokeMini) | JustBurn and contributors |
| [Handy](https://github.com/libretro/libretro-handy) | K. Wilkins and contributors |
| [Virtual Jaguar](https://github.com/libretro/virtualjaguar-libretro) | James Hammons and the Virtual Jaguar contributors |
| [Stella](https://github.com/stella-emu/stella) | Bradford W. Mott, Stephen Anthony and the Stella Team |
| [a5200](https://github.com/libretro/a5200) | The Atari800 team and the a5200 contributors |
| [ProSystem](https://github.com/libretro/prosystem-libretro) | Greg Stanton and contributors |
| [DOSBox Pure](https://codeberg.org/schelling/dosbox-pure) | Bernhard Schelling, building on DOSBox by the DOSBox Team |
| [libretro core-info](https://github.com/libretro/libretro-core-info) | Metadata maintainers and contributors |
@@ -400,10 +441,11 @@ The cores keep their own licences, and they differ:
| Licence | Cores |
| --- | --- |
| GPL-2.0-or-later | FCEUmm, PPSSPP, Dolphin, Beetle PSX HW, Beetle Saturn, Mupen64Plus-Next (with MIT and LGPL parts), VICE, DeSmuME, Azahar (Dynarmic is 0BSD), Flycast, MAME (as a whole; many files BSD-3-Clause) |
| GPL-3.0-or-later | LRPS2 (PCSX2) |
| GPL-2.0-or-later | FCEUmm, PPSSPP, Dolphin, Beetle PSX HW, Beetle Saturn, Mupen64Plus-Next (with MIT and LGPL parts), VICE, DeSmuME, Azahar (Dynarmic is 0BSD), Flycast, Beetle PCE, Beetle PC-FX, Beetle VB, Beetle NeoPop, Beetle Cygne, Stella, a5200, ProSystem, DOSBox Pure, MAME (as a whole; many files BSD-3-Clause) |
| GPL-3.0-or-later | LRPS2 (PCSX2), PokeMini, Virtual Jaguar |
| Zlib | Handy |
| MPL-2.0 | mGBA |
| Non-commercial licences | Snes9x, FinalBurn Neo, Genesis Plus GX: they may not be sold or used commercially, and FBNeo's forbids asking for donations for a project that uses its code |
| Non-commercial licences | Snes9x, FinalBurn Neo, Genesis Plus GX, PicoDrive: they may not be sold or used commercially, and FBNeo's forbids asking for donations for a project that uses its code |
Assets and fonts keep their licences too: the XMB theme is CC-BY-4.0 with the M+
font licence, PPSSPP's fonts are OFL-1.1, and Dolphin's `Sys` files carry theirs.
@@ -0,0 +1,45 @@
{
"step": "new-cores-2026-10-06",
"recorded": "2026-10-07T02:09:03Z",
"console_run": "base PS5 13.40, runs 212433-220552 (pad script tests/pad/boot-and-start.txt)",
"revision": "working tree on c0a75c5 (this commit)",
"command": "PS5_FRONTENDS='es-de picker' tools/build-title.sh; tools/run-title.sh --no-build --game=<core>:<content> --pad-script=tests/pad/boot-and-start.txt --watch 70",
"raw_capture": "klog/new-cores/runs-20261006.txt",
"raw_lines": 33,
"raw_bytes": 2916,
"lines": [
"213919 core=picodrive_libretro.so format=XRGB8888 pictures=klog/pad-213919",
"214037 core=picodrive_libretro.so format=XRGB8888 pictures=klog/pad-214037",
"214154 core=picodrive_libretro.so format=XRGB8888 pictures=klog/pad-214154",
"212433 core=picodrive_libretro.so format=RGB565 pictures=klog/pad-212433",
"212551 core=mednafen_pce_libretro.so format=RGB565 pictures=klog/pad-212551",
"212708 core=mednafen_pce_libretro.so format=RGB565 pictures=klog/pad-212708",
"212825 core=mednafen_pcfx_libretro.so format=XRGB8888 pictures=klog/pad-212825",
"215416 core=mednafen_vb_libretro.so format=XRGB8888 pictures=klog/pad-215416",
"215533 core=pokemini_libretro.so format=RGB565 pictures=klog/pad-215533",
"215651 core=dosbox_pure_libretro.so format=XRGB8888 pictures=klog/pad-215651",
"215808 core=handy_libretro.so format=RGB565 pictures=klog/pad-215808",
"215926 core=virtualjaguar_libretro.so format=XRGB8888 pictures=klog/pad-215926",
"220043 core=mednafen_ngp_libretro.so format=RGB565 pictures=klog/pad-220043",
"220200 core=mednafen_wswan_libretro.so format=RGB565 pictures=klog/pad-220200",
"220318 core=stella_libretro.so format=XRGB8888 pictures=klog/pad-220318",
"220435 core=a5200_libretro.so format=RGB565 pictures=klog/pad-220435",
"220552 core=prosystem_libretro.so format=RGB565 pictures=klog/pad-220552",
"ten-run-a5200: MARK at 25.005 s: frames=1500 worst_ms=24.6 over_40ms=0 | rarch_main returned = 0",
"ten-run-dosbox_pure: MARK at 25.000 s: frames=1497 worst_ms=25.4 over_40ms=2 | rarch_main returned = 0",
"ten-run-handy: MARK at 25.003 s: frames=1500 worst_ms=25.3 over_40ms=0 | rarch_main returned = 0",
"ten-run-mednafen_ngp: MARK at 25.006 s: frames=1500 worst_ms=23.8 over_40ms=0 | rarch_main returned = 0",
"ten-run-mednafen_vb: MARK at 25.015 s: frames=1272 worst_ms=23.4 over_40ms=0 | rarch_main returned = 0",
"ten-run-mednafen_wswan: MARK at 25.004 s: frames=1500 worst_ms=25.9 over_40ms=0 | rarch_main returned = 0",
"ten-run-pokemini: MARK at 25.003 s: frames=4743 worst_ms=24.8 over_40ms=0 | rarch_main returned = 0",
"ten-run-prosystem: MARK at 25.004 s: frames=1500 worst_ms=24.5 over_40ms=0 | rarch_main returned = 0",
"ten-run-stella: MARK at 25.002 s: frames=1500 worst_ms=25.6 over_40ms=0 | rarch_main returned = 0",
"ten-run-virtualjaguar: MARK at 25.016 s: frames=1501 worst_ms=25.8 over_40ms=0 | rarch_main returned = 0",
"pico2-run-213854: MARK at 25.007 s: frames=1500 worst_ms=27.1 over_40ms=0 | rarch_main returned = 0",
"pico2-run-214036: MARK at 25.005 s: frames=1500 worst_ms=27.6 over_40ms=0 | rarch_main returned = 0",
"pico2-run-214154: MARK at 25.006 s: frames=1500 worst_ms=24.9 over_40ms=0 | rarch_main returned = 0",
"nc-run-mednafen_pce-212550: MARK at 25.006 s: frames=1500 worst_ms=25.2 over_40ms=0 | rarch_main returned = 0",
"nc-run-mednafen_pce-212708: MARK at 25.003 s: frames=1500 worst_ms=25.1 over_40ms=0 | rarch_main returned = 0",
"nc-run-mednafen_pcfx-212825: MARK at 25.007 s: frames=1500 worst_ms=27.1 over_40ms=0 | rarch_main returned = 0"
]
}
@@ -0,0 +1,16 @@
{
"step": "new-cores-2026-10-06",
"note": "Thirteen cores, one game each, 25 s with START twice: PicoDrive (After Burner Complete, Doom 32X, Sonic), Beetle PCE (Aero Blasters, 1941 SuperGrafx), Beetle PC-FX (Farland Story FX, BIOS intro), Beetle VB, PokeMini, DOSBox Pure (Doom), Handy, Virtual Jaguar, Beetle NeoPop, Beetle Cygne, Stella, a5200, ProSystem. Each loads, runs at its system's rate (VB 50.3, Pokemon Mini 72, the rest 60 frames a second, no frame over 40 ms except two in DOSBox Pure) and exits with 0. PicoDrive's first run (212433, RGB565) was garbled; with XRGB8888 output and patch 0112 every picture is right, six RGB565 cores included.",
"must_contain": [
"core=picodrive_libretro.so format=XRGB8888",
"core=pokemini_libretro.so format=RGB565",
"core=prosystem_libretro.so format=RGB565",
"ten-run-mednafen_vb: MARK at 25.015 s: frames=1272",
"ten-run-pokemini: MARK at 25.003 s: frames=4743",
"nc-run-mednafen_pcfx-212825: MARK at 25.007 s: frames=1500"
],
"must_not_contain": [
"rarch_main returned = 1"
],
"human_check": "Agent inspected every run's pictures (klog/pad-212551 to pad-220552): titles, menus and gameplay with correct colours; PicoDrive's before (pad-212433, garbled) and after (pad-213919/214037/214154)."
}
+13
View File
@@ -0,0 +1,13 @@
# A game's first half-minute: pictures of what it shows, START pressed twice to
# get past its title, and MARK lines for the frames made over each stretch.
# Started with --game=<core>:<content>.
5.0 MARK
8.0 SCREENSHOT
10.0 START 0.3
13.0 SCREENSHOT
15.0 MARK
16.0 START 0.3
19.0 SCREENSHOT
25.0 MARK
27.0 SCREENSHOT
28.0 STOP
+44
View File
@@ -360,6 +360,50 @@
"source": {"kind": "core", "build": "flycast", "tree": ".deps/flycast-src", "remote": "https://github.com/mihawk-99/PS5_Flycast"},
"modifications": "The fork's commits over flyinghead/flycast (the PS5 port begun by rpf16rj); submodules at the revisions the fork pins."
},
{
"id": "picodrive",
"name": "PicoDrive (Sega 32X, Mega Drive, Mega-CD, Master System, Pico)",
"kind": "code",
"noncommercial": true,
"artifacts": ["cores/picodrive_libretro.so"],
"licence": "LicenseRef-PicoDrive (non-commercial); others per its submodules",
"copyright": ["Copyright notaz, fDave, Chui, Stephane Dallongeville and the PicoDrive contributors"],
"texts": [{"from": ".deps/picodrive-src/COPYING", "to": "COPYING", "verbatim": true}],
"source": {"kind": "core", "build": "picodrive", "tree": ".deps/picodrive-src", "remote": "https://github.com/mihawk-99/PS5_PicoDrive"},
"modifications": "The fork's commits over libretro/picodrive; submodules at the revisions the fork pins."
},
{
"id": "beetle-pce",
"name": "Beetle PCE (Mednafen PC Engine, TurboGrafx-16, PC Engine CD, SuperGrafx)",
"kind": "code",
"artifacts": ["cores/mednafen_pce_libretro.so"],
"licence": "GPL-2.0-or-later",
"copyright": ["Copyright Mednafen Team and the beetle-pce-libretro contributors"],
"texts": [{"from": ".deps/beetle-pce-src/COPYING", "to": "COPYING"}],
"source": {"kind": "core", "build": "beetle-pce", "tree": ".deps/beetle-pce-src", "remote": "https://github.com/mihawk-99/PS5_BeetlePCE"},
"modifications": "The fork's commits over libretro/beetle-pce-libretro."
},
{
"id": "beetle-pcfx",
"name": "Beetle PC-FX (Mednafen PC-FX)",
"kind": "code",
"artifacts": ["cores/mednafen_pcfx_libretro.so"],
"licence": "GPL-2.0-or-later",
"copyright": ["Copyright Mednafen Team and the beetle-pcfx-libretro contributors"],
"texts": [{"from": ".deps/beetle-pcfx-src/COPYING", "to": "COPYING"}],
"source": {"kind": "core", "build": "beetle-pcfx", "tree": ".deps/beetle-pcfx-src", "remote": "https://github.com/mihawk-99/PS5_BeetlePCFX"},
"modifications": "The fork's commits over libretro/beetle-pcfx-libretro."
},
{"id": "beetle-vb", "name": "Beetle VB (Mednafen Virtual Boy)", "kind": "code", "artifacts": ["cores/mednafen_vb_libretro.so"], "licence": "GPL-2.0-or-later", "copyright": ["Copyright Mednafen Team and the beetle-vb-libretro contributors"], "texts": [{"from": ".deps/beetle-vb-src/COPYING", "to": "COPYING"}], "source": {"kind": "core", "build": "beetle-vb", "tree": ".deps/beetle-vb-src", "remote": "https://github.com/mihawk-99/PS5_BeetleVB"}, "modifications": "The fork's commits over libretro/beetle-vb-libretro."},
{"id": "beetle-ngp", "name": "Beetle NeoPop (Mednafen Neo Geo Pocket / Color)", "kind": "code", "artifacts": ["cores/mednafen_ngp_libretro.so"], "licence": "GPL-2.0-or-later", "copyright": ["Copyright neopop_uk, Mednafen Team and the beetle-ngp-libretro contributors"], "texts": [{"from": ".deps/beetle-ngp-src/COPYING", "to": "COPYING"}], "source": {"kind": "core", "build": "beetle-ngp", "tree": ".deps/beetle-ngp-src", "remote": "https://github.com/mihawk-99/PS5_BeetleNGP"}, "modifications": "The fork's commits over libretro/beetle-ngp-libretro."},
{"id": "beetle-wswan", "name": "Beetle Cygne (Mednafen WonderSwan / Color)", "kind": "code", "artifacts": ["cores/mednafen_wswan_libretro.so"], "licence": "GPL-2.0-or-later", "copyright": ["Copyright the Cygne authors, Mednafen Team and the beetle-wswan-libretro contributors"], "texts": [{"from": ".deps/beetle-wswan-src/COPYING", "to": "COPYING"}], "source": {"kind": "core", "build": "beetle-wswan", "tree": ".deps/beetle-wswan-src", "remote": "https://github.com/mihawk-99/PS5_BeetleWSwan"}, "modifications": "The fork's commits over libretro/beetle-wswan-libretro."},
{"id": "pokemini", "name": "PokeMini (Pokemon Mini)", "kind": "code", "artifacts": ["cores/pokemini_libretro.so"], "licence": "GPL-3.0-or-later", "copyright": ["Copyright (C) 2009-2015 JustBurn and the PokeMini contributors"], "texts": [{"from": ".deps/pokemini-src/LICENSE", "to": "LICENSE"}], "source": {"kind": "core", "build": "pokemini", "tree": ".deps/pokemini-src", "remote": "https://github.com/mihawk-99/PS5_PokeMini"}, "modifications": "The fork's commits over libretro/PokeMini."},
{"id": "handy", "name": "Handy (Atari Lynx)", "kind": "code", "artifacts": ["cores/handy_libretro.so"], "licence": "Zlib", "copyright": ["Copyright (c) 1996-2004 K. Wilkins and the libretro-handy contributors"], "texts": [{"from": "tooling/notices/texts/handy-zlib.txt", "to": "LICENSE"}], "source": {"kind": "core", "build": "handy", "tree": ".deps/handy-src", "remote": "https://github.com/mihawk-99/PS5_Handy"}, "modifications": "The fork's commits over libretro/libretro-handy. Its licence is the zlib licence in its sources' headers (lynx/system.h)."},
{"id": "virtualjaguar", "name": "Virtual Jaguar (Atari Jaguar)", "kind": "code", "artifacts": ["cores/virtualjaguar_libretro.so"], "licence": "GPL-3.0-or-later", "copyright": ["Copyright James Hammons, David Raingeard, Niels Wagenaar, Carwin Jones, Adam Green and the virtualjaguar-libretro contributors"], "texts": [{"from": ".deps/virtualjaguar-src/LICENSE", "to": "LICENSE"}], "source": {"kind": "core", "build": "virtualjaguar", "tree": ".deps/virtualjaguar-src", "remote": "https://github.com/mihawk-99/PS5_VirtualJaguar"}, "modifications": "The fork's commits over libretro/virtualjaguar-libretro."},
{"id": "stella", "name": "Stella (Atari 2600)", "kind": "code", "artifacts": ["cores/stella_libretro.so"], "licence": "GPL-2.0-or-later", "copyright": ["Copyright (c) 1995-2026 Bradford W. Mott, Stephen Anthony and the Stella Team"], "texts": [{"from": ".deps/stella-src/License.txt", "to": "License.txt"}], "source": {"kind": "core", "build": "stella", "tree": ".deps/stella-src", "remote": "https://github.com/mihawk-99/PS5_Stella"}, "modifications": "The fork's commits over stella-emu/stella (release 7.0c)."},
{"id": "a5200", "name": "a5200 (Atari 5200)", "kind": "code", "artifacts": ["cores/a5200_libretro.so"], "licence": "GPL-2.0-or-later", "copyright": ["Copyright the Atari800 team, the a5200 authors and contributors"], "texts": [{"from": ".deps/a5200-src/License.txt", "to": "License.txt"}], "source": {"kind": "core", "build": "a5200", "tree": ".deps/a5200-src", "remote": "https://github.com/mihawk-99/PS5_A5200"}, "modifications": "The fork's commits over libretro/a5200."},
{"id": "prosystem", "name": "ProSystem (Atari 7800)", "kind": "code", "artifacts": ["cores/prosystem_libretro.so"], "licence": "GPL-2.0-or-later", "copyright": ["Copyright (c) 2003-2004 Greg Stanton and the prosystem-libretro contributors"], "texts": [{"from": ".deps/prosystem-src/License.txt", "to": "License.txt"}], "source": {"kind": "core", "build": "prosystem", "tree": ".deps/prosystem-src", "remote": "https://github.com/mihawk-99/PS5_ProSystem"}, "modifications": "The fork's commits over libretro/prosystem-libretro."},
{"id": "dosbox-pure", "name": "DOSBox Pure (MS-DOS)", "kind": "code", "artifacts": ["cores/dosbox_pure_libretro.so"], "licence": "GPL-2.0-or-later", "copyright": ["Copyright (C) 2002-2021 The DOSBox Team", "Copyright (C) 2020-2026 Bernhard Schelling"], "texts": [{"from": ".deps/dosbox-pure-src/LICENSE", "to": "LICENSE"}], "source": {"kind": "core", "build": "dosbox-pure", "tree": ".deps/dosbox-pure-src", "remote": "https://github.com/mihawk-99/PS5_DOSBoxPure"}, "modifications": "The fork's commits over schelling/dosbox-pure on Codeberg (release 1.0-preview7)."},
{
"id": "mame",
"name": "MAME 0.289 (arcade), libretro/mame",
+22
View File
@@ -0,0 +1,22 @@
Copyright (c) 2004 K. Wilkins
This software is provided 'as-is', without any express or implied warranty.
In no event will the authors be held liable for any damages arising from
the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not
be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
+28
View File
@@ -0,0 +1,28 @@
#!/usr/bin/env bash
# Cross-build a5200's libretro core (Atari 5200), from my fork ../PS5_A5200 (github.com/mihawk-99/PS5_A5200)
# at its pinned revision (tools/core-fork.sh).
#
# Output: build/cores/stage/{cores,info}/a5200_libretro.{so,info}; build-title.sh
# stages those in /app0. It renders in software.
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
core_name=a5200
source "$root/tools/core-stamp.sh"
source "$root/tools/core-fork.sh"
core_stamp_skip a5200 \
"$root/build/cores/stage/cores/a5200_libretro.so" \
"$root/build/cores/stage/info/a5200_libretro.info" \
-- "$root/tools/build-a5200.sh" "$root/tools/core-fork.sh"
[[ $# == 0 ]] || { echo "usage: ${0##*/}" >&2; exit 2; }
revision=c21e2ef8c63300890cdaf02363543872660ccd33 # ../PS5_A5200 main
core_fork_setup
core_fork_checkout PS5_A5200 "$revision"
core_fork_info a5200_libretro.info e707b742d0c12e87483986742e316ea530b2592ce74aaa74f5617267a9abafab
# a5200's Makefile empties LDFLAGS first, so the title's link flags go in as
# PS5_LDFLAGS, which the fork's ps5 platform adds.
make -C "$source_dir" -j"${JOBS:-16}" platform=ps5 \
CC="$core_cc" CXX="$core_cxx" AR="$AR" PS5_LDFLAGS="$core_ldflags $core_libs"
core_fork_stage "$source_dir/a5200_libretro.so" "$core_info" "$revision" tools/build-a5200.sh
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Cross-build Beetle NeoPop (mednafen_ngp), Mednafen's Neo Geo Pocket and Pocket Color core, from my fork ../PS5_BeetleNGP (github.com/mihawk-99/PS5_BeetleNGP)
# at its pinned revision (tools/core-fork.sh).
#
# Output: build/cores/stage/{cores,info}/mednafen_ngp_libretro.{so,info}; build-title.sh
# stages those in /app0. It renders in software; no BIOS.
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
core_name=beetle-ngp
source "$root/tools/core-stamp.sh"
source "$root/tools/core-fork.sh"
core_stamp_skip beetle-ngp \
"$root/build/cores/stage/cores/mednafen_ngp_libretro.so" \
"$root/build/cores/stage/info/mednafen_ngp_libretro.info" \
-- "$root/tools/build-beetle-ngp.sh" "$root/tools/core-fork.sh"
[[ $# == 0 ]] || { echo "usage: ${0##*/}" >&2; exit 2; }
revision=3699184c21ec3c129d3ed5ef1abb9d15e06107a5 # ../PS5_BeetleNGP main
core_fork_setup
core_fork_checkout PS5_BeetleNGP "$revision"
core_fork_info mednafen_ngp_libretro.info 1e7485277cffaf01ae4c4c5406a7dfc6f85f4d2a6949273feae5634781ec396b
# LDFLAGS goes in the environment: the makefiles add their own to it.
LDFLAGS="$core_ldflags $core_libs" make -C "$source_dir" -j"${JOBS:-16}" platform=ps5 \
CC="$core_cc" CXX="$core_cxx" AR="$AR"
core_fork_stage "$source_dir/mednafen_ngp_libretro.so" "$core_info" "$revision" tools/build-beetle-ngp.sh
+28
View File
@@ -0,0 +1,28 @@
#!/usr/bin/env bash
# Cross-build Beetle PCE (mednafen_pce), Mednafen's PC Engine core (PC Engine,
# TurboGrafx-16, PC Engine CD and SuperGrafx), from my fork ../PS5_BeetlePCE
# (github.com/mihawk-99/PS5_BeetlePCE) at its pinned revision (tools/core-fork.sh).
#
# Output: build/cores/stage/{cores,info}/mednafen_pce_libretro.{so,info};
# build-title.sh stages those in /app0. It renders in software. CD games need a
# System Card image in system/ (syscard3.pce); HuCard and SuperGrafx games need none.
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
core_name=beetle-pce
source "$root/tools/core-stamp.sh"
source "$root/tools/core-fork.sh"
core_stamp_skip beetle-pce \
"$root/build/cores/stage/cores/mednafen_pce_libretro.so" \
"$root/build/cores/stage/info/mednafen_pce_libretro.info" \
-- "$root/tools/build-beetle-pce.sh" "$root/tools/core-fork.sh"
[[ $# == 0 ]] || { echo "usage: ${0##*/}" >&2; exit 2; }
revision=0a69bec30dfb503cfefdf6bf8dd0d2cd3b330060 # ../PS5_BeetlePCE main
core_fork_setup
core_fork_checkout PS5_BeetlePCE "$revision"
core_fork_info mednafen_pce_libretro.info ec52873e28177fb250108ec69ae889a7a258dc352c9d946c051345cc69fbe1db
# LDFLAGS goes in the environment: the makefiles add their own to it.
LDFLAGS="$core_ldflags $core_libs" make -C "$source_dir" -j"${JOBS:-16}" platform=ps5 CC="$core_cc" CXX="$core_cxx" AR="$AR"
core_fork_stage "$source_dir/mednafen_pce_libretro.so" "$core_info" "$revision" tools/build-beetle-pce.sh
+28
View File
@@ -0,0 +1,28 @@
#!/usr/bin/env bash
# Cross-build Beetle PC-FX (mednafen_pcfx), Mednafen's NEC PC-FX core, from my fork
# ../PS5_BeetlePCFX (github.com/mihawk-99/PS5_BeetlePCFX) at its pinned revision
# (tools/core-fork.sh).
#
# Output: build/cores/stage/{cores,info}/mednafen_pcfx_libretro.{so,info};
# build-title.sh stages those in /app0. It renders in software. Games need the
# PC-FX BIOS in system/ (pcfx.rom).
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
core_name=beetle-pcfx
source "$root/tools/core-stamp.sh"
source "$root/tools/core-fork.sh"
core_stamp_skip beetle-pcfx \
"$root/build/cores/stage/cores/mednafen_pcfx_libretro.so" \
"$root/build/cores/stage/info/mednafen_pcfx_libretro.info" \
-- "$root/tools/build-beetle-pcfx.sh" "$root/tools/core-fork.sh"
[[ $# == 0 ]] || { echo "usage: ${0##*/}" >&2; exit 2; }
revision=fda7d214e6326febc4c18a6a0e1949ce78eba163 # ../PS5_BeetlePCFX main
core_fork_setup
core_fork_checkout PS5_BeetlePCFX "$revision"
core_fork_info mednafen_pcfx_libretro.info d352e83266f1d965e1b0fcb190dc3300158f419985b8d77374a2994d00f38f19
# LDFLAGS goes in the environment: the makefiles add their own to it.
LDFLAGS="$core_ldflags $core_libs" make -C "$source_dir" -j"${JOBS:-16}" platform=ps5 CC="$core_cc" CXX="$core_cxx" AR="$AR"
core_fork_stage "$source_dir/mednafen_pcfx_libretro.so" "$core_info" "$revision" tools/build-beetle-pcfx.sh
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Cross-build Beetle VB (mednafen_vb), Mednafen's Virtual Boy core, from my fork ../PS5_BeetleVB (github.com/mihawk-99/PS5_BeetleVB)
# at its pinned revision (tools/core-fork.sh).
#
# Output: build/cores/stage/{cores,info}/mednafen_vb_libretro.{so,info}; build-title.sh
# stages those in /app0. It renders in software; no BIOS.
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
core_name=beetle-vb
source "$root/tools/core-stamp.sh"
source "$root/tools/core-fork.sh"
core_stamp_skip beetle-vb \
"$root/build/cores/stage/cores/mednafen_vb_libretro.so" \
"$root/build/cores/stage/info/mednafen_vb_libretro.info" \
-- "$root/tools/build-beetle-vb.sh" "$root/tools/core-fork.sh"
[[ $# == 0 ]] || { echo "usage: ${0##*/}" >&2; exit 2; }
revision=44a3e754bad72026dfa85b81a92f053ac6a1605e # ../PS5_BeetleVB main
core_fork_setup
core_fork_checkout PS5_BeetleVB "$revision"
core_fork_info mednafen_vb_libretro.info 425e0ef983f72b7e938af8cc170d2ddc1cb6b0a19a98aa4fce49bb2957567236
# LDFLAGS goes in the environment: the makefiles add their own to it.
LDFLAGS="$core_ldflags $core_libs" make -C "$source_dir" -j"${JOBS:-16}" platform=ps5 \
CC="$core_cc" CXX="$core_cxx" AR="$AR"
core_fork_stage "$source_dir/mednafen_vb_libretro.so" "$core_info" "$revision" tools/build-beetle-vb.sh
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Cross-build Beetle Cygne (mednafen_wswan), Mednafen's WonderSwan and WonderSwan Color core, from my fork ../PS5_BeetleWSwan (github.com/mihawk-99/PS5_BeetleWSwan)
# at its pinned revision (tools/core-fork.sh).
#
# Output: build/cores/stage/{cores,info}/mednafen_wswan_libretro.{so,info}; build-title.sh
# stages those in /app0. It renders in software; no BIOS.
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
core_name=beetle-wswan
source "$root/tools/core-stamp.sh"
source "$root/tools/core-fork.sh"
core_stamp_skip beetle-wswan \
"$root/build/cores/stage/cores/mednafen_wswan_libretro.so" \
"$root/build/cores/stage/info/mednafen_wswan_libretro.info" \
-- "$root/tools/build-beetle-wswan.sh" "$root/tools/core-fork.sh"
[[ $# == 0 ]] || { echo "usage: ${0##*/}" >&2; exit 2; }
revision=8248f1d490cba5a625976aa07787cdc313009635 # ../PS5_BeetleWSwan main
core_fork_setup
core_fork_checkout PS5_BeetleWSwan "$revision"
core_fork_info mednafen_wswan_libretro.info 07f595bdc27cf7ee145091ae226b2dc37eeefa499ef9720b64d5384e54ac5ac1
# LDFLAGS goes in the environment: the makefiles add their own to it.
LDFLAGS="$core_ldflags $core_libs" make -C "$source_dir" -j"${JOBS:-16}" platform=ps5 \
CC="$core_cc" CXX="$core_cxx" AR="$AR"
core_fork_stage "$source_dir/mednafen_wswan_libretro.so" "$core_info" "$revision" tools/build-beetle-wswan.sh
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Cross-build DOSBox Pure's libretro core (MS-DOS), from my fork ../PS5_DOSBoxPure (github.com/mihawk-99/PS5_DOSBoxPure)
# at its pinned revision (tools/core-fork.sh).
#
# Output: build/cores/stage/{cores,info}/dosbox_pure_libretro.{so,info}; build-title.sh
# stages those in /app0. It renders in software; its dynamic x86 core's code cache is the console's executable memory (the fork's PS5 commit). Upstream is codeberg.org/schelling/dosbox-pure.
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
core_name=dosbox-pure
source "$root/tools/core-stamp.sh"
source "$root/tools/core-fork.sh"
core_stamp_skip dosbox-pure \
"$root/build/cores/stage/cores/dosbox_pure_libretro.so" \
"$root/build/cores/stage/info/dosbox_pure_libretro.info" \
-- "$root/tools/build-dosbox-pure.sh" "$root/tools/core-fork.sh"
[[ $# == 0 ]] || { echo "usage: ${0##*/}" >&2; exit 2; }
revision=6ad3c341308b8e2d2de2cf3bbcbe66aba40e3c06 # ../PS5_DOSBoxPure main
core_fork_setup
core_fork_checkout PS5_DOSBoxPure "$revision"
core_fork_info dosbox_pure_libretro.info e59629d975653c3c2a9ec64a112c524efe5aa16b7cf4093c2085222262fb88dd
# LDFLAGS goes in the environment: the makefiles add their own to it.
LDFLAGS="$core_ldflags $core_libs" make -C "$source_dir" -j"${JOBS:-16}" platform=ps5 \
CC="$core_cc" CXX="$core_cxx" AR="$AR"
core_fork_stage "$source_dir/dosbox_pure_libretro.so" "$core_info" "$revision" tools/build-dosbox-pure.sh
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Cross-build Handy's libretro core (Atari Lynx), from my fork ../PS5_Handy (github.com/mihawk-99/PS5_Handy)
# at its pinned revision (tools/core-fork.sh).
#
# Output: build/cores/stage/{cores,info}/handy_libretro.{so,info}; build-title.sh
# stages those in /app0. It renders in software; games need the Lynx boot ROM in system/ (lynxboot.img).
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
core_name=handy
source "$root/tools/core-stamp.sh"
source "$root/tools/core-fork.sh"
core_stamp_skip handy \
"$root/build/cores/stage/cores/handy_libretro.so" \
"$root/build/cores/stage/info/handy_libretro.info" \
-- "$root/tools/build-handy.sh" "$root/tools/core-fork.sh"
[[ $# == 0 ]] || { echo "usage: ${0##*/}" >&2; exit 2; }
revision=558fc62aeaed1b10e9dba5e03efe7fca56ab9d08 # ../PS5_Handy main
core_fork_setup
core_fork_checkout PS5_Handy "$revision"
core_fork_info handy_libretro.info a059661e377deb24ede5a77c725fbbdd4829666d0996f30bb9c2c9a10ee0461d
# LDFLAGS goes in the environment: the makefiles add their own to it.
LDFLAGS="$core_ldflags $core_libs" make -C "$source_dir" -j"${JOBS:-16}" platform=ps5 \
CC="$core_cc" CXX="$core_cxx" AR="$AR"
core_fork_stage "$source_dir/handy_libretro.so" "$core_info" "$revision" tools/build-handy.sh
+30
View File
@@ -0,0 +1,30 @@
#!/usr/bin/env bash
# Cross-build PicoDrive's libretro core (Sega 32X, and Mega Drive, Mega-CD, Master
# System and Pico), from my fork ../PS5_PicoDrive (github.com/mihawk-99/PS5_PicoDrive)
# at its pinned revision (tools/core-fork.sh).
#
# Output: build/cores/stage/{cores,info}/picodrive_libretro.{so,info}; build-title.sh
# stages those in /app0. It renders in software; the 32X SH-2s run on the
# interpreter (the fork's ps5 platform says why). PicoDrive needs its git
# submodules, so the fork is checked out with them.
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
core_name=picodrive
source "$root/tools/core-stamp.sh"
source "$root/tools/core-fork.sh"
core_stamp_skip picodrive \
"$root/build/cores/stage/cores/picodrive_libretro.so" \
"$root/build/cores/stage/info/picodrive_libretro.info" \
-- "$root/tools/build-picodrive.sh" "$root/tools/core-fork.sh"
[[ $# == 0 ]] || { echo "usage: ${0##*/}" >&2; exit 2; }
revision=39b008bd95bf79bb7b1cf0ba905f9f14d9c86d08 # ../PS5_PicoDrive main
core_fork_setup
core_fork_checkout PS5_PicoDrive "$revision" submodules
core_fork_info picodrive_libretro.info 35cef57b4b61d95a86e1ceee3a7c325d9d16bbdc136b4b3a556e808864de06c5
# LDFLAGS goes in the environment: the makefiles add their own to it.
LDFLAGS="$core_ldflags $core_libs" make -C "$source_dir" -f Makefile.libretro -j"${JOBS:-16}" platform=ps5 \
CC="$core_cc" CXX="$core_cxx" AR="$AR" CC_AS="$CC" GIT_REVISION="-${revision:0:7}"
core_fork_stage "$source_dir/picodrive_libretro.so" "$core_info" "$revision" tools/build-picodrive.sh
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Cross-build PokeMini's libretro core (Pokemon Mini), from my fork ../PS5_PokeMini (github.com/mihawk-99/PS5_PokeMini)
# at its pinned revision (tools/core-fork.sh).
#
# Output: build/cores/stage/{cores,info}/pokemini_libretro.{so,info}; build-title.sh
# stages those in /app0. It renders in software; it has its own free BIOS, and uses bios.min from system/ when there is one.
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
core_name=pokemini
source "$root/tools/core-stamp.sh"
source "$root/tools/core-fork.sh"
core_stamp_skip pokemini \
"$root/build/cores/stage/cores/pokemini_libretro.so" \
"$root/build/cores/stage/info/pokemini_libretro.info" \
-- "$root/tools/build-pokemini.sh" "$root/tools/core-fork.sh"
[[ $# == 0 ]] || { echo "usage: ${0##*/}" >&2; exit 2; }
revision=df8163e56fcbc6608489432a421ee851411677f3 # ../PS5_PokeMini main
core_fork_setup
core_fork_checkout PS5_PokeMini "$revision"
core_fork_info pokemini_libretro.info 514da066db31dd673aabf9c0e54b1b24e485775615217a02ac7de635d621b8b2
# LDFLAGS goes in the environment: the makefiles add their own to it.
LDFLAGS="$core_ldflags $core_libs" make -C "$source_dir" -f Makefile.libretro -j"${JOBS:-16}" platform=ps5 \
CC="$core_cc" CXX="$core_cxx" AR="$AR"
core_fork_stage "$source_dir/pokemini_libretro.so" "$core_info" "$revision" tools/build-pokemini.sh
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Cross-build ProSystem's libretro core (Atari 7800), from my fork ../PS5_ProSystem (github.com/mihawk-99/PS5_ProSystem)
# at its pinned revision (tools/core-fork.sh).
#
# Output: build/cores/stage/{cores,info}/prosystem_libretro.{so,info}; build-title.sh
# stages those in /app0. It renders in software; the 7800 BIOS (7800 BIOS (U).rom in system/) is optional.
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
core_name=prosystem
source "$root/tools/core-stamp.sh"
source "$root/tools/core-fork.sh"
core_stamp_skip prosystem \
"$root/build/cores/stage/cores/prosystem_libretro.so" \
"$root/build/cores/stage/info/prosystem_libretro.info" \
-- "$root/tools/build-prosystem.sh" "$root/tools/core-fork.sh"
[[ $# == 0 ]] || { echo "usage: ${0##*/}" >&2; exit 2; }
revision=0429c4969f663bd2b1aa0ab7e972b1a61befcd98 # ../PS5_ProSystem main
core_fork_setup
core_fork_checkout PS5_ProSystem "$revision"
core_fork_info prosystem_libretro.info 22e9bc148612082f41147b4de167bb7ade705ec5f4642b8b70c0eb9ad1971681
# LDFLAGS goes in the environment: the makefiles add their own to it.
LDFLAGS="$core_ldflags $core_libs" make -C "$source_dir" -j"${JOBS:-16}" platform=ps5 \
CC="$core_cc" CXX="$core_cxx" AR="$AR"
core_fork_stage "$source_dir/prosystem_libretro.so" "$core_info" "$revision" tools/build-prosystem.sh
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Cross-build Stella's libretro core (Atari 2600), from my fork ../PS5_Stella (github.com/mihawk-99/PS5_Stella)
# at its pinned revision (tools/core-fork.sh).
#
# Output: build/cores/stage/{cores,info}/stella_libretro.{so,info}; build-title.sh
# stages those in /app0. It renders in software; no BIOS.
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
core_name=stella
source "$root/tools/core-stamp.sh"
source "$root/tools/core-fork.sh"
core_stamp_skip stella \
"$root/build/cores/stage/cores/stella_libretro.so" \
"$root/build/cores/stage/info/stella_libretro.info" \
-- "$root/tools/build-stella.sh" "$root/tools/core-fork.sh"
[[ $# == 0 ]] || { echo "usage: ${0##*/}" >&2; exit 2; }
revision=34e824a73fb5c2d6d83a47b62810c85cd0b8d357 # ../PS5_Stella main
core_fork_setup
core_fork_checkout PS5_Stella "$revision"
core_fork_info stella_libretro.info ad01fae0d3c0b620a97fe84c5879ee96d241024f58f3d609cabb98eef6f67a35
# LDFLAGS goes in the environment: the makefiles add their own to it.
LDFLAGS="$core_ldflags $core_libs" make -C "$source_dir/src/os/libretro" -j"${JOBS:-16}" platform=ps5 \
CC="$core_cc" CXX="$core_cxx" AR="$AR"
core_fork_stage "$source_dir/src/os/libretro/stella_libretro.so" "$core_info" "$revision" tools/build-stella.sh
+8 -1
View File
@@ -59,7 +59,9 @@ bash "$root/tools/setup-native-dependencies.sh" >/dev/null
}
core_names=(fceumm mgba snes9x fbneo genesis_plus_gx ppsspp dolphin pcsx2
mednafen_psx_hw mupen64plus_next mednafen_saturn vice_x64sc desmume azahar mame flycast)
mednafen_psx_hw mupen64plus_next mednafen_saturn vice_x64sc desmume azahar mame flycast
picodrive mednafen_pce mednafen_pcfx mednafen_vb mednafen_ngp mednafen_wswan pokemini
handy virtualjaguar stella a5200 prosystem dosbox_pure)
# RPCS3 is not part of the title by default, console builds included: PS3 is no
# longer a target (2026-10-04), so no deployment puts it on a console.
# tools/build-rpcs3.sh still builds the core on this machine, and PS5_WITH_RPCS3=1
@@ -94,6 +96,11 @@ for core_name in "${core_names[@]}"; do
pcsx2) script=lrps2 ;;
mednafen_psx_hw) script=beetle-psx ;;
mednafen_saturn) script=beetle-saturn ;;
mednafen_pce) script=beetle-pce ;;
mednafen_pcfx) script=beetle-pcfx ;;
mednafen_vb) script=beetle-vb ;;
mednafen_ngp) script=beetle-ngp ;;
mednafen_wswan) script=beetle-wswan ;;
mupen64plus_next) script=mupen64plus ;;
vice_x64sc) script=vice ;;
*) script=${core_name//_/-} ;;
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Cross-build Virtual Jaguar's libretro core (Atari Jaguar), from my fork ../PS5_VirtualJaguar (github.com/mihawk-99/PS5_VirtualJaguar)
# at its pinned revision (tools/core-fork.sh).
#
# Output: build/cores/stage/{cores,info}/virtualjaguar_libretro.{so,info}; build-title.sh
# stages those in /app0. It renders in software; no BIOS (it carries its own boot code). Compatibility is limited.
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
core_name=virtualjaguar
source "$root/tools/core-stamp.sh"
source "$root/tools/core-fork.sh"
core_stamp_skip virtualjaguar \
"$root/build/cores/stage/cores/virtualjaguar_libretro.so" \
"$root/build/cores/stage/info/virtualjaguar_libretro.info" \
-- "$root/tools/build-virtualjaguar.sh" "$root/tools/core-fork.sh"
[[ $# == 0 ]] || { echo "usage: ${0##*/}" >&2; exit 2; }
revision=45dd657d26d7f39e1505da5378ac50e059dffb8f # ../PS5_VirtualJaguar main
core_fork_setup
core_fork_checkout PS5_VirtualJaguar "$revision"
core_fork_info virtualjaguar_libretro.info c6338c31a4d72706a110e89a94686254a08718479735ad5df156059a1144500a
# LDFLAGS goes in the environment: the makefiles add their own to it.
LDFLAGS="$core_ldflags $core_libs" make -C "$source_dir" -j"${JOBS:-16}" platform=ps5 \
CC="$core_cc" CXX="$core_cxx" AR="$AR"
core_fork_stage "$source_dir/virtualjaguar_libretro.so" "$core_info" "$revision" tools/build-virtualjaguar.sh