Commit graph

948 commits

Author SHA1 Message Date
Sour
8dda623a1f UI: Focus game selection screen on startup
+Try to avoid menu getting stuck with focus
+Improve keyboard/gamepad navigation for it
+Make selected game a bit easier to see
2024-12-26 16:09:17 +09:00
Sour
0dfc8ac834 UI: Update to Avalonia build that fixes freezes in AOT builds on Windows 2024-12-25 19:02:23 +09:00
Sour
a9d3cb5755 SNES: Implement correct/better behavior when reading/writing to CGRAM during rendering
This allows 93143's "dmacolor" demo to work correctly: https://forums.nesdev.org/viewtopic.php?p=164248#p164248
Also prevents reading from VRAM during rendering
2024-12-24 18:09:47 +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
c0d61b46f4 SNES: Delay the SPC's access to the new values written by the CPU
This allows Kishin Douji Zenki to boot without locking up on a black screen
2024-12-24 15:04:40 +09:00
Sour
88210b3fcf SNES/PCE/SMS: Added missing "allow invalid input" option (and prevent invalid inputs by default) 2024-12-20 14:48:15 +09:00
Sour
71ecb09ffe UI: Added Firmwares tab in emulation settings to view/manage firmware files 2024-12-19 20:06:28 +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
ed1b5c51ca Debugger: Keep focus on main window when opening script windows alongside a rom via the command line 2024-12-13 23:13:37 +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
614e61a2d1 Debugger: Fixed issues with step over/out in some scenarios (bank swapping, recursive functions, etc.)
Only break when both the stack pointer and the return address match what the debugger was expecting, instead of just the return address
2024-12-07 17:46:28 +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
fee6f3922b UI: Game selection screen - Fixed unintended unclickable margin on both sides of the arrow buttons 2024-11-28 16:57:07 +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
Sour
03fad75c5f Fixed .NET 6 compilation error 2024-11-24 18:10:16 +09:00
Sour
af01175569 Debugger: PCE - Split PCEAS symbol importer from wla-dx's importer code
Added support for length value for data labels, added support for [definitions] section for constants
2024-11-24 17:36:48 +09:00
Sour
c956eea0ba UI: Fixed unexpected screen cropping when window width is reduced
The screen's height should be reduced to fit the window, instead.  Caused by changes done recently to fix some rounding errors with screen/window sizing
2024-11-24 11:34:27 +09:00
Sour
c13f52dcb8 Debugger: PCE - Updated symbol file support for PCEAS
+ Improve logic to find/load source files
2024-11-23 17:31:48 +09:00
Sour
cebdab9b5d UI: Fixed keyboard focus being on menu when opening emulator via file associations 2024-11-20 20:01:45 +09:00
Sour
a91f8ecf73 Debugger: Source View - Added tab size option 2024-11-14 19:38:52 +09:00
Sour
54b8973c61 Debugger: WS - Fixed code highlighting issue caused by previous commit 2024-11-13 21:25:30 +09:00
Sour
aa32d7e4a0 Debugger: PCE - Generate CDL data based on PCEAS symbol file
+ use IgnoreColumns comment
+ make code highlighting accept label definitions with dots in them, etc.
2024-11-13 20:40:59 +09:00
Sour
534d7eee1e UI: Fixed crash in AOT builds caused by recent Dock package upgrade 2024-11-13 16:38:33 +09:00
Sour
da6ff36c2a Debugger: Memory viewer - Fixed issues with search window caused by recent memory leak-related fixes 2024-11-12 18:43:51 +09:00
Sour
7b84a75fac UI: Fixed window size rounding issues when setting video scale 2024-11-11 14:28:54 +09:00
Sour
e18db92692 UI: Update to Avalonia 11.2.0 2024-11-11 09:28:22 +09:00
Sour
2973c43046 Debugger: Source View - Fixed issues when loading another source view-enabled project
Breakpoints weren't being set properly because events were registered twice, etc.
2024-11-10 20:30:22 +09:00
Sour
f60f39ebe6 Debugger: PCE - Tweaks for integration with HuCC 2024-11-10 20:29:27 +09:00
Sour
28b75c2510 UI: Fixed crashes that could occur when using undo after typing in a text box 2024-11-08 15:45:32 +09:00
Sour
25825df619 Debugger: Fixed source view not updating correctly in some scenarios when debugger hits a breakpoint
Specifically, this happened if the breakpoint was already visible on screen and was associated to an address that wasn't mapped when the source view was last updated
2024-11-07 19:04:49 +09:00
Sour
9af55f9fc0 Debugger: Fixed some potential memory leaks in debug tools UI 2024-11-07 18:34:41 +09:00
Sour
7fdb6a0e85 GBA: Improved cartridge prefetch timing accuracy
Passes most of alyosha's prefetch tests
2024-11-06 19:12:33 +09:00