summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2021-10-11 17:13:37 -0400
committer AJR <ajrhacker@users.noreply.github.com>2021-10-11 17:13:39 -0400
commitc4e8f00006865da3d6c6863cd559573556573fc3 (patch)
tree98fa0ab155fb6d9ff82a142795533de05c6ec45a /src/devices
parent0f04623ade148f48d446d4b0dfcfb41679377339 (diff)
hd6120: IAC also complements LINK on carry out
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/cpu/pdp8/hd6120.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/devices/cpu/pdp8/hd6120.cpp b/src/devices/cpu/pdp8/hd6120.cpp
index dccd84ad526..769a41d8b5b 100644
--- a/src/devices/cpu/pdp8/hd6120.cpp
+++ b/src/devices/cpu/pdp8/hd6120.cpp
@@ -664,7 +664,13 @@ void hd6120_device::execute_run()
case minor_state::OP1_1:
m_pc = m_temp & 07777;
- m_temp = ((BIT(m_ir, 7) ? 0 : m_ac) ^ (BIT(m_ir, 5) ? 07777 : 0)) + (m_ir & 0001);
+ m_temp = (BIT(m_ir, 7) ? 0 : m_ac) ^ (BIT(m_ir, 5) ? 07777 : 0);
+ if (BIT(m_ir, 0))
+ {
+ ++m_temp;
+ if (m_temp >= 010000)
+ m_flags ^= 4; // LINK is complemented upon carry out
+ }
m_state = minor_state::OP1_2;
break;