46 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 c1fe01129d PCE: CPU accuracy improvements based on hardware captures
-Replaced dummy reads with idle cycles where needed
-Fixed order of operation for some instructions
-Fixed IRQ timing (was 10 cycles, should be 8)
-Tweaked VDC timings to match test roms after the IRQ timing changes
2025-06-30 22:00:58 +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 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 6e82199b0f Debugger: Prevent dummy reads from triggering uninit read breakpoint (NES/PCE) 2023-04-13 22:28:22 -04:00
Sour 7090fcdb71 Debugger: Warn when "save rom as" fails 2023-04-11 22:33:02 -04: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 fff4c69424 PCE: Fixed debugger TODO 2022-09-03 20:01:21 -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 e7991044f2 Debugger: PCE - Fixed missing read/write/exec highlights in memory viewer 2022-08-21 11:17:15 -04:00
Sour 4fc5b2051e Debugger: Lua - Implemented step, reset 2022-08-04 19:10:30 -04:00
Sour 2eda2cc27e Debugger: Lua - Allow callback to change read/written value, allow callbacks on any memory type (not just cpu memory), allow callbacks for ppu memory 2022-08-02 01:42:14 -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 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 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 6b285f0a2a PCE: Fixed some debugger TODOs 2022-05-26 23:34:41 -04:00
Sour 55b96c9ebc Debugger: Assembler rewrite/refactoring for NES/SNES/PCE 2022-05-23 16:46:59 -04:00
Sour 529508d8d5 PCE: Use 1-byte operands for zero page addressing, fixed/improved effective address display 2022-05-19 18:44:57 -04:00
Sour 0a6a8e92b2 PCE: SuperGrafx support 2022-05-15 20:35:56 -04:00
Sour 6d0fb13cdc PCE: Rename PPU to VDC 2022-05-13 18:02:25 -04:00
Sour 9d226d6588 Linux: Fixed build, fixed some clang warnings 2022-05-09 20:53:56 -04:00
Sour 23bd5c599f CD audio playback, ADPCM playback 2022-04-16 17:52:25 -04:00
Sour 8d55f9c2cd Implement PSG, fixed VDC timing to be 1365 master clocks per scanline 2022-04-12 00:38:41 -04:00
Sour 5fb4cace15 Event viewer, register viewer 2022-04-10 21:44:26 -04:00
Sour d5d61b0472 Debugger - Memory mappings, predictive breakpoints, disassembly fixes/improvements, refactoring 2022-04-10 16:07:53 -04:00
Sour db5f1fecad Refactored mappings, add support for SF2 2022-04-09 16:44:39 -04:00
Sour 94ddf713bd Implement tilemap viewer 2022-04-08 23:37:22 -04:00
Sour 191304e025 wip - everything to review 2022-04-06 18:37:35 -04:00