mirror of
https://github.com/holub/mame
synced 2025-06-27 14:49:11 +03:00
hphybrid: fixed indirect EXE instruction
This commit is contained in:
parent
7657035662
commit
d030ab2755
@ -262,14 +262,22 @@ void hp_hybrid_cpu_device::execute_set_input(int inputnum, int state)
|
|||||||
*/
|
*/
|
||||||
UINT16 hp_hybrid_cpu_device::execute_one(UINT16 opcode)
|
UINT16 hp_hybrid_cpu_device::execute_one(UINT16 opcode)
|
||||||
{
|
{
|
||||||
if ((opcode & 0x7fe0) == 0x7000) {
|
if ((opcode & 0x7fe0) == 0x7000) {
|
||||||
// EXE
|
// EXE
|
||||||
m_icount -= 8;
|
m_icount -= 8;
|
||||||
return RM(opcode & 0x1f);
|
// Indirect addressing in EXE instruction seems to use AEC case A instead of case C
|
||||||
} else {
|
// (because it's an opcode fetch)
|
||||||
m_reg_P = execute_one_sub(opcode);
|
UINT16 reg = RM(opcode & 0x1f);
|
||||||
return fetch();
|
if (BIT(opcode , 15)) {
|
||||||
}
|
m_icount -= 6;
|
||||||
|
return RM(add_mae(AEC_CASE_A , reg));
|
||||||
|
} else {
|
||||||
|
return reg;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
m_reg_P = execute_one_sub(opcode);
|
||||||
|
return fetch();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user