static floperr_t basicdsk_get_indexed_sector_info(floppy_image *floppy, int head, int track, int sector_index, int *cylinder, int *side, int *sector, UINT32 *sector_length) { sector_index += get_geometry(floppy)->first_sector_id; if (cylinder) *cylinder = track; if (side) *side = head; if (sector) *sector = sector_index; return basicdsk_get_sector_length(floppy, head, track, sector_index, sector_length); }
static floperr_t basicdsk_get_indexed_sector_info(floppy_image *floppy, int head, int track, int sector_index, int *cylinder, int *side, int *sector, UINT32 *sector_length, unsigned long *flags) { const struct basicdsk_geometry *geom = get_geometry(floppy); if (geom->translate_sector) sector_index = geom->translate_sector(floppy, sector_index); sector_index += geom->first_sector_id; if (cylinder) *cylinder = track; if (side) *side = head; if (sector) *sector = sector_index; if (flags) { /* TODO: read DAM or DDAM and determine flags */ *flags = 0; if (geom->get_ddam) *flags = geom->get_ddam(floppy, geom, track, head, sector_index); } return basicdsk_get_sector_length(floppy, head, track, sector_index, sector_length); }