From 39e74465fcee5e8965d1883a80624675ef57a7c5 Mon Sep 17 00:00:00 2001 From: Richard Cornwell Date: Sun, 10 Mar 2019 14:27:08 -0400 Subject: [PATCH] IBM360: Fixed some minor bugs. --- IBM360/ibm360_chan.c | 23 +---------------------- IBM360/ibm360_com.c | 1 + 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/IBM360/ibm360_chan.c b/IBM360/ibm360_chan.c index 33790f6..945a907 100644 --- a/IBM360/ibm360_chan.c +++ b/IBM360/ibm360_chan.c @@ -562,13 +562,8 @@ chan_end(uint16 addr, uint8 flags) { chan_status[chan] |= STATUS_LENGTH; ccw_flags[chan] = 0; } - if (flags & (SNS_ATTN|SNS_UNITCHK|SNS_UNITEXP)) { - if (ccw_count[chan] != 0) { - sim_debug(DEBUG_DETAIL, &cpu_dev, "chan_end length\n"); - chan_status[chan] |= STATUS_LENGTH; - } + if (flags & (SNS_ATTN|SNS_UNITCHK|SNS_UNITEXP)) ccw_flags[chan] = 0; - } /* If channel is also finished, then skip any more data commands. */ if (chan_status[chan] & (STATUS_DEND|STATUS_CEND)) { @@ -632,22 +627,6 @@ startio(uint16 addr) { sim_debug(DEBUG_CMD, &cpu_dev, "SIO %x %x %x %x\n", addr, chan, ccw_cmd[chan], ccw_flags[chan]); -#if 0 - /* Check if any status pending */ - if (chan_status[chan] != 0) { - /* If not for this device, return cc=2 */ - if (chan_dev[chan] != addr) - return 2; - if ((chan_status[chan] & ~(STATUS_CEND|STATUS_DEND)) != 0) { - M[0x44 >> 2] = ((uint32)chan_status[chan]<<16) | M[0x44 >> 2] & 0xffff; - sim_debug(DEBUG_EXP, &cpu_dev, "Channel store csw %02x %08x\n", - chan, M[0x44 >> 2]); - chan_status[chan] = 0; - return 1; - } - } -#endif - /* All ok, get caw address */ chan_status[chan] = 0; dev_status[addr] = 0; diff --git a/IBM360/ibm360_com.c b/IBM360/ibm360_com.c index 0af88d7..f268c62 100644 --- a/IBM360/ibm360_com.c +++ b/IBM360/ibm360_com.c @@ -336,6 +336,7 @@ t_stat coml_srv(UNIT * uptr) if (uptr->u3 & ENAB) { if (tmxr_rqln(&com_ldsc[unit]) > 0) { int32 data = tmxr_getc_ln (&com_ldsc[unit]); + sim_debug(DEBUG_DATA, dptr, "COML: unit=%d read '%c'\n", unit, data); if (data & SCPE_BREAK) { uptr->u3 &= ~0xff; chan_end(addr, SNS_CHNEND|SNS_DEVEND|SNS_UNITCHK);