Commit graph

3354 commits

Author SHA1 Message Date
Sour
43e8724b65 GB: Fixed DMA inactive/active flag behavior ($FF55.7)
Fixes freezes in Lego Racers and Pocket Music
2023-04-11 22:06:44 -04:00
Sour
945b1c8418 GB: Fixed out-of-bounds writes when processing oam corruption 2023-04-11 21:34:08 -04:00
Sour
dc52149c7d PCE: Always init CD-ROM save ram with 0s (+header)
Improves compatibility with some games that don't like the random data
2023-04-11 18:03:18 -04:00
Sour
13d931683f UI: Fixed crash when recording a movie
Also fixes the same issue in a few other windows (video recording, netplay, etc.)
2023-04-11 09:12:17 -04:00
Sour
be923f9eac GB: Make "Auto" aspect ratio behave like "no stretching" 2023-04-11 00:14:30 -04:00
Sour
716227c0a7 UI: Update to Avalonia11-preview6
Notes:
-Uses a copy of VirtualizingStackPanel (to include fixes done after preview6) + fix another issue in lists
-Fixes memory leaks when closing windows (by setting DataContext to null, etc.)
2023-04-10 22:59:48 -04:00
Sour
6a4b6ba810 Debugger: Sprite viewer - Fixed refresh issues when "show offscreen regions" is unchecked 2023-04-10 18:58:04 -04:00
Sour
68e1f0ce98 Debugger: Tile viewer - Reduce memory allocations 2023-04-10 17:44:57 -04:00
Sour
9c6c67445a Debugger: Profiler - Reduce memory allocations 2023-04-10 17:44:55 -04:00
Sour
cde0db1d13 Replaced GCHandle.Alloc usage with fixed keyword 2023-04-10 17:44:53 -04:00
Sour
5926ada406 Debugger: Sprite viewer - Reduce memory allocations to reduce GC frequency 2023-04-10 17:44:51 -04:00
Sour
126cf052a8 Debugger: Tilemap viewer - Reduce memory allocations to reduce GC frequency 2023-04-10 17:44:48 -04:00
Sour
16c6b819fa UI: Fixed incorrect mouse position in high DPI modes when cursor is locked 2023-04-10 11:09:02 -04:00
Sour
b41e270a4c GB: Fixed APU channel output changes being associated with the wrong timestamp
Caused issues with the audio in Pokemon (and probably other games?)
2023-04-10 00:33:15 -04:00
Sour
41a082b8e0 GB: Fixed scene transitions in Alone in the Dark
CGB should also turn white when LCD is disabled (at least based on what other emulators are doing)
2023-04-09 00:28:40 -04:00
Sour
0038e83dd6 Debugger: GB - Fixed incorrect memory values in the disassembly Occurred when the GB CPU's state was copied while the CPU was halted or had a pending IRQ 2023-04-08 23:17:18 -04:00
Sour
f091873124 UI: Fixed renderer size problem when in exclusive fullscreen mode
Menu was still "visible" and preventing the renderer from taking up the entire height of the screen
2023-04-08 19:30:28 -04:00
Sour
a74d20534c UI: Allow loading dbg/sym/fns files via "import labels" instead of only via drag+drop 2023-04-08 19:22:50 -04:00
Sour
09393b12d4 Debugger: Assembler - Skip the auto-generated jump/sub "labels" when editing existing code 2023-04-08 19:06:14 -04:00
Sour
ee287e9cad GB: Fixed/improved APU mixing/DAC logic
Fixes missing sound effects/voices in Warlocked and Alone in the Dark
2023-04-08 17:18:25 -04:00
Persune
628e770fe9
NES: Fix emphasis emulation in Bisqwit's NTSC filter (#17) 2023-04-08 12:20:25 -04:00
Sour
78d13506c5 UI: Catch Avalonia crash when trying to load a WSL file using the "\\wsl$\" path format 2023-04-07 20:47:31 -04:00
Sour
d90453b813 UI: Mouse capture - Fixed incorrect bounds for the mouse's position when captured 2023-04-07 15:52:02 -04:00
Sour
63b779be8d PCE: Reset cycle counter at the end of DMA 2023-04-07 13:39:20 -04:00
Sour
7c51e23d25 GB: Fixed envelopes being clocked when period is 0
Based on Megaman 2 and Taiyou no Yuusha the envelopes shouldn't be ticking when period is set to 0 (otherwise the sound in these games breaks - especially the noise channel)
This seems to contradict old documentation that says a period of 0 is treated as a period of 8, but test roms don't seem to validate either behavior and this fixes the audio for both games.
2023-04-05 20:49:02 -04:00
Sour
2f3ccc92c3 PCE: Fixed CPU bug that caused memory flag to not be restored properly by RTI
If any IRQ occured immediately after SET, returning from the IRQ would have the memory flag cleared, which caused the next instruction to behave completely differently from what was intended.
This caused issues in Ankoku Densetsu because it uses SET a lot and has the timer IRQ running constantly
2023-04-04 22:10:08 -04:00
Sour
28b03d8434 Debugger: SNES - Fixed RMW instructions not displaying the correct address/value in 16-bit mode 2023-04-04 17:46:57 -04:00
Sour
f1921b365f PCE: Fixed freeze when using the start option in Record of Lodoss War 2023-04-02 16:45:29 -04:00
Sour
3a77015a7c Debugger: PCE - Fixed read/write highlights and breakpoints for ADPCM memory 2023-04-02 15:39:12 -04:00
Sour
228586ab12 SNES: Mouse - Added left/up flags to save state data 2023-04-02 15:28:21 -04:00
Sour
ce9dcaec62 PCE: Fixed SGX priority mode 2 behavior
Based on sgx3b demo (which is supposed to have been validated on hardware)
No supergrafx games appear to use this mode
2023-04-02 15:23:50 -04:00
NESblast
95e302a0d8
SNES: Mouse keeps previous Up/Left flag value when not moving (#16) 2023-04-02 15:23:17 -04:00
Sour
6e68346c5a UI: Release mouse cursor when window loses focus 2023-04-02 10:57:08 -04:00
Sour
bd4d4e8326 UI: Added more mouse speed levels in input config 2023-04-02 10:32:10 -04:00
Sour
01c65c3549 PCE: Fixed shaking in Final Soldier & Jackie Chan
Both games do CLI followed by LDA $0000 in their IRQ handler. The old logic would prevent an additional IRQ from firing after the LDA, because the LDA acknowledges the IRQ.  But at this point, the CPU already processed the IRQ and will execute it anyway (the acknowledge is too late because it occurs on the last cycle of the instruction).  Both games rely on this behavior, otherwise the IRQ handler's logic is executed too fast and the shaking occurs depending on the timing of the timer irq vs the rcr irq
2023-04-01 17:17:18 -04:00
Sour
db6b03a5e6 Debugger: Register Viewer - Added more PCE values 2023-04-01 17:17:00 -04:00
Sour
dccc8e2f49 SNES: Mouse - Remove the old logic, only keep the more hardware-accurate one 2023-04-01 16:54:12 -04:00
NESblast
f0391bddd7
SNES: Add SNES Accurate Mouse Movement (#15)
This code approximates a real SNES mouse and has a bool for a non-existent UI option for SNES Mouse Accuracy Mode.
It also lets the mouse move 1 pixel despite sensitivity settings in Mesen classic behavior.
2023-04-01 16:38:40 -04:00
Sour
3edd8b6900 Debugger: Added "View in memory viewer" action in breakpoint list 2023-03-29 21:19:27 -04:00
Sour
6428db8804 Debugger: Memory viewer - Prevent tooltips from being shown when mouse is below the hex content 2023-03-29 21:13:24 -04:00
Sour
c6ce3cb577 Debugger: Memory Viewer - Added +X byte to label name in tooltips for multi-byte labels 2023-03-29 21:02:50 -04:00
Sour
a6ff48a1df Debugger: Fixed "find all occurrences" returning the same result multiple times 2023-03-29 20:40:52 -04:00
Sour
99acfc71b9 NES: HD Packs - Small performance improvement for additional sprites 2023-03-28 20:10:55 -04:00
Sour
9e7a5ab146 NES: HD Packs - Improved performance when a large number of <addition> tags are defined 2023-03-27 19:46:17 -04:00
Sour
42e96d7e90 NES: Removed left/right side padding pixels
These were causing some issues on the edges of the screen, better to pretend the picture is surrounded by black pixels
2023-03-27 18:59:22 -04:00
Sour
4df8a636f1 NES: Restored 2-phase ntsc filter when used on PAL games + fixed phases when overclocking is enabled 2023-03-27 18:04:05 -04:00
Sour
3350c246a1 NES: Improved horizontal bleed/blur behavior for bisqwit NTSC filter + use better default i/q values (credits to rainwarrior)
Centers the effect of the filters, which prevents the color bleed from only appearing on the right side of the original pixels
2023-03-26 22:57:04 -04:00
Sour
77acdab584 NES: Fixed phase for NTSC filters, allowing 3-phase pattern for Battletoads 2023-03-26 19:53:07 -04:00
Sour
226408d539 SNES: Fixed SA-1 regression caused by previous commits 2023-03-26 12:23:11 -04:00
Sour
ef64e86904 SNES: Emulation mode fixes
-Perform dummy writes when needed in emulation mode
-Prevent REP/RTI from clearing the M/X flags in emulation mode
2023-03-26 10:49:23 -04:00