Sour
0dfdbbdd9b
WS: APU - Revert LSFR behavior change when noise flag is clear
...
This seems to be incorrect despite the test rom's results - Card Captor's intro sequence freezes for a few seconds because of this
2025-04-01 17:40:17 +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
66c19f9ed2
GBA: Fixed re-entry problems with DMA that could sometimes cause the same DMA to run twice in a row, breaking some games
...
This caused Sonic Advance 3 to randomly freeze/crash
2025-03-29 23:36:25 +09:00
Sour
a9a0b788db
Debugger: Test runner - Initialize debugger immediately after loading the rom, instead of 1 frame later
2025-03-29 10:33:37 +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
acbe931ba0
Debugger: SNES - Added break on options for SPC
...
Break on BRK, STOP/SLEEP
2025-03-27 23:46:36 +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
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
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
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
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
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
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
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
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
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
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