diff options
Diffstat (limited to 'trunk/src/lib/formats/basicdsk.h')
-rw-r--r-- | trunk/src/lib/formats/basicdsk.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/trunk/src/lib/formats/basicdsk.h b/trunk/src/lib/formats/basicdsk.h new file mode 100644 index 00000000000..eb9b42e3de7 --- /dev/null +++ b/trunk/src/lib/formats/basicdsk.h @@ -0,0 +1,35 @@ +/********************************************************************* + + formats/basicdsk.h + + Floppy format code for basic disks + +*********************************************************************/ + +#ifndef BASICDSK_H +#define BASICDSK_H + +#include "flopimg.h" + +struct basicdsk_geometry +{ + int heads; + int tracks; + int sectors; + int first_sector_id; + int interleave; + int sector_map[256]; + UINT32 sector_length; + UINT64 offset; + + int (*translate_sector)(floppy_image_legacy *floppy, int sector); + UINT64 (*translate_offset)(floppy_image_legacy *floppy, const struct basicdsk_geometry *geom, int track, int head, int sector); + UINT64 (*get_ddam)(floppy_image_legacy *floppy, const struct basicdsk_geometry *geom, int track, int head, int sector); +}; + +floperr_t basicdsk_construct(floppy_image_legacy *floppy, const struct basicdsk_geometry *geometry); + +FLOPPY_IDENTIFY(basicdsk_identify_default); +FLOPPY_CONSTRUCT(basicdsk_construct_default); + +#endif /* BASICDSK_H */ |