Files
goldeneye-pc-port/src
James Dansereau a9cc629de6 port(audio): Phase-3 software mixer + K0_TO_PHYS/bnkf pointer fixes (D198-201)
Software RSP-audio-ucode mixer (macro-swap aXxx -> Impl functions, PD-port
pattern) makes libaudio output audible on PC. Alongside it, two pointer-width
bugs surfaced by exercising the audio path for the first time:

- D198: alAdpcmPull/_decodeChunk used K0_TO_PHYS (N64 kseg0 mask) on 64-bit
  heap pointers; switched to osVirtualToPhysical like every sibling call site.
- D201: bnkf.c bank/inst/sound/wavetable relocation offsets were s32,
  truncating the real 64-bit base pointer for ~50% of allocations; widened
  to uintptr_t.
- D200 (already committed-pending from a prior session): reverb's ALDelay
  u32 negative indices zero-extended into +4GB offsets on 64-bit; (s32)/(s64)
  casts match PD ground truth.
- D199: documents the mixer's aSetBuffer persistent-DMEM-context design,
  reconstructed from call-site pairs (no RSP disassembly to check against)
  since there's no N64 audio ucode source to reference.
- D195/D197 (playtest reports referenced by an earlier HANDOFF note but never
  written into findings.md): backfilled as OPEN with next steps.

Verified: ./build-pc.sh ntsc-final links clean; -level_09 runs 600+ frames
crash-free with music + SFX audible.
2026-09-05 07:22:21 -04:00
..
2023-09-28 11:49:33 -04:00
2020-11-20 14:35:54 -06:00
2022-06-06 15:07:33 -05:00
2026-08-16 17:30:25 -04:00
2026-08-16 17:30:25 -04:00
2026-08-16 17:30:25 -04:00
2020-11-20 14:35:54 -06:00
2022-06-06 15:07:33 -05:00
2020-11-20 14:35:54 -06:00
2022-06-06 15:07:33 -05:00
2022-06-06 15:07:33 -05:00
2026-08-16 17:30:25 -04:00
2022-06-06 15:07:33 -05:00
2023-09-28 11:49:33 -04:00
2026-08-16 17:30:25 -04:00
2023-09-28 11:49:33 -04:00
2023-09-28 11:49:33 -04:00
2026-08-16 17:30:25 -04:00
2026-08-16 17:30:25 -04:00
2022-06-06 15:07:33 -05:00
2022-06-06 15:07:33 -05:00
2022-06-06 15:07:33 -05:00
2022-06-06 15:07:33 -05:00
2026-08-16 17:30:25 -04:00
2026-08-16 17:30:25 -04:00
2022-10-29 10:41:01 -04:00
2022-06-06 15:07:33 -05:00
2026-08-16 17:30:25 -04:00
2022-06-06 15:07:33 -05:00
2022-06-06 15:07:33 -05:00
2023-09-28 11:49:33 -04:00
2023-09-28 11:49:33 -04:00
2026-08-16 17:30:25 -04:00
2026-08-16 17:30:25 -04:00
2022-06-06 15:07:33 -05:00
2022-06-06 15:07:33 -05:00
2023-09-28 11:49:33 -04:00
2023-09-28 11:49:33 -04:00
2023-09-28 11:49:33 -04:00
2023-09-28 11:49:33 -04:00