Commit f99713b
Get Jaguar CD BIOS through auth and into CD Player UI
The retail CD BIOS now passes the session-2 pregap audio authentication
and reaches its built-in CD Player interface (verified via headless
screenshot at 326x240).
Boot flow now requires five hooks in JaguarExecuteNew (gated by
vjs.useCDBIOS):
$050A9C - JaguarInstallCDAuthBypass (BNE.W $0504EC -> 2x NOP)
$050AB2 - DSPWriteLong $F1B4C8 = $80010000 (DSP-result fake)
$050B0C - JaguarWriteLong $FB000 = $0A (post-BSR success)
$0505FA - JaguarWriteLong $1AE00C = $20010001 (CD response magic)
$192E46 - JaguarWriteWord $1A6800 = $0001 (BIOS GPU mailbox)
The TryReadAuthRedirect path in cdintf.c serves real TAIRTAIR audio
from track 30 BIN for the auth window (LBA 139668-139816). cdintf.c
needs `#undef fprintf` after streams/file_stream_transforms.h to
prevent fprintf->rfprintf macro substitution from silently eating
debug logs.
Adds test/headless.py - libretro.py-based local test harness so we
can drive the core without round-tripping logs through iOS. Includes
optional --screenshot flag to dump the framebuffer as PPM.
Game-specific boot (jumping from BIOS CD Player into Primal Rage's
own boot.abs) is the next milestone.
Co-Authored-By: Claude Opus 4.7 <[email protected]>1 parent ab89c68 commit f99713b
14 files changed
Lines changed: 2478 additions & 237 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
457 | 457 | | |
458 | 458 | | |
459 | 459 | | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
| |||
240 | 241 | | |
241 | 242 | | |
242 | 243 | | |
243 | | - | |
| 244 | + | |
244 | 245 | | |
245 | 246 | | |
246 | 247 | | |
| |||
806 | 807 | | |
807 | 808 | | |
808 | 809 | | |
809 | | - | |
| 810 | + | |
810 | 811 | | |
811 | 812 | | |
812 | 813 | | |
| |||
959 | 960 | | |
960 | 961 | | |
961 | 962 | | |
| 963 | + | |
962 | 964 | | |
963 | 965 | | |
964 | 966 | | |
| |||
1177 | 1179 | | |
1178 | 1180 | | |
1179 | 1181 | | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
1180 | 1194 | | |
1181 | 1195 | | |
1182 | 1196 | | |
| |||
0 commit comments