From 88373ac00b0e9e3cc7ca410187eaade6b9da277a Mon Sep 17 00:00:00 2001 From: Richard Cornwell Date: Sat, 3 Aug 2019 13:55:12 -0400 Subject: [PATCH] KA10: Updated card reader empty deck detection. --- PDP10/kx10_cp.c | 2 +- PDP10/kx10_cr.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/PDP10/kx10_cp.c b/PDP10/kx10_cp.c index f8750f1..8a8e1c6 100644 --- a/PDP10/kx10_cp.c +++ b/PDP10/kx10_cp.c @@ -92,7 +92,7 @@ uint16 cp_buffer[80]; DIB cp_dib = { CP_DEVNUM, 1, cp_devio, NULL}; -UNIT cp_unit = {UDATA(cp_srv, UNIT_CDP, 0), 600 }; +UNIT cp_unit = {UDATA(cp_srv, UNIT_CDP, 0), 2000 }; MTAB cp_mod[] = { {MTAB_XTD | MTAB_VUN, 0, "FORMAT", "FORMAT", diff --git a/PDP10/kx10_cr.c b/PDP10/kx10_cr.c index 06dee85..8f66021 100644 --- a/PDP10/kx10_cr.c +++ b/PDP10/kx10_cr.c @@ -94,7 +94,7 @@ uint16 cr_buffer[80]; DIB cr_dib = { CR_DEVNUM, 1, cr_devio, NULL}; UNIT cr_unit = { - UDATA(cr_srv, UNIT_CDR, 0), 300, + UDATA(cr_srv, UNIT_CDR, 0), 1000, }; MTAB cr_mod[] = { @@ -214,7 +214,7 @@ cr_srv(UNIT *uptr) { case CDSE_EMPTY: sim_debug(DEBUG_EXP, &cr_dev, "CR: card empty\n"); uptr->STATUS &= ~(CARD_IN_READ|READING); - uptr->STATUS |= HOPPER_EMPTY|TROUBLE|STOP; + uptr->STATUS |= HOPPER_EMPTY|TROUBLE; if (uptr->STATUS & TROUBLE_EN) set_interrupt(CR_DEVNUM, uptr->STATUS); return SCPE_OK; @@ -239,6 +239,8 @@ cr_srv(UNIT *uptr) { if (uptr->STATUS & CARD_IN_READ) { if (uptr->COL >= 80) { uptr->STATUS &= ~(CARD_IN_READ|READING); + if (sim_card_input_hopper_count(uptr) == 0) + uptr->STATUS |= HOPPER_EMPTY; uptr->STATUS |= END_CARD; set_interrupt(CR_DEVNUM, uptr->STATUS); sim_activate(uptr, uptr->wait);