mirror of
https://github.com/libretro/parallel-ps2.git
synced 2026-11-10 11:21:36 -10:00
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.