summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/flex_dsk.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/formats/flex_dsk.h')
-rw-r--r--src/lib/formats/flex_dsk.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/lib/formats/flex_dsk.h b/src/lib/formats/flex_dsk.h
index 7e2f7c3d8e3..3c61bdd4243 100644
--- a/src/lib/formats/flex_dsk.h
+++ b/src/lib/formats/flex_dsk.h
@@ -11,8 +11,9 @@
#pragma once
#include "flopimg.h"
+#include "wd177x_dsk.h"
-class flex_format : public floppy_image_format_t
+class flex_format : public wd177x_format
{
public:
flex_format();
@@ -21,8 +22,9 @@ public:
virtual const char *description() const override;
virtual const char *extensions() const override;
virtual int identify(io_generic *io, uint32_t form_factor) override;
- virtual bool load(io_generic *io, uint32_t form_factor, floppy_image *image) override;
- virtual bool supports_save() const override;
+ virtual int find_size(io_generic *io, uint32_t form_factor) override;
+ virtual void build_sector_description(const format &f, uint8_t *sectdata, desc_s *sectors, int track, int head) const override;
+ virtual void check_compatibility(floppy_image *image, std::vector<int> &candidates) override;
private:
struct sysinfo_sector
@@ -43,6 +45,10 @@ private:
uint8_t last_sec;
uint8_t unused2[216];
} info;
+ static const format formats[];
+
+ uint8_t boot0_sector_id;
+ uint8_t boot1_sector_id;
};
extern const floppy_format_type FLOPPY_FLEX_FORMAT;