void F3DDKR_DMA_Mtx( u32 w0, u32 w1 ) { if (_SHIFTR( w0, 0, 16 ) != 64) { // GBI_DetectUCode(); // Something's wrong #ifdef DEBUG DebugMsg( DEBUG_MEDIUM | DEBUG_HIGH | DEBUG_ERROR, "G_MTX: address = 0x%08X length = %i params = 0x%02X\n", w1, _SHIFTR( w0, 0, 16 ), _SHIFTR( w0, 16, 8 ) ); #endif return; } u32 index = _SHIFTR( w0, 16, 4 ); u32 multiply; if (index == 0) // DKR { index = _SHIFTR( w0, 22, 2 ); multiply = 0; } else // Gemini { multiply = _SHIFTR( w0, 23, 1 ); } gSPDMAMatrix( w1, index, multiply ); }
void F3DDKR_DMA_Mtx( u32 w0, u32 w1 ) { if (_SHIFTR( w0, 0, 16 ) != 64) { #ifdef DEBUG DebugMsg( DEBUG_MEDIUM | DEBUG_HIGH | DEBUG_ERROR, "G_MTX: address = 0x%08X length = %i params = 0x%02X\n", w1, _SHIFTR( w0, 0, 16 ), _SHIFTR( w0, 16, 8 ) ); #endif return; } u32 index = _SHIFTR( w0, 16, 4 ); u32 multiply; if (index == 0) {// DKR index = _SHIFTR( w0, 22, 2 ); multiply = 0; } else { // JFG multiply = _SHIFTR( w0, 23, 1 ); } gSPDMAMatrix( w1, index, multiply ); }