Virtual Jaguar
Virtual Jaguar emulates Atari Jaguar. It reads 4 files, none of them required: it starts games without them.
About this profile
Install this emulator's files
The installer finds your setup and its BIOS folder, then downloads only the files this emulator reads there and checks each one.
Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator virtualjaguarOpen Terminal, in Applications, then Utilities. Paste the line. Press Return.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator virtualjaguarOpen a terminal. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator virtualjaguarSwitch to Desktop Mode. Open Konsole. Paste with Ctrl+Shift+V. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator virtualjaguarInstall Termux, a terminal app. Run pkg install python and termux-setup-storage once. Then paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator virtualjaguarOpen a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator virtualjaguarTechnical notes
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).
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 (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: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:
jaguarBootROM and jaguarBootROM_M hash to the CRC32 values biosdb.c names
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: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.
4 files: 0 required, 4 optional.
In this collection: 4 in repo and 0 missing.
Optional
Section titled “Optional”[BIOS] Atari Jaguar CD (World).j64 optional in repo
Jaguar CD retail BIOS, replacing the embedded copy
- System: Atari Jaguar
- Aliases:
[BIOS] Atari Jaguar CD (World).rom,[BIOS] Atari Jaguar CD (World).bin,jaguarcd_bios.bin,jagcd_bios.bin,jaguarcd.bin,jagcd.bin,Jaguar CD BIOS.rom,Jaguar CD BIOS.bin - Searched in the system directory and under Atari - Jaguar, Atari - Jaguar CD, jaguar and jaguarcd. Accepted at exactly 262144 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.
- Size: 256.0 KB, CRC32 687068d5
- Collection copy:
bios/Atari/ Jaguar/ [BIOS] Atari Jaguar CD (World).j64
Hashes, validation and source
- CRC32:
687068d5 - Validation: size, crc32
- Source:
libretro.c:5681,libretro.c:5706-5781,libretro.c:5785-5884,libretro.c:5899-5940
[BIOS] Atari Jaguar Developer CD (World).j64 optional in repo
Jaguar CD developer BIOS, selected by virtualjaguar_cd_bios_type
- System: Atari Jaguar
- Aliases:
[BIOS] Atari Jaguar Developer CD (World).rom,[BIOS] Atari Jaguar Developer CD (World).bin - Same search and the same size and checksum test as the retail BIOS. Whichever type the option does not select is still tried last.
- Size: 256.0 KB, CRC32 55a0669c
- Collection copy:
bios/Atari/ Jaguar/ [BIOS] Atari Jaguar Developer CD (World).j64
Hashes, validation and source
- CRC32:
55a0669c - Validation: size, crc32
- Source:
libretro.c:5682,libretro.c:5706-5781,libretro.c:5785-5884
jagboot.rom optional in repo
Cart boot ROM read when the BIOS type is set to custom
- System: Atari Jaguar
- Aliases:
boot.rom,boot0.rom,[BIOS] Atari Jaguar (World).j64,[BIOS] Atari Jaguar Stubulator '94 (World).j64,[BIOS] Atari Jaguar Stubulator '93 (World).j64 - Reached only through BT_CUSTOM. Searched in the system directory and 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.
- Size: 128.0 KB
- Collection copy:
bios/Atari/Jaguar/boot.rom - Platforms:
Jaguar/boot.rom: MiSTer FPGA
Validation and source
- Validation: size
- Source:
libretro.c:6010-6050,libretro.c:6059-6103,libretro.c:6131-6147
jagboot_m.rom optional in repo
Model-M cart boot ROM, read when the BIOS type is Model M
- System: Atari Jaguar
- 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 Model M array, which carries the same bytes as the Model M dump.
- Size: 128.0 KB, SHA1 af643900fea8
- Collection copy:
bios/Atari/Jaguar/boot.rom - Platforms:
Jaguar/boot.rom: MiSTer FPGA
Hashes, validation and source
- SHA1:
af643900fea84234e08b616a6d27f03f0a61db96 - MD5:
6e844759720226e58d55ecaf33608a13 - CRC32:
ae25bdf5 - Validation: size
- Source:
libretro.c:6149-6171,src/bios/jagbios_m.c:9
Profile data
Section titled “Profile data”Source analysis
-
embedded bios:
-
k series boot rom:
- source file: src/bios/jagbios.c
- header: src/bios/jagbios.h
- symbol: jaguarBootROM
- size: 131072
- description: Jaguar K-series boot ROM
- filedb crc: 0xFB731AAA
- filedb name: [BIOS] Atari Jaguar (World)
-
m series boot rom:
- source file: src/bios/jagbios_m.c
- header: src/bios/jagbios_m.h
- symbol: jaguarBootROM_M
- size: 131072
- description: Jaguar M-series boot ROM
- biosdb crc: 0xAE25BDF5
- biosdb name: Model M boot ROM
-
cd boot rom:
- source file: src/bios/jagcdbios.c
- header: src/bios/jagcdbios.h
- symbol: jaguarCDBootROM
- size: 262144
- description: Jaguar CD boot ROM
- filedb crc: 0x687068D5
- filedb name: [BIOS] Atari Jaguar CD (World)
-
dev cd boot rom:
- source file: src/bios/jagdevcdbios.c
- header: src/bios/jagdevcdbios.h
- symbol: jaguarDevCDBootROM
- size: 262144
- description: Jaguar Developer CD boot ROM
- filedb crc: 0x55A0669C
- filedb name: [BIOS] Atari Jaguar Developer CD (World)
-
-
bios type enum:
-
source ref:
src/core/settings.h:66 -
values:
- BT_K_SERIES
- BT_M_SERIES
- BT_STUBULATOR_1
- BT_STUBULATOR_2
- BT_CUSTOM
-
-
core option:
- key: virtualjaguar_bios
- 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:589-601
-
bios loading:
- mechanism: embedded
- load address: 0xE00000
- load size: 0x20000
- 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: yes
- note: jagBootPath and CDBootPath struct fields are never set in the libretro port. The standalone Virtual Jaguar GUI uses them but that code path is not compiled into the libretro core.
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start