SourMesen
94616b6905
GBA: Fixed sleep mode issues ( #214 )
...
Timers, DMAs and the PPU no longer run during sleep (prevents audio DMA from being triggered and executed), and prevents the PPU from triggering DMAs/IRQs during sleep
This also fixes a bug where the GB-style APU channels could stay disabled permanently after leaving sleep mode (because the StopMode flag wasn't being reset to false)
2026-07-11 15:36:06 +09:00
SourMesen
8a7971397e
GBA: Added support for MRC/MCR for CP14 ( #196 )
2026-07-02 15:54:24 +09:00
SourMesen
4b55c8eab5
GBA: Improved open bus logic ( #179 )
...
-Open bus should update all 32-bits with the OAM value when OAM is read (even if not a 32-bit read) - fixes the DMA_OAM_Bus test
-All writes should update the open bus value (fixes the Unused_location_update_bus test)
2026-06-19 17:20:09 -07:00
SourMesen
e391fd8f9a
Code: Add auto-formatting rules for C++ (clang-format) and enforce in CI via "clang-format" and "dotnet format" ( #78 )
...
* Code: Add auto-formatting rules for C++ projects (clang-format) and enforce code style via "clang-format" and "dotnet format"
* fix ui format warnings
2026-04-30 06:03:55 -07:00
Sour
0e30a7d358
GBA: PPU - Added 3 cycle delay when enabling/disabling OBJ layer
...
Fixes Sprite_Disable_Midline and Sprite_Disable_on_VRAM_Access test roms
2025-06-09 21:17:59 +09:00
Sour
df2056e515
GBA: DMA - Added missing 1 cycle delay after DMA IRQ
...
Fixes fifo_6 test
2025-06-09 18:45:22 +09:00
Sour
ad2b8b8895
GBA: Fixed IRQ polling timing
...
Fixes cirotemark result (ticks diff = 0)
2025-06-08 19:29:47 +09:00
Sour
aec12b17ad
GBA: Performance fixes
...
Brings performance back to closer to what it was before the latest accuracy fixes
2025-06-07 00:47:32 +09:00
Sour
9cc24ba652
GBA: Fixed prefetcher edge case when a 128kb boundary is hit
...
Fixes all 4 prefetcher_boundary_x tests
2025-06-06 21:44:54 +09:00
Sour
f4ebf73dd3
GBA: Fixed fetch cycle after DMA ends not always being a non-sequential fetch
2025-06-06 21:44:08 +09:00
Sour
d90fe0ad19
GBA: Fixed IRQ behavior for idle cycles that run during DMA
...
Fixes these test roms:
Halt_DMA_IRQ
Halt_DMA_IRQ_Read_OAM
Internal_Cycle_DMA_IRQ_7
Internal_Cycle_DMA_IRQ_ldr_IWRAM
Internal_Cycle_DMA_MUL_IRQ
2025-06-06 21:43:59 +09:00
Sour
87ee4da545
GBA: Minor performance optimizations
2025-05-10 13:34:39 +09:00
Sour
f3a1c1edcc
GBA: Fix "Layer toggle 2" test
...
Fully disabling a layer seems to also have a delay? Similar to enabling layers (unconfirmed)
+ Refactor layer transform update trigger
2025-05-10 12:51:58 +09:00
Sour
f1256c840d
GBA: Fixed regression that caused the test rom to dump the bios to save ram to fail
...
This was broken by 32ab5cfa7e
Reading from open bus should probably not affect open bus, since no device is putting any data on the bus in this case
2025-05-05 21:29:27 +09:00
Sour
4abe8c22a1
GBA: Fixed IRQ timing/regression
...
The previous fix for Internal_Cycle_DMA_IRQ was incorrect and broke audio in Mario Golf
This new fix checks the IRQ line after the first cycle of each memory access, rather than at the end of each memory access. This passes all tests and does not require the "delay" that was put in the previous fix, which solves the Mario Golf sound issues
2025-05-05 11:10:29 +09:00
Sour
a9a9d3b4ca
GBA: Fixed latch timing for BGxPB / BGxPD registers
...
Fixes bgpd test
2025-05-04 22:32:58 +09:00
Sour
a09708d43f
GBA: VRAM read/write stalling fixes/improvements
...
-Fixed stalls not being applied to OAM accesses
-Split 32-bit VRAM/palette accesses into 2 16-bit accesses, which can both be stalled separately
2025-05-02 20:08:45 +09:00
Sour
df4e3f2b97
GBA: Tweak IRQ behavior during DMA
...
Fixes Internal_Cycle_DMA_IRQ test
2025-05-02 20:08:36 +09:00
Sour
1826f0a50a
GBA: Improved halt timing
...
Fixes haltcnt test and "DMA Prefetch" in the mGBA suite test
2025-05-02 20:08:31 +09:00
Sour
d473d0ea37
GBA: Improved PPU timings
...
Fixes basic-timing, exact-timing, status-irq-dma tests
2025-05-02 20:08:26 +09:00
Sour
20ebae54ce
GBA: Fixed read value of POSTFLG when "skip boot screen" option is enabled
2025-04-28 22:43:56 +09:00
Sour
f202cbf759
GBA: Allow running CPU idle cycles during DMA
...
Fixes multiple tests: dma-start-delay, Internal_Cycle_DMA_Mul and AGBEEG_AGING_CARTRIDGE (DMA test)
2025-04-28 21:36:00 +09:00
Sour
4b9c5ab9c4
GBA: Fixed prefetch bug when DMA starts
...
Prefetch was running as if a cycle had executed before DMA, even though that wasn't the case
Fixes prefetcher_dma test rom
2025-04-28 20:56:20 +09:00
Sour
3827ae5f29
GBA: Fixed open bus behavior for registers
...
Fixes test 3 in Hades-Tests' dma-latch test
2025-04-27 20:50:11 +09:00
Sour
a17a97fb7b
Debugger: Lua - Support small arrays in getState/setState
...
This is needed to e.g have access to the GBA CPU's registers, etc.
Also hid some internal GBA state from getState to improve performance
2025-04-15 22:43: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
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
dbebbf66e5
GBA: Improved prefetch behavior when enabling/disabling it
...
Fixes the AGBEEG cartridge tests
2024-11-06 21:21:55 +09:00
Sour
8e6846eaf6
Debugger: GBA - Fixed incorrect ROM values for addresses over 16mb
2024-10-07 17:34:28 +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
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
262ba4a919
GBA: Fixed log API issues
2024-08-13 21:28:30 +09:00
Sour
52c5da5a91
GBA: Changed open bus behavior to match openbuster test rom
2024-07-05 22:49:40 +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
226f409c2f
GBA: Prevent input IRQ from triggering in incorrect conditions
...
IRQ was incorrectly updated based on each new byte of 16/32-bit writes
2024-03-30 15:12:21 +09:00
Sour
bb96928fe9
Linux: Fixed compilation errors/warnings
2024-03-30 12:31:04 +09:00
Sour
13acb3fe42
Added GBA support
2024-03-30 11:42:31 +09:00