summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/ap_dsk35.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/formats/ap_dsk35.h')
-rw-r--r--src/lib/formats/ap_dsk35.h61
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