Files
libretro/emulators/mgba_splitscreen.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
Each libretro profile records version_basis and core_version is read
there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba
0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build
takes its version from git carry the nearest tag in describe form
(flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders
copied from .info files (Git, SVN) are replaced by the code's statement,
and a code that states none is null with kind none.
2026-10-27 19:21:27 +01:00

47 lines
1.9 KiB
YAML

emulator: mGBA Splitscreen
type: libretro
core_classification: community_fork
source: "https://github.com/Spuds0588/mgba-splitscreen"
upstream: "https://github.com/mgba-emu/mgba"
profiled_date: "2026-10-04"
source_commit: "f1d5975d77285f77affbfe64b7050ebd5c4b6a77"
upstream_commit: "afd6f14eaf8bd35214ed3fb9dc69a92bfc3877a9"
core_version: "0.3.1"
version_basis:
kind: file
path: "mgba-splitscreen/package.json"
pattern: '"version":\s+"([^"]+)'
display_name: "Nintendo - Game Boy Advance (mGBA Splitscreen)"
cores:
- mgba_splitscreen
systems:
- nintendo-gba
notes: |
mGBA Splitscreen is a fork of mGBA that runs 2-4 linked GBA cores in a
single libretro instance over mGBA's lockstep SIO driver. Built from
the upstream mGBA tree with -DBUILD_LIBRETRO_SPLITSCREEN=ON
(CMakeLists.txt:1036-1058), the fork adds the mgba-splitscreen link
fixes (Four Swords handshake assist and a gated deadlock kick) on top
of mGBA's library layer. The player instances live in
src/platform/libretro-splitscreen/instances.c and reject anything that
is not a GBA ROM (src/platform/libretro-splitscreen/instances.c:114-119).
The splitscreen wrapper never performs its own BIOS lookup. Each
per-player mCore reaches mGBA's shared GBA core, which looks for
gba_bios.bin in the system directory and uses the built-in HLE BIOS
(src/gba/hle-bios.c) when it is missing. The core-info declares one
optional firmware entry (gba_bios.bin) and only accepts the .gba
extension, so GB/GBC/SGB BIOS files that upstream mGBA supports are
unreachable here.
files:
- name: gba_bios.bin
system: nintendo-gba
required: false
hle_fallback: true
size: 16384 # 16 KB (GBA_SIZE_BIOS)
validation: [size]
note: "GBA BIOS, same file upstream mGBA uses. HLE replacement built in."
source_ref: "source src/platform/libretro-splitscreen/mgba_splitscreen_libretro.info:34-37 (firmware0_desc/path/opt), source src/gba/gba.c:520-551 (GBALoadBIOS, inherited from mGBA core)"