16 Commits
Author SHA1 Message Date
SourMesen d5b85c37da GBA: DMA should stop if it disables itself (#187)
Fixes the destoer/dma_priority test (test 5 "after" should be 0, not 2)
2026-06-22 12:54:46 -07:00
SourMesen aec7718c5b GBA: DMA - On repeat, channels should reload the length from the register (#170)
Fixes "DMA count latching" test in latest mGBA Suite test rom (Misc. edge case tests)
2026-06-06 11:23:17 -07:00
SourMesen df3c963170 GBA: Fixed DMA never actually running when constantly re-triggered before it can start (#146)
Fixes failure in updated version of dma-latch test
2026-05-27 21:57:49 -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 df2056e515 GBA: DMA - Added missing 1 cycle delay after DMA IRQ
Fixes fifo_6 test
2025-06-09 18:45:22 +09:00
Sour bbd9ed702d GBA: Fixed issues with DMA channels sometimes not running immediately after the current DMA channel is done running
Lower priority channels were not getting executed immediately after the higher priority channels, and DMA was not re-executed immediately if another channel becomes pending during the last idle cycle after DMA.
Fixes DMA_pause_timing_end_4 test and improves cirotemark result
2025-06-08 19:29:41 +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 d473d0ea37 GBA: Improved PPU timings
Fixes basic-timing, exact-timing, status-irq-dma tests
2025-05-02 20:08:26 +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 09fa86bb39 GBA: Improve audio DMA timing (passes fifo_dma_2 test) 2025-04-27 19:14:23 +09:00
Sour d83931428d GBA: Tweak DMA ROM timing near 0x20000 boundaries
Fixes DMA_ROM_Fixed test (and 128kb-boundary test still works)
2025-04-27 13:25:31 +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 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 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 13acb3fe42 Added GBA support 2024-03-30 11:42:31 +09:00