| 116 | } |
| 117 | |
| 118 | void WriteFIFO_GIF(const mem128_t* value) |
| 119 | { |
| 120 | GUNIT_LOG("WriteFIFO_GIF()"); |
| 121 | if ((!gifUnit.CanDoPath3() || gif_fifo.fifoSize > 0)) |
| 122 | { |
| 123 | //DevCon.Warning("GIF FIFO HW Write"); |
| 124 | gif_fifo.write_fifo((u32*)value, 1); |
| 125 | gif_fifo.read_fifo(); |
| 126 | } |
| 127 | else |
| 128 | { |
| 129 | gifUnit.TransferGSPacketData(GIF_TRANS_FIFO, (u8*)value, 16); |
| 130 | } |
| 131 | |
| 132 | if (gifUnit.gifPath[GIF_PATH_3].state == GIF_PATH_WAIT) |
| 133 | gifUnit.gifPath[GIF_PATH_3].state = GIF_PATH_IDLE; |
| 134 | |
| 135 | if (gifRegs.stat.APATH == 3) |
| 136 | { |
| 137 | gifRegs.stat.APATH = 0; |
| 138 | gifRegs.stat.OPH = 0; |
| 139 | |
| 140 | if (gifUnit.gifPath[GIF_PATH_3].state == GIF_PATH_IDLE || gifUnit.gifPath[GIF_PATH_3].state == GIF_PATH_WAIT) |
| 141 | { |
| 142 | if (gifUnit.checkPaths(1, 1, 0)) |
| 143 | gifUnit.Execute(false, true); |
| 144 | } |
| 145 | } |
| 146 | } |
no test coverage detected