DSP: fix IF_CC - could end up in the middle of ops if they were multiword!

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2882 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
hrydgard
2009-04-05 17:29:06 +00:00
parent 4913912dbb
commit 40a7cd15ad
5 changed files with 19 additions and 24 deletions

View File

@ -32,8 +32,7 @@ namespace DSPInterpreter {
void unknown(const UDSPInstruction& opc)
{
//_assert_msg_(MASTER_LOG, !g_dsp.exception_in_progress_hack, "assert while exception");
ERROR_LOG(DSPHLE, "LLE: Unrecognized opcode 0x%04x, pc 0x%04x", opc.hex, g_dsp.pc - 1);
//g_dsp.pc = g_dsp.err_pc;
ERROR_LOG(DSPHLE, "LLE: Unrecognized opcode 0x%04x, pc 0x%04x", opc.hex, g_dsp.err_pc);
}
// Generic call implementation
@ -68,7 +67,8 @@ void ifcc(const UDSPInstruction& opc)
{
if (!CheckCondition(opc.hex & 0xf))
{
dsp_fetch_code(); // skip the next opcode
// skip the next opcode - we have to lookup its size.
g_dsp.pc += opSize[dsp_peek_code()];
}
}