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:
parent
ff0191cf29
commit
b5d5ef7b56
1 changed files with 7 additions and 3 deletions
|
@ -414,7 +414,7 @@ static MTAB dup_mod[] = {
|
||||||
#define DBG_PKT (TMXR_DBG_PXMT|TMXR_DBG_PRCV) /* display packets */
|
#define DBG_PKT (TMXR_DBG_PXMT|TMXR_DBG_PRCV) /* display packets */
|
||||||
#define DBG_XMT TMXR_DBG_XMT /* display Transmitted Data */
|
#define DBG_XMT TMXR_DBG_XMT /* display Transmitted Data */
|
||||||
#define DBG_RCV TMXR_DBG_RCV /* display Received 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_CON TMXR_DBG_CON /* display connection activities */
|
||||||
#define DBG_TRC TMXR_DBG_TRC /* display trace routine calls */
|
#define DBG_TRC TMXR_DBG_TRC /* display trace routine calls */
|
||||||
#define DBG_ASY TMXR_DBG_ASY /* display Asynchronous Activities */
|
#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");
|
sim_debug(DBG_TRC, dptr, "dup_reset()\n");
|
||||||
|
|
||||||
dup_desc.packet = TRUE;
|
dup_desc.packet = TRUE;
|
||||||
|
dup_desc.buffered = 16384;
|
||||||
if ((UNIBUS) && (dptr == &dpv_dev)) {
|
if ((UNIBUS) && (dptr == &dpv_dev)) {
|
||||||
if (!(dptr->flags & DEV_DIS)) {
|
if (!(dptr->flags & DEV_DIS)) {
|
||||||
sim_printf ("Can't enable Qbus device on Unibus system\n");
|
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;
|
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);
|
dup_clear (i, TRUE);
|
||||||
|
if (dup_units[i].flags & UNIT_ATT)
|
||||||
|
++attached;
|
||||||
|
}
|
||||||
dup_rxi = dup_txi = 0; /* clr master int */
|
dup_rxi = dup_txi = 0; /* clr master int */
|
||||||
CLR_INT (DUPRX);
|
CLR_INT (DUPRX);
|
||||||
CLR_INT (DUPTX);
|
CLR_INT (DUPTX);
|
||||||
|
@ -1258,7 +1262,7 @@ if (!cptr || !*cptr)
|
||||||
return SCPE_ARG;
|
return SCPE_ARG;
|
||||||
if (!(uptr->flags & UNIT_ATTABLE))
|
if (!(uptr->flags & UNIT_ATTABLE))
|
||||||
return SCPE_NOATT;
|
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 */
|
r = tmxr_open_master (&dup_desc, attach_string); /* open master socket */
|
||||||
free (uptr->filename);
|
free (uptr->filename);
|
||||||
uptr->filename = tmxr_line_attach_string(&dup_desc.ldsc[dup]);
|
uptr->filename = tmxr_line_attach_string(&dup_desc.ldsc[dup]);
|
||||||
|
|
Loading…
Add table
Reference in a new issue