From 7f08218b28da0cd8ad05e63df3da9ae404b12623 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Mon, 28 Jun 2021 22:10:11 -0400 Subject: [PATCH] The Nick interrupt input also seems to be a live poll, not a retrieval of the mask. This corrects the two pieces of software I knew not to be working. --- Machines/Enterprise/Enterprise.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Machines/Enterprise/Enterprise.cpp b/Machines/Enterprise/Enterprise.cpp index 51338790f..ef2752d51 100644 --- a/Machines/Enterprise/Enterprise.cpp +++ b/Machines/Enterprise/Enterprise.cpp @@ -350,7 +350,10 @@ template class ConcreteMachine: case 0xb3: *cycle.value = pages_[3]; break; case 0xb4: - *cycle.value = (interrupt_mask_ & 0xf0) | dave_timer_->get_divider_state() | interrupt_state_; + *cycle.value = + (nick_->get_interrupt_line() ? 0x00 : 0x10) | + dave_timer_->get_divider_state() | + interrupt_state_; break; case 0xb5: if(active_key_line_ < key_lines_.size()) {