diff --git a/PDP11/pdp11_dz.c b/PDP11/pdp11_dz.c index 0b4363b9..f631b884 100644 --- a/PDP11/pdp11_dz.c +++ b/PDP11/pdp11_dz.c @@ -337,20 +337,19 @@ switch ((PA >> 1) & 03) { /* case on PA<2:1> */ break; case 03: /* MSR */ - if (dz_mctl) - for (i=0; imp->modem_control) /* This API ONLY works on modem_control enabled multiplexers */ - return SCPE_IERR; if ((bits_to_set & ~(TMXR_MDM_OUTGOING)) || /* Assure only settable bits */ (bits_to_clear & ~(TMXR_MDM_OUTGOING)) || (bits_to_set & bits_to_clear)) /* and can't set and clear the same bits */ return SCPE_ARG; -if (lp->serport) - return sim_control_serial (lp->serport, bits_to_set, bits_to_clear, incoming_bits); -if (lp->sock) { - if (bits_to_clear&TMXR_MDM_DTR) /* drop DTR? */ - tmxr_reset_ln (lp); - } if (incoming_bits) { if (lp->sock) *incoming_bits = TMXR_MDM_DCD | TMXR_MDM_CTS | TMXR_MDM_DSR; else *incoming_bits = lp->mp->master ? (TMXR_MDM_CTS | TMXR_MDM_DSR) : 0; } -return r; +if (lp->mp->modem_control) { /* This API ONLY works on modem_control enabled multiplexers */ + if (lp->serport) + return sim_control_serial (lp->serport, bits_to_set, bits_to_clear, incoming_bits); + if (lp->sock) { + if (bits_to_clear&TMXR_MDM_DTR) /* drop DTR? */ + tmxr_reset_ln (lp); + } + return SCPE_OK; + } +if (lp->serport) + sim_control_serial (lp->serport, 0, 0, incoming_bits); +return SCPE_IERR; } t_stat tmxr_set_config_line (TMLN *lp, char *config)