Files
libretroadmin 8c6acaddab GIF: the DMA channel, its FIFO and the MFIFO in C89
Gif.c is the GIF DMA channel, its 16-quadword FIFO, the MFIFO drain and
the GIF registers in C89. The FIFO is a plain struct with
gif_fifo_init/write/read, the GIF unit is reached through the
gif_unit_* and gif_path_* glue in Gif_Unit.cpp (Gif_hw.h), the GIF FIFO
hack through emu_config_giffifo_hack, and the GS CSR accessors and FIFO
states move from GS.h into GSmmio.h so C reaches them.

Normal and non-ring MFIFO transfers now stop at the end of one
contiguous run of mapped memory, and an MFIFO tag at an unmapped
address raises the bus error and stops the channel instead of being
read through NULL. tests/eegif checks the channel against the previous
C++ and covers both fixes.
2026-11-09 08:22:50 +01:00
..