ciab
ciab.icr = 0x7f; /* and again */
ciab.icr = 0x7f; /* and again */
dispatch_cia_ints (1, ciab.icr);
ciab.icr = CIA_ICR_IR_SC | CIA_ICR_FLG;
#define FDSELECT(um) do { ciab.prb &= ~(um); } while (0)
#define FDDESELECT(um) do { ciab.prb |= (um); delay(1); } while (0)
if (on) ciab.prb &= ~CIAB_PRB_MTR; else ciab.prb |= CIAB_PRB_MTR; \
if (head) ciab.prb &= ~CIAB_PRB_SIDE; else ciab.prb |= CIAB_PRB_SIDE; \
if (in) ciab.prb &= ~CIAB_PRB_DIR; else ciab.prb |= CIAB_PRB_DIR; \
ciab.prb &= ~CIAB_PRB_STEP; ciab.prb |= CIAB_PRB_STEP; \
ciab.icr = CIA_ICR_FLG;
ciab.icr = CIA_ICR_FLG;
printf ("port = $%x\n", ((ciab.pra ^ CIAB_PRA_SEL)
|| ((ciab.pra ^ CIAB_PRA_SEL)
((ciab.pra ^ CIAB_PRA_SEL)
ciab.ddra &= ~(CIAB_PRA_SEL|CIAB_PRA_POUT|CIAB_PRA_BUSY);
ciab.pra = ~ub;
ciab.pra |= ub;
ub = ~ciab.pra;
ciab.pra &= ~ub;
ub = ~ciab.pra;
ub = ~ciab.pra;
last_ciab_pra = ciab.pra;
CLRRTS(ciab.pra); /* drop RTS if buffer almost full */
SETRTS(ciab.pra); /* start accepting data again */
stat = ciab.pra;
last_ciab_pra = ciab.pra;
CLRRTS(ciab.pra);
SETRTS(ciab.pra);
if (ISCTS(ciab.pra))