Fixed polling to start on receiving a master clear and stop on Detach (Rob Jarratt)

This commit is contained in:
Mark Pizzolato 2012-12-08 11:13:03 -08:00
parent 2f3782a896
commit 822fedf8ce

View file

@ -1174,8 +1174,8 @@ void dmc_process_master_clear(CTLR *controller)
controller->transfer_state = Idle; controller->transfer_state = Idle;
dmc_set_run(controller); dmc_set_run(controller);
//sim_cancel (controller->device->units); /* stop poll */ sim_cancel (controller->device->units); /* stop poll */
//sim_activate_abs(controller->device->units, clk_cosched (tmxr_poll)); sim_activate_abs(controller->device->units, clk_cosched (tmxr_poll));
} }
void dmc_start_input_transfer(CTLR *controller) void dmc_start_input_transfer(CTLR *controller)
@ -2230,7 +2230,6 @@ t_stat dmc_reset (DEVICE *dptr)
if (!(dptr->flags & DEV_DIS)) if (!(dptr->flags & DEV_DIS))
{ {
ans = auto_config (dptr->name, DMC_UNITSPERDEVICE); ans = auto_config (dptr->name, DMC_UNITSPERDEVICE);
sim_activate_abs(controller->device->units, clk_cosched (tmxr_poll));
} }
return ans; return ans;
} }
@ -2248,6 +2247,7 @@ t_stat dmc_attach (UNIT *uptr, char *cptr)
uptr->filename = (char *)malloc(strlen(cptr)+1); uptr->filename = (char *)malloc(strlen(cptr)+1);
strcpy(uptr->filename, cptr); strcpy(uptr->filename, cptr);
controller->line->receive_port = uptr->filename; controller->line->receive_port = uptr->filename;
//sim_activate_abs(controller->device->units, clk_cosched (tmxr_poll));
} }
return ans; return ans;
@ -2266,6 +2266,7 @@ t_stat dmc_detach (UNIT *uptr)
uptr->flags = uptr->flags & ~UNIT_ATT; /* clear unit attached flag */ uptr->flags = uptr->flags & ~UNIT_ATT; /* clear unit attached flag */
free(uptr->filename); free(uptr->filename);
uptr->filename = NULL; uptr->filename = NULL;
sim_cancel(uptr);
return SCPE_OK; return SCPE_OK;
} }