feat: add 10 emulator profiles (batch 6)
gpsp (GBA, open BIOS fallback), ecwolf (ecwolf.pk3),
prboom (prboom.wad), x1 (Sharp X1, 5 files in xmil/),
minivmac (MacII.ROM/MacIIx.ROM), theodore (Thomson, all embedded),
crocods (CPC 6128, all embedded), vba_next (GBA, HLE fallback),
same_cdi (CD-i, 3 MAME ZIPs + 2 undeclared), beetle_lynx (lynxboot.img)
71 total profiles. Cross-reference: 690 undeclared, 186 in repo.
2026-03-17 19:39:19 +01:00
|
|
|
emulator: VBA-Next
|
|
|
|
|
type: libretro
|
2026-03-25 12:23:32 +01:00
|
|
|
core_classification: frozen_snapshot
|
feat: add 10 emulator profiles (batch 6)
gpsp (GBA, open BIOS fallback), ecwolf (ecwolf.pk3),
prboom (prboom.wad), x1 (Sharp X1, 5 files in xmil/),
minivmac (MacII.ROM/MacIIx.ROM), theodore (Thomson, all embedded),
crocods (CPC 6128, all embedded), vba_next (GBA, HLE fallback),
same_cdi (CD-i, 3 MAME ZIPs + 2 undeclared), beetle_lynx (lynxboot.img)
71 total profiles. Cross-reference: 690 undeclared, 186 in repo.
2026-03-17 19:39:19 +01:00
|
|
|
source: "https://github.com/libretro/vba-next"
|
2026-03-25 12:23:32 +01:00
|
|
|
upstream: "https://github.com/visualboyadvance-m/visualboyadvance-m"
|
|
|
|
|
profiled_date: "2026-03-25"
|
2026-03-18 05:19:57 +01:00
|
|
|
core_version: "SVN"
|
|
|
|
|
display_name: "Nintendo - Game Boy Advance (VBA Next)"
|
feat: add 10 emulator profiles (batch 6)
gpsp (GBA, open BIOS fallback), ecwolf (ecwolf.pk3),
prboom (prboom.wad), x1 (Sharp X1, 5 files in xmil/),
minivmac (MacII.ROM/MacIIx.ROM), theodore (Thomson, all embedded),
crocods (CPC 6128, all embedded), vba_next (GBA, HLE fallback),
same_cdi (CD-i, 3 MAME ZIPs + 2 undeclared), beetle_lynx (lynxboot.img)
71 total profiles. Cross-reference: 690 undeclared, 186 in repo.
2026-03-17 19:39:19 +01:00
|
|
|
cores:
|
|
|
|
|
- vba_next
|
|
|
|
|
systems:
|
|
|
|
|
- nintendo-gba
|
|
|
|
|
|
|
|
|
|
notes: |
|
2026-03-25 12:23:32 +01:00
|
|
|
Frozen snapshot of VBA-M circa 2011, optimized for libretro by Squarepusher.
|
feat: add 10 emulator profiles (batch 6)
gpsp (GBA, open BIOS fallback), ecwolf (ecwolf.pk3),
prboom (prboom.wad), x1 (Sharp X1, 5 files in xmil/),
minivmac (MacII.ROM/MacIIx.ROM), theodore (Thomson, all embedded),
crocods (CPC 6128, all embedded), vba_next (GBA, HLE fallback),
same_cdi (CD-i, 3 MAME ZIPs + 2 undeclared), beetle_lynx (lynxboot.img)
71 total profiles. Cross-reference: 690 undeclared, 186 in repo.
2026-03-17 19:39:19 +01:00
|
|
|
|
2026-03-25 12:23:32 +01:00
|
|
|
Built-in HLE BIOS (myROM array, src/gba.cpp:8423) handles all standard SWI
|
|
|
|
|
calls. No external BIOS file needed for most games.
|
feat: add 10 emulator profiles (batch 6)
gpsp (GBA, open BIOS fallback), ecwolf (ecwolf.pk3),
prboom (prboom.wad), x1 (Sharp X1, 5 files in xmil/),
minivmac (MacII.ROM/MacIIx.ROM), theodore (Thomson, all embedded),
crocods (CPC 6128, all embedded), vba_next (GBA, HLE fallback),
same_cdi (CD-i, 3 MAME ZIPs + 2 undeclared), beetle_lynx (lynxboot.img)
71 total profiles. Cross-reference: 690 undeclared, 186 in repo.
2026-03-17 19:39:19 +01:00
|
|
|
|
2026-03-25 12:23:32 +01:00
|
|
|
BIOS loading gated by HAVE_HLE_BIOS (build/Makefile.common:3) and core option
|
|
|
|
|
vbanext_bios (default: enabled). When enabled, retro_init resolves gba_bios.bin
|
|
|
|
|
in system_dir (libretro/libretro.cpp:198-202). CPUInit loads via utilLoad(),
|
|
|
|
|
validates size == 0x4000, sets useBios = true (src/gba.cpp:12430-12438). On
|
|
|
|
|
failure, myROM is memcpy'd as HLE fallback (src/gba.cpp:12443).
|
feat: add 10 emulator profiles (batch 6)
gpsp (GBA, open BIOS fallback), ecwolf (ecwolf.pk3),
prboom (prboom.wad), x1 (Sharp X1, 5 files in xmil/),
minivmac (MacII.ROM/MacIIx.ROM), theodore (Thomson, all embedded),
crocods (CPC 6128, all embedded), vba_next (GBA, HLE fallback),
same_cdi (CD-i, 3 MAME ZIPs + 2 undeclared), beetle_lynx (lynxboot.img)
71 total profiles. Cross-reference: 690 undeclared, 186 in repo.
2026-03-17 19:39:19 +01:00
|
|
|
|
2026-03-25 12:23:32 +01:00
|
|
|
With real BIOS, execution starts at 0x00000000 (BIOS entry point). Without,
|
|
|
|
|
jumps to 0x08000000 (ROM entry), skipping boot animation
|
|
|
|
|
(src/gba.cpp:12657-12675).
|
feat: add 10 emulator profiles (batch 6)
gpsp (GBA, open BIOS fallback), ecwolf (ecwolf.pk3),
prboom (prboom.wad), x1 (Sharp X1, 5 files in xmil/),
minivmac (MacII.ROM/MacIIx.ROM), theodore (Thomson, all embedded),
crocods (CPC 6128, all embedded), vba_next (GBA, HLE fallback),
same_cdi (CD-i, 3 MAME ZIPs + 2 undeclared), beetle_lynx (lynxboot.img)
71 total profiles. Cross-reference: 690 undeclared, 186 in repo.
2026-03-17 19:39:19 +01:00
|
|
|
|
2026-03-25 12:23:32 +01:00
|
|
|
CPUIsGBABios accepts extensions: .gba, .agb, .bin, .bios, .rom
|
|
|
|
|
(src/gba.cpp:8851-8873).
|
feat: add 10 emulator profiles (batch 6)
gpsp (GBA, open BIOS fallback), ecwolf (ecwolf.pk3),
prboom (prboom.wad), x1 (Sharp X1, 5 files in xmil/),
minivmac (MacII.ROM/MacIIx.ROM), theodore (Thomson, all embedded),
crocods (CPC 6128, all embedded), vba_next (GBA, HLE fallback),
same_cdi (CD-i, 3 MAME ZIPs + 2 undeclared), beetle_lynx (lynxboot.img)
71 total profiles. Cross-reference: 690 undeclared, 186 in repo.
2026-03-17 19:39:19 +01:00
|
|
|
|
2026-03-25 12:23:32 +01:00
|
|
|
Upstream VBA-M CPUInit (src/core/gba/gba.cpp:3674-3702) is functionally
|
|
|
|
|
identical. No divergences in BIOS handling.
|
feat: add 10 emulator profiles (batch 6)
gpsp (GBA, open BIOS fallback), ecwolf (ecwolf.pk3),
prboom (prboom.wad), x1 (Sharp X1, 5 files in xmil/),
minivmac (MacII.ROM/MacIIx.ROM), theodore (Thomson, all embedded),
crocods (CPC 6128, all embedded), vba_next (GBA, HLE fallback),
same_cdi (CD-i, 3 MAME ZIPs + 2 undeclared), beetle_lynx (lynxboot.img)
71 total profiles. Cross-reference: 690 undeclared, 186 in repo.
2026-03-17 19:39:19 +01:00
|
|
|
|
|
|
|
|
files:
|
|
|
|
|
- name: gba_bios.bin
|
|
|
|
|
system: nintendo-gba
|
|
|
|
|
required: false
|
feat: hle_fallback on 39 emulator profiles (266 entries)
Batch analysis of all 273 profiles to identify HLE/embedded
fallbacks. Added hle_fallback: true where the core has verified
software replacement for missing BIOS files:
- Embedded ROMs: vice (102), ep128emu (22), fuse (18), frodo (4)
- HLE BIOS: bsnes* (33 across 3 profiles), puae (9 AROS),
noods (4), melonds* (6 FreeBIOS), flycast (3 reios)
- Open-source replacements: sameboy (8), pokemini (1), gpsp (1)
- Built-in fallbacks: np2kai (7), atari800 (6 Altirra),
picodrive (3), quasi88 (4), gambatte (2)
Conservative: only added where notes or source code confirm HLE.
Skipped 50+ profiles where files are optional alternatives, not
HLE replaceable (neocd, opera, kronos, pcem, etc.)
2026-03-19 13:03:48 +01:00
|
|
|
hle_fallback: true
|
2026-03-25 12:23:32 +01:00
|
|
|
size: 16384
|
|
|
|
|
validation: [size]
|
|
|
|
|
description: "GBA BIOS"
|
|
|
|
|
note: "Optional. HLE replacement handles all standard SWI calls. Real BIOS adds startup logo and may improve edge-case accuracy."
|
|
|
|
|
source_ref: "libretro/libretro.cpp:198-202, src/gba.cpp:12430-12438"
|