From e0e98cab3764bf54ef5cb3b5057b48bf86a49c15 Mon Sep 17 00:00:00 2001 From: Lars Brinkhoff Date: Fri, 26 Mar 2021 15:33:18 +0100 Subject: [PATCH] KA10: Fix Data Control to clear character count on DATAI/O. After reading a tape records, WAITS checks the count and fetches any remaining characters. It's expected that the count be zero if an even number of 36-bit words have been read. --- PDP10/pdp6_dct.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PDP10/pdp6_dct.c b/PDP10/pdp6_dct.c index 787794b..7005f3e 100644 --- a/PDP10/pdp6_dct.c +++ b/PDP10/pdp6_dct.c @@ -118,7 +118,7 @@ dct_devio(uint32 dev, uint64 *data) { clr_interrupt(dev); if (uptr->STATUS & DB_RQ) { *data = dct_buf[u]; - uptr->STATUS &= ~(DB_RQ); + uptr->STATUS &= ~(NUM_CHARS|DB_RQ); uptr->STATUS |= DB_MV; sim_activate(uptr, 10); } @@ -132,7 +132,7 @@ dct_devio(uint32 dev, uint64 *data) { dev, *data, u, PC); if (uptr->STATUS & DB_RQ) { dct_buf[u] = *data; - uptr->STATUS &= ~(DB_RQ); + uptr->STATUS &= ~(NUM_CHARS|DB_RQ); uptr->STATUS |= DB_MV; sim_activate(uptr, 10); }