Implement workaround for sf2accp2.

This commit is contained in:
iq_132 2012-12-02 02:12:23 +00:00
parent d4b9e084cd
commit 267ae53e12
2 changed files with 13 additions and 2 deletions

View File

@ -12646,8 +12646,10 @@ static INT32 Sf2ceInit()
static void Sf2accp2Callback() static void Sf2accp2Callback()
{ {
// This opcode is broken in FBA??? // This causes problems in FBA, but is ignored in MAME??
*((UINT16*)(CpsRom + 0x11756)) = 0x4e71; // 011756: 66FF dc.w $66ff; ILLEGAL
// *((UINT16*)(CpsRom + 0x11756)) = 0x4e71;
} }
static INT32 Sf2accp2Init() static INT32 Sf2accp2Init()

View File

@ -154,6 +154,13 @@ M68KMAKE_TABLE_FOOTER
}; };
// This is a hack for specific cases like sf2accp2. For some reason MAME ignores this
// but FBA does not. This should be investigated further at some point.
static void m68k_66ff(void)
{
return;
}
/* Build the opcode handler jump table */ /* Build the opcode handler jump table */
void m68ki_build_opcode_table(void) void m68ki_build_opcode_table(void)
{ {
@ -248,6 +255,8 @@ void m68ki_build_opcode_table(void)
m68ki_cycles[k][ostruct->match] = ostruct->cycles[k]; m68ki_cycles[k][ostruct->match] = ostruct->cycles[k];
ostruct++; ostruct++;
} }
m68ki_instruction_jump_table[0x66ff] = m68k_66ff; // hack
} }