52 Commits
Author SHA1 Message Date
SourMesen e391fd8f9a Code: Add auto-formatting rules for C++ (clang-format) and enforce in CI via "clang-format" and "dotnet format" (#78)
* Code: Add auto-formatting rules for C++ projects (clang-format) and enforce code style via "clang-format" and "dotnet format"

* fix ui format warnings
2026-04-30 06:03:55 -07:00
SourMesen 8e4dd329ac Debugger: Lua - Added new APIs: getCpuState, setCpuState, getMasterClock, getCpuCycleCount (#58)
getCpuState/setCpuState allow the same functionality as getState/setState, but limited to only the CPU's state, making them much faster (some performance optimizations to the serialization & Lua code were also done)
getMasterClock/getCpuCycleCount are very fast alternatives to getState when all the script needs is a cycle count.
2026-04-26 18:00:08 -07:00
Sour 0ae5f26d0c Debugger: GBA - Realign disassembly to multiples of 4 bytes when disassembling unknown blocks in ARM mode 2025-06-17 21:20:22 +09:00
Sour de8a0819d6 Debugger: SNES - Fixed stack overflow crash when hitting a SPC breakpoint 2025-05-06 12:29:55 +09:00
Sour 36bd1611c6 Debugger: Catch up APU for all consoles when breaking, to allow register viewer/etc. to display up-to-date values 2025-04-03 22:41:27 +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 074034aa66 Debugger: Use cpu-specific cycle counts for profiler data
Fixed SNES co-processors (including the SPC) reporting their profiling data based on SNES master clocks, which wasn't accurate/reliable
2024-06-23 16:21:49 +09:00
Sour 13acb3fe42 Added GBA support 2024-03-30 11:42:31 +09:00
Sour aa9c459630 Debugger: Step Back - Allow stepping back 1 scanline/frame at a time + remove restriction that caused step back to only work for up to 30 frames 2024-01-26 23:39:31 +09:00
Sour 44233413a1 Debugger: Prevent load state/reset counters from triggering uninit ram read break on all reads 2023-04-15 15:34:24 -04:00
Sour 7090fcdb71 Debugger: Warn when "save rom as" fails 2023-04-11 22:33:02 -04:00
Sour 174e31cd5a Debugger: Fixed pause/break freezes/issues when CPU is halted 2023-01-27 16:14:58 -05:00
Sour 2e2d6b8db3 Debugger: SNES - Fixed crash when opening the debugger on some SA-1 games
Crashed whenever the SA-1 processed an interrupt
2023-01-26 17:27:48 -05:00
Sour 9751895751 Debugger: Allow saving/loading save states without forcing the emulator to run until the next vertical blank 2022-12-27 16:29:16 +09:00
Sour 49d3aebba1 Disable breakpoints/debugger while rewinding 2022-10-15 13:12:33 -04:00
Sour 3fe77d271a Debugger: Added "memaddress" token in expressions 2022-09-28 18:20:45 -04:00
Sour c3dd78b5ab Debugger: Implemented step back for all main CPUs 2022-09-11 14:50:40 -04:00
Sour 7108bdde36 Refactoring - Moved some leftover files out of the root folder 2022-09-08 21:48:49 -04:00
Sour 152abf690b Rename stdafx.h to pch.h 2022-09-08 21:29:52 -04:00
Sour 5ee0b08d24 Debugger: Make SA-1 debugger use its own mappings to peek data, not the SNES' mappings 2022-08-30 17:45:39 -04:00
Sour 0de17a6df1 Debugger: MemoryType::Register refactoring 2022-08-29 20:29:12 -04:00
Sour 872bebff62 Debugger: SNES - Fixed breakpoints for "Register" memory type 2022-08-29 20:17:28 -04:00
Sour 7b394aa686 Debugger: Added "bring to front on pause" option 2022-08-26 18:20:34 -04:00
Sour d384118da4 Debugger: Fixed call stack issues when NMI/IRQ land on JSR/RTI/RTS/etc calls 2022-08-25 20:38:21 -04:00
Sour 4fc5b2051e Debugger: Lua - Implemented step, reset 2022-08-04 19:10:30 -04:00
Sour efdbd7b82d Debugger: Profiler - Make GB tab use GB clock rather than SNES master clock 2022-07-27 23:52:54 -04:00
Sour 948aec1d3a Linux: Fixed compilation warnings and crash when closing emulator (EmuApi.Release was called too early and other threads/timer could call IsPaused after it was called) 2022-07-13 19:53:48 -04:00
Sour 61fbae131c Debugger: Added controllers tool 2022-07-09 19:39:35 -04:00
Sour 63cbe9bd73 Debugger: Instruction progression (+ step 1 cpu cycle for snes/sa1/pce) 2022-07-08 00:09:01 -04:00
Sour b36edfb024 Debugger: CX4 call stack/profiler support 2022-07-04 17:14:05 -04:00
Sour f84f1c67c1 Debugger: Added actions to jump to nmi/irq/etc. vectors 2022-07-03 12:59:12 -04:00
Sour 008ed9077d Debugger: Refactor debug config 2022-07-01 12:34:00 -04:00
Sour 60889176b7 Debugger: Added "draw partial frame" option 2022-06-26 21:57:03 -04:00
Sour 5414afdbb4 Debugger: Added "Show jump labels" option 2022-06-26 14:44:59 -04:00
Sour 483a642a98 Debugger: Added function list 2022-06-13 22:13:08 -04:00
Sour 78ca62ed75 Debugger: Support for CDL in CHR ROM games (NES), option to hide used/unused tiles from tile viewer (when CDL data is available) 2022-06-12 00:26:03 -04:00
Sour fcd7e64582 Debugger: Fixed CDL behavior for SGB, refactor some of the CDL code 2022-06-11 15:19:24 -04:00
Sour 55b96c9ebc Debugger: Assembler rewrite/refactoring for NES/SNES/PCE 2022-05-23 16:46:59 -04:00
Sour b9d367e91a Debugger: Implement/refactor is jump/is return/etc logic for all CPUs 2022-03-24 21:39:00 -04:00
Sour 56b05cced6 Debugger: Implemented "move program counter" for most CPUs 2022-02-24 23:00:08 -05:00
Sour 92734d6015 Debugger: Exp. eval refactoring to allow getting more data than just the CPU's state 2022-02-21 21:27:14 -05:00
Sour ba0b5a89a5 Debugger: Code refactoring, fixes for marked breakpoints 2022-02-20 11:11:44 -05:00
Sour fb666944cb Debugger: Don't step 1 instruction when opening debugger if the game is already paused
+ Build SPC cache even when debugger is not opened
2022-02-19 15:22:59 -05:00
Sour 4f6ce1f611 Debugger: Performance improvements 2022-02-19 11:12:02 -05:00
Sour d5a28f1403 Debugger: (WIP) Evaluate breakpoints before an instruction starts executing (ProcessInstruction + calculate upcoming reads/writes) 2022-02-19 09:55:33 -05:00
Sour 581f8ab709 Debugger: Remove memory access count tracking (only keep stamps for memory tools color) 2022-02-16 20:50:00 -05:00
Sour ec84fad585 Debugger: Run to NMI/IRQ actions 2022-02-16 18:20:27 -05:00
Sour 762c9de400 Debugger: Added same rom/ips options 2022-02-08 20:59:03 -05:00
Sour 85482d34f1 Debugger: SNES - Added coprocessor debuggers 2022-01-30 20:20:24 -05:00
Sour 00780830a9 Debugger: Implemented "break in" action 2022-01-30 11:36:55 -05:00