mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-23 20:29:06 -05:00
fix: virtualjaguar notes and refs at v3.10.0
Same four files. A CD BIOS outside the two CRC32 constants is accepted on a plausible run address (libretro.c:5706-5781), and a custom cart boot ROM must be exactly 131072 bytes (libretro.c:6010-6050). core_version follows CORE_BASE_VERSION in the Makefile.
This commit is contained in:
1 parent
dfc6401a1b
commit
59e403bd3f
1 file changed
+41
-39
+41
-39
@@ -4,8 +4,8 @@ core_classification: community_fork
|
||||
source: "https://github.com/libretro/virtualjaguar-libretro"
|
||||
upstream: "http://shamusworld.gotdns.org/git/virtualjaguar"
|
||||
profiled_date: "2026-09-04"
|
||||
source_commit: "f9a3c89f58836cb2c45a42ad4edfac047050f30a"
|
||||
core_version: "v2.1.0"
|
||||
source_commit: "e7db53678b86e2fceb459e26cf09d2fdaaa4d395"
|
||||
core_version: "v3.10.0"
|
||||
display_name: "Atari - Jaguar (Virtual Jaguar)"
|
||||
cores:
|
||||
- virtualjaguar
|
||||
@@ -13,30 +13,30 @@ systems:
|
||||
- atari-jaguar
|
||||
|
||||
notes: |
|
||||
The boot ROMs are still compiled in, generated by bin2c, but the core no
|
||||
longer only uses them. Staging moved out of retro_load_game into
|
||||
stage_cart_boot_rom, which reads a file first and falls back to the
|
||||
embedded array (libretro.c:5339-5382). BT_M_SERIES tries jagboot_m.rom in
|
||||
the system directory. BT_CUSTOM, a value the enum did not carry before,
|
||||
searches six names across the system directory and two subdirectories
|
||||
(libretro.c:5293-5337). Either way the file has to be 0x20000 bytes, the
|
||||
size copied to jagMemSpace + 0xE00000. Anything shorter is a short read and
|
||||
the embedded Series K takes over.
|
||||
The boot ROMs are compiled in, generated by bin2c, and a file in the system
|
||||
directory can replace them. stage_cart_boot_rom stages the cart boot ROM at
|
||||
jagMemSpace + 0xE00000 (libretro.c:6105-6180). BT_M_SERIES reads
|
||||
jagboot_m.rom from the system directory, and a read shorter than 0x20000
|
||||
bytes leaves the embedded Model M in place. BT_CUSTOM searches six names
|
||||
across the system directory and two subdirectories (libretro.c:6059-6103),
|
||||
takes the first file of exactly 0x20000 bytes, and falls back to the
|
||||
embedded Series K when none qualifies (libretro.c:6010-6050).
|
||||
|
||||
The Jaguar CD BIOS is the larger change. stage_cd_bios calls
|
||||
load_external_cd_bios, which walks three name groups over five directories
|
||||
(libretro.c:5049-5158). The group order follows the
|
||||
virtualjaguar_cd_bios_type option, then generic names, then the other type,
|
||||
because a lone file of the wrong type still beats the embedded copy: the
|
||||
user put it there deliberately. A candidate is accepted at exactly 0x40000
|
||||
bytes and recognised by CRC32 against two constants
|
||||
(libretro.c:4964-4965,4971-5048).
|
||||
stage_cd_bios calls load_external_cd_bios, which walks three name groups
|
||||
over five directories (libretro.c:5785-5884, 5899-5940). The group order
|
||||
follows the virtualjaguar_cd_bios_type option, then generic names, then the
|
||||
other type, so a lone file of the other type still beats the embedded copy.
|
||||
A candidate must be exactly 0x40000 bytes. Its CRC32 is compared with two
|
||||
constants, and a file matching neither is still accepted when the run
|
||||
address at 0x404 lies between 0x800000 and 0x840000
|
||||
(libretro.c:5681-5682,5706-5781).
|
||||
|
||||
The "BIOS" core option (virtualjaguar_bios, disabled by default) still
|
||||
controls whether the boot ROM is executed at startup. When enabled, the
|
||||
The "BIOS (Cartridges)" core option (virtualjaguar_bios, disabled by
|
||||
default) controls whether the boot ROM runs at startup. When enabled, the
|
||||
boot ROM entry point is copied to jaguarMainRAM
|
||||
(src/core/jaguar.c:1466-1468). When disabled, jaguarRunAddress is written
|
||||
directly, skipping the boot animation.
|
||||
(src/core/jaguar.c:1499-1501). When disabled, jaguarRunAddress is written
|
||||
directly, skipping the boot animation. GPU-only cartridges turn the boot
|
||||
ROM on regardless (libretro.c:5968-6002).
|
||||
|
||||
Nothing here is required: every path falls back to an embedded copy, and a
|
||||
file only replaces it. The embedded arrays are the dumps themselves:
|
||||
@@ -44,9 +44,10 @@ notes: |
|
||||
Series K and Model M, jaguarCDBootROM and jaguarDevCDBootROM to the two
|
||||
values the CD BIOS test accepts (src/bios/jagbios.c, src/bios/jagbios_m.c,
|
||||
src/bios/jagcdbios.c, src/bios/jagdevcdbios.c, src/core/biosdb.c:20-21,
|
||||
libretro.c:4964-4965). A file changes what runs only under BT_CUSTOM,
|
||||
where any image of 0x20000 bytes is loaded and an unrecognised checksum
|
||||
is logged (libretro.c:5245-5284).
|
||||
libretro.c:5681-5682). A file changes what runs when it is a cart boot ROM
|
||||
under BT_CUSTOM, where any checksum is loaded and an unrecognised one is
|
||||
logged (libretro.c:6010-6050), or a CD BIOS revision outside the two
|
||||
checksums.
|
||||
|
||||
files:
|
||||
- name: "[BIOS] Atari Jaguar CD (World).j64"
|
||||
@@ -65,14 +66,14 @@ files:
|
||||
- "Jaguar CD BIOS.rom"
|
||||
- "Jaguar CD BIOS.bin"
|
||||
description: "Jaguar CD retail BIOS, replacing the embedded copy"
|
||||
source_ref: "libretro.c:4964, libretro.c:4971-5048, libretro.c:5049-5158, libretro.c:5159-5175"
|
||||
source_ref: "libretro.c:5681, libretro.c:5706-5781, libretro.c:5785-5884, libretro.c:5899-5940"
|
||||
note: >-
|
||||
Searched in the system directory and under Atari - Jaguar,
|
||||
Atari - Jaguar CD, jaguar and jaguarcd. Accepted at exactly 262144
|
||||
bytes and recognised by its CRC32. A file of the right size whose
|
||||
checksum matches neither constant is counted as rejected and the
|
||||
embedded BIOS is used. The generic names are tried after the type the
|
||||
virtualjaguar_cd_bios_type option selects.
|
||||
bytes. A file whose CRC32 matches neither constant is still accepted
|
||||
when its run address at 0x404 lies between 0x800000 and 0x840000,
|
||||
otherwise it is rejected and the search goes on. The generic names are
|
||||
tried after the type the virtualjaguar_cd_bios_type option selects.
|
||||
|
||||
- name: "[BIOS] Atari Jaguar Developer CD (World).j64"
|
||||
system: atari-jaguar
|
||||
@@ -84,7 +85,7 @@ files:
|
||||
- "[BIOS] Atari Jaguar Developer CD (World).rom"
|
||||
- "[BIOS] Atari Jaguar Developer CD (World).bin"
|
||||
description: "Jaguar CD developer BIOS, selected by virtualjaguar_cd_bios_type"
|
||||
source_ref: "libretro.c:4965, libretro.c:5049-5158"
|
||||
source_ref: "libretro.c:5682, libretro.c:5706-5781, libretro.c:5785-5884"
|
||||
note: >-
|
||||
Same search and the same size and checksum test as the retail BIOS.
|
||||
Whichever type the option does not select is still tried last.
|
||||
@@ -101,11 +102,12 @@ files:
|
||||
- "[BIOS] Atari Jaguar Stubulator '94 (World).j64"
|
||||
- "[BIOS] Atari Jaguar Stubulator '93 (World).j64"
|
||||
description: "Cart boot ROM read when the BIOS type is set to custom"
|
||||
source_ref: "libretro.c:5293-5337, libretro.c:5339-5356"
|
||||
source_ref: "libretro.c:6010-6050, libretro.c:6059-6103, libretro.c:6131-6147"
|
||||
note: >-
|
||||
Reached only through BT_CUSTOM. Searched in the system directory and
|
||||
under Atari - Jaguar and jaguar. No checksum is tested, and a read shorter
|
||||
than 131072 bytes leaves the embedded Series K in place.
|
||||
under Atari - Jaguar and jaguar, name by name. No checksum is tested. A
|
||||
file that is not exactly 131072 bytes is skipped, and with none left the
|
||||
embedded Series K is used.
|
||||
|
||||
- name: jagboot_m.rom
|
||||
system: atari-jaguar
|
||||
@@ -116,7 +118,7 @@ files:
|
||||
md5: "6e844759720226e58d55ecaf33608a13"
|
||||
crc32: "ae25bdf5"
|
||||
description: "Model-M cart boot ROM, read when the BIOS type is Model M"
|
||||
source_ref: "libretro.c:5358-5380, src/bios/jagbios_m.c:9"
|
||||
source_ref: "libretro.c:6149-6171, src/bios/jagbios_m.c:9"
|
||||
note: >-
|
||||
Read from the system directory only, as jagboot_m.rom, and only when
|
||||
biosType is BT_M_SERIES. A short read falls back to the embedded
|
||||
@@ -161,7 +163,7 @@ analysis:
|
||||
filedb_name: "[BIOS] Atari Jaguar Developer CD (World)"
|
||||
|
||||
bios_type_enum:
|
||||
source_ref: "src/core/settings.h:61"
|
||||
source_ref: "src/core/settings.h:66"
|
||||
values:
|
||||
- BT_K_SERIES
|
||||
- BT_M_SERIES
|
||||
@@ -174,13 +176,13 @@ analysis:
|
||||
label: "BIOS (Cartridges)"
|
||||
description: "Which BIOS a cartridge boots with: disabled is HLE, enabled runs the boot ROM."
|
||||
default: disabled
|
||||
source_ref: "libretro_core_options.h:588-600"
|
||||
source_ref: "libretro_core_options.h:589-601"
|
||||
|
||||
bios_loading:
|
||||
mechanism: embedded
|
||||
load_address: "0xE00000"
|
||||
load_size: "0x20000"
|
||||
source_ref: "libretro.c:5339-5383, libretro.c:6332"
|
||||
source_ref: "libretro.c:6105-6180, libretro.c:7237"
|
||||
selection_logic: "BT_CUSTOM reads a file, BT_M_SERIES tries jagboot_m.rom, otherwise the embedded array"
|
||||
external_loading: true
|
||||
note: |
|
||||
|
||||
Reference in new issue
Block a user