diff options
-rw-r--r-- | src/devices/imagedev/floppy.cpp | 10 | ||||
-rw-r--r-- | src/devices/imagedev/floppy.h | 5 | ||||
-rw-r--r-- | src/lib/formats/fs_cbmdos.cpp | 9 | ||||
-rw-r--r-- | src/lib/formats/fs_cbmdos.h | 2 | ||||
-rw-r--r-- | src/lib/formats/fs_coco_os9.cpp | 9 | ||||
-rw-r--r-- | src/lib/formats/fs_coco_os9.h | 2 | ||||
-rw-r--r-- | src/lib/formats/fs_coco_rsdos.cpp | 9 | ||||
-rw-r--r-- | src/lib/formats/fs_coco_rsdos.h | 2 | ||||
-rw-r--r-- | src/lib/formats/fs_fat.cpp | 16 | ||||
-rw-r--r-- | src/lib/formats/fs_fat.h | 2 | ||||
-rw-r--r-- | src/lib/formats/fs_oric_jasmin.cpp | 8 | ||||
-rw-r--r-- | src/lib/formats/fs_oric_jasmin.h | 2 | ||||
-rw-r--r-- | src/lib/formats/fs_prodos.cpp | 8 | ||||
-rw-r--r-- | src/lib/formats/fs_prodos.h | 2 | ||||
-rw-r--r-- | src/lib/formats/fs_unformatted.cpp | 5 | ||||
-rw-r--r-- | src/lib/formats/fs_unformatted.h | 2 | ||||
-rw-r--r-- | src/lib/formats/fs_vtech.cpp | 5 | ||||
-rw-r--r-- | src/lib/formats/fs_vtech.h | 2 | ||||
-rw-r--r-- | src/lib/formats/fsmgr.cpp | 13 | ||||
-rw-r--r-- | src/lib/formats/fsmgr.h | 21 | ||||
-rw-r--r-- | src/tools/image_handler.cpp | 9 |
21 files changed, 78 insertions, 65 deletions
diff --git a/src/devices/imagedev/floppy.cpp b/src/devices/imagedev/floppy.cpp index d5894530337..3c00336dcd8 100644 --- a/src/devices/imagedev/floppy.cpp +++ b/src/devices/imagedev/floppy.cpp @@ -318,7 +318,13 @@ void floppy_image_device::setup_led_cb(led_cb cb) cur_led_cb = cb; } -void floppy_image_device::fs_enum::add(const floppy_image_format_t &type, u32 image_size, const char *name, const char *description) +floppy_image_device::fs_enum::fs_enum(floppy_image_device *fid) + : fs::manager_t::floppy_enumerator(fid->form_factor, fid->variants) + , m_fid(fid) +{ +} + +void floppy_image_device::fs_enum::add_format(const floppy_image_format_t &type, u32 image_size, const char *name, const char *description) { m_fid->m_fs.emplace_back(fs_info(m_manager, &type, image_size, name, description)); } @@ -346,7 +352,7 @@ void floppy_image_device::register_formats() for(const fs::manager_t *fmt : fr.m_fs) { fse.m_manager = fmt; - fmt->enumerate_f(fse, form_factor, variants); + fmt->enumerate_f(fse); m_fs_managers.push_back(fmt); } } diff --git a/src/devices/imagedev/floppy.h b/src/devices/imagedev/floppy.h index 02b181d5540..3d551ee72ab 100644 --- a/src/devices/imagedev/floppy.h +++ b/src/devices/imagedev/floppy.h @@ -157,10 +157,11 @@ protected: floppy_image_device *m_fid; const fs::manager_t *m_manager; - fs_enum(floppy_image_device *fid) : fs::manager_t::floppy_enumerator(), m_fid(fid) {} + fs_enum(floppy_image_device *fid); - virtual void add(const floppy_image_format_t &type, u32 image_size, const char *name, const char *description) override; virtual void add_raw(const char *name, u32 key, const char *description) override; + protected: + virtual void add_format(const floppy_image_format_t &type, u32 image_size, const char *name, const char *description) override; }; floppy_image_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); diff --git a/src/lib/formats/fs_cbmdos.cpp b/src/lib/formats/fs_cbmdos.cpp index 387cbe6b863..ab0e2d59f17 100644 --- a/src/lib/formats/fs_cbmdos.cpp +++ b/src/lib/formats/fs_cbmdos.cpp @@ -109,13 +109,10 @@ const char *fs::cbmdos_image::description() const // enumerate_f //------------------------------------------------- -void fs::cbmdos_image::enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const +void fs::cbmdos_image::enumerate_f(floppy_enumerator &fe) const { - if (has(form_factor, variants, floppy_image::FF_525, floppy_image::SSSD)) - { - fe.add(FLOPPY_D64_FORMAT, 174848, "d64_cbmdos_35", "D64 CBMDOS single-sided 35 tracks"); - fe.add(FLOPPY_D64_FORMAT, 192256, "d64_cbmdos_40", "D64 CBMDOS single-sided 40 tracks"); - } + fe.add(FLOPPY_D64_FORMAT, floppy_image::FF_525, floppy_image::SSSD, 174848, "d64_cbmdos_35", "D64 CBMDOS single-sided 35 tracks"); + fe.add(FLOPPY_D64_FORMAT, floppy_image::FF_525, floppy_image::SSSD, 192256, "d64_cbmdos_40", "D64 CBMDOS single-sided 40 tracks"); } diff --git a/src/lib/formats/fs_cbmdos.h b/src/lib/formats/fs_cbmdos.h index 9732eb6b162..4226777461e 100644 --- a/src/lib/formats/fs_cbmdos.h +++ b/src/lib/formats/fs_cbmdos.h @@ -27,7 +27,7 @@ namespace fs { virtual const char *name() const override; virtual const char *description() const override; - virtual void enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const override; + virtual void enumerate_f(floppy_enumerator &fe) const override; virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override; virtual bool can_format() const override; diff --git a/src/lib/formats/fs_coco_os9.cpp b/src/lib/formats/fs_coco_os9.cpp index dd3f0f48f8d..f72ae772f8f 100644 --- a/src/lib/formats/fs_coco_os9.cpp +++ b/src/lib/formats/fs_coco_os9.cpp @@ -155,13 +155,10 @@ const char *coco_os9_image::description() const // enumerate_f //------------------------------------------------- -void coco_os9_image::enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const +void coco_os9_image::enumerate_f(floppy_enumerator &fe) const { - if (has(form_factor, variants, floppy_image::FF_525, floppy_image::SSDD)) - { - fe.add(FLOPPY_COCO_RAWDSK_FORMAT, 161280, "coco_rawdsk_os9_35", "CoCo Raw Disk OS-9 single-sided 35 tracks"); - fe.add(FLOPPY_COCO_RAWDSK_FORMAT, 184320, "coco_rawdsk_os9_40", "CoCo Raw Disk OS-9 single-sided 40 tracks"); - } + fe.add(FLOPPY_COCO_RAWDSK_FORMAT, floppy_image::FF_525, floppy_image::SSSD, 161280, "coco_rawdsk_os9_35", "CoCo Raw Disk OS-9 single-sided 35 tracks"); + fe.add(FLOPPY_COCO_RAWDSK_FORMAT, floppy_image::FF_525, floppy_image::SSSD, 184320, "coco_rawdsk_os9_40", "CoCo Raw Disk OS-9 single-sided 40 tracks"); } diff --git a/src/lib/formats/fs_coco_os9.h b/src/lib/formats/fs_coco_os9.h index cd0339f05c8..fcd0bcc421a 100644 --- a/src/lib/formats/fs_coco_os9.h +++ b/src/lib/formats/fs_coco_os9.h @@ -28,7 +28,7 @@ public: virtual const char *name() const override; virtual const char *description() const override; - virtual void enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const override; + virtual void enumerate_f(floppy_enumerator &fe) const override; virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override; virtual bool can_format() const override; diff --git a/src/lib/formats/fs_coco_rsdos.cpp b/src/lib/formats/fs_coco_rsdos.cpp index 0b97829e215..5984f6aee43 100644 --- a/src/lib/formats/fs_coco_rsdos.cpp +++ b/src/lib/formats/fs_coco_rsdos.cpp @@ -105,13 +105,10 @@ const char *coco_rsdos_image::description() const // enumerate_f //------------------------------------------------- -void coco_rsdos_image::enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const +void coco_rsdos_image::enumerate_f(floppy_enumerator &fe) const { - if (has(form_factor, variants, floppy_image::FF_525, floppy_image::SSDD)) - { - fe.add(FLOPPY_COCO_RAWDSK_FORMAT, 161280, "coco_rawdsk_rsdos_35", "CoCo Raw Disk RS-DOS single-sided 35 tracks"); - fe.add(FLOPPY_COCO_RAWDSK_FORMAT, 184320, "coco_rawdsk_rsdos_40", "CoCo Raw Disk RS-DOS single-sided 40 tracks"); - } + fe.add(FLOPPY_COCO_RAWDSK_FORMAT, floppy_image::FF_525, floppy_image::SSSD, 161280, "coco_rawdsk_rsdos_35", "CoCo Raw Disk RS-DOS single-sided 35 tracks"); + fe.add(FLOPPY_COCO_RAWDSK_FORMAT, floppy_image::FF_525, floppy_image::SSSD, 184320, "coco_rawdsk_rsdos_40", "CoCo Raw Disk RS-DOS single-sided 40 tracks"); } diff --git a/src/lib/formats/fs_coco_rsdos.h b/src/lib/formats/fs_coco_rsdos.h index 96b2265e51a..fc90145c49e 100644 --- a/src/lib/formats/fs_coco_rsdos.h +++ b/src/lib/formats/fs_coco_rsdos.h @@ -26,7 +26,7 @@ public: virtual const char *name() const override; virtual const char *description() const override; - virtual void enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const override; + virtual void enumerate_f(floppy_enumerator &fe) const override; virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override; virtual bool can_format() const override; diff --git a/src/lib/formats/fs_fat.cpp b/src/lib/formats/fs_fat.cpp index a2e5a4a5cc1..15977d72b0a 100644 --- a/src/lib/formats/fs_fat.cpp +++ b/src/lib/formats/fs_fat.cpp @@ -804,16 +804,12 @@ const char *fs::pc_fat_image::description() const // pc_fat_image::enumerate_f //------------------------------------------------- -void pc_fat_image::enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const -{ - if (has(form_factor, variants, floppy_image::FF_35, floppy_image::DSSD)) - fe.add(FLOPPY_PC_FORMAT, 368640, "pc_fat_dssd", "PC FAT 3.5\" dual-sided single density"); - if (has(form_factor, variants, floppy_image::FF_35, floppy_image::DSDD)) - fe.add(FLOPPY_PC_FORMAT, 737280, "pc_fat_dsdd", "PC FAT 3.5\" dual-sided double density"); - if (has(form_factor, variants, floppy_image::FF_35, floppy_image::DSHD)) - fe.add(FLOPPY_PC_FORMAT, 1474560, "pc_fat_dshd", "PC FAT 3.5\" dual-sided high density"); - if (has(form_factor, variants, floppy_image::FF_35, floppy_image::DSED)) - fe.add(FLOPPY_PC_FORMAT, 2949120, "pc_fat_dsed", "PC FAT 3.5\" dual-sided extra density"); +void pc_fat_image::enumerate_f(floppy_enumerator &fe) const +{ + fe.add(FLOPPY_PC_FORMAT, floppy_image::FF_35, floppy_image::DSSD, 368640, "pc_fat_dssd", "PC FAT 3.5\" dual-sided single density"); + fe.add(FLOPPY_PC_FORMAT, floppy_image::FF_35, floppy_image::DSDD, 737280, "pc_fat_dsdd", "PC FAT 3.5\" dual-sided double density"); + fe.add(FLOPPY_PC_FORMAT, floppy_image::FF_35, floppy_image::DSHD, 1474560, "pc_fat_dshd", "PC FAT 3.5\" dual-sided high density"); + fe.add(FLOPPY_PC_FORMAT, floppy_image::FF_35, floppy_image::DSED, 2949120, "pc_fat_dsed", "PC FAT 3.5\" dual-sided extra density"); } diff --git a/src/lib/formats/fs_fat.h b/src/lib/formats/fs_fat.h index 71d44a32227..cc24319a8db 100644 --- a/src/lib/formats/fs_fat.h +++ b/src/lib/formats/fs_fat.h @@ -48,7 +48,7 @@ public: virtual const char *name() const override; virtual const char *description() const override; - virtual void enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const override; + virtual void enumerate_f(floppy_enumerator &fe) const override; virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override; }; diff --git a/src/lib/formats/fs_oric_jasmin.cpp b/src/lib/formats/fs_oric_jasmin.cpp index 3f150d0bdff..f364d98c2fb 100644 --- a/src/lib/formats/fs_oric_jasmin.cpp +++ b/src/lib/formats/fs_oric_jasmin.cpp @@ -100,12 +100,10 @@ const char *oric_jasmin_image::description() const return "Oric Jasmin"; } -void oric_jasmin_image::enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const +void oric_jasmin_image::enumerate_f(floppy_enumerator &fe) const { - if(has(form_factor, variants, floppy_image::FF_3, floppy_image::DSDD)) - fe.add(FLOPPY_ORIC_JASMIN_FORMAT, 356864, "oric_jasmin_ds", "Oric Jasmin dual-sided"); - if(has(form_factor, variants, floppy_image::FF_3, floppy_image::SSDD)) - fe.add(FLOPPY_ORIC_JASMIN_FORMAT, 178432, "oric_jasmin_ss", "Oric Jasmin single-sided"); + fe.add(FLOPPY_ORIC_JASMIN_FORMAT, floppy_image::FF_3, floppy_image::DSDD, 356864, "oric_jasmin_ds", "Oric Jasmin dual-sided"); + fe.add(FLOPPY_ORIC_JASMIN_FORMAT, floppy_image::FF_3, floppy_image::SSDD, 178432, "oric_jasmin_ss", "Oric Jasmin single-sided"); } std::unique_ptr<filesystem_t> oric_jasmin_image::mount(fsblk_t &blockdev) const diff --git a/src/lib/formats/fs_oric_jasmin.h b/src/lib/formats/fs_oric_jasmin.h index 76bbce2403d..514227d9069 100644 --- a/src/lib/formats/fs_oric_jasmin.h +++ b/src/lib/formats/fs_oric_jasmin.h @@ -19,7 +19,7 @@ public: virtual const char *name() const override; virtual const char *description() const override; - virtual void enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const override; + virtual void enumerate_f(floppy_enumerator &fe) const override; virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override; virtual bool can_format() const override; diff --git a/src/lib/formats/fs_prodos.cpp b/src/lib/formats/fs_prodos.cpp index c7e7e47532f..8f0b972041e 100644 --- a/src/lib/formats/fs_prodos.cpp +++ b/src/lib/formats/fs_prodos.cpp @@ -86,12 +86,10 @@ const u8 prodos_impl::boot[512] = { 0xf0, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -void prodos_image::enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const +void prodos_image::enumerate_f(floppy_enumerator &fe) const { - if(has(form_factor, variants, floppy_image::FF_35, floppy_image::DSDD)) - fe.add(FLOPPY_APPLE_GCR_FORMAT, 819200, "prodos_800k", "Apple ProDOS 800K"); - if(has(form_factor, variants, floppy_image::FF_35, floppy_image::SSDD)) - fe.add(FLOPPY_APPLE_GCR_FORMAT, 409600, "prodos_400k", "Apple ProDOS 400K"); + fe.add(FLOPPY_APPLE_GCR_FORMAT, floppy_image::FF_35, floppy_image::DSDD, 819200, "prodos_800k", "Apple ProDOS 800K"); + fe.add(FLOPPY_APPLE_GCR_FORMAT, floppy_image::FF_35, floppy_image::SSDD, 409600, "prodos_400k", "Apple ProDOS 400K"); } std::unique_ptr<filesystem_t> prodos_image::mount(fsblk_t &blockdev) const diff --git a/src/lib/formats/fs_prodos.h b/src/lib/formats/fs_prodos.h index 1d1ba5e2e8b..71ec4dce2e3 100644 --- a/src/lib/formats/fs_prodos.h +++ b/src/lib/formats/fs_prodos.h @@ -19,7 +19,7 @@ public: virtual const char *name() const override; virtual const char *description() const override; - virtual void enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const override; + virtual void enumerate_f(floppy_enumerator &fe) const override; virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override; virtual bool can_format() const override; diff --git a/src/lib/formats/fs_unformatted.cpp b/src/lib/formats/fs_unformatted.cpp index df0bbccecd4..f200f11894e 100644 --- a/src/lib/formats/fs_unformatted.cpp +++ b/src/lib/formats/fs_unformatted.cpp @@ -19,8 +19,11 @@ const char *unformatted_image::description() const return "Unformatted floppy image"; } -void unformatted_image::enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const +void unformatted_image::enumerate_f(floppy_enumerator &fe) const { + u32 form_factor = fe.form_factor(); + const std::vector<u32> &variants = fe.variants(); + bool all = form_factor == floppy_image::FF_UNKNOWN; u32 best_8 = form_factor == floppy_image::FF_8 ? diff --git a/src/lib/formats/fs_unformatted.h b/src/lib/formats/fs_unformatted.h index 8186ac1cdac..80973b4e7e3 100644 --- a/src/lib/formats/fs_unformatted.h +++ b/src/lib/formats/fs_unformatted.h @@ -45,7 +45,7 @@ public: static void format(u32 key, floppy_image *image); - virtual void enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const override; + virtual void enumerate_f(floppy_enumerator &fe) const override; virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override; virtual bool can_format() const override; diff --git a/src/lib/formats/fs_vtech.cpp b/src/lib/formats/fs_vtech.cpp index f8126c2d58d..e4253638061 100644 --- a/src/lib/formats/fs_vtech.cpp +++ b/src/lib/formats/fs_vtech.cpp @@ -69,10 +69,9 @@ const char *vtech_image::description() const return "VTech (Laser 200/300)"; } -void vtech_image::enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const +void vtech_image::enumerate_f(floppy_enumerator &fe) const { - if(has(form_factor, variants, floppy_image::FF_525, floppy_image::SSSD)) - fe.add(FLOPPY_VTECH_BIN_FORMAT, 163840, "vtech", "VTech"); + fe.add(FLOPPY_VTECH_BIN_FORMAT, floppy_image::FF_525, floppy_image::SSSD, 163840, "vtech", "VTech"); } std::unique_ptr<filesystem_t> vtech_image::mount(fsblk_t &blockdev) const diff --git a/src/lib/formats/fs_vtech.h b/src/lib/formats/fs_vtech.h index 360021708ac..efb591bcb12 100644 --- a/src/lib/formats/fs_vtech.h +++ b/src/lib/formats/fs_vtech.h @@ -19,7 +19,7 @@ public: virtual const char *name() const override; virtual const char *description() const override; - virtual void enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const override; + virtual void enumerate_f(floppy_enumerator &fe) const override; virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override; virtual bool can_format() const override; diff --git a/src/lib/formats/fsmgr.cpp b/src/lib/formats/fsmgr.cpp index 599a2f32d61..920c27873d5 100644 --- a/src/lib/formats/fsmgr.cpp +++ b/src/lib/formats/fsmgr.cpp @@ -48,7 +48,7 @@ bool refcounted_inner::unref_weak() -void manager_t::enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const +void manager_t::enumerate_f(floppy_enumerator &fe) const { } @@ -428,5 +428,16 @@ err_t filesystem_t::format(const meta_data &meta) return ERR_UNSUPPORTED; } +manager_t::floppy_enumerator::floppy_enumerator(u32 form_factor, const std::vector<u32> &variants) + : m_form_factor(form_factor) + , m_variants(variants) +{ +} + +void manager_t::floppy_enumerator::add(const floppy_image_format_t &type, u32 form_factor, u32 variant, u32 image_size, const char *name, const char *description) +{ + if (has(m_form_factor, m_variants, form_factor, variant)) + add_format(type, image_size, name, description); +} } // namespace fs diff --git a/src/lib/formats/fsmgr.h b/src/lib/formats/fsmgr.h index c75b932cce9..6e3220ad753 100644 --- a/src/lib/formats/fsmgr.h +++ b/src/lib/formats/fsmgr.h @@ -288,10 +288,21 @@ class unformatted_floppy_creator; class manager_t { public: struct floppy_enumerator { + floppy_enumerator(u32 form_factor, const std::vector<u32> &variants); virtual ~floppy_enumerator() = default; - virtual void add(const floppy_image_format_t &type, u32 image_size, const char *name, const char *description) = 0; + void add(const floppy_image_format_t &type, u32 form_factor, u32 variant, u32 image_size, const char *name, const char *description); virtual void add_raw(const char *name, u32 key, const char *description) = 0; + + u32 form_factor() const { return m_form_factor; } + const std::vector<u32> &variants() const { return m_variants; } + + protected: + virtual void add_format(const floppy_image_format_t &type, u32 image_size, const char *name, const char *description) = 0; + + private: + u32 m_form_factor; + const std::vector<u32> & m_variants; }; struct hd_enumerator { @@ -312,7 +323,7 @@ public: virtual const char *name() const = 0; virtual const char *description() const = 0; - virtual void enumerate_f(floppy_enumerator &fe, u32 form_factor, const std::vector<u32> &variants) const; + virtual void enumerate_f(floppy_enumerator &fe) const; virtual void enumerate_h(hd_enumerator &he) const; virtual void enumerate_c(cdrom_enumerator &ce) const; @@ -331,11 +342,11 @@ public: // Create a filesystem object from a block device virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const = 0; -protected: - manager_t() = default; - static bool has(u32 form_factor, const std::vector<u32> &variants, u32 ff, u32 variant); static bool has_variant(const std::vector<u32> &variants, u32 variant); + +protected: + manager_t() = default; }; } // namespace fs diff --git a/src/tools/image_handler.cpp b/src/tools/image_handler.cpp index 02328059490..44d7fce7df3 100644 --- a/src/tools/image_handler.cpp +++ b/src/tools/image_handler.cpp @@ -42,10 +42,9 @@ namespace { struct fs_enum : public fs::manager_t::floppy_enumerator { filesystem_format *m_format; + fs_enum(filesystem_format *format, const std::vector<u32> &variants) : fs::manager_t::floppy_enumerator(floppy_image::FF_UNKNOWN, variants), m_format(format) {} - fs_enum(filesystem_format *format) : m_format(format) {} - - virtual void add(const floppy_image_format_t &type, u32 image_size, const char *name, const char *description) override { + virtual void add_format(const floppy_image_format_t &type, u32 image_size, const char *name, const char *description) override { m_format->m_floppy = true; m_format->m_floppy_create.emplace_back(std::make_unique<floppy_create_info>(m_format->m_manager, &type, image_size, name, description)); } @@ -65,8 +64,8 @@ void formats_table::init() mame_formats_full_list(en); for(auto &f : filesystem_formats) { - fs_enum fen(f.get()); - f->m_manager->enumerate_f(fen, floppy_image::FF_UNKNOWN, variants); + fs_enum fen(f.get(), variants); + f->m_manager->enumerate_f(fen); } for(auto &f : floppy_format_infos) { |