New turbo floppy poller, should be a bit faster than before.
This commit is contained in:
@@ -938,6 +938,9 @@ void img_seek(int drive, int track)
|
||||
d86f_reset_index_hole_pos(drive, 0);
|
||||
d86f_reset_index_hole_pos(drive, 1);
|
||||
|
||||
d86f_zero_bit_field(drive, 0);
|
||||
d86f_zero_bit_field(drive, 1);
|
||||
|
||||
if (!img[drive].xdf_type || img[drive].is_cqm)
|
||||
{
|
||||
for (side = 0; side < img[drive].sides; side++)
|
||||
@@ -980,6 +983,11 @@ void img_seek(int drive, int track)
|
||||
img[drive].sector_pos_side[side][sr] = side;
|
||||
img[drive].sector_pos[side][sr] = (sr - 1) * ssize;
|
||||
current_pos = d86f_prepare_sector(drive, side, current_pos, id, &img[drive].track_data[side][(sr - 1) * ssize], ssize, img[drive].gap2_size, img[drive].gap3_size, 0, 0);
|
||||
|
||||
if (sector == 0)
|
||||
{
|
||||
d86f_initialize_last_sector_id(drive, id[0], id[1], id[2], id[3]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1039,6 +1047,11 @@ void img_seek(int drive, int track)
|
||||
ssize = (128 << id[3]);
|
||||
current_pos = d86f_prepare_sector(drive, side, xdf_trackx_spos[current_xdft][array_sector], id, &img[drive].track_data[buf_side][buf_pos], ssize, img[drive].gap2_size, xdf_gap3_sizes[current_xdft][!is_t0], 0, 0);
|
||||
}
|
||||
|
||||
if (sector == 0)
|
||||
{
|
||||
d86f_initialize_last_sector_id(drive, id[0], id[1], id[2], id[3]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1108,6 +1121,7 @@ void d86f_register_img(int drive)
|
||||
d86f_handler[drive].side_flags = img_side_flags;
|
||||
d86f_handler[drive].writeback = img_writeback;
|
||||
d86f_handler[drive].set_sector = img_set_sector;
|
||||
d86f_handler[drive].read_data = img_poll_read_data;
|
||||
d86f_handler[drive].write_data = img_poll_write_data;
|
||||
d86f_handler[drive].format_conditions = img_format_conditions;
|
||||
d86f_handler[drive].extra_bit_cells = null_extra_bit_cells;
|
||||
@@ -1116,4 +1130,5 @@ void d86f_register_img(int drive)
|
||||
d86f_handler[drive].index_hole_pos = null_index_hole_pos;
|
||||
d86f_handler[drive].get_raw_size = common_get_raw_size;
|
||||
d86f_handler[drive].check_crc = 1;
|
||||
d86f_set_version(drive, 0x0063);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user