Commit graph

308 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
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
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
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
6f68db5c4b GB: Improved behavior when changing SCX in the middle of a scanline
Improves the results for the m3_scx_high_5_bits and m3_scx_low_3_bits tests, and fixes the effect in one of the scenes in the "Mental respirator" demo
2025-01-20 13:11:54 +09:00
Sour
fd2c3fa46e GBC: Initialize palette RAM based on power on ram option
The "Vila Caldan Color" homebrew demo (?) doesn't initialize the OBJ palette and would likely get non-deterministic OBJ colors on hardware
2025-01-20 13:04:41 +09:00
Sour
be66075519 GB: Fixed freeze during Batman - The Video Game's title screen animation 2025-01-20 12:59:27 +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
0f08c71c5a GB: Improved header detection for MMM01 games to avoid misdetecting other roms 2024-10-23 17:29:10 +09:00
Sour
af78010bc2 GB: Fixed white pixels appearing on screen in CGB mode when writing to $FF47 2024-10-23 16:27:21 +09:00
Sour
d751502a58 NES: Added Rainbow support (mapper 682) 2024-10-08 21:37:44 +09:00
Sour
c5406773a0 Added WonderSwan support 2024-09-19 21:19:43 +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
485c20492b GB: M161 support 2024-07-20 19:37:48 +09:00
Sour
00a592cade GB: MMM01 support 2024-07-20 19:22:36 +09:00
Sour
640a215cbb GB: Added support for MBC5 rumble feature 2024-07-13 20:50:57 +09:00
Sour
0056e59149 Debugger: GB - Fixed screen sometimes turning black when STOP instruction was shown in the disassembly 2024-07-07 20:57:11 +09:00
Sour
8f94cbe64f GB: MBC7 - Accelerometer and eeprom support 2024-07-07 20:36:45 +09:00
Sour
caaf8ed8e8 GB: Added basic support for gbx files 2024-07-06 17:54:34 +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
ff2708d72c Debugger: SGB - Hide step back button in SGB mode
Step back on the GB core while running inside the SNES core is not supported
2024-06-01 14:47:09 +09:00
Sour
f80ee42c73 GB: Fixed BG color when BG layer is disabled and BGP doesn't set index 0 as color 0
Fixes title screen in Megami Tensei Gaiden
2024-05-24 16:34:13 +09:00
Sour
e1eaaf71ef GB: Fixed SGB issue when GB is powered off and then back on
Some state was not being reset properly, causing an issue with the GB logo in Akumajou Dracula in SGB mode
2024-05-13 23:22:10 +09:00
Sour
bbc1087888 GB: Fixed crash in Super Mario Land 2 in GBC mode
When entering Wario's castle, the game frequently crashed in GBC mode.  This was caused by the different timing for the rendering idle cycles - making the GBC timing identical to the GB fixed the crash (and other minor adjustments fixed the couple of GBC test roms that broke as a result)
2024-05-13 20:41:15 +09:00
Sour
c61297c6c5 GB: Fixed missing HUD in 007 The World Is Not Enough 2024-05-12 22:26:25 +09:00
Sour
5484e411bb GB: Fixed freeze after intro in Conker's Pocket Tales (in GBC mode)
Also fixes the "Color Panel Demo"
2024-05-12 22:09:56 +09:00
Sour
f438bb5221 GB: Fixed regression with GBS playback
A lot of gbs files stopped playing when changing track, most likely caused by CPU code changes done in January
2024-05-11 13:51:55 +09:00
Sour
13acb3fe42 Added GBA support 2024-03-30 11:42:31 +09:00
Sour
cd7e277088 GB: Refactor apu envelope code to reduce duplicated code 2024-02-01 22:53:08 +09:00
Sour
e7ac876694 GB: APU - Improved zombie mode glitch behavior
Fixes channel_1_nrx2_glitch, channel_1_restart_nrx2_glitch and channel_1_volume (+ the ch2 equivalents)
2024-02-01 22:53:08 +09:00
Sour
7a83827f6f GB: APU - Improved square 1 sweep behavior
Passes channel_1_sweep test
2024-01-31 23:25:38 +09:00
Sour
25142a9451 GB: Improved STOP behavior for GB/GBC
Fixes the stop_instr and stop_instr_gbc_mode3 tests
2024-01-31 17:50:15 +09:00
Sour
0ea8d88a05 GB: Implemented GBC LCDC glitch required to pass cgb-acid-hell test 2024-01-30 22:23:12 +09:00
Sour
d16d92dd7f Debugger: Event Viewer - GB - Added more categories, improved layout 2024-01-28 22:27:41 +09:00
Sour
dbae841079 GB: Implemented DAC fade in/out behavior
Fixes sound issues in 3D Pocket Pool, Ready 2 Rumble Boxing and Cannon Fodder
2024-01-28 20:47:08 +09:00
Sour
aa9c459630 Debugger: Step Back - Allow stepping back 1 scanline/frame at a time + remove restriction that caused step back to only work for up to 30 frames 2024-01-26 23:39:31 +09:00
Sour
71ecaffbcd GB: Added support for MBC1M boards 2024-01-25 20:20:30 +09:00
Sour
8986841b09 GB: Prevent potential crashes with roms that aren't a multiple of 16kb 2024-01-25 20:16:26 +09:00
Sour
18eb40dd62 GB: Improve behavior when OAM DMA runs during rendering 2024-01-25 17:30:24 +09:00
Sour
4745bab5e4 GB: Fixed read behavior for FEA0-FEFF when DMA is running 2024-01-24 22:21:15 +09:00
Sour
0a74000e18 GB: Fixed memory leak 2024-01-24 22:20:48 +09:00
Sour
f466a69083 GB: Minor refactoring 2024-01-23 23:44:48 +09:00
Sour
b673028d6d GB: Improve behavior when BG rendering is toggled on/off 2024-01-23 22:26:01 +09:00
Sour
36d23cc47d GB: Performance tweaks 2024-01-23 22:26:01 +09:00
Sour
1c1a0a9985 Debugger: GB - Fixed issues with step back caused by running the LCD/etc. before calling ProcessInstruction 2024-01-23 22:26:01 +09:00
Sour
3a55b60c24 GB: Implement the window glitch that causes additional pixels to be added to the BG FIFO
Passes the windesync-validate test
2024-01-23 22:26:01 +09:00
Sour
bc3b265e3e GB: Improve BGP mid-scanline writes behavior + tweak halt timing for CGB
ppu_scanline_bgp and m3_bgp_change tests display the correct result
2024-01-23 22:26:01 +09:00