diff --git a/B5500/b5500_cpu.c b/B5500/b5500_cpu.c index db301cf..4c1abdd 100644 --- a/B5500/b5500_cpu.c +++ b/B5500/b5500_cpu.c @@ -3652,6 +3652,12 @@ control: do { Ma = CF(B); memory_cycle(5); + if (sim_interval <= 0) { /* event queue? */ + reason = sim_process_event(); + if (reason != SCPE_OK) { + break; /* process */ + } + } temp = (B & MANT) + (A & MANT); } while ((temp & EXPO) == 0); A = FLAG | PRESENT | toC(Ma); diff --git a/B5500/b5500_dtc.c b/B5500/b5500_dtc.c index cfb11da..a356737 100644 --- a/B5500/b5500_dtc.c +++ b/B5500/b5500_dtc.c @@ -584,7 +584,7 @@ dtco_srv(UNIT * uptr) switch(c) { case '\005': /* ^E ENQ who-are-you */ dtc_lstatus[ln] &= ~(BufSMASK); - dtc_lstatus[ln] |= BufIRQ|BufAbnormal|BufWriteRdy; + dtc_lstatus[ln] |= BufIRQ|BufWriteRdy|BufAbnormal; IAR |= IRQ_12; sim_debug(DEBUG_DETAIL, &dtc_dev, "Datacomm recieve ENQ %d\n", ln);