From 822fedf8ce113cbc53020ad6b2956257201798e1 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Sat, 8 Dec 2012 11:13:03 -0800 Subject: [PATCH] Fixed polling to start on receiving a master clear and stop on Detach (Rob Jarratt) --- PDP11/pdp11_dmc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/PDP11/pdp11_dmc.c b/PDP11/pdp11_dmc.c index 400579f6..27edbf6b 100644 --- a/PDP11/pdp11_dmc.c +++ b/PDP11/pdp11_dmc.c @@ -1174,8 +1174,8 @@ void dmc_process_master_clear(CTLR *controller) controller->transfer_state = Idle; dmc_set_run(controller); - //sim_cancel (controller->device->units); /* stop poll */ - //sim_activate_abs(controller->device->units, clk_cosched (tmxr_poll)); + sim_cancel (controller->device->units); /* stop poll */ + sim_activate_abs(controller->device->units, clk_cosched (tmxr_poll)); } void dmc_start_input_transfer(CTLR *controller) @@ -2230,7 +2230,6 @@ t_stat dmc_reset (DEVICE *dptr) if (!(dptr->flags & DEV_DIS)) { ans = auto_config (dptr->name, DMC_UNITSPERDEVICE); - sim_activate_abs(controller->device->units, clk_cosched (tmxr_poll)); } return ans; } @@ -2248,6 +2247,7 @@ t_stat dmc_attach (UNIT *uptr, char *cptr) uptr->filename = (char *)malloc(strlen(cptr)+1); strcpy(uptr->filename, cptr); controller->line->receive_port = uptr->filename; + //sim_activate_abs(controller->device->units, clk_cosched (tmxr_poll)); } return ans; @@ -2266,6 +2266,7 @@ t_stat dmc_detach (UNIT *uptr) uptr->flags = uptr->flags & ~UNIT_ATT; /* clear unit attached flag */ free(uptr->filename); uptr->filename = NULL; + sim_cancel(uptr); return SCPE_OK; }