mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
Replace sm590 adx handler with override since behavior differs slightly from sm510 [Lord Nightmare, hap]
This commit is contained in:
parent
464421a791
commit
c5c065312f
@ -108,7 +108,7 @@ protected:
|
|||||||
|
|
||||||
// opcode handlers
|
// opcode handlers
|
||||||
// 00-3f
|
// 00-3f
|
||||||
// adx (same as sm510)
|
virtual void op_adx() override;
|
||||||
virtual void op_tax();
|
virtual void op_tax();
|
||||||
virtual void op_lblx();
|
virtual void op_lblx();
|
||||||
// lax (same as sm510)
|
// lax (same as sm510)
|
||||||
|
@ -16,10 +16,12 @@ void sm590_device::do_branch(u8 pu, u8 pm, u8 pl)
|
|||||||
|
|
||||||
// instruction set
|
// instruction set
|
||||||
|
|
||||||
void sm590_device::op_lblx()
|
void sm590_device::op_adx()
|
||||||
{
|
{
|
||||||
// LBL x: load BL with 4-bit immediate value
|
// ADX x: add immediate value to ACC, skip next on carry
|
||||||
m_bl = (m_op & 0xf);
|
m_acc += (m_op & 0xf);
|
||||||
|
m_skip = bool(m_acc & 0x10);
|
||||||
|
m_acc &= 0xf;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sm590_device::op_tax()
|
void sm590_device::op_tax()
|
||||||
@ -28,6 +30,12 @@ void sm590_device::op_tax()
|
|||||||
m_skip = (m_acc == (m_op & 0xf));
|
m_skip = (m_acc == (m_op & 0xf));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sm590_device::op_lblx()
|
||||||
|
{
|
||||||
|
// LBL x: load BL with 4-bit immediate value
|
||||||
|
m_bl = (m_op & 0xf);
|
||||||
|
}
|
||||||
|
|
||||||
void sm590_device::op_lda()
|
void sm590_device::op_lda()
|
||||||
{
|
{
|
||||||
// LDA: load ACC with RAM
|
// LDA: load ACC with RAM
|
||||||
|
Loading…
Reference in New Issue
Block a user