Commit Graph

22 Commits

Author SHA1 Message Date
scawful
bdd585dae1 critical breakthrough fix emulator works!!!!! 2025-10-06 19:25:03 -04:00
scawful
293ece69aa refactor: Improve Emulator Initialization and Resource Management
- Refactored SDL initialization process to enhance clarity and error handling, ensuring proper setup of video, audio, and event subsystems.
- Utilized RAII smart pointers for window and renderer management, improving resource cleanup during shutdown.
- Updated audio buffer allocation to use unique_ptr for automatic memory management.
- Enhanced logging for emulator state and initialization, providing better insights during execution.
- Streamlined timing management and frame processing logic for improved performance and maintainability.
2025-10-06 19:16:26 -04:00
scawful
a5d4722d13 fix: Reduce Logging Limits to Prevent Crashes During Emulator Execution
- Decreased logging limits in Snes, Apu, and Spc700 classes to prevent overflow crashes during execution.
- Updated comments in the APU boot ROM for clarity regarding the hardware dump and critical fixes.
- Enhanced logging to provide better insights while maintaining system stability.
2025-10-06 16:14:32 -04:00
scawful
a09d7d10c8 feat: Implement Deadlock Detection and Improve Emulator Shutdown Logging
- Added deadlock detection in the emulator's main loop to identify when the CPU is stuck, enhancing debugging capabilities.
- Updated logging during emulator shutdown to provide clearer status messages, including final CPU state and resource cleanup.
- Refactored audio and texture cleanup processes to ensure proper resource management during shutdown.
2025-10-06 15:21:48 -04:00
scawful
ba40ddab2a feat: Enhance APU and SPC700 Logging and Instruction Handling
- Updated APU boot ROM comments for clarity and completeness, including details on multi-byte transfer acknowledgments.
- Improved logging in APU and SPC700 classes to provide comprehensive tracing during execution, particularly for transfer protocols and MOVS instructions.
- Refactored MOVS, MOVSX, and MOVSY methods to use consistent address handling, enhancing readability and maintainability.
- Added conditional logging for specific addresses to aid in debugging and tracking state changes during instruction execution.
2025-10-06 12:57:42 -04:00
scawful
a881c0f8e1 feat: Refactor Emulator to Accept ROM Parameter and Enhance Logging
- Updated Emulator::Run method to accept a Rom* parameter, improving flexibility in ROM handling.
- Refactored texture creation and ROM data initialization to utilize the new parameter.
- Enhanced logging in Snes class to provide detailed information during initialization, reset, and frame processing, aiding in debugging and performance monitoring.
- Introduced cycle tracking in Apu and Spc700 classes for accurate synchronization and debugging.
- Added unit tests for APU DSP functionality and IPL ROM handshake to ensure reliability and correctness of audio processing.
2025-10-06 11:41:33 -04:00
scawful
f48cd171e1 Remove unused audio namespace and clean up includes in APU and DSP files 2024-12-30 07:49:46 -05:00
scawful
e05e7c35db remove app namespace 2024-12-28 21:28:51 -05:00
scawful
ea8a851539 clang tidy cleanups 2024-08-21 00:37:14 -04:00
scawful
a6907044bd add experimental single-cycle step control to spc700 2024-05-11 13:56:19 -04:00
scawful
b4f2fdc57e cleanup apu and spc 2024-04-25 00:23:14 -04:00
scawful
05df364ecb Remove AudioRam in favor of standard std::vector for spc700/dsp 2024-04-24 10:08:57 -04:00
scawful
f301976316 Add cpu idling and int checks to instructions, refactor branching 2024-04-22 19:09:00 -04:00
scawful
ca1d0e9131 Overhaul Spc700 implementation, add apu callbacks 2024-04-22 15:55:37 -04:00
scawful
ad08d998b5 Add audio namespace inside of emu 2024-04-13 23:32:30 -05:00
scawful
aeb437708f Cpu and Spc700 tests 2023-12-19 18:40:34 -05:00
scawful
231ef4678a Add mutable addressing mode reads to spc700 2023-12-09 13:39:59 -05:00
scawful
87db938963 cleanup spc700 and add todos 2023-12-06 01:32:59 -05:00
scawful
b7558371b3 Update Spc700, separate addressing and opcodes 2023-12-05 03:44:24 -05:00
scawful
fafbcbe2af Add SPC700 opcode tests 2023-08-26 12:18:46 -04:00
scawful
a2de3c2ffe SPC700 to get notified when ports are written 2023-08-26 02:33:19 -04:00
scawful
3d793c452d Reorganize emu folder, update S-SMP system infra 2023-08-26 01:59:57 -04:00