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

Function ProcessEETag

pcsx2/Sif1.cpp:71–103  ·  view source on GitHub ↗

Get a tag and process it.

Source from the content-addressed store, hash-verified

69
70// Get a tag and process it.
71static __fi bool ProcessEETag()
72{
73 // Chain mode
74 tDMA_TAG *ptag;
75 SIF_LOG("Sif1: ProcessEETag");
76
77 // Process DMA tag at sif1ch.tadr
78 ptag = sif1ch.DMAtransfer(sif1ch.tadr, DMAC_SIF1);
79 if (ptag == NULL)
80 {
81 Console.WriteLn("Sif1 ProcessEETag: ptag = NULL");
82 return false;
83 }
84
85 if (sif1ch.chcr.TTE)
86 {
87 Console.WriteLn("SIF1 TTE");
88 sif1.fifo.write((u32*)ptag + 2, 2);
89 }
90
91 SIF_LOG("%s", ptag->tag_to_str().c_str());
92 sif1ch.madr = ptag[1]._u32;
93
94 sif1.ee.end = hwDmacSrcChain(sif1ch, ptag->ID);
95
96 if (sif1ch.chcr.TIE && ptag->IRQ)
97 {
98 //Console.WriteLn("SIF1 TIE");
99 sif1.ee.end = true;
100 }
101
102 return true;
103}
104
105// Write fifo to data, and put it in IOP.
106static __fi bool SIFIOPReadTag()

Callers 1

HandleEETransferFunction · 0.70

Calls 5

hwDmacSrcChainFunction · 0.85
DMAtransferMethod · 0.80
WriteLnMethod · 0.45
writeMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected