konami cpu: shift amount for the extra shift opcodes is 4-bit [Jim Westfall]

This commit is contained in:
hap 2025-04-06 13:36:41 +02:00
parent ea3118ab93
commit 1edf23d22d

View File

@ -527,7 +527,7 @@ LSRDI:
m_cc &= ~CC_C;
m_cc |= (m_temp.w & 1) ? CC_C : 0;
m_temp.w = set_flags<uint16_t>(CC_NZ, m_temp.w >> 1);
} while (--m_bcount);
} while (--m_bcount & 0xf);
@write_operand(0, m_temp.b.h);
write_operand(1, m_temp.b.l);
@ -544,7 +544,7 @@ ASLDI:
{
@eat(1);
m_temp.w = set_flags<uint16_t>(CC_NZVC, m_temp.w, m_temp.w, m_temp.w << 1);
} while (--m_bcount);
} while (--m_bcount & 0xf);
@write_operand(0, m_temp.b.h);
write_operand(1, m_temp.b.l);
@ -563,7 +563,7 @@ ASRDI:
m_cc &= ~CC_C;
m_cc |= (m_temp.w & 1) ? CC_C : 0;
m_temp.w = set_flags<uint16_t>(CC_NZ, ((int16_t) m_temp.w) >> 1);
} while (--m_bcount);
} while (--m_bcount & 0xf);
@write_operand(0, m_temp.b.h);
write_operand(1, m_temp.b.l);
@ -580,7 +580,7 @@ ROLDI:
{
@eat(1);
m_temp.w = set_flags<uint16_t>(CC_NZV, rotate_left(m_temp.w));
} while (--m_bcount);
} while (--m_bcount & 0xf);
@write_operand(0, m_temp.b.h);
write_operand(1, m_temp.b.l);
@ -597,7 +597,7 @@ RORDI:
{
@eat(1);
m_temp.w = set_flags<uint16_t>(CC_NZ, rotate_right(m_temp.w));
} while (--m_bcount);
} while (--m_bcount & 0xf);
@write_operand(0, m_temp.b.h);
write_operand(1, m_temp.b.l);