Commit graph

3346 commits

Author SHA1 Message Date
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
af9eda3524 Debugger: NES - MMC1 - Added shift register state to register viewer 2025-03-25 18:02:23 +09:00
Sour
a2637ef2d4 Debugger: Fixed labels getting erased when spamming reload rom shortcut 2025-03-24 22:02:15 +09:00
Sour
dd94362d29 Audio player: Use console time to detect X seconds of silence, rather than real time
Player was skipping to next track when pausing for more than X seconds and then resuming playback, etc.
2025-03-24 21:19:24 +09:00
Sour
04cb3d5fa3 UI: Added missing CV tab in command line help dialog 2025-03-24 11:39:59 +09:00
Sour
f64bd8af09 Debugger: Palette viewer - Fixed scrolling back to the top left when clicked while out of focus 2025-03-24 10:16:37 +09:00
Sour
f762ceead9 SNES: Fixed return values for reads to 4017/4213 + fixed open bus when reading CPU internal registers
Fixes most of the openbus_test tests
2025-03-24 10:03:32 +09:00
Sour
fef5573bda NES: Added option to reverse DPCM bit playback order
Improves DPCM quality for some specific games that have their DPCM data reversed
2025-03-23 20:52:09 +09:00
Sour
c4472f3a4d Debugger: Make shift+home/end select rows in disassembly/source view and trace logger 2025-03-23 15:36:51 +09:00
Sour
004ec5f3db NES: Display header information in log even when the rom can't be loaded because of a bad header 2025-03-23 15:04:22 +09:00
Sour
20c2a24af7 SNES: Fixed mul/div edge cases when writing to mul/div registers while mul/div is still running
Matches results from this thread: https://forums.nesdev.org/viewtopic.php?t=24087
2025-03-23 14:32:31 +09:00
Sour
2e8ca044ec GB: Fixed HDMA not running on scanline 143
This fixes graphical issues in Warau Inu no Bouken (because some tiles were not being transferred to VRAM)
2025-03-23 13:33:45 +09:00
Sour
8c04e1ad6c GB: HDMA shouldn't run if CPU is halted
Fixes MagenTests/hblank_vram_dma test rom
2025-03-23 13:32:00 +09:00
Sour
b844642866 Debugger: GB - Fixed tilemap viewer displaying incorrect tiles when the tile index is above 127
Seems to only happen in release builds in MSVC (unsure if other compilers were affected)
+ Also added missing member in GbCpuState in the UI
2025-03-23 13:16:31 +09:00
Sour
5ec6763a8e UI: Added commit ID in about window
+ Removed ubuntu 20.04 build (no longer supported by github)
+ Enable ccache to speed up github builds
2025-03-22 20:41:07 +09:00
Sour
d3afd0dbf2 Debugger: PCE - Tilemap viewer - Fixed scroll overlay Y position 2025-03-22 08:44:49 +09:00
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
e79db8fcac Debugger: Sprite viewer - Fixed rare crash when reloading rom that could happen because debugger is being reinitialized while the sprite list is being fetched by the UI 2025-03-21 23:29:28 +09:00
Sour
929d4dcc20 GB: Fixed APU emulation issues
-Super Mario Land 2 - Pops in menu are fixed by immediately updating APU output after a write
-Perfect Dark - Low voice volume is fixed by having the correct output when the channels are disabled (but DAC is still enabled)
-Daiku no Gen - Low voice volume is fixed by keeping square channel output to digital 0 (= analog 1) until its first tick after being enabled (the game does not let the channel tick at all while the voice sample is playing)
2025-03-21 23:03:01 +09:00
Sour
85070a6dc2 NES: Mapper 142 - Added missing variable to save state 2025-03-20 17:24:45 +09:00
Sour
62e6fb750b NES: Mapper 107 - Fixed PRG mappings 2025-03-19 22:30:44 +09:00
Sour
99311f9af2 NES: Mapper 142 - Misc fixes, including IRQ behavior that was breaking SMB2j on reset 2025-03-19 22:30:27 +09:00
Sour
4921d09468 NES: Mapper 139 - Fixed mirroring issue 2025-03-19 22:29:49 +09:00
Sour
e12f40ae3b Fixed compilation warning 2025-03-19 22:29:07 +09:00
Sour
d324582c6f Debugger: Script window - Added option to show line numbers 2025-03-18 21:48:09 +09:00
Sour
4e63730c73 FDS: Implemented 4030.3 bit (mirroring flag) 2025-03-15 18:18:12 +09:00
Sour
e8c99284d1 FDS: Audio - Fixed behavior of the 4089.7 bit.
When set, the wave unit continues to run, but the output is held at its previous value
2025-03-15 16:06:35 +09:00
Sour
51f5afb7a3 GBA: Fixed window rendering glitch when X position was changed during hblank
Super Mario Advance 4 (SMB3) window animation when entering a stage had a glitchy scanline when the window's end position was moved from x=255 to x=239 during hblank, because ProcessWindow was not getting called when the window X position register was changed
2025-03-14 23:55:16 +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
24dfab45de NES: Added support for mapper 487 (Maxivision 30-in-1) 2025-03-12 20:18:06 +09:00
Sour
d0a3db20d8 PCE: Fixed ADPCM audio decoding issues
-Output is a 12-bit value and should wrap
-"Magnitude"/"step size" should be reset to 0 when playback starts

