Add a couple of comments to Zelda ucode HLE - now we know exactly what the DSPADPCM_FILTER is at least.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3467 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
hrydgard 2009-06-16 19:35:54 +00:00
parent 635a1a3a37
commit 4ed15aedf5
1 changed files with 31 additions and 18 deletions

View File

@ -197,10 +197,14 @@ void CUCode_Zelda::ExecuteList()
m_SyncMaxStep = CmdMail & 0xFFFF;
DEBUG_LOG(DSPHLE, "DsetupTable");
DEBUG_LOG(DSPHLE, "???: 0x%08x", tmp[0]);
DEBUG_LOG(DSPHLE, "Some mixing buffer: 0x%08x", tmp[0]);
// This points to some strange data table.
DEBUG_LOG(DSPHLE, "DSPRES_FILTER (size: 0x40): 0x%08x", tmp[1]);
// See 0x02, same thing as DSPADPCM_FILTER there.
DEBUG_LOG(DSPHLE, "DSPADPCM_FILTER (size: 0x500): 0x%08x", tmp[2]);
DEBUG_LOG(DSPHLE, "???: 0x%08x", tmp[3]);
DEBUG_LOG(DSPHLE, "Some other mixing buffer: 0x%08x", tmp[3]);
}
break;
@ -223,9 +227,18 @@ void CUCode_Zelda::ExecuteList()
m_SyncMax = (CmdMail >> 16) & 0xFF;
DEBUG_LOG(DSPHLE, "DsyncFrame");
DEBUG_LOG(DSPHLE, "???: 0x%08x", tmp[0]);
DEBUG_LOG(DSPHLE, "???: 0x%08x", tmp[1]);
DEBUG_LOG(DSPHLE, "DSPADPCM_FILTER (size: 0x500): 0x%08x", tmp[2]);
// These alternate between three sets of mixing buffers. They are all three fairly near,
// but not at, the ADMA read addresses.
DEBUG_LOG(DSPHLE, "Left mixing buffer? 0x%08x", tmp[0]);
DEBUG_LOG(DSPHLE, "Right mixing buffer? 0x%08x", tmp[1]);
// Zelda WW: This points to a 64-byte array of coefficients, which are EXACTLY the same
// as the AFC ADPCM coef array in decode.c of the in_cube winamp plugin,
// which can play Zelda audio.
// There's also a lot more table-looking data immediately after - maybe alternative
// tables? I wonder where the parameter blocks are?
DEBUG_LOG(DSPHLE, "DSPADPCM_FILTER (size: 0x40): 0x%08x", tmp[2]);
}
return;
break;