From 899af8e5d5b6131e3645f6a7037747d03f601e64 Mon Sep 17 00:00:00 2001 From: folkert van heusden Date: Tue, 22 Mar 2022 21:42:47 +0100 Subject: [PATCH] MFPS flags & extend sign --- cpu.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cpu.cpp b/cpu.cpp index 70d0e7c..6fccb6c 100644 --- a/cpu.cpp +++ b/cpu.cpp @@ -901,10 +901,15 @@ bool cpu::single_operand_instructions(const uint16_t instr) if (word_mode) { // MFPS uint16_t temp = psw & 0xff; - setPSW_n(temp & 128); setPSW_z(temp == 0); setPSW_v(false); + if (temp & 128) { + setPSW_n(true); + + temp |= 0xff00; + } + putGAM(dst_mode, dst_reg, word_mode, temp, false); } else { // SXT