mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 21:43:23 -05:00
ES-DE standalone batch: PSX, DS, GBA, GBC, Xbox, Dolphin and pinball front-ends, each read from its own source or shipped binary.
109 lines
5.4 KiB
YAML
109 lines
5.4 KiB
YAML
emulator: "GBA.emu"
|
|
type: standalone
|
|
core_classification: community_fork
|
|
source: "https://github.com/Rakashazi/emu-ex-plus-alpha"
|
|
upstream: "https://github.com/visualboyadvance-m/visualboyadvance-m"
|
|
profiled_date: "2026-08-11"
|
|
source_commit: "1c12fac5ce49badaadff2e2f210dcc30b89f4943"
|
|
upstream_commit: "fbd043dea0920a2356c44e1458a160455403c640"
|
|
core_version: "1.5.85"
|
|
display_name: "Nintendo - Game Boy Advance (GBA.emu)"
|
|
mode: standalone
|
|
cores:
|
|
- "gba-emu"
|
|
- "GBA.emu"
|
|
- "GBA-EMU"
|
|
systems:
|
|
- nintendo-gba
|
|
|
|
notes: |
|
|
Android and Linux member of the EX Emulator series by Robert Broglia,
|
|
published as com.explusalpha.GbaEmu (GBA.emu/metadata/conf.mk:2,6,7) and
|
|
reached by ES-DE through its GBA-EMU find rule. VBA-M components are vendored
|
|
under GBA.emu/src/core (GBA.emu/metadata/conf.mk:8,
|
|
GBA.emu/src/main/AppMeta.cc:26) and driven by the app's own GBASys, video,
|
|
sound and IO layers. The build defines C_CORE, FINAL_VERSION, NO_PNG, NO_LINK
|
|
and NO_DEBUGGER (GBA.emu/CMakeLists.txt:14). Content is read from .gba and .mb
|
|
files, a .mb name sending the image to work RAM instead of the ROM area
|
|
(GBA.emu/metadata/conf.mk:5, GBA.emu/src/main/AppMeta.cc:31,
|
|
GBA.emu/src/main/Main.cc:182-183, GBA.emu/src/main/VbamApi.cc:211-246).
|
|
|
|
The BIOS is the one file the user supplies and it carries no name of its own.
|
|
The picker takes any .bin or .rom and stores the chosen URI in biosPath
|
|
(GBA.emu/src/main/EmuMenuViews.cc:485-510, GBA.emu/src/main/system.ccm:88,
|
|
GBA.emu/src/main/options.cc:50,79). loadContent reads the file whole and
|
|
throws unless it is exactly 16384 bytes (GBA.emu/src/main/Main.cc:190-197),
|
|
the length CPUInit tests again before copying it and setting useBios
|
|
(GBA.emu/src/core/gba/gba.cpp:3758-3778). Nothing else about the file is
|
|
examined: CPUIsGBABios, the extension test upstream passes to utilLoad, has no
|
|
caller here (GBA.emu/src/core/gba/gba.cpp:1655-1675; upstream
|
|
src/core/gba/gba.cpp:4975-4986).
|
|
|
|
Without a file the app runs on the built-in myROM stub copied into the BIOS
|
|
area (GBA.emu/src/core/gba/gba.cpp:131-305,3776-3778) and on the service call
|
|
implementations of gbaBios.cpp; useBios decides only whether an SWI enters
|
|
BIOS code or the HLE routine, and which register reset a boot performs
|
|
(GBA.emu/src/core/gba/gba.cpp:2525-2545,4104-4112). Two settings gate the
|
|
read: the per-content Use BIOS tristate defaults to Auto, which follows the
|
|
global Default Use BIOS switch, itself off until the user turns it on
|
|
(GBA.emu/src/main/system.ccm:107-108,165-174,
|
|
GBA.emu/src/main/EmuMenuViews.cc:387-395).
|
|
|
|
The 473 entry override table is byte-identical to VBA-M's
|
|
src/libretro/gba-over.inc, and its bios column is dropped on arrival:
|
|
setGameSpecificSettings takes save type, save size, RTC and mirroring and
|
|
nothing more (GBA.emu/src/main/gba-over.inc:1,
|
|
GBA.emu/src/main/Main.cc:283-319), so BIOS use never follows from the game.
|
|
|
|
Per content the app writes and reads files named after the ROM: .sav backup
|
|
memory created full of 0xFF (GBA.emu/src/main/Main.cc:98-108), .gqs states
|
|
(GBA.emu/src/main/system.ccm:128), and a .clt cheat list it saves itself under
|
|
the cheats path (GBA.emu/src/main/Cheats.cc:210-235,
|
|
GBA.emu/src/core/gba/gbaCheats.cpp:2738,2755). Under the patches path it
|
|
applies the first of .ips, .ups or .ppf that opens
|
|
(GBA.emu/src/main/Main.cc:147-178). ui.png, gpOverlay.png and the shader
|
|
sources are drawn by the framework from the application bundle
|
|
(EmuFramework/include/emuframework/AssetManager.hh:61-66,
|
|
EmuFramework/src/AssetManager.cc:58-73,
|
|
EmuFramework/src/VideoImageEffect.cc:164-172).
|
|
|
|
VBA-M's own file entry points reach nothing in this build. CPULoadRom, the
|
|
battery, state, GSA snapshot and eeprom import functions and the EmulatedSystem
|
|
table sit inside #if 0 blocks (GBA.emu/src/core/gba/gba.cpp:1301-1614,
|
|
1885-2134,4803-4869); CPUExportEepromFile and cheatsImportGSACodeFile keep no
|
|
caller (GBA.emu/src/core/gba/gba.cpp:1276,
|
|
GBA.emu/src/core/gba/gbaCheats.cpp:2081); and utilOpenFile, the call all of
|
|
them open files with, is implemented by no source in the build
|
|
(GBA.emu/src/CMakeLists.txt:6-36, GBA.emu/src/main/VbamApi.cc:279-321). The
|
|
e-Reader reads no dotcode either, the tree carrying its header alone and the
|
|
three entry points being stubbed (GBA.emu/src/core/gba/internal/gbaEreader.h,
|
|
GBA.emu/src/main/VbamApi.cc:109-113).
|
|
|
|
files:
|
|
- name: gba_bios.bin
|
|
system: nintendo-gba
|
|
required: false
|
|
hle_fallback: true
|
|
has_builtin: true
|
|
agnostic: true
|
|
size: 16384
|
|
validation: [size]
|
|
description: "Game Boy Advance BIOS"
|
|
note: >-
|
|
Picked by the user from any path, under any name ending in .bin or .rom.
|
|
The only test is the length, and a file of another length aborts the load
|
|
rather than falling back.
|
|
source_ref: "GBA.emu/src/main/Main.cc:190-197 (read and size check), GBA.emu/src/core/gba/gba.cpp:3758-3778 (second check, copy, useBios), GBA.emu/src/main/EmuMenuViews.cc:485-510 (picker and extension filter)"
|
|
|
|
- name: "Motocross Challenge.7z"
|
|
aliases: ["MotocrossChallenge.7z"]
|
|
system: nintendo-gba
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
description: "Bundled homebrew game, listed under Bundled Content"
|
|
note: >-
|
|
Opened from the application bundle by the name the build gives it, the
|
|
Linux build dropping the space.
|
|
source_ref: "GBA.emu/src/main/AppMeta.cc:32-33 (names), EmuFramework/src/gui/BundledGamesView.cc:41,47 (open and load)"
|