t_stat ttp_reset (DEVICE *dptr) { if (dptr->flags & DEV_DIS) sim_cancel (&ttp_unit[TTI]); else sim_activate_abs (&ttp_unit[TTI], KBD_WAIT (ttp_unit[TTI].wait, lfc_poll)); sim_cancel (&ttp_unit[TTO]); CLR_INT (v_TTP); /* clear int */ CLR_ENB (v_TTP); CLR_INT (v_TTP + 1); /* disable int */ CLR_ENB (v_TTP + 1); ttp_karm = ttp_tarm = 0; /* disarm int */ ttp_cmd = 0; ttp_sta = 0; ttp_kchp = 0; return SCPE_OK; }
t_stat dp_reset (DEVICE *dptr) { int32 i; dp_fnc = 0; dp_cw1 = 0; dp_cw2 = 0; dp_sta = 0; dp_buf = 0; dp_xip = 0; dp_eor = 0; dp_dma = 0; dp_csum = 0; dp_rptr = 0; dp_wptr = 0; dp_bctr = 0; dp_gap = 0; dp_defint = 0; for (i = 0; i < DP_NUMDRV; i++) { /* loop thru drives */ sim_cancel (&dp_unit[i]); /* cancel activity */ dp_unit[i].FNC = 0; /* clear function */ dp_unit[i].CYL = 0; } CLR_INT (INT_DP); /* clear int, enb */ CLR_ENB (INT_DP); return SCPE_OK; }
t_stat ptp_reset (DEVICE *dptr) { CLR_INT (INT_PTP); /* clear ready, enb */ CLR_ENB (INT_PTP); ptp_power = 0; /* power off */ ptp_unit.buf = 0; /* clear buffer */ ptp_unit.STA = 0; sim_cancel (&ptp_unit); /* deactivate unit */ return SCPE_OK; }
t_stat ptr_reset (DEVICE *dptr) { CLR_INT (INT_PTR); /* clear ready, enb */ CLR_ENB (INT_PTR); ptr_unit.buf = 0; /* clear buffer */ ptr_unit.STA = 0; ptr_motion = 0; /* unit stopped */ sim_cancel (&ptr_unit); /* deactivate unit */ return SCPE_OK; }
t_stat lpt_reset (DEVICE *dptr) { int32 i; sim_cancel (&lpt_unit); /* deactivate */ lpt_sta = 0; /* clr busy */ lpt_bptr = 0; /* clr buf ptr */ for (i = 0; i < LPT_WIDTH; i++) /* clr buf */ lpxb[i] = ' '; lpxb[LPT_WIDTH] = 0; CLR_INT (v_LPT); /* clearr int */ CLR_ENB (v_LPT); /* disable int */ lpt_arm = 0; /* disarm int */ return SCPE_OK; }
t_stat tty_reset (DEVICE *dptr) { CLR_INT (INT_TTY); /* clear ready, enb */ CLR_ENB (INT_TTY); tty_mode = 0; /* mode = input */ tty_buf = 0; ttr_xoff_read = 0; /* clr TTR, TTP flags */ ttp_tape_rcvd = 0; ttp_xoff_rcvd = 0; tty_unit[TTR].STA = 0; tty_unit[TTP].STA = 0; sim_activate (&tty_unit[TTI], tty_unit[TTI].wait); /* activate poll */ sim_cancel (&tty_unit[TTO]); /* cancel output */ return SCPE_OK; }
t_stat mt_reset (DEVICE *dptr) { uint32 u; UNIT *uptr; mt_bptr = mt_blnt = 0; /* clr buf */ mt_sta = STA_BSY; /* clr flags */ mt_xfr = 0; /* clr controls */ for (u = 0; u < MT_NUMDR; u++) { /* loop thru units */ CLR_INT (v_MT + u); /* clear int */ CLR_ENB (v_MT + u); /* disable int */ mt_arm[u] = 0; /* disarm int */ uptr = mt_dev.units + u; sim_tape_reset (uptr); /* clear pos flag */ sim_cancel (uptr); /* cancel activity */ uptr->UST = (uptr->UST & STA_UFLGS) | STA_NMTN; /* init status */ uptr->UCMD = 0; /* init cmd */ } return SCPE_OK; }
t_stat dp_reset (DEVICE *dptr) { uint32 u; UNIT *uptr; dp_cmd = 0; /* clear cmd */ dp_sta = STA_BSY | STC_IDL; /* idle, busy */ dp_1st = 0; /* clear flag */ dp_svun = dp_db = 0; /* clear unit, buf */ dp_plat = 0; dp_hdsc = 0; /* clear addr */ CLR_INT (v_DPC); /* clear ctrl int */ SET_ENB (v_DPC); /* always enabled */ for (u = 0; u < DP_NUMDR; u++) { /* loop thru units */ uptr = dp_dev.units + u; uptr->CYL = uptr->STD = 0; CLR_INT (v_DPC + u + 1); /* clear intr */ CLR_ENB (v_DPC + u + 1); /* clear enable */ dpd_arm[u] = 0; /* clear arm */ sim_cancel (uptr); /* cancel activity */ } return SCPE_OK; }