98 Commits
Author SHA1 Message Date
SourMesen 918379b7a7 Debugger: Tilemap viewer - Added option to pick background color (#238)
Also, minor bug fixes for WS:
-Fixed tilemap viewer for sometimes using the wrong background color
-Fixed the 4-bit RGB color values in the palette viewer having the R and B values swapped
2026-07-28 19:55:12 +09:00
SourMesen 112b6f3d09 Debugger: SuperGrafx - Added VPC options and VDC1/VDC2 filter in the event viewer (#234) 2026-07-28 19:52:25 +09:00
SourMesen 2608736828 Debugger: PCE - Fixed sprite viewer "edit tile" not using correct tiles for some sizes (e.g 16x32) (#136) 2026-05-23 21:19:15 -07:00
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 4b8669d34b Debugger: Tilemap viewer - Fixed "edit tile" behavior on SNES when the tilemap is using 16x16 (or 16x8) tiles (#72)
Also, added support for horizontal/vertical mirroring when editing the mirrored tiles from the tilemap.
2026-04-27 09:18:53 -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 d3afd0dbf2 Debugger: PCE - Tilemap viewer - Fixed scroll overlay Y position 2025-03-22 08:44:49 +09:00
Sour f359b80eb5 Debugger: Assembler - Allow using #label syntax on NES/SNES/PCE
This used to be allowed in Mesen-S
2025-03-13 18:32:46 +09:00
Sour 031cb7058c Debugger: Fixed issues with NES/SNES/PCE assemblers
-Labels defined within the assembler that were referred to before their definition did not work properly and ended up being assigned the wrong value (when the label's address wasn't a value between 0x100 and 0xFFFF) - this is fixed by running multiple passes until the resulting byte code stops changing.
-Fixed issues where e.g EOR $00, Y would be assembled as a 2-byte instruction, which is invalid.
2025-02-06 21:20: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 d751502a58 NES: Added Rainbow support (mapper 682) 2024-10-08 21:37:44 +09:00
Sour e79e655d3b Debugger: Event Viewer - Added missing address/value for some event types (marked breakpoints, etc.) 2024-09-12 17:11:56 +09:00
Sour 5b992e35f8 PCE: Implement better MWR latch timing
Changing anything but CG Mode mid-screen should not be allowed (latched in vblank)
2024-08-19 10:54:57 +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 b6d865fdcd Debugger: PCE - Event Viewer - Split CD-ROM and Arcade Card reads/writes into 2 separate categories 2023-12-25 15:29:39 +09:00
Sour 5308983ebb Added SMS/GG/SG-1000 support 2023-12-14 22:23:27 +09:00
Sour eb17aab85d Debugger: Sprite viewer - Added option to change background color 2023-09-26 18:58:50 +09:00
Sour b11369ec7a Debugger: PCE - Event Viewer - Don't interpret supergrafx VPC writes as VDC writes 2023-09-15 22:53:30 +09:00
Sour 8701d3c15c Debugger: Prevent crash when attempting to load a .dbg file for GB roms
Display error in log window instead and ignore the .dbg file
2023-07-11 16:46:35 +09:00
Sour 0a6814d881 Debugger: Assembler - Fixed assembler issues for NES/SNES/PCE when using "edit selected code"
Original byte code did not match the assembler's code based on the assembly code in some scenarios
2023-07-10 18:45:46 +09:00
Sour 01384245ba Debugger: Fixed assembler issues when using labels with relative jumps
Affects NES, SNES, PCE
2023-04-18 20:53:32 -04:00
Sour 4119de9e9c Debugger: Event viewer - Added right-click menu options for viewer/list 2023-04-16 22:30:47 -04: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 186f181030 Debugger: PCE - Added psgchannel/vdcreg to expression tokens (+ fixed other tokens not working due to wrong case) 2023-02-13 21:35:44 -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 5d92c8caba Debugger: Fixed inconsistencies in event viewer when stepping to the first cycle of a frame 2022-12-22 16:22:00 +09:00
Sour 49d3aebba1 Disable breakpoints/debugger while rewinding 2022-10-15 13:12:33 -04:00
Sour b2567fd88f Debugger: Event Viewer - Show PC at the start of the instruction instead of the current PC 2022-09-28 19:49:49 -04:00
Sour 3fe77d271a Debugger: Added "memaddress" token in expressions 2022-09-28 18:20:45 -04:00
Sour 47b94cd49f Debugger: Added option to show/hide memory values (+ fixed missing memory values on NES, PCE, etc.) 2022-09-13 00:41:18 -04:00
Sour 94b5ce21d1 Debugger: Tilemap viewer - Added grayscale option for all consoles 2022-09-12 21:14:37 -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 3f3bf94fa2 Debugger: PCE - Improved event viewer (more categories, more info on VDC registers) 2022-09-03 19:48:07 -04:00
Sour 9f1819a243 Debugger - PCE: Resize event viewer based on number of scanlines in VCE config 2022-09-02 19:47:52 -04:00
Sour da46302e29 Debugger: PCE - Added support for 2bpp bg/sprite modes 2022-08-26 22:59:55 -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 df8728e107 Debugger: Sprite Viewer - Option to show/hide offscreen regions from preview 2022-08-20 18:20:14 -04:00
Sour a61e559c07 Debugger: Performance improvements for ppu viewers (30-75% faster in core) 2022-08-06 13:45:40 -04:00