MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / HandleIOPTransfer

Function HandleIOPTransfer

pcsx2/Sif0.cpp:257–282  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

255// SIF0 DMA end...
256
257static __fi void HandleIOPTransfer()
258{
259 if (sif0.iop.counter <= 0) // If there's no more to transfer
260 {
261 if (sif0.iop.end)
262 {
263 // Stop transferring iop, and signal an interrupt.
264 done = true;
265 EndIOP();
266 }
267 else
268 {
269 // Read Fifo into an iop tag, and transfer it to hw_dma9.
270 // And presumably process it.
271 ProcessIOPTag();
272 }
273 }
274 else
275 {
276 // Write IOP to Fifo.
277 if (sif0.fifo.sif_free() > 0)
278 {
279 WriteIOPtoFifo();
280 }
281 }
282}
283
284static __fi void Sif0End()
285{

Callers 1

SIF0DmaFunction · 0.70

Calls 4

sif_freeMethod · 0.80
EndIOPFunction · 0.70
ProcessIOPTagFunction · 0.70
WriteIOPtoFifoFunction · 0.70

Tested by

no test coverage detected