158 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 d76660c481 NES: Fixed BG/Sprite shifter edge cases (#190)
-Fixed BG shifter reload timing by moving it to the last dot of every 8-dot sequence (instead of the first dot). Fixes the "BG Serial In" test.
-Changed sprite shifter init/reset logic to allow edge cases where the shifter starts outputting pixels on a different scanline (when rendering was disabled during specific portions of the scanline, etc). Fixes the "Stale Sprite Shift Regs" test.
-Tweaked code in ProcessScanlineImpl, etc. to slightly improve performance
-Fixed missing PPU register mirror reads/writes in event viewer
2026-06-26 22:57:08 -07:00
SourMesen 0cef745d88 Debugger: NES - Fixed "Break on crash" only being triggered once, even after rewinding (#172)
Also fixed the assembler not allowing "STP" as a valid instruction
2026-06-06 22:34:04 -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
SourMesen d8aa9e1b9a Debugger: NES - Fixed crash when using step back with the event viewer opened and the "Show NTSC borders" option enabled (#53) 2026-04-22 14:38:06 -07:00
Sour 1b76310cdc NES: Mark opcodes 93/9B/9F as unstable + add implementation for 8B 2025-05-16 09:38:04 +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 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 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 762e5ea617 Debugger: NES header editor - Fixed incorrect values for VS system roms 2025-02-11 21:46:30 +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 26b35426c1 Debugger: NES - Fixed tile/attribute write highlights not working 2024-11-01 20:32:30 +09:00
Sour d751502a58 NES: Added Rainbow support (mapper 682) 2024-10-08 21:37:44 +09:00
Sour de20208abe NES: Added option to enable CPU test mode registers 2024-09-28 16:55:45 +09:00
Sour 88da0b0c3f Debugger: Event Viewer - NES - Fixed incorrect NTSC borders in some scenarios 2024-09-13 15:45:27 +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 ff874bc86d Debugger: NES Header Editor - Fixed behavior/crash when opening header editor with softpatched roms or compressed files 2024-07-19 21:37:51 +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 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 1cd6d078a7 Debugger: NES - Fixed/improved display for DMC/OAM DMA reads 2023-07-18 18:21:03 +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 bfe477a1f5 Debugger: NES - Fixed missing effective address for JMP (indirect) 2023-04-22 23:51:24 -04: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 a7640e28d2 Debugger: NES - Fixed "save rom as" not working properly with CHR ROM games 2023-03-17 21:54:17 -04:00
Sour f6105bbd0e Debugger: Tilemap viewer - Added "attribute data" field 2023-02-01 00:51:17 -05:00
Eldred Habert 097e2d40c7 Fix build errors with GCC (#2)
* Delete libevdev as well with `make clean`
* Fix explicit specialization is non-namespace scope
* Fix declaration of CgbFlag changing its meaning
* Fix declaration of NesHeader changing its meaning
2023-01-28 17:59:08 -05:00
Sour a637e3eb6d Debugger: NES - Fixed emphasis logic for NTSC border 2023-01-25 18:27:50 -05:00
Sour fe90b4571d Fixed misc code TODOs 2023-01-24 18:05:50 -05:00
Sour 1dfaa92e30 Debugger: NES - Fixed edit sprite feature for 8x8 sprite mode 2023-01-24 06:16:05 -05:00
Sour e96d6f3ca5 NES: Added HD pack builder tool 2022-12-29 18:28:33 +09: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 8563162da4 Debugger: NES - Various event viewer fixes
-Fixed incorrect ntsc border colors in some scenarios
-Fixed incorrect color/filtering for DMA writes (2004)
-Added "first register write" note to 2005/6 writes
-Fixed mapper reads using mapper write settings
2022-09-27 19:38:24 -04:00
Sour ce83eaadbc Fixed subtract code/ui typos 2022-09-16 00:02:35 -04:00
Sour 048d292777 Debugger: NES - Prevent sprite DMA reads from being shown as DMC DMA reads on event viewer 2022-09-14 19:25:37 -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