ares-openbsd/ares/n64/pi
Giovanni Bajo 4c15ed753e
n64: fix PI DMA implementation to handle a newly discovered behavior (#1385)
I've lately discovered that misaligned PI DMA is also affected by RDRAM
writes that must cross RDRAM row boundaries (2048 bytes). It is obvious
in retrospect that the DMA implementation cannot generate a write burst
across different rows, so its internal buffering must be segmented on
RDRAM row boundaries.

The PI DMA testsuite has been updated to cover this edge case as well:
https://github.com/rasky/n64_pi_dma_test

Ares now passes the updated testsuite in full (timing aside, which is
close but not perfect).
2024-02-05 16:14:07 +00:00
..
bus.hpp
debugger.cpp
dma.cpp n64: fix PI DMA implementation to handle a newly discovered behavior (#1385) 2024-02-05 16:14:07 +00:00
io.cpp
pi.cpp
pi.hpp
serialization.cpp