Sour
80b1ee330a
Debugger: SNES - Fixed deadlock when resetting the game while paused, when the "break on power/reset" option is disabled
2025-07-07 00:19:34 +09: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
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
fbf1882f8f
Debugger: Fixed audio sometimes looping endlessly after execution pauses
2025-05-14 20:53:06 +09:00
Sour
de8a0819d6
Debugger: SNES - Fixed stack overflow crash when hitting a SPC breakpoint
2025-05-06 12:29:55 +09:00
Sour
176f14ae33
GBA: Fixed missing sprites in Guranbo's character name screen
...
The game sets the sprites to obj mode 3 (by mistake?), which is an unused "stereoscopic" mode for sprites. Mode 3 seems to behave like mode 0 when the global "stereoscopic" flag is not set (previously "green swap"), so the sprites are meant to display normally in this scenario (instead of being hidden like they were before)
2025-04-26 18:20:47 +09:00
Sour
045a0e01b9
Debugger: Lua - Fixed emulator crash when callback triggers an error and is allowed to repeat a large number of times
2025-04-24 17:45:16 +09:00
Sour
a17a97fb7b
Debugger: Lua - Support small arrays in getState/setState
...
This is needed to e.g have access to the GBA CPU's registers, etc.
Also hid some internal GBA state from getState to improve performance
2025-04-15 22:43:52 +09:00
Sour
f1117c1b06
Debugger: Lua - emu.getPixel shouldn't set alpha channel to 255
2025-04-12 23:50:07 +09:00
Sour
01f62b8c38
Windows: Write log window and debug log messages to stdout on windows, too
2025-04-11 17:11:56 +09:00
Sour
bf7872a7ae
Linux: Show log window and debug log content in terminal
2025-04-10 18:11:01 +09:00
Sour
48e8332258
Tests: Fixed minor issues when running tests
2025-04-04 17:48:17 +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
7267e28e21
Debugger: GBA - Added option to configure whether unidentified code/data is disassembled as arm/thumb
2025-03-31 18:11:29 +09:00
Sour
1975ab958c
Debugger: Fixed crashes when switching between games from different consoles (in AOT build)
...
Caused by what looks like slight differences between how AOT treats an empty array (vs JIT builds) when it marshals the array (AOT sends a null pointer, JIT sends a pointer to an empty array)
This was causing issues in both builds (AOT crashed immediately because of the null pointer, JIT read from out-of-bounds memory)
2025-03-28 18:03:30 +09:00
Sour
2d96724b28
Debugger: SNES - Added new "break on..." options
...
Invalid vram/oam/cgram access, controller read while auto-read is running
2025-03-27 21:30:38 +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
9e5d013c84
Debugger: Minor performance improvements for debugger initialization
2025-03-26 21:25:34 +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
f7ca5d06fb
Debugger: Prevent rewind/step back from changing the value of frozen addresses
2025-02-11 20:48:52 +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
43ff951e83
Debugger: Fixed crash in GetMemoryValues
...
When start is not 0 and end is beyond the max size, memset would write out of bounds.
Caused by the previous tile viewer fix
2025-01-21 18:35:49 +09:00
Sour
30ece8ec62
Debugger: Fixed broken tile viewer output with some size combinations
...
If the number of rows and columns did not result in an amount of bytes that was a power of 2, the viewer would incorrectly repeat some tiles, etc.
This was broken by performance fixes done a few months ago
2025-01-20 17:56:51 +09:00
Sour
18269da46b
SNES: Add support for Sufami Turbo games
2025-01-03 09:18:59 +09:00
Sour
8d6830a70a
SNES: Add support for ST018 coprocessor
...
Used by a single game: Hayazashi Nidan Morita Shougi 2
2024-12-29 23:41:52 +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
c447eaf997
Debugger: Improve call stack/profiler behavior when dealing with some types of stack manipulation
2024-12-17 18:52:17 +09:00
Sour
1e3422b69e
Debugger: Profiler - Show [irq]/[nmi] markers on functions
2024-12-17 18:51:01 +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
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
355ca16074
Debugger: Lua - Added getCdlData API
2024-12-01 15:27:46 +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
403fe083ed
Debugger: Allow screensaver/sleep to turn on when paused while debug tools are opened
2024-11-30 13:49:23 +09:00
Sour
63f8081106
Debugger: Trace Logger - Revert change that caused hex values in log to not have the right size
2024-11-08 18:13:04 +09:00
Sour
f710ad8529
Debugger: Clear event viewer data when game is reset to avoid issues/crashes
...
Reset caused a crash on NES when ntsc borders were displayed because the current frame's data contained events from the pre-reset state
2024-10-31 21:13:07 +09:00
Sour
ecd012c2fe
Debugger: Fixed issue that caused forbid breakpoints to prevent "run 1 frame/scanline/etc" from working properly in some scenarios
2024-10-30 22:02:40 +09:00
Sour
ef302de461
Debugger: Fixed forbid breakpoints not working properly with "break on" options
2024-10-15 09:29:42 +09:00
Sour
5b0173f43c
Debugger: Tile viewer - Limit copied data to what is required to display the current view
...
This fixes performance issues on GBA, for example, when trying to display the "CPU Memory" memory type
2024-10-10 17:51:39 +09:00
Sour
8557a7adc8
Debugger: GBA - Fixed tile editor issues when editing tiles in vram if bit 15 of the address is set
...
Mask was invalid because vram is not a power of 2
2024-10-09 21:46:24 +09:00
Sour
d751502a58
NES: Added Rainbow support (mapper 682)
2024-10-08 21:37:44 +09:00
Sour
dee97bf9bc
Debugger: Added forbid breakpoints
2024-09-23 21:05:55 +09:00
Sour
c5406773a0
Added WonderSwan support
2024-09-19 21:19:43 +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
9f69e88b6c
Debugger: Added undo for memory viewer/debugger code edits
2024-08-26 20:15:30 +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
d0c9deb477
Debugger: Lua - Improve error messages when io/os/lua access is turned off in the options
2024-07-19 18:34:42 +09:00
Sour
640a215cbb
GB: Added support for MBC5 rumble feature
2024-07-13 20:50: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
d9f1d486a3
Debugger: SNES - Fixed palette display for mode 0 layers in tilemap viewer
2024-04-27 12:14:45 +09:00
Sour
a015fa83d1
Debugger: SNES - Fixed swapped values for psmemory/psindex
2024-04-07 08:58:38 +09:00