Exemplo n.º 1
0
void seek8271()
{
	int diff = i8271.params[0] - i8271.curtrack[curdrive];

	i8271.realtrack[curdrive] += diff;
	disc_seek(curdrive, i8271.realtrack[curdrive]);
}
Exemplo n.º 2
0
void fdd_seek(int drive, int track_diff)
{
        int old_track;

        drive ^= fdd_swap;

        old_track = fdd[drive].track;

        fdd[drive].track += track_diff;
        
        if (fdd[drive].track < 0)
                fdd[drive].track = 0;

        if (fdd[drive].track > drive_types[fdd[drive].type].max_track)
                fdd[drive].track = drive_types[fdd[drive].type].max_track;

        // pclog("fdd_seek: drive=%i track_diff=%i old_track=%i track=%i\n", drive, track_diff, old_track, fdd[drive].track);
        if (fdd[drive].track != old_track)
                fdc_discchange_clear(drive);
        disc_seek(drive, fdd[drive].track);
        disctime = 5000;
}