feat(desktop): add opt-in Darwin audio output

This commit is contained in:
0xrsydn 2026-10-07 07:16:42 +07:00
commit 2ea7164d9a
21 changed files with 1311 additions and 30 deletions

View file

@ -125,7 +125,8 @@ This result does not establish gameplay, linked transfers, or cartridge/serial G
Noise now has deterministic counter clocks and shares tested length/envelope logic with the independent pulse channels.
Sweep applies only to channel 1. Direct Sound has FIFO clocks and nominal DMA requests.
All supported channels use the instantaneous digital-level inspection interface.
Wave channel 3 now supports single-bank playback. Two-bank playback, a continuous sample stream, and desktop output are still missing.
Wave channel 3 now supports single-bank playback. Two-bank playback remains missing.
Fixed-rate capture and optional Darwin `--audio` output were added later; their counters do not establish correct game music.
Do not treat digital-level tests as audible-game validation or suppress remaining diagnostics without implementing their behavior.
Cartridge saves remain a separate required feature. SRAM alone will not support Emerald's Flash save protocol.

View file

@ -83,7 +83,7 @@ A separate 600-frame Emerald native run still reaches its frame limit without in
## Remaining requirements
- Verify visible menu text and gameplay through direct window testing or explicit independently justified assertions.
- Implement continuous sample production and a Darwin output backend before claiming audible sound.
- Fixed-rate capture and opt-in Darwin `--audio` output were added later. Verify listening quality and reduce observed underruns.
- Research two-bank wave playback and live bank changes separately. Both remain diagnostic during active playback.
- Implement Flash programming/erase and safe persistence before claiming saving.
@ -93,5 +93,6 @@ For a manual native check, use:
direnv exec . cargo run --locked --release -- --rom roms/pokemon-emerald.gba --rtc --save-type flash128 --window
```
Enter maps to Start. Z maps to A. Escape exits. This command does not supply the deterministic probe schedule or fixed RTC.
Enter maps to Start. Z maps to A. Escape exits. Add `--audio` for optional Darwin output.
This command does not supply the deterministic probe schedule or fixed RTC.
Hardware sources and implementation comparisons are recorded in [audio references](../hardware/audio.md#references).