summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Roman Donchenko <rdonchen@outlook.com>2025-09-18 14:13:33 +0300
committer GitHub <noreply@github.com>2025-09-18 07:13:33 -0400
commit01e30634dad3a35175338e5b46d3f8aa777dc97f (patch)
treecf2362506fdbeb935ca9ea854e7228c62cde8190
parent9591eca33245df48c0fa3673d41207bee5e54b7a (diff)
flopimg.cpp: add a default implementation for `supports_save` (#14156)
Since the default implementation of `save` is a stub that always fails, it makes sense to also add a default implementation of `supports_save` that returns `false`. That way, there's one fewer method that needs to be implemented for read-only image formats. Remove the now-redundant implementations in concrete format classes.
-rw-r--r--src/lib/formats/86f_dsk.cpp5
-rw-r--r--src/lib/formats/86f_dsk.h2
-rw-r--r--src/lib/formats/acorn_dsk.cpp10
-rw-r--r--src/lib/formats/acorn_dsk.h2
-rw-r--r--src/lib/formats/ap2_dsk.cpp15
-rw-r--r--src/lib/formats/ap2_dsk.h3
-rw-r--r--src/lib/formats/apd_dsk.cpp5
-rw-r--r--src/lib/formats/apd_dsk.h1
-rw-r--r--src/lib/formats/apridisk.cpp5
-rw-r--r--src/lib/formats/apridisk.h1
-rw-r--r--src/lib/formats/ccvf_dsk.cpp5
-rw-r--r--src/lib/formats/ccvf_dsk.h1
-rw-r--r--src/lib/formats/cqm_dsk.cpp10
-rw-r--r--src/lib/formats/cqm_dsk.h2
-rw-r--r--src/lib/formats/d88_dsk.cpp5
-rw-r--r--src/lib/formats/d88_dsk.h1
-rw-r--r--src/lib/formats/dcp_dsk.cpp5
-rw-r--r--src/lib/formats/dcp_dsk.h1
-rw-r--r--src/lib/formats/dfi_dsk.cpp5
-rw-r--r--src/lib/formats/dfi_dsk.h1
-rw-r--r--src/lib/formats/dim_dsk.cpp5
-rw-r--r--src/lib/formats/dim_dsk.h1
-rw-r--r--src/lib/formats/dip_dsk.cpp5
-rw-r--r--src/lib/formats/dip_dsk.h1
-rw-r--r--src/lib/formats/dmk_dsk.cpp6
-rw-r--r--src/lib/formats/dmk_dsk.h1
-rw-r--r--src/lib/formats/dsk_dsk.cpp5
-rw-r--r--src/lib/formats/dsk_dsk.h1
-rw-r--r--src/lib/formats/fdd_dsk.cpp5
-rw-r--r--src/lib/formats/fdd_dsk.h1
-rw-r--r--src/lib/formats/flopimg.cpp5
-rw-r--r--src/lib/formats/flopimg.h2
-rw-r--r--src/lib/formats/fsd_dsk.cpp5
-rw-r--r--src/lib/formats/fsd_dsk.h1
-rw-r--r--src/lib/formats/imd_dsk.cpp5
-rw-r--r--src/lib/formats/imd_dsk.h1
-rw-r--r--src/lib/formats/ipf_dsk.cpp5
-rw-r--r--src/lib/formats/ipf_dsk.h1
-rw-r--r--src/lib/formats/jfd_dsk.cpp5
-rw-r--r--src/lib/formats/jfd_dsk.h1
-rw-r--r--src/lib/formats/lw30_dsk.cpp6
-rw-r--r--src/lib/formats/lw30_dsk.h1
-rw-r--r--src/lib/formats/nfd_dsk.cpp5
-rw-r--r--src/lib/formats/nfd_dsk.h1
-rw-r--r--src/lib/formats/pasti_dsk.cpp5
-rw-r--r--src/lib/formats/pasti_dsk.h1
-rw-r--r--src/lib/formats/pc98fdi_dsk.cpp5
-rw-r--r--src/lib/formats/pc98fdi_dsk.h1
-rw-r--r--src/lib/formats/sap_dsk.cpp5
-rw-r--r--src/lib/formats/sap_dsk.h1
-rw-r--r--src/lib/formats/sdf_dsk.cpp6
-rw-r--r--src/lib/formats/sdf_dsk.h1
-rw-r--r--src/lib/formats/td0_dsk.cpp5
-rw-r--r--src/lib/formats/td0_dsk.h1
54 files changed, 6 insertions, 185 deletions
diff --git a/src/lib/formats/86f_dsk.cpp b/src/lib/formats/86f_dsk.cpp
index 654e847d8db..021c049939f 100644
--- a/src/lib/formats/86f_dsk.cpp
+++ b/src/lib/formats/86f_dsk.cpp
@@ -74,11 +74,6 @@ const char *_86f_format::extensions() const noexcept
return "86f";
}
-bool _86f_format::supports_save() const noexcept
-{
- return false;
-}
-
int _86f_format::identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const
{
uint8_t header[4];
diff --git a/src/lib/formats/86f_dsk.h b/src/lib/formats/86f_dsk.h
index 0afbe4d65ee..b3e614547db 100644
--- a/src/lib/formats/86f_dsk.h
+++ b/src/lib/formats/86f_dsk.h
@@ -21,12 +21,10 @@ public:
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;
private:
void generate_track_from_bitstream_with_weak(int track, int head, const uint8_t *trackbuf, const uint8_t *weak, int index_cell, int track_size, floppy_image &image) const;
diff --git a/src/lib/formats/acorn_dsk.cpp b/src/lib/formats/acorn_dsk.cpp
index a05f73282bd..31362b06477 100644
--- a/src/lib/formats/acorn_dsk.cpp
+++ b/src/lib/formats/acorn_dsk.cpp
@@ -650,11 +650,6 @@ const char *opus_ddcpm_format::extensions() const noexcept
return "ssd";
}
-bool opus_ddcpm_format::supports_save() const noexcept
-{
- return false;
-}
-
int opus_ddcpm_format::identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const
{
uint8_t h[8];
@@ -720,11 +715,6 @@ bool opus_ddcpm_format::load(util::random_read &io, uint32_t form_factor, const
return true;
}
-bool opus_ddcpm_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
-{
- return false;
-}
-
cumana_dfs_format::cumana_dfs_format() : wd177x_format(formats)
{
diff --git a/src/lib/formats/acorn_dsk.h b/src/lib/formats/acorn_dsk.h
index 5dc870a914f..c11bf4d2321 100644
--- a/src/lib/formats/acorn_dsk.h
+++ b/src/lib/formats/acorn_dsk.h
@@ -125,12 +125,10 @@ public:
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;
};
diff --git a/src/lib/formats/ap2_dsk.cpp b/src/lib/formats/ap2_dsk.cpp
index 1880ad7bd23..7e4aea8255c 100644
--- a/src/lib/formats/ap2_dsk.cpp
+++ b/src/lib/formats/ap2_dsk.cpp
@@ -133,11 +133,6 @@ const char *a2_13sect_format::extensions() const noexcept
return "d13";
}
-bool a2_13sect_format::supports_save() const noexcept
-{
- return false;
-}
-
const a2_13sect_format FLOPPY_A213S_FORMAT;
static const uint8_t translate6[0x40] =
@@ -1154,11 +1149,6 @@ const char *a2_edd_format::extensions() const noexcept
return "edd";
}
-bool a2_edd_format::supports_save() const noexcept
-{
- return false;
-}
-
int a2_edd_format::identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const
{
uint64_t size;
@@ -1276,11 +1266,6 @@ const char *a2_nib_format::extensions() const noexcept
return "nib";
}
-bool a2_nib_format::supports_save() const noexcept
-{
- return false;
-}
-
int a2_nib_format::identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const
{
uint64_t size;
diff --git a/src/lib/formats/ap2_dsk.h b/src/lib/formats/ap2_dsk.h
index 33117ecbd84..3289e53822e 100644
--- a/src/lib/formats/ap2_dsk.h
+++ b/src/lib/formats/ap2_dsk.h
@@ -37,7 +37,6 @@ public:
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;
private:
static uint8_t gb(const std::vector<bool> &buf, int &pos, int &wrap);
@@ -113,7 +112,6 @@ public:
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 supports_save() const noexcept override;
virtual const char *name() const noexcept override;
virtual const char *description() const noexcept override;
@@ -132,7 +130,6 @@ public:
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 supports_save() const noexcept override;
virtual const char *name() const noexcept override;
virtual const char *description() const noexcept override;
diff --git a/src/lib/formats/apd_dsk.cpp b/src/lib/formats/apd_dsk.cpp
index 55d722bdf38..6e05485acd6 100644
--- a/src/lib/formats/apd_dsk.cpp
+++ b/src/lib/formats/apd_dsk.cpp
@@ -208,9 +208,4 @@ bool apd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool apd_format::supports_save() const noexcept
-{
- return false;
-}
-
const apd_format FLOPPY_APD_FORMAT;
diff --git a/src/lib/formats/apd_dsk.h b/src/lib/formats/apd_dsk.h
index 3d7d161f83e..75d67a82dd2 100644
--- a/src/lib/formats/apd_dsk.h
+++ b/src/lib/formats/apd_dsk.h
@@ -25,7 +25,6 @@ public:
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 supports_save() const noexcept override;
};
extern const apd_format FLOPPY_APD_FORMAT;
diff --git a/src/lib/formats/apridisk.cpp b/src/lib/formats/apridisk.cpp
index 36ad6018336..7f6737c5283 100644
--- a/src/lib/formats/apridisk.cpp
+++ b/src/lib/formats/apridisk.cpp
@@ -148,9 +148,4 @@ bool apridisk_format::load(util::random_read &io, uint32_t form_factor, const st
return true;
}
-bool apridisk_format::supports_save() const noexcept
-{
- return false;
-}
-
const apridisk_format FLOPPY_APRIDISK_FORMAT;
diff --git a/src/lib/formats/apridisk.h b/src/lib/formats/apridisk.h
index 3759b1b59cd..34ad5eaf289 100644
--- a/src/lib/formats/apridisk.h
+++ b/src/lib/formats/apridisk.h
@@ -25,7 +25,6 @@ public:
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 supports_save() const noexcept override;
private:
static const int APR_HEADER_SIZE = 128;
diff --git a/src/lib/formats/ccvf_dsk.cpp b/src/lib/formats/ccvf_dsk.cpp
index d2c8da8e083..60e2e15b7a7 100644
--- a/src/lib/formats/ccvf_dsk.cpp
+++ b/src/lib/formats/ccvf_dsk.cpp
@@ -153,9 +153,4 @@ bool ccvf_format::load(util::random_read &io, uint32_t form_factor, const std::v
return true;
}
-bool ccvf_format::supports_save() const noexcept
-{
- return false;
-}
-
const ccvf_format FLOPPY_CCVF_FORMAT;
diff --git a/src/lib/formats/ccvf_dsk.h b/src/lib/formats/ccvf_dsk.h
index 483b6a3cbb4..41bf71a32f8 100644
--- a/src/lib/formats/ccvf_dsk.h
+++ b/src/lib/formats/ccvf_dsk.h
@@ -41,7 +41,6 @@ public:
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 supports_save() const noexcept override;
protected:
const format *formats;
diff --git a/src/lib/formats/cqm_dsk.cpp b/src/lib/formats/cqm_dsk.cpp
index 850d223da7a..3c4b7301fe5 100644
--- a/src/lib/formats/cqm_dsk.cpp
+++ b/src/lib/formats/cqm_dsk.cpp
@@ -368,14 +368,4 @@ bool cqm_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool cqm_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
-{
- return false;
-}
-
-bool cqm_format::supports_save() const noexcept
-{
- return false;
-}
-
const cqm_format FLOPPY_CQM_FORMAT;
diff --git a/src/lib/formats/cqm_dsk.h b/src/lib/formats/cqm_dsk.h
index 382861b8740..42b172a1826 100644
--- a/src/lib/formats/cqm_dsk.h
+++ b/src/lib/formats/cqm_dsk.h
@@ -21,12 +21,10 @@ public:
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;
};
extern const cqm_format FLOPPY_CQM_FORMAT;
diff --git a/src/lib/formats/d88_dsk.cpp b/src/lib/formats/d88_dsk.cpp
index 93a995a47fb..ded3ddedf5e 100644
--- a/src/lib/formats/d88_dsk.cpp
+++ b/src/lib/formats/d88_dsk.cpp
@@ -554,9 +554,4 @@ bool d88_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool d88_format::supports_save() const noexcept
-{
- return false;
-}
-
const d88_format FLOPPY_D88_FORMAT;
diff --git a/src/lib/formats/d88_dsk.h b/src/lib/formats/d88_dsk.h
index a1f03bf2e2d..82f998b78b5 100644
--- a/src/lib/formats/d88_dsk.h
+++ b/src/lib/formats/d88_dsk.h
@@ -26,7 +26,6 @@ public:
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 d88_format FLOPPY_D88_FORMAT;
diff --git a/src/lib/formats/dcp_dsk.cpp b/src/lib/formats/dcp_dsk.cpp
index dfc9eea27dc..b93598e0bf9 100644
--- a/src/lib/formats/dcp_dsk.cpp
+++ b/src/lib/formats/dcp_dsk.cpp
@@ -298,9 +298,4 @@ bool dcp_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool dcp_format::supports_save() const noexcept
-{
- return false;
-}
-
const dcp_format FLOPPY_DCP_FORMAT;
diff --git a/src/lib/formats/dcp_dsk.h b/src/lib/formats/dcp_dsk.h
index a7d0c073c7b..c84a13ea275 100644
--- a/src/lib/formats/dcp_dsk.h
+++ b/src/lib/formats/dcp_dsk.h
@@ -26,7 +26,6 @@ public:
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 dcp_format FLOPPY_DCP_FORMAT;
diff --git a/src/lib/formats/dfi_dsk.cpp b/src/lib/formats/dfi_dsk.cpp
index e2ea1fda0e3..f0d90257189 100644
--- a/src/lib/formats/dfi_dsk.cpp
+++ b/src/lib/formats/dfi_dsk.cpp
@@ -57,11 +57,6 @@ const char *dfi_format::extensions() const noexcept
return "dfi";
}
-bool dfi_format::supports_save() const noexcept
-{
- return false;
-}
-
int dfi_format::identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const
{
char sign[4];
diff --git a/src/lib/formats/dfi_dsk.h b/src/lib/formats/dfi_dsk.h
index 1968b1cb6ad..21f0e22f1bb 100644
--- a/src/lib/formats/dfi_dsk.h
+++ b/src/lib/formats/dfi_dsk.h
@@ -18,7 +18,6 @@ public:
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 dfi_format FLOPPY_DFI_FORMAT;
diff --git a/src/lib/formats/dim_dsk.cpp b/src/lib/formats/dim_dsk.cpp
index 1f0902c2859..151907825e0 100644
--- a/src/lib/formats/dim_dsk.cpp
+++ b/src/lib/formats/dim_dsk.cpp
@@ -131,9 +131,4 @@ bool dim_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
-bool dim_format::supports_save() const noexcept
-{
- return false;
-}
-
const dim_format FLOPPY_DIM_FORMAT;
diff --git a/src/lib/formats/dim_dsk.h b/src/lib/formats/dim_dsk.h
index 664e566c046..f34d440172e 100644
--- a/src/lib/formats/dim_dsk.h
+++ b/src/lib/formats/dim_dsk.h
@@ -27,7 +27,6 @@ public:
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 dim_format FLOPPY_DIM_FORMAT;
diff --git a/src/lib/formats/dip_dsk.cpp b/src/lib/formats/dip_dsk.cpp
index 3ef8261d1da..a7316d24a8e 100644
--- a/src/lib/formats/dip_dsk.cpp
+++ b/src/lib/formats/dip_dsk.cpp
@@ -92,9 +92,4 @@ bool dip_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool dip_format::supports_save() const noexcept
-{
- return false;
-}
-
const dip_format FLOPPY_DIP_FORMAT;
diff --git a/src/lib/formats/dip_dsk.h b/src/lib/formats/dip_dsk.h
index cc315a813d7..fe344245ebf 100644
--- a/src/lib/formats/dip_dsk.h
+++ b/src/lib/formats/dip_dsk.h
@@ -26,7 +26,6 @@ public:
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 dip_format FLOPPY_DIP_FORMAT;
diff --git a/src/lib/formats/dmk_dsk.cpp b/src/lib/formats/dmk_dsk.cpp
index d02401b56cf..fa0cd6e54c5 100644
--- a/src/lib/formats/dmk_dsk.cpp
+++ b/src/lib/formats/dmk_dsk.cpp
@@ -346,10 +346,4 @@ bool dmk_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool dmk_format::supports_save() const noexcept
-{
- return false;
-}
-
-
const dmk_format FLOPPY_DMK_FORMAT;
diff --git a/src/lib/formats/dmk_dsk.h b/src/lib/formats/dmk_dsk.h
index 1c7850f1384..32073d3d300 100644
--- a/src/lib/formats/dmk_dsk.h
+++ b/src/lib/formats/dmk_dsk.h
@@ -27,7 +27,6 @@ public:
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 dmk_format FLOPPY_DMK_FORMAT;
diff --git a/src/lib/formats/dsk_dsk.cpp b/src/lib/formats/dsk_dsk.cpp
index e10e94f80be..619927f5956 100644
--- a/src/lib/formats/dsk_dsk.cpp
+++ b/src/lib/formats/dsk_dsk.cpp
@@ -303,11 +303,6 @@ const char *dsk_format::extensions() const noexcept
return "dsk";
}
-bool dsk_format::supports_save() const noexcept
-{
- return false;
-}
-
int dsk_format::identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const
{
uint8_t header[16];
diff --git a/src/lib/formats/dsk_dsk.h b/src/lib/formats/dsk_dsk.h
index d3a7b7c704c..6b0f489fe1d 100644
--- a/src/lib/formats/dsk_dsk.h
+++ b/src/lib/formats/dsk_dsk.h
@@ -25,7 +25,6 @@ public:
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 dsk_format FLOPPY_DSK_FORMAT;
diff --git a/src/lib/formats/fdd_dsk.cpp b/src/lib/formats/fdd_dsk.cpp
index 7519eb593dd..0ade1f55f5d 100644
--- a/src/lib/formats/fdd_dsk.cpp
+++ b/src/lib/formats/fdd_dsk.cpp
@@ -147,9 +147,4 @@ bool fdd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool fdd_format::supports_save() const noexcept
-{
- return false;
-}
-
const fdd_format FLOPPY_FDD_FORMAT;
diff --git a/src/lib/formats/fdd_dsk.h b/src/lib/formats/fdd_dsk.h
index 9dbd0accc5a..085f0af01c9 100644
--- a/src/lib/formats/fdd_dsk.h
+++ b/src/lib/formats/fdd_dsk.h
@@ -26,7 +26,6 @@ public:
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 fdd_format FLOPPY_FDD_FORMAT;
diff --git a/src/lib/formats/flopimg.cpp b/src/lib/formats/flopimg.cpp
index fa4903447fb..0e4cd6bde53 100644
--- a/src/lib/formats/flopimg.cpp
+++ b/src/lib/formats/flopimg.cpp
@@ -178,6 +178,11 @@ bool floppy_image_format_t::save(util::random_read_write &io, const std::vector<
return false;
}
+bool floppy_image_format_t::supports_save() const noexcept
+{
+ return false;
+}
+
bool floppy_image_format_t::extension_matches(const char *file_name) const
{
const char *ext = strrchr(file_name, '.');
diff --git a/src/lib/formats/flopimg.h b/src/lib/formats/flopimg.h
index 18cc17ea73b..e8aba163233 100644
--- a/src/lib/formats/flopimg.h
+++ b/src/lib/formats/flopimg.h
@@ -88,7 +88,7 @@ public:
//! extensions the format may use.
virtual const char *extensions() const noexcept = 0;
//! @returns true if format supports saving.
- virtual bool supports_save() const noexcept = 0;
+ virtual bool supports_save() const noexcept;
//! This checks if the file has the proper extension for this format.
//! @param file_name
diff --git a/src/lib/formats/fsd_dsk.cpp b/src/lib/formats/fsd_dsk.cpp
index b386dc026c6..6b28840d94f 100644
--- a/src/lib/formats/fsd_dsk.cpp
+++ b/src/lib/formats/fsd_dsk.cpp
@@ -83,11 +83,6 @@ const char *fsd_format::extensions() const noexcept
return "fsd";
}
-bool fsd_format::supports_save() const noexcept
-{
- return false;
-}
-
int fsd_format::identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const
{
uint8_t h[3];
diff --git a/src/lib/formats/fsd_dsk.h b/src/lib/formats/fsd_dsk.h
index 8b61e8d68c6..0554174564d 100644
--- a/src/lib/formats/fsd_dsk.h
+++ b/src/lib/formats/fsd_dsk.h
@@ -31,7 +31,6 @@ public:
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 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;
diff --git a/src/lib/formats/imd_dsk.cpp b/src/lib/formats/imd_dsk.cpp
index 907440dc922..7051f99c989 100644
--- a/src/lib/formats/imd_dsk.cpp
+++ b/src/lib/formats/imd_dsk.cpp
@@ -649,9 +649,4 @@ bool imd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool imd_format::supports_save() const noexcept
-{
- return false;
-}
-
const imd_format FLOPPY_IMD_FORMAT;
diff --git a/src/lib/formats/imd_dsk.h b/src/lib/formats/imd_dsk.h
index ac0b613e16f..95957a445ac 100644
--- a/src/lib/formats/imd_dsk.h
+++ b/src/lib/formats/imd_dsk.h
@@ -23,7 +23,6 @@ public:
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;
private:
void fixnum(char *start, char *end) const;
diff --git a/src/lib/formats/ipf_dsk.cpp b/src/lib/formats/ipf_dsk.cpp
index b47eca030f2..895c8753458 100644
--- a/src/lib/formats/ipf_dsk.cpp
+++ b/src/lib/formats/ipf_dsk.cpp
@@ -91,11 +91,6 @@ const char *ipf_format::extensions() const noexcept
return "ipf";
}
-bool ipf_format::supports_save() const noexcept
-{
- return false;
-}
-
int ipf_format::identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const
{
static const uint8_t refh[12] = { 0x43, 0x41, 0x50, 0x53, 0x00, 0x00, 0x00, 0x0c, 0x1c, 0xd5, 0x73, 0xba };
diff --git a/src/lib/formats/ipf_dsk.h b/src/lib/formats/ipf_dsk.h
index a1c36f02f8d..a02ae24a15b 100644
--- a/src/lib/formats/ipf_dsk.h
+++ b/src/lib/formats/ipf_dsk.h
@@ -18,7 +18,6 @@ public:
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;
private:
struct ipf_decode;
diff --git a/src/lib/formats/jfd_dsk.cpp b/src/lib/formats/jfd_dsk.cpp
index 46e933cedf1..8cc3fb31134 100644
--- a/src/lib/formats/jfd_dsk.cpp
+++ b/src/lib/formats/jfd_dsk.cpp
@@ -374,9 +374,4 @@ bool jfd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool jfd_format::supports_save() const noexcept
-{
- return false;
-}
-
const jfd_format FLOPPY_JFD_FORMAT;
diff --git a/src/lib/formats/jfd_dsk.h b/src/lib/formats/jfd_dsk.h
index c4e01614619..84a2e20a19f 100644
--- a/src/lib/formats/jfd_dsk.h
+++ b/src/lib/formats/jfd_dsk.h
@@ -25,7 +25,6 @@ public:
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 supports_save() const noexcept override;
};
extern const jfd_format FLOPPY_JFD_FORMAT;
diff --git a/src/lib/formats/lw30_dsk.cpp b/src/lib/formats/lw30_dsk.cpp
index dd1536755d5..a6dc4a80f62 100644
--- a/src/lib/formats/lw30_dsk.cpp
+++ b/src/lib/formats/lw30_dsk.cpp
@@ -204,10 +204,4 @@ const char *lw30_format::extensions() const noexcept
return "img";
}
-bool lw30_format::supports_save() const noexcept
-{
- // TODO
- return false;
-}
-
const lw30_format FLOPPY_LW30_FORMAT;
diff --git a/src/lib/formats/lw30_dsk.h b/src/lib/formats/lw30_dsk.h
index cfff33d5888..506ca5edd1f 100644
--- a/src/lib/formats/lw30_dsk.h
+++ b/src/lib/formats/lw30_dsk.h
@@ -21,7 +21,6 @@ public:
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 lw30_format FLOPPY_LW30_FORMAT;
diff --git a/src/lib/formats/nfd_dsk.cpp b/src/lib/formats/nfd_dsk.cpp
index a51b461e144..93a190f0b34 100644
--- a/src/lib/formats/nfd_dsk.cpp
+++ b/src/lib/formats/nfd_dsk.cpp
@@ -283,9 +283,4 @@ bool nfd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool nfd_format::supports_save() const noexcept
-{
- return false;
-}
-
const nfd_format FLOPPY_NFD_FORMAT;
diff --git a/src/lib/formats/nfd_dsk.h b/src/lib/formats/nfd_dsk.h
index d0decfb1e17..e882ecfb663 100644
--- a/src/lib/formats/nfd_dsk.h
+++ b/src/lib/formats/nfd_dsk.h
@@ -26,7 +26,6 @@ public:
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 nfd_format FLOPPY_NFD_FORMAT;
diff --git a/src/lib/formats/pasti_dsk.cpp b/src/lib/formats/pasti_dsk.cpp
index ae82ee7939b..fe437c260f3 100644
--- a/src/lib/formats/pasti_dsk.cpp
+++ b/src/lib/formats/pasti_dsk.cpp
@@ -37,11 +37,6 @@ const char *pasti_format::extensions() const noexcept
return "stx";
}
-bool pasti_format::supports_save() const noexcept
-{
- return false;
-}
-
int pasti_format::identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const
{
uint8_t h[16];
diff --git a/src/lib/formats/pasti_dsk.h b/src/lib/formats/pasti_dsk.h
index 5ca54e610ae..a258453159b 100644
--- a/src/lib/formats/pasti_dsk.h
+++ b/src/lib/formats/pasti_dsk.h
@@ -18,7 +18,6 @@ public:
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;
static const desc_e xdesc[];
diff --git a/src/lib/formats/pc98fdi_dsk.cpp b/src/lib/formats/pc98fdi_dsk.cpp
index 10822ab316d..efe39661f3e 100644
--- a/src/lib/formats/pc98fdi_dsk.cpp
+++ b/src/lib/formats/pc98fdi_dsk.cpp
@@ -105,9 +105,4 @@ bool pc98fdi_format::load(util::random_read &io, uint32_t form_factor, const std
return true;
}
-bool pc98fdi_format::supports_save() const noexcept
-{
- return false;
-}
-
const pc98fdi_format FLOPPY_PC98FDI_FORMAT;
diff --git a/src/lib/formats/pc98fdi_dsk.h b/src/lib/formats/pc98fdi_dsk.h
index 3b279edb394..cb1c5cc5fa0 100644
--- a/src/lib/formats/pc98fdi_dsk.h
+++ b/src/lib/formats/pc98fdi_dsk.h
@@ -26,7 +26,6 @@ public:
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 pc98fdi_format FLOPPY_PC98FDI_FORMAT;
diff --git a/src/lib/formats/sap_dsk.cpp b/src/lib/formats/sap_dsk.cpp
index ef51cb8b772..2a5accaa128 100644
--- a/src/lib/formats/sap_dsk.cpp
+++ b/src/lib/formats/sap_dsk.cpp
@@ -34,11 +34,6 @@ const char *sap_dsk_format::extensions() const noexcept
return "sap";
}
-bool sap_dsk_format::supports_save() const noexcept
-{
- return false;
-}
-
int sap_dsk_format::identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const
{
uint8_t buffer[HEADER_LENGTH];
diff --git a/src/lib/formats/sap_dsk.h b/src/lib/formats/sap_dsk.h
index 5bc86a2d6ef..32f83d0b421 100644
--- a/src/lib/formats/sap_dsk.h
+++ b/src/lib/formats/sap_dsk.h
@@ -16,7 +16,6 @@ public:
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 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;
diff --git a/src/lib/formats/sdf_dsk.cpp b/src/lib/formats/sdf_dsk.cpp
index 92a6b9fb653..e4f98d8e8af 100644
--- a/src/lib/formats/sdf_dsk.cpp
+++ b/src/lib/formats/sdf_dsk.cpp
@@ -187,10 +187,4 @@ bool sdf_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
-bool sdf_format::supports_save() const noexcept
-{
- return false;
-}
-
-
const sdf_format FLOPPY_SDF_FORMAT;
diff --git a/src/lib/formats/sdf_dsk.h b/src/lib/formats/sdf_dsk.h
index 149a3b2bcba..f7a4f6705a1 100644
--- a/src/lib/formats/sdf_dsk.h
+++ b/src/lib/formats/sdf_dsk.h
@@ -28,7 +28,6 @@ public:
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;
protected:
static constexpr int HEADER_SIZE = 512;
diff --git a/src/lib/formats/td0_dsk.cpp b/src/lib/formats/td0_dsk.cpp
index 956bbd002c7..00f8f4897b6 100644
--- a/src/lib/formats/td0_dsk.cpp
+++ b/src/lib/formats/td0_dsk.cpp
@@ -1052,9 +1052,4 @@ bool td0_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
-bool td0_format::supports_save() const noexcept
-{
- return false;
-}
-
const td0_format FLOPPY_TD0_FORMAT;
diff --git a/src/lib/formats/td0_dsk.h b/src/lib/formats/td0_dsk.h
index a6501054ff7..b85f092ee1b 100644
--- a/src/lib/formats/td0_dsk.h
+++ b/src/lib/formats/td0_dsk.h
@@ -19,7 +19,6 @@ public:
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 td0_format FLOPPY_TD0_FORMAT;