ares-openbsd/ares/gba/cpu
png183 21209edad6
gba: synchronize CPU with other components more frequently (#1506)
Reduces the synchronization interval between the GBA CPU and other
components from 64 to 16 cycles, which significantly improves PPU
timings in the performance profile. These PPU timing improvements can be
observed in
[status-irq-dma.gba](https://github.com/nba-emu/hw-test/tree/master/ppu/status-irq-dma),
which now frequently gets results within a few cycles of the correct
values in situations which were previously off by dozens of cycles.
While this does impact performance by ~5-10%, in my testing this is
still faster than versions from before [commit
b145f0f](b145f0f000).
2024-05-26 07:04:53 +01:00
..
bus.cpp gba: reading 32-bit ARM instruction from prefetch buffer takes 1 cycle (#1429) 2024-03-27 13:47:49 +00:00
cpu.cpp gba: synchronize CPU with other components more frequently (#1506) 2024-05-26 07:04:53 +01:00
cpu.hpp gba: latch timer register writes for 1 cycle (#1489) 2024-05-11 21:38:28 +01:00
debugger.cpp debugger: set per-processor trace history depth 2022-10-09 21:49:23 +01:00
dma.cpp gba: improve ROM to ROM DMA timings (#1372) 2024-01-22 14:19:45 +00:00
io.cpp gba: latch timer register writes for 1 cycle (#1489) 2024-05-11 21:38:28 +01:00
keypad.cpp
memory.cpp
prefetch.cpp gba: last cycle of prefetcher cannot be interrupted (#1451) 2024-04-16 17:52:22 +01:00
serialization.cpp gba: latch timer register writes for 1 cycle (#1489) 2024-05-11 21:38:28 +01:00
timer.cpp gba: latch timer register writes for 1 cycle (#1489) 2024-05-11 21:38:28 +01:00