Commit Graph

12 Commits

Author SHA1 Message Date
Se.Cherkasov 99cd95f152 chore: remove superpowers docs
CI / rust (push) Has been cancelled
2026-03-13 19:07:16 +03:00
Se.Cherkasov 902a001b15 chore: remove superpowers ignore path
CI / rust (push) Has been cancelled
2026-03-13 19:03:46 +03:00
Se.Cherkasov 18cec7bac7 fix: stabilize desktop audio playback
CI / rust (push) Has been cancelled
2026-03-13 18:58:07 +03:00
Se.Cherkasov 9068e78a62 docs: add audio output design spec and implementation plan
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 16:21:30 +03:00
Se.Cherkasov f9b2b05f3f feat(desktop): replace audio stub with cpal backend and volume slider
- CpalAudioSink writes to SPSC ring buffer, cpal callback reads
- Graceful fallback to silent operation on audio device errors
- Volume slider (0-100%) in header bar with speaker icon
- Ring buffer cleared on ROM load and reset

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 16:21:25 +03:00
Se.Cherkasov c97bad5551 feat: add lock-free SPSC ring buffer for audio streaming
AtomicU32-based storage avoids unsafe while maintaining SPSC guarantees.
Capacity: 4096 samples (~85ms at 48kHz). Exported from crate root.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 16:21:19 +03:00
Se.Cherkasov 5895344f6f feat(mixer): 5-channel APU mixing with linear approximation formula 2026-03-13 16:09:50 +03:00
Se.Cherkasov e63b5783bd feat(apu): add ChannelOutputs struct and channel_outputs() method 2026-03-13 16:08:55 +03:00
Se.Cherkasov 49568a582b feat(apu): clock pulse/triangle/noise timers and sequencers 2026-03-13 16:07:57 +03:00
Se.Cherkasov cd0a99a813 feat(apu): add timer/sequencer/LFSR fields for channel output tracking 2026-03-13 16:06:37 +03:00
Se.Cherkasov 6f81eb4b08 chore: ignore local worktrees 2026-03-13 15:06:29 +03:00
Se.Cherkasov bdf23de8db Initial commit: NES emulator with GTK4 desktop frontend
CI / rust (push) Has been cancelled
Full NES emulation: CPU, PPU, APU, 47 mappers, iNES/NES 2.0 parsing.
GTK4 desktop client with HeaderBar, pixel-perfect Cairo rendering,
drag-and-drop ROM loading, and keyboard shortcuts.
187 tests covering core emulation, mappers, and runtime.
2026-03-13 11:48:45 +03:00