Skip to content

v0.5.0 — Community-bug fixes (6 subsystems, audited)

Choose a tag to compare

@PandaCatz PandaCatz released this 13 Jul 20:25

Community-bug fixes — six subsystems, adversarially audited.

Isolated, unit-tested fixes for the recurring WonderSwan emulation bugs catalogued in docs/COMMUNITY-BUGS.md, each with a named test pinning the behaviour existing emulators get wrong. All were adversarially audited against WSMan / WSdev / ares (the audit corrected several — see the ledger's Audit-corrected notes):

  • #4 noise LFSR keeps running in wave mode (Clock Tower PRNG seed) — core-ws::apu
  • #3 UART disable clears pending TX/RX IRQs (startup lockups) — core-ws::serial
  • #8 internal EEPROM WS vs WSC size detection (1 Kbit / 16 Kbit) — core-ws::eeprom
  • #5 monochrome palette pool indirection — core-ws::palette
  • #6 color-zero transparency keyed on bit depth — core-ws::palette
  • #2 sprite-DMA double-buffering near line 142 (tearing) — core-ws::ppu

Scorecard: 5 fixed · 3 partial · 1 remaining (of 9). 133 tests pass in debug and release.

Honest scope: these subsystems are isolated and tested but not yet wired to a register dispatch, and there is no memory map, PPU rendering, or timing yet — this is not a playable emulator.