DIRB
out_8(&via[DIRB], (in_8(&via[DIRB]) | TACK | TIP) & ~TREQ); /* TACK & TIP out */
via[DIRB] = (via[DIRB] | ST_EVEN | ST_ODD) & ~CTLR_IRQ;
save_via[3] = in_8(&via1[DIRB]);
out_8(&via1[DIRB], save_via[3]);
out_8(&via2[DIRB], (in_8(&via2[DIRB]) | TREQ) & ~TACK);