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