PDP10, PDP11: Fix DUP device to properly activate polling on simulator startup (after reset) if any DUP devices are attached.

This commit is contained in:
Mark Pizzolato 2014-04-02 13:08:48 -07:00
parent ff0191cf29
commit b5d5ef7b56

View file

@ -414,7 +414,7 @@ static MTAB dup_mod[] = {
#define DBG_PKT (TMXR_DBG_PXMT|TMXR_DBG_PRCV) /* display packets */
#define DBG_XMT TMXR_DBG_XMT /* display Transmitted Data */
#define DBG_RCV TMXR_DBG_RCV /* display Received Data */
#define DBG_MDM 0x0004 /* display Modem SignalTransitions */
#define DBG_MDM TMXR_DBG_MDM /* display Modem SignalTransitions */
#define DBG_CON TMXR_DBG_CON /* display connection activities */
#define DBG_TRC TMXR_DBG_TRC /* display trace routine calls */
#define DBG_ASY TMXR_DBG_ASY /* display Asynchronous Activities */
@ -1197,6 +1197,7 @@ int32 i, ndev, attached = 0;
sim_debug(DBG_TRC, dptr, "dup_reset()\n");
dup_desc.packet = TRUE;
dup_desc.buffered = 16384;
if ((UNIBUS) && (dptr == &dpv_dev)) {
if (!(dptr->flags & DEV_DIS)) {
sim_printf ("Can't enable Qbus device on Unibus system\n");
@ -1230,8 +1231,11 @@ if (dup_ldsc == NULL) { /* First time startup */
dup_W6[i] = TRUE;
}
}
for (i = 0; i < dup_desc.lines; i++) /* init each line */
for (i = 0; i < dup_desc.lines; i++) { /* init each line */
dup_clear (i, TRUE);
if (dup_units[i].flags & UNIT_ATT)
++attached;
}
dup_rxi = dup_txi = 0; /* clr master int */
CLR_INT (DUPRX);
CLR_INT (DUPTX);
@ -1258,7 +1262,7 @@ if (!cptr || !*cptr)
return SCPE_ARG;
if (!(uptr->flags & UNIT_ATTABLE))
return SCPE_NOATT;
sprintf (attach_string, "Line=%d,Buffered=16384,%s", dup, cptr);
sprintf (attach_string, "Line=%d,%s", dup, cptr);
r = tmxr_open_master (&dup_desc, attach_string); /* open master socket */
free (uptr->filename);
uptr->filename = tmxr_line_attach_string(&dup_desc.ldsc[dup]);