OUT_FDC
OUT_FDC(fdc, NE7CMD_SPECIFY, SEEKTIMEDOUT);
OUT_FDC(fdc, fd->sc_type->steprate, SEEKTIMEDOUT);
OUT_FDC(fdc, 6|1, SEEKTIMEDOUT); /* XXX head load time == 6ms */
OUT_FDC(fdc, NE7CMD_SEEK, SEEKTIMEDOUT);
OUT_FDC(fdc, fd->sc_drive, SEEKTIMEDOUT); /* drive number */
OUT_FDC(fdc, bp->b_cylinder * fd->sc_type->step, SEEKTIMEDOUT);
OUT_FDC(fdc, NE7CMD_FORMAT, IOTIMEDOUT);
OUT_FDC(fdc, (head << 2) | fd->sc_drive, IOTIMEDOUT);
OUT_FDC(fdc, finfo->fd_formb_secshift, IOTIMEDOUT);
OUT_FDC(fdc, finfo->fd_formb_nsecs, IOTIMEDOUT);
OUT_FDC(fdc, finfo->fd_formb_gaplen, IOTIMEDOUT);
OUT_FDC(fdc, finfo->fd_formb_fillbyte, IOTIMEDOUT);
OUT_FDC(fdc, NE7CMD_READ, IOTIMEDOUT);
OUT_FDC(fdc, NE7CMD_WRITE, IOTIMEDOUT);
OUT_FDC(fdc, (head << 2) | fd->sc_drive, IOTIMEDOUT);
OUT_FDC(fdc, fd->sc_cylin, IOTIMEDOUT); /*track*/
OUT_FDC(fdc, head, IOTIMEDOUT);
OUT_FDC(fdc, sec + 1, IOTIMEDOUT); /*sector+1*/
OUT_FDC(fdc, type->secsize, IOTIMEDOUT);/*sector size*/
OUT_FDC(fdc, type->sectrac, IOTIMEDOUT);/*secs/track*/
OUT_FDC(fdc, type->gap1, IOTIMEDOUT); /*gap1 size*/
OUT_FDC(fdc, type->datalen, IOTIMEDOUT);/*data length*/
OUT_FDC(fdc, NE7CMD_RECAL, RECALTIMEDOUT);
OUT_FDC(fdc, fd->sc_drive, RECALTIMEDOUT);
OUT_FDC(fdc, NE7CMD_SPECIFY);
OUT_FDC(fdc, type->steprate);
OUT_FDC(fdc, 6|1); /* XXX head load time == 6ms */