Beispiel #1
0
void vfdcTransInit()
{	/* NOTE: being called internally in vfdc */
	/* read parameters */
	vfdd.cyl       = vfdc.cmd[2];
	vfdd.head      = vfdc.cmd[3];
	vfdd.sector    = vfdc.cmd[4];
	vfdd.nbyte     = GetBPS(vfdc.cmd[5]);
	vfdd.nsector   = vfdc.cmd[6];
	vfdd.gaplen    = vfdc.cmd[7];
	if (!vfdc.cmd[5])
		vfdd.nbyte = vfdc.cmd[8];
	vfdd.count     = 0x00;
	vfddSetPointer;
	/* send trans request */
	if (!vfdc.flagndma && GetENRQ(vfdc.dor)) vdmaSetDRQ(0x02);
	SetMSRExecCmd;
}
Beispiel #2
0
static void transInit() {
    /* NOTE: being called internally in vfdc */
    /* read parameters */
    vfdd.data.cyl       = vfdc.data.cmd[2];
    vfdd.data.head      = vfdc.data.cmd[3];
    vfdd.data.sector    = vfdc.data.cmd[4];
    vfdd.data.nbyte     = VFDC_GetBPS(vfdc.data.cmd[5]);
    vfdd.data.nsector   = vfdc.data.cmd[6];
    vfdd.data.gpl       = vfdc.data.cmd[7];
    if (!vfdc.data.cmd[5]) {
        vfdd.data.nbyte = vfdc.data.cmd[8];
    }
    vfdd.connect.transCount = Zero16;
    vfddSetPointer;
    /* send trans request */
    if (!vfdc.data.flagNDMA && GetBit(vfdc.data.dor, VFDC_DOR_ENRQ)) {
        vdmaSetDRQ(2);
    }
    SetMSRExecCmd;
}