summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/ap2_dsk.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/formats/ap2_dsk.h')
-rw-r--r--src/lib/formats/ap2_dsk.h28
1 files changed, 20 insertions, 8 deletions
diff --git a/src/lib/formats/ap2_dsk.h b/src/lib/formats/ap2_dsk.h
index 373cdb361e3..1afd6cbecb4 100644
--- a/src/lib/formats/ap2_dsk.h
+++ b/src/lib/formats/ap2_dsk.h
@@ -40,29 +40,41 @@ LEGACY_FLOPPY_OPTIONS_EXTERN(apple2);
class a2_16sect_format : public floppy_image_format_t
{
public:
- a2_16sect_format();
+ a2_16sect_format(bool prodos_order);
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) override;
virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) override;
virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) override;
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
virtual bool supports_save() const override;
private:
- static const desc_e mac_gcr[];
+ const bool m_prodos_order;
uint8_t gb(const std::vector<bool> &buf, int &pos, int &wrap);
void update_chk(const uint8_t *data, int size, uint32_t &chk);
+};
- bool m_prodos_order;
+class a2_16sect_dos_format : public a2_16sect_format
+{
+public:
+ a2_16sect_dos_format();
+ virtual const char *name() const override;
+ virtual const char *description() const override;
+ virtual const char *extensions() const override;
+};
- int m_tracks = 0;
+class a2_16sect_prodos_format : public a2_16sect_format
+{
+public:
+ a2_16sect_prodos_format();
+ virtual const char *name() const override;
+ virtual const char *description() const override;
+ virtual const char *extensions() const override;
};
-extern const floppy_format_type FLOPPY_A216S_FORMAT;
+extern const floppy_format_type FLOPPY_A216S_DOS_FORMAT;
+extern const floppy_format_type FLOPPY_A216S_PRODOS_FORMAT;
class a2_rwts18_format : public floppy_image_format_t
{