From 3b6c31711760f1f423eb845ae7a7d42f63ea8152 Mon Sep 17 00:00:00 2001 From: Corey Burns Date: Wed, 30 Sep 2026 08:59:08 -0500 Subject: [PATCH 1/2] Add mGBA Splitscreen core documentation --- docs/guides/core-list.md | 1 + docs/library/mgba_splitscreen.md | 48 ++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 docs/library/mgba_splitscreen.md diff --git a/docs/guides/core-list.md b/docs/guides/core-list.md index c5cbcc48df..2168fd19c4 100644 --- a/docs/guides/core-list.md +++ b/docs/guides/core-list.md @@ -139,6 +139,7 @@ | MESS 2015 | Multi (various) | (See MAME note) | | [Meteor](../library/meteor.md) | Game Boy Advance | | | [mGBA](../library/mgba.md) | Game Boy Advance | | +| [mGBA Splitscreen](../library/mgba_splitscreen.md) | Game Boy Advance (2-4 linked players) | | | Microw8 | Game engine | A port of a WebAssembly based fantasy console to libretro | | [Minivmac](../library/minivmac.md) | Mac II | MacII variant of minivmac emulator | | [mkxp-z](../library/mkxp-z.md) | RPG Maker XP/VX/VX Ace | | diff --git a/docs/library/mgba_splitscreen.md b/docs/library/mgba_splitscreen.md new file mode 100644 index 0000000000..79d44fca5e --- /dev/null +++ b/docs/library/mgba_splitscreen.md @@ -0,0 +1,48 @@ +# Nintendo - Game Boy Advance (mGBA Splitscreen) + +## Background + +mGBA Splitscreen is a fork of the mGBA libretro core that runs 2 to 4 linked Game Boy Advance emulator instances inside a single core. The players' screens are composited into one image (480x160 or 480x320) and their audio is mixed or taken from one player. The instances are linked over mGBA's lockstep link-cable driver, so games use their own normal multiplayer menus — no frontend netplay layer is involved. + +There are two ways to link players: + +- **Same-cartridge multiplayer**: load one ROM; every player runs the same cartridge and gets its own screen (the way real-world GBA single-cart multiplayer works for games that support it, e.g. Mario Kart: Super Circuit). +- **Per-player ROMs**: start the content through one of the core's link subsystems and select one ROM per player, like the classic link-cable setup. + +The mGBA Splitscreen core has been authored by + +- Spuds0588 (mgba-splitscreen), building on mGBA by endrift + +The mGBA Splitscreen core is licensed under + +- [MPLv2.0](https://github.com/Spuds0588/mgba-splitscreen/blob/master/LICENSE) + +A summary of the licenses behind RetroArch and its cores can be found [here](../development/licenses.md). + +## Requirements + +- An optional GBA BIOS file (`gba_bios.bin`) in the frontend's system directory, same entry as upstream mGBA. + +## How to start the mGBA Splitscreen core (same-cartridge multiplayer): + +- Load Content and select your GBA ROM with the 'mGBA Splitscreen' core. +- Open the Quick Menu → Core Options and set **Players per ROM** to the number of players (2–4). +- Restart the content (Quick Menu → Restart). Each player now runs the same cartridge on its own screen. + +## How to start the mGBA Splitscreen core (per-player ROMs): + +- In RetroArch's Main Menu, select Load Content and pick one of the core's subsystem entries — **GBA Link 2 Player**, **GBA Link 3 Player** or **GBA Link 4 Player** (shown under the core's content-loading options once the core is installed). +- Select one GBA ROM per player when prompted. The first ROM is player 1; the rest follow in order. + +## Core options + +- **Players per ROM (requires reload)** – 1 to 4; shares one cartridge across players. +- **Screen layout (restart required)** – 2x1, 1x2 or 2x2. +- **Audio source** – player 1–4 or mixed. +- **Four Swords link handshake assist** – off/on; eases The Legend of Zelda: Four Swords past its multiplayer handshake (matches the companion app's default of off). + +## External Links + +- [mgba-splitscreen repository](https://github.com/Spuds0588/mgba-splitscreen) +- [Upstream mGBA](https://github.com/mgba-emu/mgba) +- [libretro mGBA core](https://github.com/libretro/mgba) From 03542ec915c6a4716594e04df831d045a8615bb1 Mon Sep 17 00:00:00 2001 From: Corey Burns <101958138+Spuds0588@users.noreply.github.com> Date: Wed, 30 Sep 2026 14:02:06 -0500 Subject: [PATCH 2/2] Update core options: live view layouts, per-viewer focus, outlines & badges --- docs/library/mgba_splitscreen.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/library/mgba_splitscreen.md b/docs/library/mgba_splitscreen.md index 79d44fca5e..7184ad2adb 100644 --- a/docs/library/mgba_splitscreen.md +++ b/docs/library/mgba_splitscreen.md @@ -2,7 +2,7 @@ ## Background -mGBA Splitscreen is a fork of the mGBA libretro core that runs 2 to 4 linked Game Boy Advance emulator instances inside a single core. The players' screens are composited into one image (480x160 or 480x320) and their audio is mixed or taken from one player. The instances are linked over mGBA's lockstep link-cable driver, so games use their own normal multiplayer menus — no frontend netplay layer is involved. +mGBA Splitscreen is a fork of the mGBA libretro core that runs 2 to 4 linked Game Boy Advance emulator instances inside a single core. The players' screens are composited into one image (up to 480x480 depending on the view) and their audio is mixed or taken from one player. The instances are linked over mGBA's lockstep link-cable driver, so games use their own normal multiplayer menus — no frontend netplay layer is involved. There are two ways to link players: @@ -37,9 +37,11 @@ A summary of the licenses behind RetroArch and its cores can be found [here](../ ## Core options - **Players per ROM (requires reload)** – 1 to 4; shares one cartridge across players. -- **Screen layout (restart required)** – 2x1, 1x2 or 2x2. -- **Audio source** – player 1–4 or mixed. -- **Four Swords link handshake assist** – off/on; eases The Legend of Zelda: Four Swords past its multiplayer handshake (matches the companion app's default of off). +- **View layout (applies live)** – Auto, Side by side (2x1), Stacked (1x2), Quadrants (2x2), Speaker (big + strip), Focus (single screen), Overlay (big + thumbnails). The list adapts to the number of players: Quadrants appears with 3–4 players, the 1-wide grids only with 2, and a single player shows Auto only. +- **Focused player (applies live)** – 1 to 4; the player enlarged in Speaker, Focus and Overlay views. Views and focus are per viewer — in netplay, each client can watch a different player. +- **Audio source (applies live)** – player 1–4 or mixed. +- **Four Swords link assist** – off/on; eases The Legend of Zelda: Four Swords past its multiplayer handshake (matches the companion app's default of off). +- **Player outlines & badges** – on/off; a colored border (P1 red, P2 blue, P3 green, P4 orange) and a P-number tag on each player's screen, like the companion app. ## External Links