mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 10:19:47 -04:00
a16e3a4408
CDROM (adapted from v3, 487 lines): - Removed event_deliver() — HLE disease. IRQ delivery is now purely via i_stat bit 2; the recompiled BIOS exception handler processes CDROM events natively through its own EvCB table. - Removed CPUState* from all function signatures — hardware registers don't need CPU state. - Removed hard-coded RAM writes (0x800DEE54 etc.) — BIOS kernel state manipulation disguised as hardware sim. - Removed all fprintf. - Kept: register banking, command processing, sector reads, DMA interface. SPU (new, 89 lines, register map from v2 reference): - Accepts all SPU register reads/writes at 0x1F801C00-0x1F801FFF - 512KB SPU RAM with transfer address tracking and FIFO writes - DMA4 write interface for bulk transfers - SPUSTAT returns 0 (ready, not busy) - No audio synthesis — placeholder for SDL_audio integration later Memory.c: replaced inline spu_regs[] array and stub CDROM handlers with calls to the proper cdrom.c and spu.c modules. Validated: BIOS boots identically (16,859 GP0 writes, 1,149 draws). No regression from previous commit. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>