Sour
0dbe874fa4
Debugger: Sprite Viewer - SNES - Fixed crash when EnableOamPriority flag was set
...
startIndex could be set to 128+, depending on the oam address, which caused memory corruption
2025-03-21 23:31:07 +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
cde15d2b38
Debugger: SNES - Fixed open bus mask for register 4210 peek
2025-03-07 15:44:44 +09:00
Sour
0d91684cba
SGB: Added missing packet byte buffer for SGB commands
...
Based on binarycounter's tests and documentation: https://github.com/binarycounter/SGB_Packet_Buffer_Tests
2025-03-02 13:33:12 +09:00
Sour
e9a0e7aaa5
SGB: Improved logic to select row/bank to write pixels to
...
Uses hblank/vblank (when mode changes) to move to the next row/reset to the top of the screen
2025-03-02 13:23:07 +09:00
Sour
53f17745d7
SGB: Prevent freeze/lock up when resetting a MBC3 game that has a RTC clock
2025-03-02 11:25:21 +09:00
Sour
09cd8b7cec
Debugger: GSU - Fixed trace log not logging the correct instructions in some scenarios
2025-02-15 20:09:02 +09:00
Sour
991136e58a
Audio Player: Fixed shuffle/repeat buttons not working
2025-02-13 22:07:10 +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
f15f90d06c
SNES: SPC7110 - Fixed incorrect memory mappings after loading save states
...
Also fixes a bug in the decompression init code that could cause the emulator to crash when an invalid decompression mode was read from rom
2025-01-22 17:41:42 +09:00
Sour
bc2383ab16
SNES: Removed old debug information
2025-01-05 11:08:12 +09:00
Sour
b37f2e38a6
SNES: Added missing "else" in condition
...
This caused the SPC writes to trigger the PPU's "unimplemented register write" debug message (in debug builds only), but doesn't have any impact on accuracy/etc.
2025-01-05 10:41:53 +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
21f1f62424
SNES: Added sinc audio interpolation option
2024-12-27 23:02:02 +09:00
Sour
d6537ed0a5
Debugger: SNES - Fixed crash when resetting game while SPC debugger is opened
2024-12-27 11:49:16 +09:00
Sour
e0dd12bcdb
SNES: SPC - Tweak previous timing fix for Kishin Douji
...
The previous fix on its own fixed Kishin, but broke Kawasaki Superbike
2024-12-26 11:10:37 +09:00
Sour
44337e507e
SNES: Fixed regression in Kawasaki Carribean Challenge (palette corruption)
...
Caused by CGRAM writes on scanline 0 being blocked, even though they apparently should work correctly
2024-12-25 23:03:36 +09:00
Sour
0ab6e92dc2
SNES: Set internal palette address to 0 when outputting bg color (when no layers have visible pixels)
...
This fixes regressions in PGA Tour Golf and Mini Yonku Shining Scorpion. These games attempt to write to CGRAM during rendering, but at a time where the background color is being rendered, so the writes overwrite address 0 in CGRAM. Without this fix, the last non-transparent pixel's color address was being used, causing it to corrupt the wrong color in CGRAM (which caused the glitches)
2024-12-25 15:10:22 +09:00
Sour
30d28c83a5
SNES: Performance improvements
...
This makes performance equal or slightly better to what it was before all of the recent accuracy improvements
2024-12-24 22:56:57 +09:00
Sour
a9d3cb5755
SNES: Implement correct/better behavior when reading/writing to CGRAM during rendering
...
This allows 93143's "dmacolor" demo to work correctly: https://forums.nesdev.org/viewtopic.php?p=164248#p164248
Also prevents reading from VRAM during rendering
2024-12-24 18:09:47 +09:00
Sour
542d73029a
SNES: Fixed freeze in intro/menus in Battle Grand Prix
...
The alignment done at the end of DMA appears to ignore master clocks spent in DRAM refresh (which is why a separate counter is needed). Unsure if this has been verified on hardware, but this is also what ares does to fix this issue.
2024-12-24 17:47:19 +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
831e177d87
SNES: Fixed HDMA timing issues
...
Passes the test_hdma, test_hdmasync, test_hdmatiming tests
2024-12-24 15:08:55 +09:00
Sour
29df2fb4d0
Debugger: SNES - Fixed minor issues with CPU internal registers' peek implementation
2024-12-24 15:04:53 +09:00
Sour
c0d61b46f4
SNES: Delay the SPC's access to the new values written by the CPU
...
This allows Kishin Douji Zenki to boot without locking up on a black screen
2024-12-24 15:04:40 +09:00
Sour
e4d317635f
SNES: Improved gamepad auto-read behavior
...
Based on new tests: blip-autojoy-test, blip-autojoy-test-automatic, enable-autojoy-late-test-2
2024-12-20 18:51:03 +09:00
Sour
88210b3fcf
SNES/PCE/SMS: Added missing "allow invalid input" option (and prevent invalid inputs by default)
2024-12-20 14:48:15 +09:00
Sour
d1aa957a80
SNES: Allow gamepad auto-read to be disabled while it's running
...
Matches new hardware tests: clear-autojoy-1st-vb-sl / clear-autojoy-during-autojoy
2024-12-17 17:21:41 +09:00
Sour
6b77200364
SNES: Improved gamepad auto-read emulation based on research/test rom
2024-12-14 14:39:42 +09:00
Sour
ff1580def4
SNES: Fixed input issues with Pocky & Rocky
...
Caused by the game enabling controller auto-read in the middle of the auto-read "portion" of the frame
2024-12-13 19:36:48 +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
4ae738f028
SNES: Fixed emulator crash caused by large DMA transfer (across multiple frames)
2024-11-17 19:34:14 +09:00
Sour
3873078053
Debugger: SNES - Fixed crash when resetting console with debugger active
2024-11-07 18:46:20 +09:00
Sour
98dc779ee8
SNES: Fixed ExHiROM memory map (save ram should only be available at 80-BF:6000-7FFF)
2024-10-26 16:26:21 +09:00
Sour
0b1fe08bba
SNES: Fixed PPU $213F reads to always reset the h/v counter low/high toggles
2024-10-15 20:18:56 +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
8ad5423be5
GBA: RTC support
2024-07-18 21:50:24 +09:00
Sour
14123a1884
Debugger: Sprite Viewer - Added option to dim offscreen sprites in the left-hand grid
...
+ Added "Visible" column to sprite list
+ Fixed some layout issues in > 100% dpi modes
2024-07-14 14:33:10 +09:00
Sour
9f57622df1
Debugger: SNES - Fixed debugger issues for SDD1 games
...
All instructions were interpreted as BRK because of the default peek implementation returning 0 for all addresses mapped by the SDD1, and memory mappings in general did not work properly in the debugger
2024-07-08 18:21:42 +09:00
Sour
caaf8ed8e8
GB: Added basic support for gbx files
2024-07-06 17:54:34 +09:00
Sour
ee09a7bde2
UI: Revert addition of snes mouse option
...
This doesn't appear to be particularly useful and doesn't appear to be related to the original issue that was reported regarding mouse movement
2024-06-25 18:31:49 +09:00
Sour
6d020e09e8
UI: Input - Added option to enable old SNES mouse movement
2024-06-24 11:31:08 +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
abe6f0f860
PCE: Fixed sound mixing issue causing pops in ADPCM and CD audio
2024-06-07 20:25:43 +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
8cbaf3a6dc
Debugger: SNES - Fixed out-of-bounds memory accesses in NEC DSP debugger
2024-04-27 10:51:02 +09:00
Sour
13acb3fe42
Added GBA support
2024-03-30 11:42:31 +09:00