Commit graph

56 commits

Author SHA1 Message Date
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
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
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
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
57f136f432 GBA: Fixed APU sampling timing problem which reduced audio quality 2025-02-17 13:52:44 +09:00
Sour
081c3bca7a GBA: Fixed save type detection issues
Some games contained the string "FLASH_" but it wasn't actually the "FLASH_Vxxx" marker for the 64kb flash chips
2025-01-24 21:56:52 +09:00
Sour
8d6830a70a SNES: Add support for ST018 coprocessor
Used by a single game: Hayazashi Nidan Morita Shougi 2
2024-12-29 23:41:52 +09:00
Sour
7f0831a542 GBA/SMS/WS: Fixed broken lag counter
Also make counter reset to 0 when game is reset on all consoles
2024-12-26 12:01:19 +09:00
Sour
32ab5cfa7e GBA: Fixed open bus issues
This fixes a freeze in Zelda Minish Cap (in the final dungeon) and fixes a test in the mGBA test suite (Misc -> DMA prefetch -> Read)
2024-12-20 14:25:10 +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
32fbc70fe8 GBA: Fixed incorrect GB noise channel condition that caused it to not run at all in some scenarios 2024-12-03 16:02:21 +09:00
Sour
4081adca21 GBA: Fixed missing scanline in textbox in Spyro Season of Ice
Tweaked the BG layer enable delay/timings to make it work for both mGBA suite's test and Spyro
2024-12-02 20:17:43 +09:00
Sour
e115308400 GBA: Fixed save memory type for Super Monkey Ball Jr.
Game uses EEPROM but contains markers for EEPROM, Flash and Save RAM, which breaks the auto-detect feature
2024-12-01 13:40:27 +09:00
Sour
cda1e831ae GBA: Fixed missing sprites at top of screen when enabling sprite layer during vblank 2024-12-01 13:29:28 +09:00
Sour
dbebbf66e5 GBA: Improved prefetch behavior when enabling/disabling it
Fixes the AGBEEG cartridge tests
2024-11-06 21:21:55 +09:00
Sour
7fdb6a0e85 GBA: Improved cartridge prefetch timing accuracy
Passes most of alyosha's prefetch tests
2024-11-06 19:12:33 +09:00
Sour
99bd94ff57 GBA: Fixed hblank bit timing 2024-11-01 20:31:56 +09:00
Sour
e0ccc2092c GBA: Merged bug fix in new multiply logic 2024-10-26 16:45:52 +09:00
Sour
c25d295e76 Linux: Fixed GCC/clang compilation error 2024-10-25 07:34:30 +09:00
Sour
9465efcff2 GBA: Implement accurate carry behavior for multiplications
This uses zaydlang's multiplication algorithm: https://github.com/zaydlang/multiplication-algorithm/
2024-10-24 21:57:52 +09:00
Sour
7110fe31c4 GBA: Added option for RTC 2024-10-10 18:34:59 +09:00
Sour
2bb62853ae GBA: Fixed RTC issues when writing to the status register 2024-10-10 17:54:07 +09:00
Sour
d751502a58 NES: Added Rainbow support (mapper 682) 2024-10-08 21:37:44 +09:00
Sour
8e6846eaf6 Debugger: GBA - Fixed incorrect ROM values for addresses over 16mb 2024-10-07 17:34:28 +09:00
Sour
029fae24ef Debugger: GBA - Fixed incorrect value for LDR/STR SP-relative offset in disassembly 2024-09-30 23:13:21 +09:00
Sour
c5406773a0 Added WonderSwan support 2024-09-19 21:19:43 +09:00
Sour
aa1c20afe5 GBA: Fixed black screen regression in X-Men The Official Game
This was caused by changes done in the open bus implementation to pass the openbuster test, which broke this game
2024-09-15 23:21:59 +09:00
Sour
b95ad78e00 GBA: Fixed graphical glitches on right side of the screen in Fire Emblem The Sacred Stones
Changing X scroll breaks the rendering logic - keep a copy of it at the start of the scanline (not verified on hardware)
2024-09-15 20:43:50 +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
1670259ca1 GBA: Improved BIOS lock logic
Based on: https://web.archive.org/web/20240111232601/https://gist.github.com/merryhime/797c523724e2dc02ada86a1cfadea3ee
2024-08-26 21:01:36 +09:00
Sour
bd12aaabe4 GBA: Only suspend prefetch after/if DMA accesses ROM
Fixes the remaining failures in mGBA Suite's "Timing Tests"
2024-08-23 21:30:53 +09:00
Sour
348af31d16 GBA: Fixed forced blank displaying a black screen (instead of white) 2024-08-14 17:13:55 +09:00
Sour
262ba4a919 GBA: Fixed log API issues 2024-08-13 21:28:30 +09:00
Sour
7f588df10e GBA: Fixed EEPROM save support 2024-08-13 21:22:25 +09:00
Sour
ff874bc86d Debugger: NES Header Editor - Fixed behavior/crash when opening header editor with softpatched roms or compressed files 2024-07-19 21:37:51 +09:00
Sour
8ad5423be5 GBA: RTC support 2024-07-18 21:50:24 +09:00
Sour
3f1ba1ed15 GBA: Disable zombie mode for GB audio channels
Caused sound issues in some games (i.e M&L Superstar saga)
2024-07-14 08:02:52 +09:00
Sour
64db1fa416 GBA: Support for tilt sensor 2024-07-13 12:16:08 +09:00
Sour
52c5da5a91 GBA: Changed open bus behavior to match openbuster test rom 2024-07-05 22:49:40 +09:00
Sour
4a796fecad Tests: Fixed GBA static init issue causing tests to fail when multiple tests are running at once 2024-07-05 22:37:34 +09:00
Sour
08adf89dd0 GBA: Added option to enable a log API that should be compatible with mGBA's 2024-06-24 15:23:40 +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
bb034e6d5c Debugger: GBA - Tilemap viewer - Fixed incorrect data in row 32 and column 32 2024-05-11 08:22:15 +09:00
Sour
a6d353457a GBA: Fixed incorrect registers being used when leaving FIQ mode 2024-05-06 10:14:10 +09:00
Sour
d9f1d486a3 Debugger: SNES - Fixed palette display for mode 0 layers in tilemap viewer 2024-04-27 12:14:45 +09:00
Sour
f862b0ca37 GBA: Fixed/improved window left/right behavior
Fixes issue in speech bubbles in Megaman & Bass
2024-04-03 20:06:09 +09:00
Sour
b4369c910c Linux: Fixed compilation error 2024-03-31 23:09:16 +09:00
Sour
921c618502 Debugger: GBA - Fixed missing labels on some jump instructions 2024-03-31 11:19:38 +09:00
Sour
2f08c983e2 GBA: Fixed inverted transform x/y update flags 2024-03-30 19:48:21 +09:00