diff options
Diffstat (limited to 'src/lib/formats/ap_dsk35.h')
-rw-r--r-- | src/lib/formats/ap_dsk35.h | 61 |
1 files changed, 41 insertions, 20 deletions
diff --git a/src/lib/formats/ap_dsk35.h b/src/lib/formats/ap_dsk35.h index 8b3a8bbc1d3..67874ecbcb6 100644 --- a/src/lib/formats/ap_dsk35.h +++ b/src/lib/formats/ap_dsk35.h @@ -14,37 +14,58 @@ #include "flopimg.h" -void sony_filltrack(uint8_t *buffer, size_t buffer_len, size_t *pos, uint8_t data); -uint8_t sony_fetchtrack(const uint8_t *buffer, size_t buffer_len, size_t *pos); +class dc42_format : public floppy_image_format_t +{ +public: + dc42_format(); -int apple35_sectors_per_track(floppy_image_legacy *image, int track); + virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const override; -/**************************************************************************/ + virtual const char *name() const noexcept override; + virtual const char *description() const noexcept override; + virtual const char *extensions() const noexcept override; + virtual bool supports_save() const noexcept override; -LEGACY_FLOPPY_OPTIONS_EXTERN(apple35_mac); -LEGACY_FLOPPY_OPTIONS_EXTERN(apple35_iigs); +private: + static void update_chk(const uint8_t *data, int size, uint32_t &chk); +}; -class dc42_format : public floppy_image_format_t +extern const dc42_format FLOPPY_DC42_FORMAT; + +class apple_gcr_format : public floppy_image_format_t { public: - dc42_format(); + apple_gcr_format(); + + virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) 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 save(io_generic *io, floppy_image *image) override; + virtual const char *name() const noexcept override; + virtual const char *description() const noexcept override; + virtual const char *extensions() const noexcept override; + virtual bool supports_save() const noexcept 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; +extern const apple_gcr_format FLOPPY_APPLE_GCR_FORMAT; -private: - static const desc_e mac_gcr[]; +class apple_2mg_format : public floppy_image_format_t +{ +public: + apple_2mg_format(); + + virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const override; - uint8_t gb(const uint8_t *buf, int ts, int &pos, int &wrap); - void update_chk(const uint8_t *data, int size, uint32_t &chk); + virtual const char *name() const noexcept override; + virtual const char *description() const noexcept override; + virtual const char *extensions() const noexcept override; + virtual bool supports_save() const noexcept override; }; -extern const floppy_format_type FLOPPY_DC42_FORMAT; +extern const apple_2mg_format FLOPPY_APPLE_2MG_FORMAT; #endif // MAME_FORMATS_AP_DSK35_H |