From 7664bed4b7d54296c7c3de1efa36c241051c41b8 Mon Sep 17 00:00:00 2001 From: hap Date: Thu, 25 Jun 2020 10:08:23 +0200 Subject: i86: Fixed old regression with NEG opcode flags. [dink/fbneo] --- src/devices/cpu/i86/i86.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/devices/cpu/i86/i86.cpp b/src/devices/cpu/i86/i86.cpp index 50d2039569a..2ded7b638eb 100644 --- a/src/devices/cpu/i86/i86.cpp +++ b/src/devices/cpu/i86/i86.cpp @@ -2266,10 +2266,10 @@ bool i8086_common_cpu_device::common_op(uint8_t op) CLKM(NEGNOT_R8,NEGNOT_M8); break; case 0x18: /* NEG */ - m_CarryVal = (tmp!=0) ? 1 : 0; - tmp = (~tmp)+1; - set_SZPF_Byte(tmp); - PutbackRMByte(tmp&0xff); + m_dst = 0; + m_src = tmp; + SUBB(); + PutbackRMByte(m_dst); CLKM(NEGNOT_R8,NEGNOT_M8); break; case 0x20: /* MUL */ @@ -2356,10 +2356,10 @@ bool i8086_common_cpu_device::common_op(uint8_t op) CLKM(NEGNOT_R16,NEGNOT_M16); break; case 0x18: /* NEG */ - m_CarryVal = (tmp!=0) ? 1 : 0; - tmp = (~tmp) + 1; - set_SZPF_Word(tmp); - PutbackRMWord(tmp); + m_dst = 0; + m_src = tmp; + SUBX(); + PutbackRMWord(m_dst); CLKM(NEGNOT_R16,NEGNOT_M16); break; case 0x20: /* MUL */ -- cgit v1.2.3