nkeynes@185: nkeynes@185: #include nkeynes@185: nkeynes@185: #define EVENT_PVR_RENDER_DONE 2 nkeynes@185: #define EVENT_SCANLINE1 3 nkeynes@185: #define EVENT_SCANLINE2 4 nkeynes@185: #define EVENT_RETRACE 5 nkeynes@185: #define EVENT_PVR_UNK 6 nkeynes@185: #define EVENT_PVR_OPAQUE_DONE 7 nkeynes@185: #define EVENT_PVR_OPAQUEMOD_DONE 8 nkeynes@185: #define EVENT_PVR_TRANS_DONE 9 nkeynes@185: #define EVENT_PVR_TRANSMOD_DONE 10 nkeynes@185: #define EVENT_MAPLE_DMA 12 nkeynes@185: #define EVENT_MAPLE_ERR 13 /* ??? */ nkeynes@185: #define EVENT_IDE_DMA 14 nkeynes@812: #define EVENT_G2_DMA0 15 nkeynes@812: #define EVENT_G2_DMA1 16 nkeynes@812: #define EVENT_G2_DMA2 17 nkeynes@812: #define EVENT_G2_DMA3 18 nkeynes@185: #define EVENT_PVR_DMA 19 nkeynes@753: #define EVENT_SORT_DMA 20 nkeynes@185: #define EVENT_PVR_PUNCHOUT_DONE 21 nkeynes@185: nkeynes@193: #define EVENT_TA_ERROR 31 nkeynes@185: #define EVENT_IDE 32 nkeynes@185: #define EVENT_AICA 33 nkeynes@185: nkeynes@193: #define EVENT_PVR_PRIM_ALLOC_FAIL 66 nkeynes@193: #define EVENT_PVR_MATRIX_ALLOC_FAIL 67 nkeynes@193: #define EVENT_PVR_BAD_INPUT 68 nkeynes@193: nkeynes@753: #define EVENT_SORT_DMA_ERR 92 nkeynes@753: nkeynes@185: /** nkeynes@185: * Wait for an ASIC event. nkeynes@185: * @return 0 if the event occurred, otherwise -1 if the wait timed out. nkeynes@185: */ nkeynes@185: int asic_wait( int event ); nkeynes@185: nkeynes@185: /** nkeynes@753: * Wait for either of a pair of events. nkeynes@753: * @return the event ID of the event that occured, or -1 if the wait timed out nkeynes@753: */ nkeynes@753: int asic_wait2( int event1, int event2 ); nkeynes@753: nkeynes@753: /** nkeynes@193: * Check if an ASIC event is active (does not wait) nkeynes@193: * @return 0 if inactive, nonzero if active. nkeynes@193: */ nkeynes@193: int asic_check( int event ); nkeynes@193: nkeynes@193: /** nkeynes@185: * Clear all asic events nkeynes@185: */ nkeynes@185: void asic_clear(); nkeynes@185: nkeynes@185: /** nkeynes@185: * Print the contents of the ASIC event registers to the supplied FILE nkeynes@185: */ nkeynes@185: void asic_dump( FILE *f ); nkeynes@185: nkeynes@185: void asic_mask_all(); nkeynes@815: nkeynes@815: /** nkeynes@815: * Wait until the G2 FIFO buffer is clear to write nkeynes@815: */ nkeynes@815: int g2_fifo_wait();