Commit Graph

28 Commits

Author SHA1 Message Date
scawful
b5ec0cb637 feat: Enhance emulator UI and performance features
- Added new UI components for the emulator, including dedicated panels for CPU and APU debugging, improving user interaction and debugging capabilities.
- Implemented a caching mechanism for rendered objects in the DungeonCanvasViewer to optimize performance and reduce rendering time.
- Updated the CMake configuration to include new UI source files, ensuring proper organization and build management.
- Enhanced the theme manager with improved color definitions for better visibility and consistency across the UI.
- Refactored the emulator interface to delegate rendering tasks to the UI layer, streamlining the codebase and improving maintainability.
2025-10-08 23:38:20 -04:00
scawful
eda582f740 feat: Introduce Dungeon Object Emulator Preview and Object Drawing Enhancements
- Added DungeonObjectEmulatorPreview for rendering dungeon objects using the SNES emulator, allowing real-time visualization of object graphics.
- Implemented ObjectDrawer class to handle drawing of various object types to background buffers, utilizing game-specific patterns.
- Updated DungeonCanvasViewer to integrate object rendering and improve background layer management.
- Enhanced DungeonEditorV2 to support the new emulator preview, providing a more interactive editing experience.
- Improved error handling and logging for better debugging during object rendering operations.
2025-10-06 23:39:45 -04:00
scawful
7f71fd9e80 feat: Enhance ROM Loading with Validation and Disassembly Viewer Integration
- Added validation checks for ROM file existence and size constraints (minimum 32KB, maximum 8MB) during loading.
- Integrated a new disassembly viewer to track and display executed instructions, enhancing debugging capabilities.
- Updated CPU class to manage disassembly viewer instances, allowing for real-time instruction logging.
- Improved emulator's CMake configuration to include new source files related to the disassembly viewer.
- Enhanced pixel handling in the PPU to support BGRX format for better compatibility with SDL.
2025-10-06 21:49:12 -04:00
scawful
14eba4a765 feat: Add Emulator Editor Type and UI Enhancements
- Introduced a new editor type for the emulator, allowing users to access emulator functionalities directly from the editor manager.
- Updated the editor selection dialog to include the emulator option with appropriate descriptions and shortcuts.
- Enhanced the emulator interface with modern theming and improved layout for better user experience.
- Implemented various UI components for performance monitoring, AI agent integration, and save state management, enriching the emulator's capabilities.
2025-10-06 21:18:56 -04:00
scawful
fdb817987f feat: Implement FPS Tracking and Audio Status Display in Emulator
- Added frame rate tracking to the emulator, calculating and displaying current FPS in the UI.
- Enhanced audio management by monitoring queued audio frames and ensuring the audio buffer is filled appropriately.
- Updated texture handling to align with the PPU output format, improving visual consistency.
- Refactored timing management to cap time accumulation, preventing performance issues during frame processing.
2025-10-06 20:01:10 -04:00
scawful
fdda77c172 Refactor ROM handling and remove SharedRom singleton for improved architecture
- Eliminated the SharedRom class to enhance modularity and reduce global state management.
- Updated various classes to directly manage ROM instances, improving clarity and encapsulation.
- Added new functions for loading messages and colors from ROM, enhancing functionality.
- Refactored Canvas and Editor classes to utilize direct ROM references, streamlining interactions.
- Improved documentation and comments for better code understanding and maintainability.
2025-08-03 17:52:02 -04:00
scawful
1c53ba24c5 Refactor PPU and CPU classes by removing Clock dependency and updating constructors 2025-01-18 00:12:12 -05:00
scawful
0e81df57fd Refactor PPU code: remove unused namespaces and clean up includes in PPU files 2024-12-30 07:50:12 -05:00
scawful
e05e7c35db remove app namespace 2024-12-28 21:28:51 -05:00
scawful
eca262bcc8 cleanup ppu class 2024-04-26 12:05:49 -04:00
scawful
d76525201f match cpu registers on reset to hardware, cleanup 2024-04-25 00:50:39 -04:00
scawful
4356bd3b08 Add latching to ppu 2024-04-24 23:35:46 -04:00
scawful
1bee044aaf Add Ppu::Reset 2024-04-22 19:28:34 -04:00
scawful
365811739a Remove unused ppu register structs 2024-04-22 17:12:19 -04:00
scawful
b4556b56f0 Overhaul PPU, manage scanlines and forced blanking, vram, cgram, oam, color math, layers, windows, pixel buffer, latching 2024-04-22 15:58:08 -04:00
scawful
a825ac36b2 Increase NotifyObservers data arg to uint16_t from uint8_t 2024-04-19 17:55:52 -04:00
scawful
e8fe8a6c79 Initialize mode0 backgrounds, cleanup skeleton code 2024-04-19 16:03:15 -04:00
scawful
5953e58bd4 Rename SharedROM to SharedRom 2024-04-14 14:51:53 -05:00
scawful
f653517026 add memory namespace, update comments 2024-04-13 23:56:41 -05:00
scawful
2809acd809 Add video namespace to emu 2024-04-13 23:39:23 -05:00
scawful
08b95df7ad Dungeon Room Object refactor 2024-01-10 23:14:49 -05:00
scawful
d0c9229093 Reorganize emu cpu directory 2023-12-05 21:16:16 -05:00
scawful
446734321c SNES, CPU, Emulator + tests updated 2023-11-30 02:12:11 -05:00
scawful
23df9191ed Update Ppu and PpuRegisters, add observer behavior 2023-11-26 16:48:22 -05:00
scawful
299770922c Add Debugger interface, RoomObject class
- Log instructions to debugger using experiment flag
- Use BitmapManager for more functionality
- Draw framebuffer and integrated debugger
2023-11-13 14:51:01 -05:00
scawful
b9340f7f30 Add PpuRegisters and Ppu class 2023-10-17 17:06:57 -04:00
scawful
5a4ecc5b20 PPU upgrades, move Memory to own dir 2023-08-27 15:24:27 -04:00
scawful
3d793c452d Reorganize emu folder, update S-SMP system infra 2023-08-26 01:59:57 -04:00