Commit graph

545 commits

Author SHA1 Message Date
Sour
7267e28e21 Debugger: GBA - Added option to configure whether unidentified code/data is disassembled as arm/thumb 2025-03-31 18:11:29 +09:00
Sour
1975ab958c Debugger: Fixed crashes when switching between games from different consoles (in AOT build)
Caused by what looks like slight differences between how AOT treats an empty array (vs JIT builds) when it marshals the array (AOT sends a null pointer, JIT sends a pointer to an empty array)
This was causing issues in both builds (AOT crashed immediately because of the null pointer, JIT read from out-of-bounds memory)
2025-03-28 18:03:30 +09:00
Sour
acbe931ba0 Debugger: SNES - Added break on options for SPC
Break on BRK, STOP/SLEEP
2025-03-27 23:46:36 +09:00
Sour
2d96724b28 Debugger: SNES - Added new "break on..." options
Invalid vram/oam/cgram access, controller read while auto-read is running
2025-03-27 21:30:38 +09:00
Sour
ad548465c6 Debugger: NES - Added new "break on..." options
Invalid VRAM access, Invalid OAM write, DMA controller read, Unstable opcodes
2025-03-27 21:16:02 +09:00
Sour
f64bd8af09 Debugger: Palette viewer - Fixed scrolling back to the top left when clicked while out of focus 2025-03-24 10:16:37 +09:00
Sour
c4472f3a4d Debugger: Make shift+home/end select rows in disassembly/source view and trace logger 2025-03-23 15:36:51 +09:00
Sour
e79db8fcac Debugger: Sprite viewer - Fixed rare crash when reloading rom that could happen because debugger is being reinitialized while the sprite list is being fetched by the UI 2025-03-21 23:29:28 +09:00
Sour
e12f40ae3b Fixed compilation warning 2025-03-19 22:29:07 +09:00
Sour
d324582c6f Debugger: Script window - Added option to show line numbers 2025-03-18 21:48:09 +09:00
Sour
9fcfc1ecde Debugger: SNES - Fixed incorrect addresses for HDMA reads/writes on the event viewer 2025-03-11 19:28:14 +09:00
Sour
7ae5d7c83a WS: APU - Fixed inverted sample order for wave table 2025-03-10 17:57:43 +09:00
Sour
5823761791 SMS: Implemented fairly accurate sprite eval+fetch timings, for all modes
+ Fixed VRAM read to wait until next available CPU access slot
+ Fixed NMI triggering on the wrong scanline on SMS
+ Fixed NMI issues on ColecoVision
+ Fixed random ram option not working properly on SG-1000
+ Added "Mem access" tab to tilemap viewer to see fetch patterns
2025-03-01 00:09:36 +09:00
Sour
16d6d70376 Debugger: Fixed bug that copied watch entries from rom to rom
While the debugger was active and the current rom had watch entries, opening a new rom for the same console that had never been opened in the debugger would end up copying the watch entries from the previous rom into the new rom's workspace
2025-02-26 20:38:46 +09:00
Sour
7ddd25ec6c Debugger: Fixed crashes when importing .dbg symbols that contains data that exceeds the size of the loaded rom 2025-02-22 19:11:49 +09:00
Sour
3a4cba8f3d Debugger: Fixed exceptions (not visible in release builds) when displaying tooltips in the debugger 2025-02-22 19:10:58 +09:00
Sour
081ae70167 Debugger: NES header editor - Fixed blank VS PPU Type value when VS System Type was not the default value 2025-02-12 17:06:38 +09:00
Sour
5422619516 Debugger: Fixed viewers scrolling back to the top left when clicked while out of focus 2025-02-11 20:52:30 +09:00
Sour
556b99d267 Debugger: Prevent margin clicks from removing range breakpoints that aren't shown in the margin 2025-02-11 20:51:30 +09:00
Sour
17e23462b1 Debugger: NES/SNES - Fixed scanline value in status view not being updated properly when over 261 in PAL mode 2025-02-11 20:51:03 +09:00
Sour
a574032c8f Debugger: Fixed crash when trying to use the "Edit selected code" on a block start/end header 2025-02-05 17:36:24 +09:00
Sour
f102b94e38 Debugger: Improved SDCC integration by loading additional symbols from .sym files 2025-01-30 17:56:16 +09:00
Sour
d3e70be65b Debugger: Fixed some invalid PRG addresses/mappings in DBG file imports (because of the .nes header and CHR data) 2025-01-21 18:36:43 +09:00
Sour
4052eccbc8 Debugger: Allow opening scripts from the command line while the emulator is already running, but skip scripts that are already opened in the emulator 2025-01-20 17:03:23 +09:00
Sour
18269da46b SNES: Add support for Sufami Turbo games 2025-01-03 09:18:59 +09:00
Sour
8d6830a70a SNES: Add support for ST018 coprocessor
Used by a single game: Hayazashi Nidan Morita Shougi 2
2024-12-29 23:41:52 +09:00
Sour
eed94fdbe7 UI: Fixed error message/broken layout when clearing the text/value in a NumericUpDown control 2024-12-26 16:09:21 +09:00
Sour
59f106b8cc SNES: Fixed NMI/IRQ timing issues
Passes all NMI/IRQ tests: demo_irqtest, demo_nmitest, irq, nmi, test_irq, test_irq4200, test_irq4209, test_irqb, test_nmi,
Also fixes timing issues with WAI
2024-12-24 17:43:09 +09:00
Sour
1e3422b69e Debugger: Profiler - Show [irq]/[nmi] markers on functions 2024-12-17 18:51:01 +09:00
Sour
84995227fc Debugger: PCE - Added DDA output value to register viewer, fixed incorrect addresses 2024-12-16 21:54:02 +09:00
Sour
86cac326d7 Debugger: Tile editor - Improved behavior when editing tiles from a tilemap in games that bankswitch vram in the middle of the screen
-Also allows cropping the edit window when the size doesn't fit (e.g using 4x4 near the bottom of the screen can result in a 4x2 edit window, etc.)
-Fixed a display issue when the number of edited columns & rows didn't match
2024-12-14 23:19:02 +09:00
Sour
e2ea8438f2 Debugger: Added edit 8x8 tile option in tilemap/tile viewers 2024-12-14 22:38:12 +09:00
Sour
0352c7d675 Debugger: Always show modal popups in the taskbar
It's possible to click minimize on them, which isn't very user friendly (appears as a tiny title bar at the bottom left in Windows, not sure about Linux/macOS)
2024-12-13 23:35:47 +09:00
Sour
0ff6e6a1ea Debugger: Added basic support for SDCC symbol files (.cdb), including source mappings 2024-12-12 22:28:33 +09:00
Sour
8ad34343ba Debugger: Prevent UI freeze when viewer updates pile up and end up taking up 100% of the UI thread's time
Prevent queueing another update while the previous update is still running, which should prevent most issues.
Also slightly improves performance for the SNES tilemap viewer (which was causing the freeze when displaying an 8bpp 1024x1024 tilemap)
2024-12-10 18:59:13 +09:00
Sour
8d49d0ea54 Debugger: Label list - Toggle breakpoint on ram labels should create RWX breakpoints 2024-12-08 17:22:51 +09:00
Sour
d94646590d Debugger: Source View - Fix selected file/scroll position being incorrect after manually loading a symbol file when the source view tab was already visible 2024-12-08 16:48:01 +09:00
Sour
47c123124b Debugger: Source View - Improve active line highlight logic for C files
Highlight the C line of code if any of the CPU instructions contained inside of it is the current CPU instruction
2024-12-07 21:15:57 +09:00
Sour
962a1445c7 Debugger: Source View - Auto-switch to disassembly when no source mapping is found for the current statement
Auto-switch back to source view once a mapping is found again
2024-12-07 21:11:38 +09:00
Sour
e52fa70944 Debugger: Source View - Improve active row behavior when multiple mirrors exist
+ Automatically move to current address when clicking on the source view tab (so that the active row is shown after manually loading a symbol file, etc.)
2024-12-07 20:00:24 +09:00
Sour
fb9fba041a Debugger: PCE - Added missing PCEAS import mappings for CD-ROM RAM symbols 2024-12-03 16:23:33 +09:00
Sour
3eabc4a4a6 Debugger: Show/hide source view tab as needed when manually loading a symbol file 2024-12-03 16:22:47 +09:00
Sour
355ca16074 Debugger: Lua - Added getCdlData API 2024-12-01 15:27:46 +09:00
Sour
04062de085 Debugger: Lua - Fixed typo in documentation 2024-12-01 14:52:49 +09:00
Sour
be41cdeaeb Debugger: Update CDL stats while running when "refresh while running" is enabled
+ Optimize CDL stats calculation
2024-12-01 14:51:56 +09:00
Sour
e77ba250e8 Debugger: Sprite viewer - Fixed crash when switching from a GBA game to a SNES game with "Show offscreen regions" unchecked
MinWidth was getting set to a negative value, because LeftClipSize and RightClipSize temporarily were set to a value exceeding Source.Size.Width, which caused a crash
2024-12-01 13:33:43 +09:00
Sour
9b4905a337 Debugger: Various source view fixes
-Fixed color issues with source files (particularly for C files with pceas/hucc)
-Improved tooltips to react to more symbols/labels in source files (asm or C)
-Fixed bug that caused opcode tooltips to appear in C source files
-For hucc, try to find symbols that start with an underscore as a fallback when the symbol is not found (C symbols are exported as their asm name, which has an underscore prefixed)
-Fix double-click on a label/symbol name in source view to navigate to that symbol/function/etc
2024-11-29 20:13:56 +09:00
Sour
e7b85cad36 Debugger: Fixed breakpoint highlight issues for data rows that start with .db 2024-11-28 16:40:53 +09:00
Sour
21a279e1fe Debugger: Event Viewer - Fixed incorrect breakpoint information for marked breakpoints for multi-cpu consoles/games 2024-11-28 16:40:07 +09:00
Sour
cb412ccc02 Debugger: PCE - Updated PCEAS symbol import to match latest changes to file format 2024-11-26 18:39:44 +09:00