mirror of
https://github.com/holub/mame
synced 2025-10-08 09:30:17 +03:00
f2mc16: Fix a few subtle mistakes (nw)
This commit is contained in:
parent
f47dba85cb
commit
08cb6e9a79
@ -1472,7 +1472,7 @@ void f2mc16_device::opcodes_ea74(u8 operand)
|
|||||||
switch (operand)
|
switch (operand)
|
||||||
{
|
{
|
||||||
// CMP A, @RWx + disp8
|
// CMP A, @RWx + disp8
|
||||||
case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x57:
|
case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77:
|
||||||
m_tmp8 = read_8((m_pcb<<16) | (m_pc+2));
|
m_tmp8 = read_8((m_pcb<<16) | (m_pc+2));
|
||||||
m_tmp16 = read_rwX(operand & 7) + (s8)m_tmp8;
|
m_tmp16 = read_rwX(operand & 7) + (s8)m_tmp8;
|
||||||
m_tmp8 = read_8(getRWbank(operand & 7, m_tmp16));
|
m_tmp8 = read_8(getRWbank(operand & 7, m_tmp16));
|
||||||
@ -1502,7 +1502,7 @@ void f2mc16_device::opcodes_ea76(u8 operand)
|
|||||||
switch (operand)
|
switch (operand)
|
||||||
{
|
{
|
||||||
// CMPW A, @RWx + disp8
|
// CMPW A, @RWx + disp8
|
||||||
case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x57:
|
case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77:
|
||||||
m_tmp8 = read_8((m_pcb<<16) | (m_pc+2));
|
m_tmp8 = read_8((m_pcb<<16) | (m_pc+2));
|
||||||
m_tmp16 = read_rwX(operand & 7) + (s8)m_tmp8;
|
m_tmp16 = read_rwX(operand & 7) + (s8)m_tmp8;
|
||||||
m_tmp16 = read_16(getRWbank(operand & 7, m_tmp16));
|
m_tmp16 = read_16(getRWbank(operand & 7, m_tmp16));
|
||||||
|
@ -365,7 +365,7 @@ private:
|
|||||||
inline u16 doADD_16(u16 lhs, u16 rhs)
|
inline u16 doADD_16(u16 lhs, u16 rhs)
|
||||||
{
|
{
|
||||||
m_tmp32 = lhs + rhs;
|
m_tmp32 = lhs + rhs;
|
||||||
m_ps &= ~F_V|F_C;
|
m_ps &= ~(F_C|F_V);
|
||||||
if ((m_tmp32 ^ lhs) & (m_tmp32 ^ rhs) & 0x8000)
|
if ((m_tmp32 ^ lhs) & (m_tmp32 ^ rhs) & 0x8000)
|
||||||
{
|
{
|
||||||
m_ps |= F_V;
|
m_ps |= F_V;
|
||||||
@ -381,7 +381,7 @@ private:
|
|||||||
inline u32 doADD_32(u32 lhs, u32 rhs)
|
inline u32 doADD_32(u32 lhs, u32 rhs)
|
||||||
{
|
{
|
||||||
m_tmp64 = lhs + rhs;
|
m_tmp64 = lhs + rhs;
|
||||||
m_ps &= ~F_V|F_C;
|
m_ps &= ~(F_C|F_V);
|
||||||
if ((m_tmp64 ^ lhs) & (m_tmp64 ^ rhs) & 0x80000000)
|
if ((m_tmp64 ^ lhs) & (m_tmp64 ^ rhs) & 0x80000000)
|
||||||
{
|
{
|
||||||
m_ps |= F_V;
|
m_ps |= F_V;
|
||||||
|
Loading…
Reference in New Issue
Block a user