mirror of
https://github.com/rcornwell/sims.git
synced 2026-02-27 00:59:57 +00:00
I7000: Fixed problems detected in 9P01C test.
This commit is contained in:
@@ -583,15 +583,15 @@ chan_proc()
|
||||
"chan %d -Sel< %o\n", chan, cmd[chan] & 070);
|
||||
continue; /* Handle new command next time */
|
||||
case IOCD:
|
||||
chan_flags[chan] &= ~(STA_START|STA_ACTIVE/*|STA_WAIT*/);
|
||||
chan_flags[chan] &= ~(STA_START|STA_ACTIVE);
|
||||
if (chan_dev.dctrl & cmask)
|
||||
sim_debug(DEBUG_DETAIL, &chan_dev,
|
||||
"chan %d -Sel< %o\n", chan, cmd[chan] & 070);
|
||||
continue; /* Handle new command next time */
|
||||
continue;
|
||||
case IOCT:
|
||||
case IORT:
|
||||
case IOST:
|
||||
chan_flags[chan] &= ~(STA_ACTIVE/*|STA_WAIT*/);
|
||||
chan_flags[chan] &= ~(STA_ACTIVE);
|
||||
chan_flags[chan] |= STA_TWAIT;
|
||||
if (chan_dev.dctrl & cmask)
|
||||
sim_debug(DEBUG_DETAIL, &chan_dev,
|
||||
@@ -1371,6 +1371,7 @@ chan_load(int chan, uint16 addr)
|
||||
that has not been started or is not in select state */
|
||||
if ((chan_flags[chan] & (DEV_SEL | STA_START)) != (DEV_SEL|STA_START))
|
||||
return SCPE_IOERR;
|
||||
|
||||
/* If channel active, or waiting EOR, should hold CPU */
|
||||
if (chan_flags[chan] & (STA_ACTIVE | STA_WAIT)) {
|
||||
chan_flags[chan] |= STA_PEND;
|
||||
|
||||
@@ -374,7 +374,7 @@ t_stat lpr_srv(UNIT * uptr)
|
||||
/* Channel has disconnected, abort current line. */
|
||||
if (uptr->u5 & URCSTA_CMD && chan_stat(chan, DEV_DISCO)) {
|
||||
print_line(uptr, chan, u);
|
||||
uptr->u5 &= ~(URCSTA_WRITE | URCSTA_READ | URCSTA_CMD | LPRSTA_EOR);
|
||||
uptr->u5 &= ~(URCSTA_WRITE | URCSTA_READ | URCSTA_CMD | LPRSTA_EOR | LPRSTA_CHANGE);
|
||||
uptr->u6 = 0;
|
||||
chan_clear(chan, DEV_WEOR | DEV_SEL);
|
||||
sim_debug(DEBUG_CHAN, &lpr_dev, "unit=%d disconnect\n", u);
|
||||
|
||||
Reference in New Issue
Block a user