Repository navigation
v3.7.0
Virtual Jaguar libretro v3.7.0
Broken-games release. Most of the fixes are for Jaguar CD titles that froze, showed a
black screen or would not boot, plus two cartridge fixes, three blitter fixes and an
OP fix. HLE-mode CD titles now behave under run-ahead and rollback.
v3.7.0 is the first of the two trains that follow the 2026-09 re-plan (epic #745,
milestone "v3.7.0 — Broken games"). It is about titles that did not boot, froze, or
showed a black screen. There is no performance work in this release and no new core
option. The savestate format moves from v14 to v15; new builds still load v14 states
(see Savestates).
Fourteen of the commits since v3.6.1 are by Adrien Beudin (@beudbeud), who found and
fixed most of the Jaguar CD problems below. GitHub only lets the author mark a fork's
draft PR ready, so most of those arrived through carrier PRs that merged the original
commits unchanged. Authorship is preserved on the commits.
Highlights
- Baldies no longer freezes ~600 frames into its intro in the default HLE boot
mode, and no longer wedges undercd_boot_mode=bioseither (#738, #750, #752). - Myst boots from CHD images, and gets past the Cyan logo in both boot modes
(#754, #755, #756, #757). - World Tour Racing gets past its title screen (#589, #759).
- PolyEngine (42Bastian's demo) boots and draws polygons (#785, #790, #791).
- PlaySFX and other headerless raw-binary homebrew load in HLE (#739, #805).
- Vid Grid, Ocean Depths, Simone, Fast Food 64, Frogz 64 and
Saucer Wars each have a fix (#760 through #765, with #762 for Vid Grid's video). - HLE CD titles are deterministic under run-ahead and rollback, and a state saved
in the middle of a CD load resumes the load (#787, #803).
Bug fixes
Jaguar CD titles
- Baldies, HLE boot mode (#738, #750). The cutscene froze about 600 frames in.
The game locates each stream chunk by scanning for 16 consecutive aligned longs of a
mastering marker. HLE's alignment scan returned on the first candidate it found, and
that candidate was a run of{characters in the wrong sector at an odd
misalignment, so the real marker was never examined. The scan now skips
odd-misaligned candidates. The cutscene renders from frame 600 to past frame 1700
where it used to be frozen. Iron Soldier 2, listed in the same issue, was already
fixed in v3.6.1. - Baldies, BIOS boot mode (#752, #757). It stopped progressing in the intro with
the 68K parked inSTOP #$2000. Fixed by the GPU/DSP sync ordering change below.
Baldies (.cue,.chd,.cdi) is a PASS in BIOS mode in the CD boot matrix again. - Movie refills landing two bytes off (#758, #766). When the HLE alignment scan
found nothing, refills could land two bytes off the right position. HLE now
remembers the byte phase of the last located sync run per track and reuses it when
the scan misses. The fix is aimed at Hover Strike, Baldies, BrainDead 13 and
Robinson's Requiem, the titles named in the issue. The PR reports Hover Strike's
story crawl and credits and Baldies' cutscenes continuing. - World Tour Racing (#589, #759, #767). The title screen froze. The game starts
its title music with aCD_readwhose end address is below its destination, which
means "seek only". HLE treated it as an unknown-size read and copied 367 KB over the
GPU program the game launches next. An end at or below the destination is now a seek
with no transfer. Both the USA and Songbird releases ran 7200 frames (two minutes)
without a freeze in the maintainer's re-measurement. - Myst from CHD images (#754, #755). chdman counts a virtual pregap inside a
track'sFRAMESand stores it as zero frames at the head of the track. The CHD
reader treated it as not stored, so every later track was read about 149 sectors
late and the game showed a black screen. After the fix the first data sector of all
ten tracks matches the CUE/BIN produced bychdman extractcd. - Vid Grid from CHD (#763, #771). The same pregap handling also truncated the
ATRIsync run at the head of a data track, so the Vid Grid USA and Alt CHDs
retried their boot read forever. The core now rebuilds the missing bytes, only
when the sector shows a truncated run followed by the header text. Vid Grid (USA),
(Alt) and (Rev 1) CHDs boot to the intro and title in the PR's testing. - Ocean Depths and Simone boot headers (#764, #772). Both were refused as
zero-filled bad rips because the boot header sits one sector into the track. The
loader now searches 16 sectors for the 32-byte boot magic instead of one, and still
fails if a track has no header. Simone boots to its title in the PR's testing. - Ocean Depths TOC reads (#765, #773, #788). The first
$03nn/$14nnTOC word
was delivered when the command was written, and a dummy data read consumed it. It is
now armed after the DSA turnaround like other responses, and data reads made while
bit 13 is low return the latched word without advancing. Ocean Depths reaches its
main menu in the PR's testing, and the carrier PR reports its HLE run getting from
frame 466 to frame 706 on develop. This is a savestate change; see below. - Homebrew CDs: Fast Food 64, Frogz 64, Saucer Wars (#760, #761, #768, #769). Two
separate faults hit these discs. HLE redirected the session-1 program read, and the
68K crashed. A second fault: these discs overwrite the$2404NVM stub, so HLE
served the call and then the disc's own module polled a missing flash for minutes.
HLE no longer redirects a read whose session-1 LBA holds the D1 sync run, and the
NVM hook returns itself when a disc has overwritten its stub at$2404.
The effect only shows with both fixes. Fast Food 64 (and Holiday Snacks), Frogz 64
and Saucer Wars reach their title screens with audio, and the Frogz 64 menu responds
to input. - Space Ace intro (#756, #757). The intro was frozen and silent. Same cause as
Myst, below.
Cartridge titles
- PolyEngine and other 2-9 block jagcrypt carts (#784, #785). PolyEngine's program
is in an encrypted boot block and runs on the GPU from the real boot ROM. The core
only accepted header bytes0xFCand0xFE(4 and 2 blocks), and PolyEngine's is
0xFD(3 blocks), so it stayed on HLE, which jumped to vertex data and showed a
black screen.
Header bytes0xF7through0xFE(2 to 9 blocks) are now detected as GPU-only
carts and take the real boot ROM.0xF6, the standard 10-block header, is
deliberately not matched: it is on every commercial cart in the maintainer's corpus,
several of which have entry opcodes the detector does not recognise (Hover Strike,
Rayman, NBA Jam TE, White Men Can't Jump, Battle Sphere). A corpus sweep of 1272
files foundpolygon.j64as the only file whose verdict changed. At default
options it now shows 885 of 900 frames non-black and has audio. - PlaySFX and other headerless raw binaries (#739, #805). PlaySFX V1.0 is a
headerless RAM image linked at$4000. The loader's load-address guess counted only
LEA abs.L,A0, but PlaySFX loads its library base into A6, so it scored below the
threshold and was mapped as a cartridge at$800000, where the 68K ran zeroed RAM.
The guess now countsLEA abs.Linto any address register. PlaySFX loads at$4000
and runs in HLE and BIOS modes, and with keypad 1 pressed it produces audio. Its
video is black in the headless harness, which the PR notes is undetermined, so audio
was the proof of life. An offline sweep of 155 ROMs found PlaySFX is the only file
whose inferred load address changes.
Rendering and blitter
- PolyEngine on the Fast blitter (#786, #790). With the Fast blitter, PolyEngine
drew a noise floor and no polygons. Two bugs were both needed: withDSTENclear,
destination Z came from the DSTZ register instead of memory, even thoughDSTENZ
enables that read independently (JTRM v8 p.73), and Z was addressed as 16 bits per pixel even when the Z buffer is
cleared with a 32bpp phrase copy. At frame 500 the differences against the Accurate
engine fall from 35.4% of pixels to 0.02% (23 pixels). The PR found no change on 12
in-game savestates or on 900 frames of Hover Strike attract. - Computed-Z ordering in the Accurate (default) blitter (#789, #791). The first
pixel of every Gouraud-Z strip got seed + ZINC instead of the seed, so each Z value
was one step ahead. The core now writes the seed first, per the jag_sim netlist and
the JTRM worked example on pp.81-82. Stored depth values move by one step in titles
that use computed Z (Cybermorph and I-War run hundreds of thousands of such blits).
No displayed frame changed across 12 in-game savestates and 900 frames of Hover
Strike; PolyEngine's Accurate frame changes by 23 pixels. With this and #790, Fast
and Accurate agree on all 268,258 PolyEngine blits. - Fast blitter phrase-mode Gouraud lanes and Z saturation (#792, #793). The Fast
engine started every phrase-mode strip at the right-most pixel's lane regardless of
x, and let Z wrap instead of saturating. Fast now picks the lane by pixel position
and saturates Z. Fast-versus-Accurate per-blit disagreement on in-game savestates
falls from 155,314 to 0 for Cybermorph and from 11,315 to 0 for I-War. Titles that
already agreed (AvP, Doom, Super Burnout, Checkered Flag) still agree. Only Fast
output changes. - OP branch and GPU objects on clamped lines (#762, #770). When a game sets VDE
past VP the OP runs every line, and the #632 fix clamps those passes to the visible
window. That also dropped every non-bitmap object parked on a blanking line. Vid
Grid branches to a GPU object only at line 518 and builds its movie bitmaps from that interrupt, so it showed a black screen over
running movie audio. On clamped lines the OP now walks the list with bitmap and
scaled objects skipped, so branch, GPU and stop objects still fire. The clamp's
purpose, no late HEIGHT/DATA write-back on bitmap objects, is kept. Vid Grid's logo,
"DANGER HIGH VOLTAGE" intro and title screen appear, and the Super Burnout race HUD
that #632 fixed is intact.
Timing and synchronisation
- GPU/DSP sync ordering for 68K writes to local RAM (#752, #756, #757). The
catch-up that runs the GPU and DSP up to the 68K's current time ran after a 68K
write to GPU/DSP local RAM landed, so the RISC ran the cycles before the write with
the write already visible. A short GPU job could finish and raise its interrupt
before the 68K reached its next instruction. Myst posts a job and then runs
stop #$2000with only the GPU interrupt enabled, so it slept forever (black screen
after the Cyan logo); Space Ace's intro and Baldies in BIOS mode failed the same
way. The catch-up now runs before the write, which keeps the earlier #138 guarantee
that each later write still flushes the GPU first. Two follow-up commits keep the
8-, 16- and 32-bit write paths in the same order and put thevjtracewatch record
after the sync, so traces list events in the right order. Measured in the CD boot
matrix: Myst (USA).cuein BIOS mode FAIL to PASS, Myst and Space Ace in HLE no
longer stuck in a loop, and Space Ace HLE runs 3000 frames where it used to freeze
at frame 561. The PR reports Pitfall, Doom and Super Burnout unchanged.
Savestates
The format is now v15. Two changes share the single bump this release carries:
dsaLastMultiWord for the TOC fix (#773), and the HLE CD streaming state (#803).
- New builds load older states. v3.6.1's v14 states load and run byte-identically
to v3.6.1 loading its own state. This was measured for Hover Strike and Myst in
HLE mode, comparing per-frame framebuffer hashes, with the state saved at frame 400. - Older builds cannot load v15 states.
- HLE-mode CD titles are deterministic under run-ahead and rollback (#787, #803).
The HLE CD path streamed data into RAM from statics injagcd_hle.cthat were not
in the state, so a run-ahead reload leaked speculative progress into the real
timeline. Before the change,test_runahead_determinismfailed for Hover Strike HLE
at warmup 200, 400, 700 and 1000, and for Myst HLE at 200 and 400. After it, all
eight HLE runs pass all four checks (video identical, audio identical, state
reconverges, repeated rollback agrees). - A state saved in the middle of a CD load now resumes the load. Hover Strike
gives 200 distinct frames after loading such a state; without the new chunk it is a
frozen black screen. - Caveat. A state saved by an older build while a CD read was in flight cannot
resume that read, because the data was never saved. v3.6.1 cannot resume it either
(black screen loading its own save), so nothing regresses. - The new state chunk is appended last behind a magic word. v15 states made by
develop builds before #803 load fine but any in-flight transfer is dropped, as it
was before. - Not covered. Hover Strike with the real BIOS (
cd_boot_mode=bios) still shows a
smaller run-ahead divergence at warmup 400 (video and state, not audio) that is
gone by warmup 1000. That is tracked as #804.
Tooling and diagnostics
For people who run the test harness or read the crash watchdog logs.
cd_seek_wedgefalse positives removed (#741, #798). The watchdog counted every
frame in which the FIFO drain did not move, so undercd_boot_mode=biosit fired
15 times across Baldies, Battle Morph, BrainDead 13, Highlander, Primal Rage, Myst
and both Myst demos, all of which went on to run because their transfer had simply
finished. It now counts a frame only while a seek is outstanding, or while the
transfer is still open (BUTCH bits 0 and 1 armed and I2CNTRL bit 2 set). The log
line also printsbutch_int=andi2s_ctrl=. The signature still fires on the two
real wedges the PR reproduced as controls (Primal Rage and BrainDead 13 with the
delay-slot fix disabled).- New
inframe_hangsignature (#740, #801). The blitter runs synchronously inside
theB_CMDregister write, so a blit that never ends stopsretro_runfrom
returning and no per-frame check can see it. Before either engine runs a blit, the
watchdog now checksB_COUNTand logsinframe_hangif the blit is larger than
2^24 pixels, then runs it as before. It is log-only, latched, and gated on
virtualjaguar_crash_detect. Pixels are counted the way the Accurate engine runs
them (outer count 0 means 65536 lines; inner count 0 means one step). Across the
maintainer's corpus there were no hits on commercial titles; the hits are homebrew
or public-domain carts. - Harness rejects unknown core options (#742, #777).
--option KEY=VALUEused to
be silently ignored when the core never registered the key, so a typo measured the
defaults and reported a confident null result. An unregistered key now exits 2 and
names the key.VJ_HARNESS_ALLOW_UNKNOWN_OPTIONS=1turns the error into a warning
for A/B runs against an older core.--optionwithout=and options past the
limit of 32 are also fatal now, and the harness prints every option it applied. The
audit found one stale key,virtualjaguar_dsp, used in the vj-debug skill's
A/B example; it now usesvirtualjaguar_usefastblitter. - Version-string checker covers all three copies (#734, #795).
scripts/check-info-version.shcompared two of the three places the version lives.
It now also checkssrc/core/version_fallback.hand names the file that drifted. - Clang warning silenced (#797).
make platform=ios-arm64no longer emits a
-Wtypedef-redefinitionwarning from the vendored libchdr/miniz headers. - Site footer (#751). The project site footer links the Provenance family of sites
and declares the publisher in its JSON-LD.
Performance
No performance changes in this release. For the one change that touches a per-blit
path, inframe_hang, an instruction-count A/B on Alien vs Predator over 300 frames
measured -0.016% Ir with byte-identical output.
Testing
- Boot matrices regenerated (#735, #778). The cart matrix (155 titles in HLE and
BIOS, 600 frames) and the CD matrix (3000 frames) were re-run for the first time
since 2026-08-13. A Myst (USA).chdrow was added alongside the.cuerow, with
identical results (#775). - Synthetic virtual-pregap CHD fixture (#774, #776). Every earlier CHD fixture had
no pregap, which is how #755 shipped.test/roms/synth_jagcd_vpregap.chdhas
per-track pregaps of 2, 3 and 5 sectors, andtest_cd_chdchecks that each track's
INDEX 01 lands at the right MSF and every data sector reads its own tag. On the
build before #755 it fails with silence where track 3 should begin. - Baldies HLE freeze detector (#750).
cd_wedge_probenow runs frommake test
on Baldies in HLE for 1200 frames. The boot classifier passed Baldies while it was
frozen, so the cover is a freeze check. It exits 42 on the pre-fix core. It needs
the private disc corpus and is recorded as a skip elsewhere. - Watchdog tests (#798, #801).
test_crash_detect_cd_wedgeand
test_crash_detect_inframerun inmake testand pin the measured values, so the
signatures cannot silently go blind or noisy again. A private-corpus regression
script,cd_seek_wedge_regress.sh, asserts that nocd_seek_wedgeline appears. - Blitter vectors (#790, #791, #793).
test_blitter_cmdgained
dstenz_without_dsten,z_clear_32bpp,gourz_seed_firstandjtrm_gourz_strip.
Expected bytes are derived from the JTRM, not recorded from output, and each fails
on the code before its fix.jtrm_gourz_stripruns under both engines. - Loader and jagcrypt tests (#785, #805).
test_cart_needs_biosgained
fd_jagcrypt_2mibandf6_commercial_unlisted_op;test_cart_formatgained
raw_binary_lea_any_register_loads_at_4000. - HLE run-ahead check (#803).
make testgains a Hover Strike HLE run-ahead
determinism check at warmup 400. It skips without the private discs, and exits 1 on
the build before #803. - Disk-control test (#733, #802). The framebuffer pitch guard now also rejects a
misaligned pitch or base pointer, and the usage text says which cases need--disc.
Known issues
Deferred to v3.7.1 ("Broken games, continued"), plus two issues found while
preparing this release.
- Dragon's Lair, Space Ace, BrainDead 13: interactive scenes do not load (#737).
The FMV titles play their attract loop and intro but not their gameplay scenes.
Not started; v3.7.0's CD boot and TOC fixes are groundwork for it. - White Men Can't Jump is still very glitchy (#736). The menu freeze and audio
loss were fixed earlier (#635); what remains is a separate symptom that needs its
own DSP investigation. - Club Drive freezes in gameplay at default settings (#611). The GPU runs away
into main RAM. The freeze is reported after holding the accelerator for a few
seconds, and it is not caused by the experimental timing options. Not yet
root-caused; it needs a reproduction with driving input. - Alien vs Predator: high-pitched noise during gameplay (#633). Reported on
Windows, Linux and Android, not reproduced on macOS or iOS. Blocked on details of the
reporter's platform. - Music Demo (2002), BIOS mode (#794). The GPU wedges at frame 338, and with the
Accurate blitter a single blit never returns. The newinframe_hanglog points at
the 68K writing garbage into the blitter registers at frame 158, so the root cause
is not found. - Myst CHD sign-off (#774). The fixture and matrix rows are done; the remaining
item is the reporter's RPi 5 check on a release build, which needs v3.7.0 to exist. - Some homebrew carts freeze in HLE with the default Accurate blitter (#800). Seven
carts do: Chroma-Luma Color Pick (bin), DEMO1 (bin), DEMO1B (two dumps), JagMania
(Jul 8), Ladybug Demo and Ladybug Demo (rom). Each is stuck inside one blit. All are
homebrew or public-domain; no commercial title was affected. The cart boot matrix
runs only the Fast blitter, so it did not see them. DEMO1 runs 600 frames
in about a second under Fast, which the issue attributes to Fast treating a zero
outer count as zero lines. - Real-BIOS CD run-ahead divergence (#804). With
cd_boot_mode=bios, Hover Strike
at warmup 400 still diverges under run-ahead (video and state; audio matches). It
is gone by warmup 1000.
Carried over from v3.6.1 (not re-checked for this release): inserting a disc restarts
the console, and the enhancement profile governs internal_resolution and true_color
only.
Upgrading
- Savestates: v14 states load; v15 states do not load in older builds. States
saved by an older build during a CD read cannot resume that read. - CHD images: CHDs with virtual pregaps (Myst USA, Vid Grid) now read correctly.
Stats
git diff --shortstat v3.6.1..v3.7.0
55 files changed, 2941 insertions(+), 379 deletions(-)
73 commits, 44 of them non-merge: 14 by Adrien Beudin, 30 by Joseph Mattiello
(including this release commit). 18 of the changed files are under src/
(+848 / -138) and 16 under test/ (+1196 / -18).
Downloads
Pre-built libretro cores are attached to the GitHub release and built by
release.yml (earlier notes say "16 platforms"; the v3.6.1 release carried 23 core
builds plus tools):
- Linux: x86_64, aarch64, i686, and Raspberry Pi 1 to 5 (armv6, Cortex-A7, A53, A72,
A76, with 64-bit variants where applicable) - macOS: arm64, x86_64
- Windows: x86_64, i686 (MSYS2/MinGW)
- iOS: arm64; tvOS: arm64
- Android: arm64-v8a, armeabi-v7a, x86_64, x86
- Web: Emscripten WASM
- Consoles: PS Vita, Nintendo Switch
Each binary has a matching *-debug.tar.gz with split debug symbols. SHA256 checksums
are in SHA256SUMS.txt. The jagcd-tools bundles and cue2cdi binaries ship
alongside.
Every push to develop publishes a nightly pre-release (tag nightly) with the
same assets: https://github.com/libretro/virtualjaguar-libretro/releases/tag/nightly
Maintainers
Joseph Mattiello, with the Virtual Jaguar libretro contributors, in particular Adrien
Beudin (@beudbeud) for the Jaguar CD fixes above. Original Virtual Jaguar by David
Raingeard (Potato Emulation) and James Hammons.
Artifacts in this release
SHA256SUMS.txt
cue2cdi-linux-x86_64
cue2cdi-macos-universal
cue2cdi-windows-x86_64.exe
jagcd-tools-linux-x64.zip
jagcd-tools-macos.zip
jagcd-tools-windows-x64.zip
virtualjaguar_libretro-android-arm64-v8a-debug.tar.gz
virtualjaguar_libretro-android-arm64-v8a.so
virtualjaguar_libretro-android-armeabi-v7a-debug.tar.gz
virtualjaguar_libretro-android-armeabi-v7a.so
virtualjaguar_libretro-android-x86-debug.tar.gz
virtualjaguar_libretro-android-x86.so
virtualjaguar_libretro-android-x86_64-debug.tar.gz
virtualjaguar_libretro-android-x86_64.so
virtualjaguar_libretro-emscripten-wasm-debug.tar.gz
virtualjaguar_libretro-emscripten-wasm.bc
virtualjaguar_libretro-ios-arm64-debug.tar.gz
virtualjaguar_libretro-ios-arm64.dylib
virtualjaguar_libretro-linux-aarch64-debug.tar.gz
virtualjaguar_libretro-linux-aarch64.so
virtualjaguar_libretro-linux-i686-debug.tar.gz
virtualjaguar_libretro-linux-i686.so
virtualjaguar_libretro-linux-rpi1-armv6-debug.tar.gz
virtualjaguar_libretro-linux-rpi1-armv6.so
virtualjaguar_libretro-linux-rpi2-cortex-a7-debug.tar.gz
virtualjaguar_libretro-linux-rpi2-cortex-a7.so
virtualjaguar_libretro-linux-rpi3-cortex-a53-debug.tar.gz
virtualjaguar_libretro-linux-rpi3-cortex-a53.so
virtualjaguar_libretro-linux-rpi3_64-cortex-a53-debug.tar.gz
virtualjaguar_libretro-linux-rpi3_64-cortex-a53.so
virtualjaguar_libretro-linux-rpi4-cortex-a72-debug.tar.gz
virtualjaguar_libretro-linux-rpi4-cortex-a72.so
virtualjaguar_libretro-linux-rpi4_64-cortex-a72-debug.tar.gz
virtualjaguar_libretro-linux-rpi4_64-cortex-a72.so
virtualjaguar_libretro-linux-rpi5-cortex-a76-debug.tar.gz
virtualjaguar_libretro-linux-rpi5-cortex-a76.so
virtualjaguar_libretro-linux-rpi5_64-cortex-a76-debug.tar.gz
virtualjaguar_libretro-linux-rpi5_64-cortex-a76.so
virtualjaguar_libretro-linux-x86_64-debug.tar.gz
virtualjaguar_libretro-linux-x86_64.so
virtualjaguar_libretro-macos-arm64-debug.tar.gz
virtualjaguar_libretro-macos-arm64.dylib
virtualjaguar_libretro-macos-x86_64-debug.tar.gz
virtualjaguar_libretro-macos-x86_64.dylib
virtualjaguar_libretro-switch-debug.tar.gz
virtualjaguar_libretro-switch.a
virtualjaguar_libretro-tvos-arm64-debug.tar.gz
virtualjaguar_libretro-tvos-arm64.dylib
virtualjaguar_libretro-vita-debug.tar.gz
virtualjaguar_libretro-vita.a
virtualjaguar_libretro-windows-i686-debug.tar.gz
virtualjaguar_libretro-windows-i686.dll
virtualjaguar_libretro-windows-x86_64-debug.tar.gz
virtualjaguar_libretro-windows-x86_64.dll
virtualjaguar_libretro.info
SHA-256 checksums
Verify with sha256sum --check SHA256SUMS.txt (Linux) or
shasum -a 256 --check SHA256SUMS.txt (macOS).
See SECURITY.md
for full verification instructions and antivirus false-positive guidance.
b926e41185057ee9204aaa0aaafff53ceec2cbb6d4f37e478edf7a7ddb353332 cue2cdi-linux-x86_64
c19f65c1be0eab40e58f0a4d619704dcfc4632858d00eef78a737d0f26e7a134 cue2cdi-macos-universal
615f0d1748622e4a918272a5a47b46e616cd6c2a384a035b9d34cfb16b99464e cue2cdi-windows-x86_64.exe
cf1505eb1e34e49dd5c4d05ee57e367ec1665e4427e9d5ae035538a5af09a1e1 jagcd-tools-linux-x64.zip
656291b3964011e8fbe276cdacfaeef8de56107508a6de1f9400df9da622269f jagcd-tools-macos.zip
7448978e7cd2d20010f6b1dd95ee9c9f5d02061fb3e62512483c07b66653dcb9 jagcd-tools-windows-x64.zip
b9f82eeaf1944b859ffdfb8822bb698bfd2174266250ab25fca4c1147b17c45c virtualjaguar_libretro-android-arm64-v8a-debug.tar.gz
0ba8fd0715d9578b184cad857f82df319ac9ce2688311ba90633480c4fdb2bd3 virtualjaguar_libretro-android-arm64-v8a.so
0dbffa10b1bf9f7db11370b023b37bb0238b9bee99f9105c27b7f578cc16b873 virtualjaguar_libretro-android-armeabi-v7a-debug.tar.gz
221825b750b02e7b57bfacbe0faafc78bc828db5a5f8c7409b42ebc463db98ce virtualjaguar_libretro-android-armeabi-v7a.so
56a111e42ef464fa51a8802e01c36861a96d1962245e687faab51f1457e536c7 virtualjaguar_libretro-android-x86-debug.tar.gz
9ee7756a3249cfa6e9b11086f1f3cdc6362f9223d036d43cc448aeca23fcc494 virtualjaguar_libretro-android-x86.so
5bbc04220e3497a06a492fb4a1e29eda2ab14f8b8eac3b018309c40f53252dec virtualjaguar_libretro-android-x86_64-debug.tar.gz
9d2c508ca8711a2498ce827f88b7e36c96404fc9290ec918e8cafc45eff63980 virtualjaguar_libretro-android-x86_64.so
a5512716d08ef27e9e2f440c59df0b1f3df9f42762dadbc13def9326a540ba05 virtualjaguar_libretro-emscripten-wasm-debug.tar.gz
6391189da560ea92f81cd31aca416433a43d100ef300edd694c2910327b1e150 virtualjaguar_libretro-emscripten-wasm.bc
da99f5875ecc8207fef0163fd487c4cf96e335fa48183079e3f5a548cd5c14b5 virtualjaguar_libretro-ios-arm64-debug.tar.gz
42b9888eddbc6180386c54e94799ee7ed5e138dddbe91ca59f7b67ab6036ae70 virtualjaguar_libretro-ios-arm64.dylib
51c0fecfc7743a4892888e8eb4c9d9f2daf249ccf7c555ec56fe3734b21f29ec virtualjaguar_libretro-linux-aarch64-debug.tar.gz
686c1b42f26ada33c9c20054bd480964b6643e659fa5e5f7c2daea27e820d4c4 virtualjaguar_libretro-linux-aarch64.so
ce1d74f6d0887759ff671dcc58971e54f2107c5c17ab2eb2c7355d419793d283 virtualjaguar_libretro-linux-i686-debug.tar.gz
a258d91f0feb8f76a19b7825fb4cf668e0a247c0fc4800a0d85d66673b52948e virtualjaguar_libretro-linux-i686.so
7045a4439468460ca4445634afbaee0ea185c77f7a2cf77c28e7a4766762b02f virtualjaguar_libretro-linux-rpi1-armv6-debug.tar.gz
848f468b6190c1380cb068dd8654db47af96632d10d993df4465a33a3d7eb9a0 virtualjaguar_libretro-linux-rpi1-armv6.so
749f1ad908fa721448cb46b8d016fd0129223ef426944d87b692127c98c6ce66 virtualjaguar_libretro-linux-rpi2-cortex-a7-debug.tar.gz
5bb7b520a0f04f053673ee3a0d87203d6759d083aa28287eb5afc31cf1705ebe virtualjaguar_libretro-linux-rpi2-cortex-a7.so
e921bdec7e69567f24df90e621070bd91f210f4cd29af7bf32a8214f9911065c virtualjaguar_libretro-linux-rpi3-cortex-a53-debug.tar.gz
5023d1451b39b222f5edf0aef4b45e9075157dc97ee02bb4c59fcb9ab321853f virtualjaguar_libretro-linux-rpi3-cortex-a53.so
ffed3c2233a311bfa18a95eeef39cfeec110b86fe093380cff3ed403209e6a0c virtualjaguar_libretro-linux-rpi3_64-cortex-a53-debug.tar.gz
57163c91d35490cb7a5352d29d37ae537fb5dc53d71e6ce6f12697c1861f7354 virtualjaguar_libretro-linux-rpi3_64-cortex-a53.so
ef3164ac5fbb979a3a03b4df961256f7682678f11c3555c6018447837b572222 virtualjaguar_libretro-linux-rpi4-cortex-a72-debug.tar.gz
f49cf53dc0ed4bb210dd155ae10c7346fbb2faa9b5832bde9661608adfe0851c virtualjaguar_libretro-linux-rpi4-cortex-a72.so
aad3471f4841ef5eb6ae69114939d39bc439c1b7d4797fc7793c67127ca79ef6 virtualjaguar_libretro-linux-rpi4_64-cortex-a72-debug.tar.gz
ab679c70485fa192a73e521269f553b8350b325febeef244e698b2b889e0e41d virtualjaguar_libretro-linux-rpi4_64-cortex-a72.so
325214d5faf5e582dc7af019478f6b2c03f5e30134f083e836cba6d1a64e5de2 virtualjaguar_libretro-linux-rpi5-cortex-a76-debug.tar.gz
5570996c6c83af73ff36ea99d7c796b05588a33364c30151b64189db2cdd80e2 virtualjaguar_libretro-linux-rpi5-cortex-a76.so
3c70834554cffdf87b9dc2b3b83f83d2ee0e48baf99bdcf7d731fa773b737560 virtualjaguar_libretro-linux-rpi5_64-cortex-a76-debug.tar.gz
c008e7996b6648b40dc3e2d2ff60bf1137124f5021df1152599737ceb9695958 virtualjaguar_libretro-linux-rpi5_64-cortex-a76.so
1e207fd96cc580c5160d97f36919bfc284a617d76aadd842173e77ccc09e4b62 virtualjaguar_libretro-linux-x86_64-debug.tar.gz
fdfe5cc86d60579a05b8d2aa8d283702181a0b8c703fa920eff3c1f4d63d0511 virtualjaguar_libretro-linux-x86_64.so
2aa9d5959d448e72dde78d621d8aeb816c73ba97f5b9acb9f278d6bcac9e00a9 virtualjaguar_libretro-macos-arm64-debug.tar.gz
d282adbcb5e548b6b66ad07fc4e42ca3ac55bcd6defef8c67a7843b2b77fe108 virtualjaguar_libretro-macos-arm64.dylib
6853b4244e70f172986aef538be41bf6e8ec17d3c20da1f5c888aec4d202695d virtualjaguar_libretro-macos-x86_64-debug.tar.gz
c041144eb95c43dd1b6f6c641e89051a061fd8ef43d4cde687fc0a059c5d1b1a virtualjaguar_libretro-macos-x86_64.dylib
a073d0c2865993033e249d3df7edf6d0d53e43695ed060093475135b92c3eb4b virtualjaguar_libretro-switch-debug.tar.gz
7e5a7f203a1f530bb26c0722a617c99d4813bd54244e27c5be1a2eaf963818ad virtualjaguar_libretro-switch.a
0d6f63c11a499fa7a171c3c6f68e2760a84495dc06fda041f5e858d8bac12e63 virtualjaguar_libretro-tvos-arm64-debug.tar.gz
52725c88d75f9e1ae3956b572f1debcf8cc616d46e99d7f9cc2a9bb9bb6b4036 virtualjaguar_libretro-tvos-arm64.dylib
ae199f0e39c388423a5b985f68644aadbd076adb988651741bc4d2541abac3ae virtualjaguar_libretro-vita-debug.tar.gz
5b500c81a98277d358e546161bfa8674b6c140b238834ae9cbdb06f37c713dc6 virtualjaguar_libretro-vita.a
1b984d81a50c0930ffef2329c3f1a456a1cba9f688afe6595849fc4e080d1813 virtualjaguar_libretro-windows-i686-debug.tar.gz
3dbecaafac16337443891e68c8c4d50fec2014da1d973753fcefc94f08294337 virtualjaguar_libretro-windows-i686.dll
a1146547827abed96de52e164d2bf4faeb210f97a7e9262855e2637044577077 virtualjaguar_libretro-windows-x86_64-debug.tar.gz
463f1e39460bbc4902c522b1cf2f9101248105b678119a90b563599af551c5b4 virtualjaguar_libretro-windows-x86_64.dll
95bf577fc5322c150536369223620ae6442a57f2eb3c6286395c16c33a384233 virtualjaguar_libretro.info