diff options
| author | gbc dev <gbc@localhost> | 2026-07-15 00:37:04 +0200 |
|---|---|---|
| committer | gbc dev <gbc@localhost> | 2026-07-15 00:37:04 +0200 |
| commit | 12e67588053160d2f9599a09ef932f9b37b1b873 (patch) | |
| tree | f1db2e3e8fb585bc76610995d2437aeb6ee9e51a /src/render.c | |
| parent | control: socket-based debug channel + gbctl CLI driver (diff) | |
| download | sl0pboy-12e67588053160d2f9599a09ef932f9b37b1b873.tar.gz sl0pboy-12e67588053160d2f9599a09ef932f9b37b1b873.tar.xz sl0pboy-12e67588053160d2f9599a09ef932f9b37b1b873.zip | |
apu: register-level emulation of 0xFF10-0xFF3F (fixes music fades)
The APU was a black hole: reads returned 0xFF, writes were dropped. That hangs
any game that fades music out by decrementing the NR50/rAUDVOL volume register
until it reads 0 (Pokemon's StopMusic spin-wait) - the write never stuck, the
read never hit 0, infinite loop. Store the 48 sound registers and return them
with the standard hardware read-back OR-masks (NR50 mask 0x00 = exact readback).
No synthesis, just correct register behavior.
Diffstat (limited to 'src/render.c')
0 files changed, 0 insertions, 0 deletions