This fixes sound effects in NEXZR that were broken by the previous (incorrect) fix and also broken because _magnitude was not being reset to 0 when each sample started playing
2025-03-12 16:46:32 +09:00
Sour
9fcfc1ecde Debugger: SNES - Fixed incorrect addresses for HDMA reads/writes on the event viewer 2025-03-11 19:28:14 +09:00
Sour
6334ef2a6a Debugger: GBC - Fixed crashes when memory viewer was opened and addresses FF76/FF77 were visible
This was causing the APU to run inside the UI thread, causing memory corruption/crashes
2025-03-11 17:50:19 +09:00
Sour
7ae5d7c83a WS: APU - Fixed inverted sample order for wave table 2025-03-10 17:57:43 +09:00
Sour
1d947180a9 WS: APU - LSFR value doesn't update unless all 3 enable flags (channel+noise+lfsr) are enabled 2025-03-10 17:56:32 +09:00
Sour
c90b8a9ef6 WS: APU - Disabled channels should output 0
+ Ch2 outputs PCM if PCM is enabled, even when channel is disabled
2025-03-10 17:55:22 +09:00
Sour
db4cc01967 NES: FDS - Fixed emulation issues with modulation
Fixes incorrect audio in Yuu Maze and 19 Neunzehn
2025-03-09 23:30:44 +09:00
Sour
470cf9d7ee NES: VRC6 - Fixed missing audio register mirrors 2025-03-09 08:51:26 +09:00
Sour
cde15d2b38 Debugger: SNES - Fixed open bus mask for register 4210 peek 2025-03-07 15:44:44 +09:00
Sour
77fc5301eb WS: Suppress trace IRQ for 1 instruction after it gets enabled 2025-03-03 18:25:50 +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
8d190963da UI: Linux - Tweak previous fix for menu focus to make it work correctly in some rarer scenarios 2025-03-02 10:51:53 +09:00
Sour
f9e4232105 UI: Command line - Fixed behavior when using relative paths to load a game while an instance of the emulator is already running 2025-03-02 09:54:41 +09:00
Sour
bd970ac08f UI: Fixed menu being focused by default when launching a game from the command line 2025-03-02 09:51:52 +09:00
Sour
211b42e91c WS: Improved IRQ handling after IRQ flag is set or SS segment is modified 2025-03-01 22:17:45 +09:00
Sour
5823761791 SMS: Implemented fairly accurate sprite eval+fetch timings, for all modes
+ Fixed VRAM read to wait until next available CPU access slot
+ Fixed NMI triggering on the wrong scanline on SMS
+ Fixed NMI issues on ColecoVision
+ Fixed random ram option not working properly on SG-1000
+ Added "Mem access" tab to tilemap viewer to see fetch patterns
2025-03-01 00:09:36 +09:00