Commit graph

3333 commits

Author SHA1 Message Date
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
Sour
16d6d70376 Debugger: Fixed bug that copied watch entries from rom to rom
While the debugger was active and the current rom had watch entries, opening a new rom for the same console that had never been opened in the debugger would end up copying the watch entries from the previous rom into the new rom's workspace
2025-02-26 20:38:46 +09:00
Sour
fadf7c4d44 GBA: Fixed problem with wave channel in Kidou Senshi Gundam - Seed Destiny
Wave channel was playing the wrong audio on the title screen, because some writes were being blocked.
It looks like the restriction on wave "ram" access that exists on GB don't exist on GBA
Additionally, it seems like the wave data is supposed to be stored in a large shift register (not emulated yet), rather than an array of bytes
2025-02-26 17:41:33 +09:00
Sour
7ddd25ec6c Debugger: Fixed crashes when importing .dbg symbols that contains data that exceeds the size of the loaded rom 2025-02-22 19:11:49 +09:00
Sour
3a4cba8f3d Debugger: Fixed exceptions (not visible in release builds) when displaying tooltips in the debugger 2025-02-22 19:10:58 +09:00
Sour
8dc389df49 NES: Runahead - Fixed issues switching disks or inserting coins with FDS/VS System 2025-02-20 18:43:56 +09:00
Sour
0b593d4c78 NES: FDS - Fixed IPS save data not being applied when loading the rom 2025-02-20 17:38:21 +09:00
Sour
d72658de7a NES: FDS - Fixed issues with Kosodate Gokko (unlicensed disk copying program)
+ Added option to save directly to the original rom file instead of creating .ips files (for FDS & cartridges with flashable prg/chr rom)
2025-02-19 21:27:15 +09:00
Sour
1da719bb80 NES: MMC5 - Added support for 128kb ram 2025-02-18 09:30:20 +09:00
Sour
57f136f432 GBA: Fixed APU sampling timing problem which reduced audio quality 2025-02-17 13:52:44 +09:00
Sour
352adae9f8 NES: FDS - Implement CRC checks/writes for .qd files 2025-02-15 22:38:32 +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
081ae70167 Debugger: NES header editor - Fixed blank VS PPU Type value when VS System Type was not the default value 2025-02-12 17:06:38 +09:00