Refactor Snes class and enhance Apu functionality

- Updated Snes constructor to initialize CPU callbacks directly, improving readability and maintainability.
- Removed unnecessary CpuCallbacks parameter from Cpu constructor, streamlining the class design.
- Added new methods in Apu for retrieving cycles, status, control, and handling DMA transfers, enhancing audio processing capabilities.
- Introduced unit tests for Apu to validate initialization, sample generation, and handshake timing, ensuring robust audio functionality.
This commit is contained in:
scawful
2025-09-24 12:51:29 -04:00
parent f1b1c91986
commit 3734884ba3
7 changed files with 289 additions and 18 deletions

View File

@@ -24,6 +24,11 @@ add_executable(
zelda3/message_test.cc
zelda3/overworld_test.cc
zelda3/sprite_builder_test.cc
emu/cpu_test.cc
emu/ppu_test.cc
emu/spc700_test.cc
emu/audio/apu_test.cc
emu/audio/ipl_handshake_test.cc
integration/dungeon_editor_test.cc
zelda3/object_parser_test.cc
zelda3/object_parser_structs_test.cc