summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/devices/imagedev/floppy.cpp6
-rw-r--r--src/lib/formats/2d_dsk.cpp6
-rw-r--r--src/lib/formats/2d_dsk.h6
-rw-r--r--src/lib/formats/a5105_dsk.cpp8
-rw-r--r--src/lib/formats/a5105_dsk.h6
-rw-r--r--src/lib/formats/abc1600_dsk.cpp8
-rw-r--r--src/lib/formats/abc1600_dsk.h6
-rw-r--r--src/lib/formats/abc800_dsk.cpp8
-rw-r--r--src/lib/formats/abc800_dsk.h6
-rw-r--r--src/lib/formats/abc800i_dsk.cpp8
-rw-r--r--src/lib/formats/abc800i_dsk.h6
-rw-r--r--src/lib/formats/abcfd2_dsk.cpp8
-rw-r--r--src/lib/formats/abcfd2_dsk.h6
-rw-r--r--src/lib/formats/acorn_dsk.cpp54
-rw-r--r--src/lib/formats/acorn_dsk.h54
-rw-r--r--src/lib/formats/adam_dsk.cpp8
-rw-r--r--src/lib/formats/adam_dsk.h6
-rw-r--r--src/lib/formats/afs_dsk.cpp6
-rw-r--r--src/lib/formats/afs_dsk.h6
-rw-r--r--src/lib/formats/aim_dsk.cpp12
-rw-r--r--src/lib/formats/aim_dsk.h10
-rw-r--r--src/lib/formats/ami_dsk.cpp20
-rw-r--r--src/lib/formats/ami_dsk.h12
-rw-r--r--src/lib/formats/ap2_dsk.cpp62
-rw-r--r--src/lib/formats/ap2_dsk.h50
-rw-r--r--src/lib/formats/ap_dsk35.cpp54
-rw-r--r--src/lib/formats/ap_dsk35.h36
-rw-r--r--src/lib/formats/apd_dsk.cpp14
-rw-r--r--src/lib/formats/apd_dsk.h10
-rw-r--r--src/lib/formats/apollo_dsk.cpp8
-rw-r--r--src/lib/formats/apollo_dsk.h6
-rw-r--r--src/lib/formats/applix_dsk.cpp8
-rw-r--r--src/lib/formats/applix_dsk.h6
-rw-r--r--src/lib/formats/apridisk.cpp10
-rw-r--r--src/lib/formats/apridisk.h10
-rw-r--r--src/lib/formats/as_dsk.cpp60
-rw-r--r--src/lib/formats/as_dsk.h31
-rw-r--r--src/lib/formats/asst128_dsk.cpp8
-rw-r--r--src/lib/formats/asst128_dsk.h6
-rw-r--r--src/lib/formats/atom_dsk.cpp6
-rw-r--r--src/lib/formats/atom_dsk.h6
-rw-r--r--src/lib/formats/bw12_dsk.cpp8
-rw-r--r--src/lib/formats/bw12_dsk.h6
-rw-r--r--src/lib/formats/bw2_dsk.cpp8
-rw-r--r--src/lib/formats/bw2_dsk.h6
-rw-r--r--src/lib/formats/c3040_dsk.cpp8
-rw-r--r--src/lib/formats/c3040_dsk.h6
-rw-r--r--src/lib/formats/c4040_dsk.cpp8
-rw-r--r--src/lib/formats/c4040_dsk.h6
-rw-r--r--src/lib/formats/c8280_dsk.cpp8
-rw-r--r--src/lib/formats/c8280_dsk.h6
-rw-r--r--src/lib/formats/camplynx_dsk.cpp8
-rw-r--r--src/lib/formats/camplynx_dsk.h6
-rw-r--r--src/lib/formats/ccvf_dsk.cpp14
-rw-r--r--src/lib/formats/ccvf_dsk.h10
-rw-r--r--src/lib/formats/cgenie_dsk.cpp6
-rw-r--r--src/lib/formats/cgenie_dsk.h6
-rw-r--r--src/lib/formats/coco_rawdsk.cpp6
-rw-r--r--src/lib/formats/coco_rawdsk.h6
-rw-r--r--src/lib/formats/comx35_dsk.cpp8
-rw-r--r--src/lib/formats/comx35_dsk.h6
-rw-r--r--src/lib/formats/concept_dsk.cpp16
-rw-r--r--src/lib/formats/concept_dsk.h12
-rw-r--r--src/lib/formats/coupedsk.cpp16
-rw-r--r--src/lib/formats/coupedsk.h12
-rw-r--r--src/lib/formats/cp68_dsk.cpp6
-rw-r--r--src/lib/formats/cp68_dsk.h6
-rw-r--r--src/lib/formats/cpis_dsk.cpp8
-rw-r--r--src/lib/formats/cpis_dsk.h6
-rw-r--r--src/lib/formats/cqm_dsk.cpp22
-rw-r--r--src/lib/formats/cqm_dsk.h12
-rw-r--r--src/lib/formats/d64_dsk.cpp16
-rw-r--r--src/lib/formats/d64_dsk.h14
-rw-r--r--src/lib/formats/d71_dsk.cpp8
-rw-r--r--src/lib/formats/d71_dsk.h6
-rw-r--r--src/lib/formats/d80_dsk.cpp8
-rw-r--r--src/lib/formats/d80_dsk.h6
-rw-r--r--src/lib/formats/d81_dsk.cpp8
-rw-r--r--src/lib/formats/d81_dsk.h6
-rw-r--r--src/lib/formats/d82_dsk.cpp8
-rw-r--r--src/lib/formats/d82_dsk.h6
-rw-r--r--src/lib/formats/d88_dsk.cpp22
-rw-r--r--src/lib/formats/d88_dsk.h10
-rw-r--r--src/lib/formats/dcp_dsk.cpp12
-rw-r--r--src/lib/formats/dcp_dsk.h10
-rw-r--r--src/lib/formats/dfi_dsk.cpp12
-rw-r--r--src/lib/formats/dfi_dsk.h10
-rw-r--r--src/lib/formats/dim_dsk.cpp12
-rw-r--r--src/lib/formats/dim_dsk.h10
-rw-r--r--src/lib/formats/dip_dsk.cpp12
-rw-r--r--src/lib/formats/dip_dsk.h10
-rw-r--r--src/lib/formats/dmk_dsk.cpp14
-rw-r--r--src/lib/formats/dmk_dsk.h10
-rw-r--r--src/lib/formats/dmv_dsk.cpp8
-rw-r--r--src/lib/formats/dmv_dsk.h6
-rw-r--r--src/lib/formats/ds9_dsk.cpp10
-rw-r--r--src/lib/formats/ds9_dsk.h10
-rw-r--r--src/lib/formats/dsk_dsk.cpp14
-rw-r--r--src/lib/formats/dsk_dsk.h10
-rw-r--r--src/lib/formats/dvk_mx_dsk.cpp16
-rw-r--r--src/lib/formats/dvk_mx_dsk.h10
-rw-r--r--src/lib/formats/ep64_dsk.cpp8
-rw-r--r--src/lib/formats/ep64_dsk.h6
-rw-r--r--src/lib/formats/esq16_dsk.cpp16
-rw-r--r--src/lib/formats/esq16_dsk.h12
-rw-r--r--src/lib/formats/esq8_dsk.cpp16
-rw-r--r--src/lib/formats/esq8_dsk.h12
-rw-r--r--src/lib/formats/excali64_dsk.cpp8
-rw-r--r--src/lib/formats/excali64_dsk.h6
-rw-r--r--src/lib/formats/fdd_dsk.cpp12
-rw-r--r--src/lib/formats/fdd_dsk.h10
-rw-r--r--src/lib/formats/fdos_dsk.cpp6
-rw-r--r--src/lib/formats/fdos_dsk.h6
-rw-r--r--src/lib/formats/fl1_dsk.cpp8
-rw-r--r--src/lib/formats/fl1_dsk.h6
-rw-r--r--src/lib/formats/flex_dsk.cpp8
-rw-r--r--src/lib/formats/flex_dsk.h6
-rw-r--r--src/lib/formats/flopimg.cpp61
-rw-r--r--src/lib/formats/flopimg.h67
-rw-r--r--src/lib/formats/fmtowns_dsk.cpp8
-rw-r--r--src/lib/formats/fmtowns_dsk.h6
-rw-r--r--src/lib/formats/fsd_dsk.cpp10
-rw-r--r--src/lib/formats/fsd_dsk.h10
-rw-r--r--src/lib/formats/g64_dsk.cpp22
-rw-r--r--src/lib/formats/g64_dsk.h14
-rw-r--r--src/lib/formats/guab_dsk.cpp6
-rw-r--r--src/lib/formats/guab_dsk.h6
-rw-r--r--src/lib/formats/hector_minidisc.cpp6
-rw-r--r--src/lib/formats/hector_minidisc.h6
-rw-r--r--src/lib/formats/hp300_dsk.cpp8
-rw-r--r--src/lib/formats/hp300_dsk.h6
-rw-r--r--src/lib/formats/hp_ipc_dsk.cpp8
-rw-r--r--src/lib/formats/hp_ipc_dsk.h6
-rw-r--r--src/lib/formats/hpi_dsk.cpp18
-rw-r--r--src/lib/formats/hpi_dsk.h12
-rw-r--r--src/lib/formats/hxchfe_dsk.cpp26
-rw-r--r--src/lib/formats/hxchfe_dsk.h12
-rw-r--r--src/lib/formats/hxcmfm_dsk.cpp18
-rw-r--r--src/lib/formats/hxcmfm_dsk.h12
-rw-r--r--src/lib/formats/ibmxdf_dsk.cpp12
-rw-r--r--src/lib/formats/ibmxdf_dsk.h10
-rw-r--r--src/lib/formats/imd_dsk.cpp16
-rw-r--r--src/lib/formats/imd_dsk.h10
-rw-r--r--src/lib/formats/img_dsk.cpp16
-rw-r--r--src/lib/formats/img_dsk.h12
-rw-r--r--src/lib/formats/ipf_dsk.cpp112
-rw-r--r--src/lib/formats/ipf_dsk.h22
-rw-r--r--src/lib/formats/iq151_dsk.cpp8
-rw-r--r--src/lib/formats/iq151_dsk.h6
-rw-r--r--src/lib/formats/itt3030_dsk.cpp8
-rw-r--r--src/lib/formats/itt3030_dsk.h6
-rw-r--r--src/lib/formats/jfd_dsk.cpp14
-rw-r--r--src/lib/formats/jfd_dsk.h10
-rw-r--r--src/lib/formats/juku_dsk.cpp6
-rw-r--r--src/lib/formats/juku_dsk.h6
-rw-r--r--src/lib/formats/jvc_dsk.cpp16
-rw-r--r--src/lib/formats/jvc_dsk.h12
-rw-r--r--src/lib/formats/kaypro_dsk.cpp14
-rw-r--r--src/lib/formats/kaypro_dsk.h12
-rw-r--r--src/lib/formats/kc85_dsk.cpp8
-rw-r--r--src/lib/formats/kc85_dsk.h6
-rw-r--r--src/lib/formats/lw30_dsk.cpp12
-rw-r--r--src/lib/formats/lw30_dsk.h10
-rw-r--r--src/lib/formats/m20_dsk.cpp16
-rw-r--r--src/lib/formats/m20_dsk.h14
-rw-r--r--src/lib/formats/m5_dsk.cpp8
-rw-r--r--src/lib/formats/m5_dsk.h6
-rw-r--r--src/lib/formats/mdos_dsk.cpp8
-rw-r--r--src/lib/formats/mdos_dsk.h6
-rw-r--r--src/lib/formats/mfi_dsk.cpp34
-rw-r--r--src/lib/formats/mfi_dsk.h12
-rw-r--r--src/lib/formats/mm_dsk.cpp14
-rw-r--r--src/lib/formats/mm_dsk.h12
-rw-r--r--src/lib/formats/ms0515_dsk.cpp6
-rw-r--r--src/lib/formats/ms0515_dsk.h6
-rw-r--r--src/lib/formats/msx_dsk.cpp8
-rw-r--r--src/lib/formats/msx_dsk.h6
-rw-r--r--src/lib/formats/mtx_dsk.cpp6
-rw-r--r--src/lib/formats/mtx_dsk.h6
-rw-r--r--src/lib/formats/nanos_dsk.cpp8
-rw-r--r--src/lib/formats/nanos_dsk.h6
-rw-r--r--src/lib/formats/nascom_dsk.cpp6
-rw-r--r--src/lib/formats/nascom_dsk.h6
-rw-r--r--src/lib/formats/naslite_dsk.cpp8
-rw-r--r--src/lib/formats/naslite_dsk.h6
-rw-r--r--src/lib/formats/nfd_dsk.cpp16
-rw-r--r--src/lib/formats/nfd_dsk.h10
-rw-r--r--src/lib/formats/opd_dsk.cpp6
-rw-r--r--src/lib/formats/opd_dsk.h6
-rw-r--r--src/lib/formats/oric_dsk.cpp28
-rw-r--r--src/lib/formats/oric_dsk.h22
-rw-r--r--src/lib/formats/os9_dsk.cpp8
-rw-r--r--src/lib/formats/os9_dsk.h6
-rw-r--r--src/lib/formats/pasti_dsk.cpp24
-rw-r--r--src/lib/formats/pasti_dsk.h22
-rw-r--r--src/lib/formats/pc98_dsk.cpp8
-rw-r--r--src/lib/formats/pc98_dsk.h6
-rw-r--r--src/lib/formats/pc98fdi_dsk.cpp12
-rw-r--r--src/lib/formats/pc98fdi_dsk.h10
-rw-r--r--src/lib/formats/pc_dsk.cpp8
-rw-r--r--src/lib/formats/pc_dsk.h6
-rw-r--r--src/lib/formats/pk8020_dsk.cpp6
-rw-r--r--src/lib/formats/pk8020_dsk.h6
-rw-r--r--src/lib/formats/poly_dsk.cpp10
-rw-r--r--src/lib/formats/poly_dsk.h10
-rw-r--r--src/lib/formats/ppg_dsk.cpp8
-rw-r--r--src/lib/formats/ppg_dsk.h6
-rw-r--r--src/lib/formats/pyldin_dsk.cpp8
-rw-r--r--src/lib/formats/pyldin_dsk.h6
-rw-r--r--src/lib/formats/ql_dsk.cpp8
-rw-r--r--src/lib/formats/ql_dsk.h6
-rw-r--r--src/lib/formats/rc759_dsk.cpp6
-rw-r--r--src/lib/formats/rc759_dsk.h6
-rw-r--r--src/lib/formats/roland_dsk.cpp6
-rw-r--r--src/lib/formats/roland_dsk.h6
-rw-r--r--src/lib/formats/rx50_dsk.cpp16
-rw-r--r--src/lib/formats/rx50_dsk.h12
-rw-r--r--src/lib/formats/sdd_dsk.cpp8
-rw-r--r--src/lib/formats/sdd_dsk.h6
-rw-r--r--src/lib/formats/sdf_dsk.cpp16
-rw-r--r--src/lib/formats/sdf_dsk.h10
-rw-r--r--src/lib/formats/sf7000_dsk.cpp8
-rw-r--r--src/lib/formats/sf7000_dsk.h6
-rw-r--r--src/lib/formats/smx_dsk.cpp8
-rw-r--r--src/lib/formats/smx_dsk.h6
-rw-r--r--src/lib/formats/st_dsk.cpp30
-rw-r--r--src/lib/formats/st_dsk.h24
-rw-r--r--src/lib/formats/svi_dsk.cpp14
-rw-r--r--src/lib/formats/svi_dsk.h12
-rw-r--r--src/lib/formats/swd_dsk.cpp8
-rw-r--r--src/lib/formats/swd_dsk.h6
-rw-r--r--src/lib/formats/tandy2k_dsk.cpp8
-rw-r--r--src/lib/formats/tandy2k_dsk.h6
-rw-r--r--src/lib/formats/td0_dsk.cpp40
-rw-r--r--src/lib/formats/td0_dsk.h10
-rw-r--r--src/lib/formats/thom_dsk.cpp12
-rw-r--r--src/lib/formats/thom_dsk.h12
-rw-r--r--src/lib/formats/ti99_dsk.cpp24
-rw-r--r--src/lib/formats/ti99_dsk.h24
-rw-r--r--src/lib/formats/tibdd001_dsk.cpp6
-rw-r--r--src/lib/formats/tibdd001_dsk.h6
-rw-r--r--src/lib/formats/tiki100_dsk.cpp8
-rw-r--r--src/lib/formats/tiki100_dsk.h6
-rw-r--r--src/lib/formats/tim011_dsk.cpp6
-rw-r--r--src/lib/formats/tim011_dsk.h6
-rw-r--r--src/lib/formats/trd_dsk.cpp8
-rw-r--r--src/lib/formats/trd_dsk.h6
-rw-r--r--src/lib/formats/trs80_dsk.cpp30
-rw-r--r--src/lib/formats/trs80_dsk.h18
-rw-r--r--src/lib/formats/tvc_dsk.cpp8
-rw-r--r--src/lib/formats/tvc_dsk.h6
-rw-r--r--src/lib/formats/uniflex_dsk.cpp8
-rw-r--r--src/lib/formats/uniflex_dsk.h6
-rw-r--r--src/lib/formats/upd765_dsk.cpp22
-rw-r--r--src/lib/formats/upd765_dsk.h10
-rw-r--r--src/lib/formats/vdk_dsk.cpp14
-rw-r--r--src/lib/formats/vdk_dsk.h12
-rw-r--r--src/lib/formats/vector06_dsk.cpp6
-rw-r--r--src/lib/formats/vector06_dsk.h6
-rw-r--r--src/lib/formats/vgi_dsk.cpp10
-rw-r--r--src/lib/formats/vgi_dsk.h12
-rw-r--r--src/lib/formats/victor9k_dsk.cpp22
-rw-r--r--src/lib/formats/victor9k_dsk.h18
-rw-r--r--src/lib/formats/vt_dsk.cpp38
-rw-r--r--src/lib/formats/vt_dsk.h26
-rw-r--r--src/lib/formats/wd177x_dsk.cpp24
-rw-r--r--src/lib/formats/wd177x_dsk.h10
-rw-r--r--src/lib/formats/xdf_dsk.cpp8
-rw-r--r--src/lib/formats/xdf_dsk.h6
-rw-r--r--src/tools/floptool.cpp28
-rw-r--r--src/tools/image_handler.cpp34
-rw-r--r--src/tools/image_handler.h10
272 files changed, 1690 insertions, 1685 deletions
diff --git a/src/devices/imagedev/floppy.cpp b/src/devices/imagedev/floppy.cpp
index 7e33efa5ccb..e3cd5617ec8 100644
--- a/src/devices/imagedev/floppy.cpp
+++ b/src/devices/imagedev/floppy.cpp
@@ -415,7 +415,7 @@ void floppy_image_device::commit_image()
if (err)
popmessage("Error, unable to truncate image: %s", err.message());
- output_format->save(*io, variants, image.get());
+ output_format->save(*io, variants, *image);
}
void floppy_image_device::device_config_complete()
@@ -609,7 +609,7 @@ std::pair<std::error_condition, std::string> floppy_image_device::call_load()
return std::make_pair(image_error::INVALIDIMAGE, "Unable to identify image file format");
image = std::make_unique<floppy_image>(tracks, sides, form_factor);
- if (!best_format->load(*io, form_factor, variants, image.get())) {
+ if (!best_format->load(*io, form_factor, variants, *image)) {
image.reset();
return std::make_pair(image_error::INVALIDIMAGE, "Incompatible image file format or corrupted data");
}
@@ -833,7 +833,7 @@ void floppy_image_device::init_fs(const fs_info *fs, const fs::meta_data &meta)
cfs->format(meta);
auto io = util::ram_read(img.data(), img.size(), 0xff);
- fs->m_type->load(*io, floppy_image::FF_UNKNOWN, variants, image.get());
+ fs->m_type->load(*io, floppy_image::FF_UNKNOWN, variants, *image);
} else {
fs::unformatted_image::format(fs->m_key, image.get());
}
diff --git a/src/lib/formats/2d_dsk.cpp b/src/lib/formats/2d_dsk.cpp
index c0df26401ad..3e091413264 100644
--- a/src/lib/formats/2d_dsk.cpp
+++ b/src/lib/formats/2d_dsk.cpp
@@ -14,17 +14,17 @@ _2d_format::_2d_format() : wd177x_format(formats)
{
}
-const char *_2d_format::name() const
+const char *_2d_format::name() const noexcept
{
return "2d";
}
-const char *_2d_format::description() const
+const char *_2d_format::description() const noexcept
{
return "2D disk image";
}
-const char *_2d_format::extensions() const
+const char *_2d_format::extensions() const noexcept
{
return "2d";
}
diff --git a/src/lib/formats/2d_dsk.h b/src/lib/formats/2d_dsk.h
index 182b539e608..e64cd191a26 100644
--- a/src/lib/formats/2d_dsk.h
+++ b/src/lib/formats/2d_dsk.h
@@ -19,9 +19,9 @@ class _2d_format : public wd177x_format
public:
_2d_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/a5105_dsk.cpp b/src/lib/formats/a5105_dsk.cpp
index e1ee3724be4..81c25945ebf 100644
--- a/src/lib/formats/a5105_dsk.cpp
+++ b/src/lib/formats/a5105_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/a5105_dsk.c
+ formats/a5105_dsk.cpp
a5105 format
@@ -14,17 +14,17 @@ a5105_format::a5105_format() : upd765_format(formats)
{
}
-const char *a5105_format::name() const
+const char *a5105_format::name() const noexcept
{
return "a5105";
}
-const char *a5105_format::description() const
+const char *a5105_format::description() const noexcept
{
return "A5105 disk image";
}
-const char *a5105_format::extensions() const
+const char *a5105_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/a5105_dsk.h b/src/lib/formats/a5105_dsk.h
index fe0ddd09b86..c1c597378de 100644
--- a/src/lib/formats/a5105_dsk.h
+++ b/src/lib/formats/a5105_dsk.h
@@ -19,9 +19,9 @@ class a5105_format : public upd765_format
public:
a5105_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/abc1600_dsk.cpp b/src/lib/formats/abc1600_dsk.cpp
index 9b344269c3a..41fbf895f39 100644
--- a/src/lib/formats/abc1600_dsk.cpp
+++ b/src/lib/formats/abc1600_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/abc1600_dsk.c
+ formats/abc1600_dsk.cpp
Luxor ABC 1600 disk image formats
@@ -14,17 +14,17 @@ abc1600_format::abc1600_format() : wd177x_format(formats)
{
}
-const char *abc1600_format::name() const
+const char *abc1600_format::name() const noexcept
{
return "abc1600";
}
-const char *abc1600_format::description() const
+const char *abc1600_format::description() const noexcept
{
return "Luxor ABC 1600 disk image";
}
-const char *abc1600_format::extensions() const
+const char *abc1600_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/abc1600_dsk.h b/src/lib/formats/abc1600_dsk.h
index 1e4bb758a54..02ac331345d 100644
--- a/src/lib/formats/abc1600_dsk.h
+++ b/src/lib/formats/abc1600_dsk.h
@@ -19,9 +19,9 @@ class abc1600_format : public wd177x_format
public:
abc1600_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
protected:
virtual int get_image_offset(const format &f, int head, int track) const override;
diff --git a/src/lib/formats/abc800_dsk.cpp b/src/lib/formats/abc800_dsk.cpp
index 85bed08c7df..d7b47b502e8 100644
--- a/src/lib/formats/abc800_dsk.cpp
+++ b/src/lib/formats/abc800_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/abc800_dsk.c
+ formats/abc800_dsk.cpp
Luxor ABC 830/832/834/838 disk image formats
@@ -14,17 +14,17 @@ abc800_format::abc800_format() : wd177x_format(formats)
{
}
-const char *abc800_format::name() const
+const char *abc800_format::name() const noexcept
{
return "abc800";
}
-const char *abc800_format::description() const
+const char *abc800_format::description() const noexcept
{
return "Luxor ABC 830/832/834/838 disk image";
}
-const char *abc800_format::extensions() const
+const char *abc800_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/abc800_dsk.h b/src/lib/formats/abc800_dsk.h
index ce2ec83ac2b..f2d95c7c579 100644
--- a/src/lib/formats/abc800_dsk.h
+++ b/src/lib/formats/abc800_dsk.h
@@ -19,9 +19,9 @@ class abc800_format : public wd177x_format
public:
abc800_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
protected:
virtual int get_image_offset(const format &f, int head, int track) const override;
diff --git a/src/lib/formats/abc800i_dsk.cpp b/src/lib/formats/abc800i_dsk.cpp
index 3791cbc251f..1961dd9a9de 100644
--- a/src/lib/formats/abc800i_dsk.cpp
+++ b/src/lib/formats/abc800i_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/abc800i_dsk.c
+ formats/abc800i_dsk.cpp
Luxor ABC 830 interleaved disk image formats
@@ -17,17 +17,17 @@ abc800i_format::abc800i_format() : wd177x_format(formats)
{
}
-const char *abc800i_format::name() const
+const char *abc800i_format::name() const noexcept
{
return "abc800i";
}
-const char *abc800i_format::description() const
+const char *abc800i_format::description() const noexcept
{
return "Luxor ABC 830 interleaved disk image";
}
-const char *abc800i_format::extensions() const
+const char *abc800i_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/abc800i_dsk.h b/src/lib/formats/abc800i_dsk.h
index 53310b6836e..7248a5c038e 100644
--- a/src/lib/formats/abc800i_dsk.h
+++ b/src/lib/formats/abc800i_dsk.h
@@ -19,9 +19,9 @@ class abc800i_format : public wd177x_format
public:
abc800i_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
diff --git a/src/lib/formats/abcfd2_dsk.cpp b/src/lib/formats/abcfd2_dsk.cpp
index dbaef17f3fa..180d111430c 100644
--- a/src/lib/formats/abcfd2_dsk.cpp
+++ b/src/lib/formats/abcfd2_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/abcfd2_dsk.c
+ formats/abcfd2_dsk.cpp
Scandia Metric ABC FD2 disk image formats
@@ -14,17 +14,17 @@ abc_fd2_format::abc_fd2_format() : wd177x_format(formats)
{
}
-const char *abc_fd2_format::name() const
+const char *abc_fd2_format::name() const noexcept
{
return "abc_fd2";
}
-const char *abc_fd2_format::description() const
+const char *abc_fd2_format::description() const noexcept
{
return "Scandia Metric ABC FD2 disk image";
}
-const char *abc_fd2_format::extensions() const
+const char *abc_fd2_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/abcfd2_dsk.h b/src/lib/formats/abcfd2_dsk.h
index 72e79bb9e27..41f1924c392 100644
--- a/src/lib/formats/abcfd2_dsk.h
+++ b/src/lib/formats/abcfd2_dsk.h
@@ -19,9 +19,9 @@ class abc_fd2_format : public wd177x_format
public:
abc_fd2_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/acorn_dsk.cpp b/src/lib/formats/acorn_dsk.cpp
index 3ac2082393a..42a3aa61bdf 100644
--- a/src/lib/formats/acorn_dsk.cpp
+++ b/src/lib/formats/acorn_dsk.cpp
@@ -22,17 +22,17 @@ acorn_ssd_format::acorn_ssd_format() : wd177x_format(formats)
{
}
-const char *acorn_ssd_format::name() const
+const char *acorn_ssd_format::name() const noexcept
{
return "ssd";
}
-const char *acorn_ssd_format::description() const
+const char *acorn_ssd_format::description() const noexcept
{
return "Acorn SSD disk image";
}
-const char *acorn_ssd_format::extensions() const
+const char *acorn_ssd_format::extensions() const noexcept
{
return "ssd,bbc,img";
}
@@ -167,17 +167,17 @@ acorn_dsd_format::acorn_dsd_format() : wd177x_format(formats)
{
}
-const char *acorn_dsd_format::name() const
+const char *acorn_dsd_format::name() const noexcept
{
return "dsd";
}
-const char *acorn_dsd_format::description() const
+const char *acorn_dsd_format::description() const noexcept
{
return "Acorn DSD disk image";
}
-const char *acorn_dsd_format::extensions() const
+const char *acorn_dsd_format::extensions() const noexcept
{
return "dsd";
}
@@ -278,17 +278,17 @@ opus_ddos_format::opus_ddos_format() : wd177x_format(formats)
{
}
-const char *opus_ddos_format::name() const
+const char *opus_ddos_format::name() const noexcept
{
return "ddos";
}
-const char *opus_ddos_format::description() const
+const char *opus_ddos_format::description() const noexcept
{
return "Opus DDOS disk image";
}
-const char *opus_ddos_format::extensions() const
+const char *opus_ddos_format::extensions() const noexcept
{
return "dds";
}
@@ -376,17 +376,17 @@ acorn_adfs_old_format::acorn_adfs_old_format() : wd177x_format(formats)
{
}
-const char *acorn_adfs_old_format::name() const
+const char *acorn_adfs_old_format::name() const noexcept
{
return "adfs_o";
}
-const char *acorn_adfs_old_format::description() const
+const char *acorn_adfs_old_format::description() const noexcept
{
return "Acorn ADFS (OldMap) disk image";
}
-const char *acorn_adfs_old_format::extensions() const
+const char *acorn_adfs_old_format::extensions() const noexcept
{
return "adf,ads,adm,adl";
}
@@ -474,17 +474,17 @@ acorn_adfs_new_format::acorn_adfs_new_format() : wd177x_format(formats)
{
}
-const char *acorn_adfs_new_format::name() const
+const char *acorn_adfs_new_format::name() const noexcept
{
return "adfs_n";
}
-const char *acorn_adfs_new_format::description() const
+const char *acorn_adfs_new_format::description() const noexcept
{
return "Acorn ADFS (NewMap) disk image";
}
-const char *acorn_adfs_new_format::extensions() const
+const char *acorn_adfs_new_format::extensions() const noexcept
{
return "adf";
}
@@ -555,17 +555,17 @@ acorn_dos_format::acorn_dos_format() : wd177x_format(formats)
{
}
-const char *acorn_dos_format::name() const
+const char *acorn_dos_format::name() const noexcept
{
return "dos";
}
-const char *acorn_dos_format::description() const
+const char *acorn_dos_format::description() const noexcept
{
return "Acorn DOS disk image";
}
-const char *acorn_dos_format::extensions() const
+const char *acorn_dos_format::extensions() const noexcept
{
return "img";
}
@@ -625,22 +625,22 @@ opus_ddcpm_format::opus_ddcpm_format()
{
}
-const char *opus_ddcpm_format::name() const
+const char *opus_ddcpm_format::name() const noexcept
{
return "ddcpm";
}
-const char *opus_ddcpm_format::description() const
+const char *opus_ddcpm_format::description() const noexcept
{
return "Opus DD CP/M disk image";
}
-const char *opus_ddcpm_format::extensions() const
+const char *opus_ddcpm_format::extensions() const noexcept
{
return "ssd";
}
-bool opus_ddcpm_format::supports_save() const
+bool opus_ddcpm_format::supports_save() const noexcept
{
return false;
}
@@ -662,7 +662,7 @@ int opus_ddcpm_format::identify(util::random_read &io, uint32_t form_factor, con
return 0;
}
-bool opus_ddcpm_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool opus_ddcpm_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
// Double density discs formatted with DDCPM :
//
@@ -711,7 +711,7 @@ 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, floppy_image *image) const
+bool opus_ddcpm_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
return false;
}
@@ -721,17 +721,17 @@ cumana_dfs_format::cumana_dfs_format() : wd177x_format(formats)
{
}
-const char *cumana_dfs_format::name() const
+const char *cumana_dfs_format::name() const noexcept
{
return "cdfs";
}
-const char *cumana_dfs_format::description() const
+const char *cumana_dfs_format::description() const noexcept
{
return "Cumana DFS disk image";
}
-const char *cumana_dfs_format::extensions() const
+const char *cumana_dfs_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/acorn_dsk.h b/src/lib/formats/acorn_dsk.h
index e2fa1cb06b3..5dc870a914f 100644
--- a/src/lib/formats/acorn_dsk.h
+++ b/src/lib/formats/acorn_dsk.h
@@ -24,9 +24,9 @@ public:
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int get_image_offset(const format &f, int head, int track) const override;
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
@@ -41,9 +41,9 @@ public:
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int get_image_offset(const format &f, int head, int track) const override;
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
@@ -58,9 +58,9 @@ public:
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int get_image_offset(const format &f, int head, int track) const override;
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
@@ -75,9 +75,9 @@ public:
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int get_image_offset(const format &f, int head, int track) const override;
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
@@ -92,9 +92,9 @@ public:
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int get_image_offset(const format &f, int head, int track) const override;
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
@@ -109,9 +109,9 @@ public:
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int get_image_offset(const format &f, int head, int track) const override;
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
@@ -124,13 +124,13 @@ public:
opus_ddcpm_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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;
};
@@ -142,9 +142,9 @@ public:
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int get_image_offset(const format &f, int head, int track) const override;
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/adam_dsk.cpp b/src/lib/formats/adam_dsk.cpp
index 362153cada5..04848acd07c 100644
--- a/src/lib/formats/adam_dsk.cpp
+++ b/src/lib/formats/adam_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/adam_dsk.c
+ formats/adam_dsk.cpp
Coleco Adam disk image format
@@ -14,17 +14,17 @@ adam_format::adam_format() : wd177x_format(formats)
{
}
-const char *adam_format::name() const
+const char *adam_format::name() const noexcept
{
return "adam";
}
-const char *adam_format::description() const
+const char *adam_format::description() const noexcept
{
return "Coleco Adam disk image";
}
-const char *adam_format::extensions() const
+const char *adam_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/adam_dsk.h b/src/lib/formats/adam_dsk.h
index 1779d31420e..98aaf24216f 100644
--- a/src/lib/formats/adam_dsk.h
+++ b/src/lib/formats/adam_dsk.h
@@ -19,9 +19,9 @@ class adam_format : public wd177x_format
public:
adam_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/afs_dsk.cpp b/src/lib/formats/afs_dsk.cpp
index 589a641de7e..5a1d9a63526 100644
--- a/src/lib/formats/afs_dsk.cpp
+++ b/src/lib/formats/afs_dsk.cpp
@@ -15,17 +15,17 @@ afs_format::afs_format() : wd177x_format(formats)
{
}
-const char *afs_format::name() const
+const char *afs_format::name() const noexcept
{
return "afs";
}
-const char *afs_format::description() const
+const char *afs_format::description() const noexcept
{
return "Acorn FileStore disk image";
}
-const char *afs_format::extensions() const
+const char *afs_format::extensions() const noexcept
{
return "adl,img";
}
diff --git a/src/lib/formats/afs_dsk.h b/src/lib/formats/afs_dsk.h
index 4fe78618823..c816ed2b806 100644
--- a/src/lib/formats/afs_dsk.h
+++ b/src/lib/formats/afs_dsk.h
@@ -22,9 +22,9 @@ public:
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int get_image_offset(const format &f, int head, int track) const override;
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/aim_dsk.cpp b/src/lib/formats/aim_dsk.cpp
index db69282f06a..88399204f37 100644
--- a/src/lib/formats/aim_dsk.cpp
+++ b/src/lib/formats/aim_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Sergey Svishchev
/*********************************************************************
- formats/aim_dsk.h
+ formats/aim_dsk.cpp
AIM disk images
@@ -22,19 +22,19 @@ aim_format::aim_format()
}
-const char *aim_format::name() const
+const char *aim_format::name() const noexcept
{
return "aim";
}
-const char *aim_format::description() const
+const char *aim_format::description() const noexcept
{
return "AIM disk image";
}
-const char *aim_format::extensions() const
+const char *aim_format::extensions() const noexcept
{
return "aim";
}
@@ -53,9 +53,9 @@ int aim_format::identify(util::random_read &io, uint32_t form_factor, const std:
}
-bool aim_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool aim_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
- image->set_variant(floppy_image::DSQD);
+ image.set_variant(floppy_image::DSQD);
const int tracks = 80;
const int track_size = 6464 * 2;
diff --git a/src/lib/formats/aim_dsk.h b/src/lib/formats/aim_dsk.h
index 3dde7adec05..73f3cd2843a 100644
--- a/src/lib/formats/aim_dsk.h
+++ b/src/lib/formats/aim_dsk.h
@@ -22,12 +22,12 @@ public:
aim_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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 { return false; }
+ 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 { return false; }
};
extern const aim_format FLOPPY_AIM_FORMAT;
diff --git a/src/lib/formats/ami_dsk.cpp b/src/lib/formats/ami_dsk.cpp
index 13f6e17f43c..6ad9145c7d8 100644
--- a/src/lib/formats/ami_dsk.cpp
+++ b/src/lib/formats/ami_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/ami_dsk.c
+ formats/ami_dsk.cpp
Amiga disk images
@@ -17,22 +17,22 @@ adf_format::adf_format() : floppy_image_format_t()
{
}
-const char *adf_format::name() const
+const char *adf_format::name() const noexcept
{
return "adf";
}
-const char *adf_format::description() const
+const char *adf_format::description() const noexcept
{
return "Amiga ADF floppy disk image";
}
-const char *adf_format::extensions() const
+const char *adf_format::extensions() const noexcept
{
return "adf";
}
-bool adf_format::supports_save() const
+bool adf_format::supports_save() const noexcept
{
return true;
}
@@ -49,7 +49,7 @@ int adf_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool adf_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool adf_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
desc_s sectors[22];
uint8_t sectdata[512*22];
@@ -78,7 +78,7 @@ bool adf_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
if (!is_hd) {
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
for (int track=0; track < tracks; track++) {
for (int side=0; side < 2; side++) {
size_t actual;
@@ -87,7 +87,7 @@ bool adf_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
}
} else {
- image->set_variant(floppy_image::DSHD);
+ image.set_variant(floppy_image::DSHD);
for (int track=0; track < tracks; track++) {
for (int side=0; side < 2; side++) {
size_t actual;
@@ -121,11 +121,11 @@ uint32_t adf_format::checksum(const std::vector<bool> &trackbuf, uint32_t pos, i
return check & 0x55555555;
}
-bool adf_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool adf_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
uint8_t sectdata[512*22];
- bool const hd = image->get_variant() == floppy_image::DSHD;
+ bool const hd = image.get_variant() == floppy_image::DSHD;
int const data_track_size = hd ? 512*22 : 512*11;
diff --git a/src/lib/formats/ami_dsk.h b/src/lib/formats/ami_dsk.h
index 1854acb2126..3284b08aaf7 100644
--- a/src/lib/formats/ami_dsk.h
+++ b/src/lib/formats/ami_dsk.h
@@ -20,13 +20,13 @@ public:
adf_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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:
static uint32_t g32(const std::vector<bool> &bitsteam, uint32_t pos);
diff --git a/src/lib/formats/ap2_dsk.cpp b/src/lib/formats/ap2_dsk.cpp
index 414f9ebd749..557800dcec2 100644
--- a/src/lib/formats/ap2_dsk.cpp
+++ b/src/lib/formats/ap2_dsk.cpp
@@ -51,17 +51,17 @@ a2_16sect_dos_format::a2_16sect_dos_format() : a2_16sect_format(false)
{
}
-const char *a2_16sect_dos_format::name() const
+const char *a2_16sect_dos_format::name() const noexcept
{
return "a2_16sect_dos";
}
-const char *a2_16sect_dos_format::description() const
+const char *a2_16sect_dos_format::description() const noexcept
{
return "Apple II 16-sector dsk image (DOS sector order)";
}
-const char *a2_16sect_dos_format::extensions() const
+const char *a2_16sect_dos_format::extensions() const noexcept
{
return "dsk,do";
}
@@ -70,22 +70,22 @@ a2_16sect_prodos_format::a2_16sect_prodos_format() : a2_16sect_format(true)
{
}
-const char *a2_16sect_prodos_format::name() const
+const char *a2_16sect_prodos_format::name() const noexcept
{
return "a2_16sect_prodos";
}
-const char *a2_16sect_prodos_format::description() const
+const char *a2_16sect_prodos_format::description() const noexcept
{
return "Apple II 16-sector dsk image (ProDos sector order)";
}
-const char *a2_16sect_prodos_format::extensions() const
+const char *a2_16sect_prodos_format::extensions() const noexcept
{
return "dsk,po";
}
-bool a2_16sect_format::supports_save() const
+bool a2_16sect_format::supports_save() const noexcept
{
return true;
}
@@ -173,13 +173,13 @@ int a2_16sect_format::identify(util::random_read &io, uint32_t form_factor, cons
return FIFID_SIZE | (m_prodos_order == prodos_order ? FIFID_HINT : 0);
}
-bool a2_16sect_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool a2_16sect_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t size;
if (io.length(size))
return false;
- image->set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
+ image.set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
int tracks = (size == (40 * 16 * 256)) ? 40 : 35;
@@ -271,7 +271,7 @@ uint8_t a2_16sect_format::gb(const std::vector<bool> &buf, int &pos, int &wrap)
//#define VERBOSE_SAVE
-bool a2_16sect_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool a2_16sect_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int g_tracks, g_heads;
int visualgrid[16][APPLE2_TRACK_COUNT]; // visualizer grid, cleared/initialized below
@@ -299,7 +299,7 @@ bool a2_16sect_format::save(util::random_read_write &io, const std::vector<uint3
elem[j] = 0;
}
}
- image->get_actual_geometry(g_tracks, g_heads);
+ image.get_actual_geometry(g_tracks, g_heads);
int head = 0;
@@ -529,22 +529,22 @@ a2_rwts18_format::a2_rwts18_format() : floppy_image_format_t()
{
}
-const char *a2_rwts18_format::name() const
+const char *a2_rwts18_format::name() const noexcept
{
return "a2_rwts18";
}
-const char *a2_rwts18_format::description() const
+const char *a2_rwts18_format::description() const noexcept
{
return "Apple II RWTS18-type Image";
}
-const char *a2_rwts18_format::extensions() const
+const char *a2_rwts18_format::extensions() const noexcept
{
return "rti";
}
-bool a2_rwts18_format::supports_save() const
+bool a2_rwts18_format::supports_save() const noexcept
{
return true;
}
@@ -558,7 +558,7 @@ int a2_rwts18_format::identify(util::random_read &io, uint32_t form_factor, cons
return size == expected_size ? FIFID_SIZE : 0;
}
-bool a2_rwts18_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool a2_rwts18_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
/* TODO: rewrite me properly
uint8_t sector_data[(256)*16];
@@ -604,7 +604,7 @@ uint8_t a2_rwts18_format::gb(const std::vector<bool> &buf, int &pos, int &wrap)
return v;
}
-bool a2_rwts18_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool a2_rwts18_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int g_tracks, g_heads;
int visualgrid[18][APPLE2_TRACK_COUNT]; // visualizer grid, cleared/initialized below
@@ -633,7 +633,7 @@ bool a2_rwts18_format::save(util::random_read_write &io, const std::vector<uint3
elem[j] = 0;
}
}
- image->get_actual_geometry(g_tracks, g_heads);
+ image.get_actual_geometry(g_tracks, g_heads);
int head = 0;
@@ -1011,22 +1011,22 @@ a2_edd_format::a2_edd_format() : floppy_image_format_t()
{
}
-const char *a2_edd_format::name() const
+const char *a2_edd_format::name() const noexcept
{
return "a2_edd";
}
-const char *a2_edd_format::description() const
+const char *a2_edd_format::description() const noexcept
{
return "Apple II EDD Image";
}
-const char *a2_edd_format::extensions() const
+const char *a2_edd_format::extensions() const noexcept
{
return "edd";
}
-bool a2_edd_format::supports_save() const
+bool a2_edd_format::supports_save() const noexcept
{
return false;
}
@@ -1044,7 +1044,7 @@ uint8_t a2_edd_format::pick(const uint8_t *data, int pos)
return get_u16be(&data[pos>>3]) >> (8-(pos & 7));
}
-bool a2_edd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool a2_edd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint8_t nibble[16384], stream[16384];
int npos[16384];
@@ -1119,11 +1119,11 @@ bool a2_edd_format::load(util::random_read &io, uint32_t form_factor, const std:
stream[splice >> 3] ^= 0x80 >> (splice & 7);
generate_track_from_bitstream(i >> 2, 0, stream, len, image, i & 3);
- image->set_write_splice_position(i >> 2, 0, uint32_t(uint64_t(200'000'000)*splice/len), i & 3);
+ image.set_write_splice_position(i >> 2, 0, uint32_t(uint64_t(200'000'000)*splice/len), i & 3);
}
img.reset();
- image->set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
+ image.set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
return true;
}
@@ -1135,22 +1135,22 @@ a2_nib_format::a2_nib_format() : floppy_image_format_t()
{
}
-const char *a2_nib_format::name() const
+const char *a2_nib_format::name() const noexcept
{
return "a2_nib";
}
-const char *a2_nib_format::description() const
+const char *a2_nib_format::description() const noexcept
{
return "Apple II NIB Image";
}
-const char *a2_nib_format::extensions() const
+const char *a2_nib_format::extensions() const noexcept
{
return "nib";
}
-bool a2_nib_format::supports_save() const
+bool a2_nib_format::supports_save() const noexcept
{
return false;
}
@@ -1278,7 +1278,7 @@ std::vector<uint32_t> a2_nib_format::generate_levels_from_nibbles(const std::vec
return levels;
}
-bool a2_nib_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool a2_nib_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t size;
if (io.length(size))
@@ -1298,7 +1298,7 @@ bool a2_nib_format::load(util::random_read &io, uint32_t form_factor, const std:
0, image);
}
- image->set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
+ image.set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
return true;
}
diff --git a/src/lib/formats/ap2_dsk.h b/src/lib/formats/ap2_dsk.h
index 607d2d9568c..cbeea73f2d3 100644
--- a/src/lib/formats/ap2_dsk.h
+++ b/src/lib/formats/ap2_dsk.h
@@ -35,10 +35,10 @@ public:
a2_16sect_format(bool prodos_order);
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, floppy_image *image) 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 bool supports_save() const override;
+ virtual bool supports_save() const noexcept override;
private:
const bool m_prodos_order;
@@ -50,18 +50,18 @@ 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;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
};
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;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
};
extern const a2_16sect_dos_format FLOPPY_A216S_DOS_FORMAT;
@@ -73,13 +73,13 @@ public:
a2_rwts18_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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:
static const desc_e mac_gcr[];
@@ -96,12 +96,12 @@ public:
a2_edd_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 supports_save() 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static uint8_t pick(const uint8_t *data, int pos);
@@ -115,12 +115,12 @@ public:
a2_nib_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 supports_save() 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
diff --git a/src/lib/formats/ap_dsk35.cpp b/src/lib/formats/ap_dsk35.cpp
index c786d7fb04a..87698ac30f7 100644
--- a/src/lib/formats/ap_dsk35.cpp
+++ b/src/lib/formats/ap_dsk35.cpp
@@ -2,7 +2,7 @@
// copyright-holders:O. Galibert, R. Belmont
/*********************************************************************
- ap_dsk35.c
+ ap_dsk35.cpp
Apple 3.5" disk images
@@ -115,22 +115,22 @@ dc42_format::dc42_format() : floppy_image_format_t()
{
}
-const char *dc42_format::name() const
+const char *dc42_format::name() const noexcept
{
return "dc42";
}
-const char *dc42_format::description() const
+const char *dc42_format::description() const noexcept
{
return "DiskCopy 4.2 image";
}
-const char *dc42_format::extensions() const
+const char *dc42_format::extensions() const noexcept
{
return "dc42";
}
-bool dc42_format::supports_save() const
+bool dc42_format::supports_save() const noexcept
{
return true;
}
@@ -158,7 +158,7 @@ int dc42_format::identify(util::random_read &io, uint32_t form_factor, const std
return (size == 0x54+tsize+dsize && h[0] < 64 && h[0x52] == 1 && h[0x53] == 0) ? FIFID_STRUCT : 0;
}
-bool dc42_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool dc42_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
uint8_t h[0x54];
@@ -176,20 +176,20 @@ bool dc42_format::load(util::random_read &io, uint32_t form_factor, const std::v
switch(dsize) {
case 409600: // Mac 400K
- image->set_form_variant(floppy_image::FF_35, floppy_image::SSDD);
+ image.set_form_variant(floppy_image::FF_35, floppy_image::SSDD);
break;
case 737280: // PC 720K
case 819200: // Mac/A2 800K
- image->set_form_variant(floppy_image::FF_35, floppy_image::DSDD);
+ image.set_form_variant(floppy_image::FF_35, floppy_image::DSDD);
break;
case 1474560: // PC or Mac 1.44M
- image->set_form_variant(floppy_image::FF_35, floppy_image::DSHD);
+ image.set_form_variant(floppy_image::FF_35, floppy_image::DSHD);
break;
case 871424: // Apple Twiggy 851KiB
- image->set_form_variant(floppy_image::FF_525, floppy_image::DSHD);
+ image.set_form_variant(floppy_image::FF_525, floppy_image::DSHD);
break;
default:
@@ -245,10 +245,10 @@ void dc42_format::update_chk(const uint8_t *data, int size, uint32_t &chk)
}
}
-bool dc42_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool dc42_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int g_tracks, g_heads;
- image->get_actual_geometry(g_tracks, g_heads);
+ image.get_actual_geometry(g_tracks, g_heads);
if(g_heads == 0)
g_heads = 1;
@@ -312,22 +312,22 @@ apple_gcr_format::apple_gcr_format() : floppy_image_format_t()
{
}
-const char *apple_gcr_format::name() const
+const char *apple_gcr_format::name() const noexcept
{
return "apple_gcr";
}
-const char *apple_gcr_format::description() const
+const char *apple_gcr_format::description() const noexcept
{
return "Apple GCR 400/800K raw sector image";
}
-const char *apple_gcr_format::extensions() const
+const char *apple_gcr_format::extensions() const noexcept
{
return "img";
}
-bool apple_gcr_format::supports_save() const
+bool apple_gcr_format::supports_save() const noexcept
{
return true;
}
@@ -344,7 +344,7 @@ int apple_gcr_format::identify(util::random_read &io, uint32_t form_factor, cons
return 0;
}
-bool apple_gcr_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool apple_gcr_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
desc_gcr_sector sectors[12];
@@ -360,7 +360,7 @@ bool apple_gcr_format::load(util::random_read &io, uint32_t form_factor, const s
return false;
int head_count = size == 409600 ? 1 : size == 819200 ? 2 : 0;
- image->set_form_variant(floppy_image::FF_35, head_count == 2 ? floppy_image::DSDD : floppy_image::SSDD);
+ image.set_form_variant(floppy_image::FF_35, head_count == 2 ? floppy_image::DSDD : floppy_image::SSDD);
if(!head_count)
return false;
@@ -388,10 +388,10 @@ bool apple_gcr_format::load(util::random_read &io, uint32_t form_factor, const s
return true;
}
-bool apple_gcr_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool apple_gcr_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int g_tracks, g_heads;
- image->get_actual_geometry(g_tracks, g_heads);
+ image.get_actual_geometry(g_tracks, g_heads);
if(g_heads == 0)
g_heads = 1;
@@ -421,22 +421,22 @@ apple_2mg_format::apple_2mg_format() : floppy_image_format_t()
{
}
-const char *apple_2mg_format::name() const
+const char *apple_2mg_format::name() const noexcept
{
return "apple_2mg";
}
-const char *apple_2mg_format::description() const
+const char *apple_2mg_format::description() const noexcept
{
return "Apple II .2MG image";
}
-const char *apple_2mg_format::extensions() const
+const char *apple_2mg_format::extensions() const noexcept
{
return "2mg";
}
-bool apple_2mg_format::supports_save() const
+bool apple_2mg_format::supports_save() const noexcept
{
return true;
}
@@ -460,7 +460,7 @@ int apple_2mg_format::identify(util::random_read &io, uint32_t form_factor, cons
return 0;
}
-bool apple_2mg_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool apple_2mg_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
desc_gcr_sector sectors[12];
@@ -472,7 +472,7 @@ bool apple_2mg_format::load(util::random_read &io, uint32_t form_factor, const s
if(blocks != 1600 && blocks != 16390)
return false;
- image->set_form_variant(floppy_image::FF_35, (blocks > 800) ? floppy_image::DSDD : floppy_image::SSDD);
+ image.set_form_variant(floppy_image::FF_35, (blocks > 800) ? floppy_image::DSDD : floppy_image::SSDD);
for(int track=0; track < 80; track++) {
for(int head=0; head < 2; head++) {
@@ -498,7 +498,7 @@ bool apple_2mg_format::load(util::random_read &io, uint32_t form_factor, const s
return true;
}
-bool apple_2mg_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool apple_2mg_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
size_t actual;
diff --git a/src/lib/formats/ap_dsk35.h b/src/lib/formats/ap_dsk35.h
index 0b4490348e4..67874ecbcb6 100644
--- a/src/lib/formats/ap_dsk35.h
+++ b/src/lib/formats/ap_dsk35.h
@@ -20,13 +20,13 @@ public:
dc42_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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:
static void update_chk(const uint8_t *data, int size, uint32_t &chk);
@@ -40,13 +40,13 @@ public:
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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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 apple_gcr_format FLOPPY_APPLE_GCR_FORMAT;
@@ -57,13 +57,13 @@ 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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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 apple_2mg_format FLOPPY_APPLE_2MG_FORMAT;
diff --git a/src/lib/formats/apd_dsk.cpp b/src/lib/formats/apd_dsk.cpp
index ee20f10ffbe..c1319e43cf4 100644
--- a/src/lib/formats/apd_dsk.cpp
+++ b/src/lib/formats/apd_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Nigel Barnes
/*********************************************************************
- formats/apd_dsk.c
+ formats/apd_dsk.cpp
Archimedes Protected Disk Image format
@@ -79,17 +79,17 @@ apd_format::apd_format()
{
}
-const char *apd_format::name() const
+const char *apd_format::name() const noexcept
{
return "apd";
}
-const char *apd_format::description() const
+const char *apd_format::description() const noexcept
{
return "Archimedes Protected Disk Image";
}
-const char *apd_format::extensions() const
+const char *apd_format::extensions() const noexcept
{
return "apd";
}
@@ -136,7 +136,7 @@ int apd_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool apd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool apd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t size;
if (io.length(size))
@@ -201,12 +201,12 @@ bool apd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
data += (qdlen + 7) >> 3;
}
}
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
return true;
}
-bool apd_format::supports_save() const
+bool apd_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/apd_dsk.h b/src/lib/formats/apd_dsk.h
index 10a16fa563d..3d7d161f83e 100644
--- a/src/lib/formats/apd_dsk.h
+++ b/src/lib/formats/apd_dsk.h
@@ -19,13 +19,13 @@ class apd_format : public floppy_image_format_t
public:
apd_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() 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;
- virtual bool supports_save() 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/apollo_dsk.cpp b/src/lib/formats/apollo_dsk.cpp
index a2d64fd179a..069f22c5db5 100644
--- a/src/lib/formats/apollo_dsk.cpp
+++ b/src/lib/formats/apollo_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/apollo_dsk.c
+ formats/apollo_dsk.cpp
apollo format
@@ -17,17 +17,17 @@ apollo_format::apollo_format() : upd765_format(formats)
{
}
-const char *apollo_format::name() const
+const char *apollo_format::name() const noexcept
{
return "apollo";
}
-const char *apollo_format::description() const
+const char *apollo_format::description() const noexcept
{
return "APOLLO disk image";
}
-const char *apollo_format::extensions() const
+const char *apollo_format::extensions() const noexcept
{
return "afd";
}
diff --git a/src/lib/formats/apollo_dsk.h b/src/lib/formats/apollo_dsk.h
index ed5709259fc..4026d5d6a10 100644
--- a/src/lib/formats/apollo_dsk.h
+++ b/src/lib/formats/apollo_dsk.h
@@ -19,9 +19,9 @@ class apollo_format : public upd765_format
public:
apollo_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/applix_dsk.cpp b/src/lib/formats/applix_dsk.cpp
index 2b19b1eb1a0..378ffae346b 100644
--- a/src/lib/formats/applix_dsk.cpp
+++ b/src/lib/formats/applix_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Robbbert
/*********************************************************************
- formats/applix_dsk.c
+ formats/applix_dsk.cpp
Applix disk image format
@@ -14,17 +14,17 @@ applix_format::applix_format() : wd177x_format(formats)
{
}
-const char *applix_format::name() const
+const char *applix_format::name() const noexcept
{
return "applix";
}
-const char *applix_format::description() const
+const char *applix_format::description() const noexcept
{
return "Applix disk image";
}
-const char *applix_format::extensions() const
+const char *applix_format::extensions() const noexcept
{
return "raw";
}
diff --git a/src/lib/formats/applix_dsk.h b/src/lib/formats/applix_dsk.h
index d20b9d4c818..a2030e39245 100644
--- a/src/lib/formats/applix_dsk.h
+++ b/src/lib/formats/applix_dsk.h
@@ -19,9 +19,9 @@ class applix_format : public wd177x_format
public:
applix_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/apridisk.cpp b/src/lib/formats/apridisk.cpp
index 03a7cb81bdd..fafc12d9f3c 100644
--- a/src/lib/formats/apridisk.cpp
+++ b/src/lib/formats/apridisk.cpp
@@ -20,17 +20,17 @@ apridisk_format::apridisk_format()
{
}
-const char *apridisk_format::name() const
+const char *apridisk_format::name() const noexcept
{
return "apridisk";
}
-const char *apridisk_format::description() const
+const char *apridisk_format::description() const noexcept
{
return "APRIDISK disk image";
}
-const char *apridisk_format::extensions() const
+const char *apridisk_format::extensions() const noexcept
{
return "dsk";
}
@@ -49,7 +49,7 @@ int apridisk_format::identify(util::random_read &io, uint32_t form_factor, const
return 0;
}
-bool apridisk_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool apridisk_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
desc_pc_sector sectors[80][2][18];
std::unique_ptr<uint8_t []> sector_data(new uint8_t [MAX_SECTORS * SECTOR_SIZE]);
@@ -149,7 +149,7 @@ bool apridisk_format::load(util::random_read &io, uint32_t form_factor, const st
return true;
}
-bool apridisk_format::supports_save() const
+bool apridisk_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/apridisk.h b/src/lib/formats/apridisk.h
index 140321da04d..3759b1b59cd 100644
--- a/src/lib/formats/apridisk.h
+++ b/src/lib/formats/apridisk.h
@@ -19,13 +19,13 @@ class apridisk_format : public floppy_image_format_t
public:
apridisk_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() 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;
- virtual bool supports_save() 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/as_dsk.cpp b/src/lib/formats/as_dsk.cpp
index 195a6c85b83..5c8a0545870 100644
--- a/src/lib/formats/as_dsk.cpp
+++ b/src/lib/formats/as_dsk.cpp
@@ -67,7 +67,7 @@ uint32_t as_format::crc32r(const uint8_t *data, uint32_t size)
return ~crc;
}
-bool as_format::load_bitstream_track(const std::vector<uint8_t> &img, floppy_image *image, int head, int track, int subtrack, uint8_t idx, uint32_t off_trks, bool may_be_short, bool set_variant)
+bool as_format::load_bitstream_track(const std::vector<uint8_t> &img, floppy_image &image, int head, int track, int subtrack, uint8_t idx, uint32_t off_trks, bool may_be_short, bool set_variant)
{
uint32_t trks_off = off_trks + (idx * 8);
@@ -92,11 +92,11 @@ bool as_format::load_bitstream_track(const std::vector<uint8_t> &img, floppy_ima
generate_track_from_bitstream(track, head, &img[boff], track_size, image, subtrack, 0xffff);
if(set_variant)
- image->set_variant(r32(img, trks_off + 4) >= 90000 ? floppy_image::DSHD : floppy_image::DSDD);
+ image.set_variant(r32(img, trks_off + 4) >= 90000 ? floppy_image::DSHD : floppy_image::DSDD);
return true;
}
-void as_format::load_flux_track(const std::vector<uint8_t> &img, floppy_image *image, int head, int track, int subtrack, uint8_t fidx, uint32_t off_trks)
+void as_format::load_flux_track(const std::vector<uint8_t> &img, floppy_image &image, int head, int track, int subtrack, uint8_t fidx, uint32_t off_trks)
{
uint32_t trks_off = off_trks + (fidx * 8);
uint32_t boff = (uint32_t)r16(img, trks_off + 0) * 512;
@@ -108,7 +108,7 @@ void as_format::load_flux_track(const std::vector<uint8_t> &img, floppy_image *i
// There is always a pulse at index, and it's
// the last one in the stream
- std::vector<uint32_t> &buf = image->get_buffer(track, head, subtrack);
+ std::vector<uint32_t> &buf = image.get_buffer(track, head, subtrack);
buf.push_back(floppy_image::MG_F | 0);
uint32_t cpos = 0;
for(uint32_t i=0; i != track_size; i++) {
@@ -120,7 +120,7 @@ void as_format::load_flux_track(const std::vector<uint8_t> &img, floppy_image *i
}
-as_format::tdata as_format::analyze_for_save(floppy_image *image, int head, int track, int subtrack, int speed_zone)
+as_format::tdata as_format::analyze_for_save(const floppy_image &image, int head, int track, int subtrack, int speed_zone)
{
// 200000000 / 60.0 * 1.979e-6 ~= 6.5967
static const int cell_size_per_speed_zone[7] = {
@@ -147,7 +147,7 @@ as_format::tdata as_format::analyze_for_save(floppy_image *image, int head, int
tdata result;
- if(!image->track_is_formatted(track, head, subtrack))
+ if(!image.track_is_formatted(track, head, subtrack))
return result;
// Generate a bitstream to get the data and whether the phase is clean
@@ -167,7 +167,7 @@ as_format::tdata as_format::analyze_for_save(floppy_image *image, int head, int
result.flux = true;
- const std::vector<uint32_t> &tbuf = image->get_buffer(track, head, subtrack);
+ const std::vector<uint32_t> &tbuf = image.get_buffer(track, head, subtrack);
uint32_t first_edge = 0, last_edge = 0;
for(uint32_t fp : tbuf)
if((fp & floppy_image::MG_MASK) == floppy_image::MG_F) {
@@ -290,22 +290,22 @@ woz_format::woz_format() : as_format()
{
}
-const char *woz_format::name() const
+const char *woz_format::name() const noexcept
{
return "woz";
}
-const char *woz_format::description() const
+const char *woz_format::description() const noexcept
{
return "Apple II WOZ Image";
}
-const char *woz_format::extensions() const
+const char *woz_format::extensions() const noexcept
{
return "woz";
}
-bool woz_format::supports_save() const
+bool woz_format::supports_save() const noexcept
{
return true;
}
@@ -323,7 +323,7 @@ int woz_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool woz_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool woz_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t image_size;
if(io.length(image_size))
@@ -370,9 +370,9 @@ bool woz_format::load(util::random_read &io, uint32_t form_factor, const std::ve
unsigned int limit = is_35 ? 160 : 141;
if(is_35)
- image->set_form_variant(floppy_image::FF_35, floppy_image::SSDD);
+ image.set_form_variant(floppy_image::FF_35, floppy_image::SSDD);
else
- image->set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
+ image.set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
if (woz_vers == 1) {
for (unsigned int trkid = 0; trkid != limit; trkid++) {
@@ -387,7 +387,7 @@ bool woz_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return false;
generate_track_from_bitstream(track, head, &img[boff], r16(img, boff + 6648), image, subtrack, r16(img, boff + 6650));
if(is_35 && !track && head)
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
}
}
} else if (woz_vers == 2) {
@@ -414,16 +414,16 @@ bool woz_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
-bool woz_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool woz_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
std::vector<tdata> tracks(160);
bool twosided = false;
- if(image->get_form_factor() == floppy_image::FF_525) {
+ if(image.get_form_factor() == floppy_image::FF_525) {
for(unsigned int i=0; i != 141; i++)
tracks[i] = analyze_for_save(image, 0, i >> 2, i & 3, 5);
- } else if(image->get_variant() == floppy_image::DSHD) {
+ } else if(image.get_variant() == floppy_image::DSHD) {
for(unsigned int i=0; i != 160; i++) {
tracks[i] = analyze_for_save(image, i & 1, i >> 1, 0, 6);
if((i & 1) && tracks[i].track_size)
@@ -448,7 +448,7 @@ bool woz_format::save(util::random_read_write &io, const std::vector<uint32_t> &
w32(data, 12, 0x4F464E49); // INFO
w32(data, 16, 60); // size
data[20] = 3; // chunk version
- data[21] = image->get_form_factor() == floppy_image::FF_525 ? 1 : 2;
+ data[21] = image.get_form_factor() == floppy_image::FF_525 ? 1 : 2;
data[22] = 0; // not write protected
data[23] = 1; // synchronized, since our internal format is
data[24] = 1; // weak bits are generated, not stored
@@ -459,7 +459,7 @@ bool woz_format::save(util::random_read_write &io, const std::vector<uint32_t> &
memset(&data[29], ' ', 32-4);
data[57] = twosided ? 2 : 1;
data[58] = 0; // boot sector unknown
- data[59] = image->get_form_factor() == floppy_image::FF_525 ? 32 : image->get_variant() == floppy_image::DSHD ? 8 : 16;
+ data[59] = image.get_form_factor() == floppy_image::FF_525 ? 32 : image.get_variant() == floppy_image::DSHD ? 8 : 16;
w16(data, 60, 0); // compatibility unknown
w16(data, 62, 0); // needed ram unknown
w16(data, 64, max_blocks);
@@ -480,22 +480,22 @@ moof_format::moof_format() : as_format()
{
}
-const char *moof_format::name() const
+const char *moof_format::name() const noexcept
{
return "moof";
}
-const char *moof_format::description() const
+const char *moof_format::description() const noexcept
{
return "Macintosh MOOF Image";
}
-const char *moof_format::extensions() const
+const char *moof_format::extensions() const noexcept
{
return "moof";
}
-bool moof_format::supports_save() const
+bool moof_format::supports_save() const noexcept
{
return true;
}
@@ -511,7 +511,7 @@ int moof_format::identify(util::random_read &io, uint32_t form_factor, const std
return 0;
}
-bool moof_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool moof_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t image_size;
if(io.length(image_size))
@@ -548,13 +548,13 @@ bool moof_format::load(util::random_read &io, uint32_t form_factor, const std::v
switch(r8(img, off_info + 1)) {
case 1:
- image->set_form_variant(floppy_image::FF_35, floppy_image::SSDD);
+ image.set_form_variant(floppy_image::FF_35, floppy_image::SSDD);
break;
case 2:
- image->set_form_variant(floppy_image::FF_35, floppy_image::DSDD);
+ image.set_form_variant(floppy_image::FF_35, floppy_image::DSDD);
break;
case 3:
- image->set_form_variant(floppy_image::FF_35, floppy_image::DSHD);
+ image.set_form_variant(floppy_image::FF_35, floppy_image::DSHD);
break;
default:
return false;
@@ -579,13 +579,13 @@ bool moof_format::load(util::random_read &io, uint32_t form_factor, const std::v
return true;
}
-bool moof_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool moof_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
std::vector<tdata> tracks(160);
bool twosided = false;
bool is_hd = false;
- if(image->get_variant() == floppy_image::DSHD) {
+ if(image.get_variant() == floppy_image::DSHD) {
twosided = true;
is_hd = true;
for(unsigned int i=0; i != 160; i++)
diff --git a/src/lib/formats/as_dsk.h b/src/lib/formats/as_dsk.h
index 74582836721..ec0a785d151 100644
--- a/src/lib/formats/as_dsk.h
+++ b/src/lib/formats/as_dsk.h
@@ -9,6 +9,7 @@
#pragma once
#include "flopimg.h"
+#include <utility>
class as_format : public floppy_image_format_t
{
@@ -30,10 +31,10 @@ protected:
static uint32_t crc32r(const uint8_t *data, uint32_t size);
static uint32_t find_tag(const std::vector<uint8_t> &data, uint32_t tag);
- static bool load_bitstream_track(const std::vector<uint8_t> &img, floppy_image *image, int head, int track, int subtrack, uint8_t idx, uint32_t off_trks, bool may_be_short, bool set_variant);
- static void load_flux_track(const std::vector<uint8_t> &img, floppy_image *image, int head, int track, int subtrack, uint8_t fidx, uint32_t off_trks);
+ static bool load_bitstream_track(const std::vector<uint8_t> &img, floppy_image &image, int head, int track, int subtrack, uint8_t idx, uint32_t off_trks, bool may_be_short, bool set_variant);
+ static void load_flux_track(const std::vector<uint8_t> &img, floppy_image &image, int head, int track, int subtrack, uint8_t fidx, uint32_t off_trks);
- static tdata analyze_for_save(floppy_image *image, int head, int track, int subtrack, int speed_zone);
+ static tdata analyze_for_save(const floppy_image &image, int head, int track, int subtrack, int speed_zone);
static std::pair<int, int> count_blocks(const std::vector<tdata> &tracks);
static bool test_flux(const std::vector<tdata> &tracks);
static void save_tracks(std::vector<uint8_t> &data, const std::vector<tdata> &tracks, uint32_t total_blocks, bool has_flux);
@@ -45,13 +46,13 @@ public:
woz_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, floppy_image *image) const override;
- virtual bool supports_save() 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 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 const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const uint8_t signature[8];
@@ -66,13 +67,13 @@ public:
moof_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, floppy_image *image) const override;
- virtual bool supports_save() 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 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 const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const uint8_t signature[8];
diff --git a/src/lib/formats/asst128_dsk.cpp b/src/lib/formats/asst128_dsk.cpp
index f6a636492cf..322475625f1 100644
--- a/src/lib/formats/asst128_dsk.cpp
+++ b/src/lib/formats/asst128_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/asst128_dsk.c
+ formats/asst128_dsk.cpp
asst128 format
@@ -14,17 +14,17 @@ asst128_format::asst128_format() : upd765_format(formats)
{
}
-const char *asst128_format::name() const
+const char *asst128_format::name() const noexcept
{
return "asst128";
}
-const char *asst128_format::description() const
+const char *asst128_format::description() const noexcept
{
return "ASST128 disk image";
}
-const char *asst128_format::extensions() const
+const char *asst128_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/asst128_dsk.h b/src/lib/formats/asst128_dsk.h
index 4687b206287..77712df9cfa 100644
--- a/src/lib/formats/asst128_dsk.h
+++ b/src/lib/formats/asst128_dsk.h
@@ -18,9 +18,9 @@ class asst128_format : public upd765_format {
public:
asst128_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/atom_dsk.cpp b/src/lib/formats/atom_dsk.cpp
index 0f652a6fee3..9b133996013 100644
--- a/src/lib/formats/atom_dsk.cpp
+++ b/src/lib/formats/atom_dsk.cpp
@@ -6,17 +6,17 @@ atom_format::atom_format() : wd177x_format(formats)
{
}
-const char *atom_format::name() const
+const char *atom_format::name() const noexcept
{
return "atom";
}
-const char *atom_format::description() const
+const char *atom_format::description() const noexcept
{
return "Acorn Atom disk image";
}
-const char *atom_format::extensions() const
+const char *atom_format::extensions() const noexcept
{
return "40t,dsk";
}
diff --git a/src/lib/formats/atom_dsk.h b/src/lib/formats/atom_dsk.h
index 93762dd6c94..c9db6aa1434 100644
--- a/src/lib/formats/atom_dsk.h
+++ b/src/lib/formats/atom_dsk.h
@@ -13,9 +13,9 @@ class atom_format : public wd177x_format
public:
atom_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/bw12_dsk.cpp b/src/lib/formats/bw12_dsk.cpp
index 0a0db54b218..9dcd47f1a40 100644
--- a/src/lib/formats/bw12_dsk.cpp
+++ b/src/lib/formats/bw12_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/bw12_dsk.c
+ formats/bw12_dsk.cpp
bw12 format
@@ -14,17 +14,17 @@ bw12_format::bw12_format() : upd765_format(formats)
{
}
-const char *bw12_format::name() const
+const char *bw12_format::name() const noexcept
{
return "bw12";
}
-const char *bw12_format::description() const
+const char *bw12_format::description() const noexcept
{
return "Bondwell 12/14 disk image";
}
-const char *bw12_format::extensions() const
+const char *bw12_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/bw12_dsk.h b/src/lib/formats/bw12_dsk.h
index 356d4b92655..8d88ec91441 100644
--- a/src/lib/formats/bw12_dsk.h
+++ b/src/lib/formats/bw12_dsk.h
@@ -19,9 +19,9 @@ class bw12_format : public upd765_format
public:
bw12_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/bw2_dsk.cpp b/src/lib/formats/bw2_dsk.cpp
index 15d4e031478..de3e5763801 100644
--- a/src/lib/formats/bw2_dsk.cpp
+++ b/src/lib/formats/bw2_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/bw2_dsk.c
+ formats/bw2_dsk.cpp
bw2 format
@@ -14,17 +14,17 @@ bw2_format::bw2_format() : upd765_format(formats)
{
}
-const char *bw2_format::name() const
+const char *bw2_format::name() const noexcept
{
return "bw2";
}
-const char *bw2_format::description() const
+const char *bw2_format::description() const noexcept
{
return "Bondwell 2 disk image";
}
-const char *bw2_format::extensions() const
+const char *bw2_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/bw2_dsk.h b/src/lib/formats/bw2_dsk.h
index 2cc4588d134..3e49f718156 100644
--- a/src/lib/formats/bw2_dsk.h
+++ b/src/lib/formats/bw2_dsk.h
@@ -19,9 +19,9 @@ class bw2_format : public upd765_format
public:
bw2_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/c3040_dsk.cpp b/src/lib/formats/c3040_dsk.cpp
index 7cb043ff99e..d4c9a9b172c 100644
--- a/src/lib/formats/c3040_dsk.cpp
+++ b/src/lib/formats/c3040_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/c3040_dsk.c
+ formats/c3040_dsk.cpp
Commodore 3040 sector disk image format
@@ -14,17 +14,17 @@ c3040_format::c3040_format() : d64_format(file_formats)
{
}
-const char *c3040_format::name() const
+const char *c3040_format::name() const noexcept
{
return "c3040";
}
-const char *c3040_format::description() const
+const char *c3040_format::description() const noexcept
{
return "Commodore 3040 disk image";
}
-const char *c3040_format::extensions() const
+const char *c3040_format::extensions() const noexcept
{
return "d67";
}
diff --git a/src/lib/formats/c3040_dsk.h b/src/lib/formats/c3040_dsk.h
index 1e8eaaa1bed..cacceb62230 100644
--- a/src/lib/formats/c3040_dsk.h
+++ b/src/lib/formats/c3040_dsk.h
@@ -18,9 +18,9 @@ class c3040_format : public d64_format {
public:
c3040_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
protected:
virtual int get_sectors_per_track(const format &f, int track) const override { return c3040_sectors_per_track[track]; }
diff --git a/src/lib/formats/c4040_dsk.cpp b/src/lib/formats/c4040_dsk.cpp
index 65f1dded2c7..ac5adf7e1c9 100644
--- a/src/lib/formats/c4040_dsk.cpp
+++ b/src/lib/formats/c4040_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/c4040_dsk.c
+ formats/c4040_dsk.cpp
Commodore 4040 sector disk image format
@@ -14,17 +14,17 @@ c4040_format::c4040_format() : d64_format(file_formats)
{
}
-const char *c4040_format::name() const
+const char *c4040_format::name() const noexcept
{
return "c4040";
}
-const char *c4040_format::description() const
+const char *c4040_format::description() const noexcept
{
return "Commodore 4040 disk image";
}
-const char *c4040_format::extensions() const
+const char *c4040_format::extensions() const noexcept
{
return "d64";
}
diff --git a/src/lib/formats/c4040_dsk.h b/src/lib/formats/c4040_dsk.h
index a09869976b8..e661b0d2af4 100644
--- a/src/lib/formats/c4040_dsk.h
+++ b/src/lib/formats/c4040_dsk.h
@@ -18,9 +18,9 @@ class c4040_format : public d64_format {
public:
c4040_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
protected:
virtual floppy_image_format_t::desc_e* get_sector_desc(const format &f, int &current_size, int sector_count, uint8_t id1, uint8_t id2, int gap_2) const override;
diff --git a/src/lib/formats/c8280_dsk.cpp b/src/lib/formats/c8280_dsk.cpp
index 2899e55e925..d403b3c7c06 100644
--- a/src/lib/formats/c8280_dsk.cpp
+++ b/src/lib/formats/c8280_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/c8280_dsk.c
+ formats/c8280_dsk.cpp
Commodore 8280 disk image format
@@ -14,17 +14,17 @@ c8280_format::c8280_format() : wd177x_format(formats)
{
}
-const char *c8280_format::name() const
+const char *c8280_format::name() const noexcept
{
return "c8280";
}
-const char *c8280_format::description() const
+const char *c8280_format::description() const noexcept
{
return "Commodore 8280 disk image";
}
-const char *c8280_format::extensions() const
+const char *c8280_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/c8280_dsk.h b/src/lib/formats/c8280_dsk.h
index 400bcf9a94d..3afdd275db1 100644
--- a/src/lib/formats/c8280_dsk.h
+++ b/src/lib/formats/c8280_dsk.h
@@ -19,9 +19,9 @@ class c8280_format : public wd177x_format
public:
c8280_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/camplynx_dsk.cpp b/src/lib/formats/camplynx_dsk.cpp
index af3d86ce3f6..d2493695e3a 100644
--- a/src/lib/formats/camplynx_dsk.cpp
+++ b/src/lib/formats/camplynx_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Robbbert
/*********************************************************************
- formats/camplynx_dsk.c
+ formats/camplynx_dsk.cpp
Camputers Lynx disk image format
@@ -25,17 +25,17 @@ camplynx_format::camplynx_format() : wd177x_format(formats)
{
}
-const char *camplynx_format::name() const
+const char *camplynx_format::name() const noexcept
{
return "camplynx";
}
-const char *camplynx_format::description() const
+const char *camplynx_format::description() const noexcept
{
return "Camputers Lynx disk image";
}
-const char *camplynx_format::extensions() const
+const char *camplynx_format::extensions() const noexcept
{
return "ldf";
}
diff --git a/src/lib/formats/camplynx_dsk.h b/src/lib/formats/camplynx_dsk.h
index a9e98aac91a..be03e292b63 100644
--- a/src/lib/formats/camplynx_dsk.h
+++ b/src/lib/formats/camplynx_dsk.h
@@ -19,9 +19,9 @@ class camplynx_format : public wd177x_format
public:
camplynx_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/ccvf_dsk.cpp b/src/lib/formats/ccvf_dsk.cpp
index fbdcf17d385..829be2a0019 100644
--- a/src/lib/formats/ccvf_dsk.cpp
+++ b/src/lib/formats/ccvf_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/ccvf_dsk.c
+ formats/ccvf_dsk.cpp
Compucolor Virtual Floppy Disk Image format
@@ -24,17 +24,17 @@ ccvf_format::ccvf_format(const format *_formats)
formats = _formats;
}
-const char *ccvf_format::name() const
+const char *ccvf_format::name() const noexcept
{
return "ccvf";
}
-const char *ccvf_format::description() const
+const char *ccvf_format::description() const noexcept
{
return "Compucolor Virtual Floppy Disk Image";
}
-const char *ccvf_format::extensions() const
+const char *ccvf_format::extensions() const noexcept
{
return "ccvf";
}
@@ -88,7 +88,7 @@ floppy_image_format_t::desc_e* ccvf_format::get_desc_8n1(const format &f, int &c
return desc;
}
-bool ccvf_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool ccvf_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
const format &f = formats[0];
@@ -146,12 +146,12 @@ bool ccvf_format::load(util::random_read &io, uint32_t form_factor, const std::v
generate_track_from_levels(track, 0, buffer, 0, image);
}
- image->set_variant(f.variant);
+ image.set_variant(f.variant);
return true;
}
-bool ccvf_format::supports_save() const
+bool ccvf_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/ccvf_dsk.h b/src/lib/formats/ccvf_dsk.h
index d2dad99513f..483b6a3cbb4 100644
--- a/src/lib/formats/ccvf_dsk.h
+++ b/src/lib/formats/ccvf_dsk.h
@@ -35,13 +35,13 @@ public:
ccvf_format();
ccvf_format(const format *formats);
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() 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;
- virtual bool supports_save() 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/cgenie_dsk.cpp b/src/lib/formats/cgenie_dsk.cpp
index 6d581e30b74..55523714a3a 100644
--- a/src/lib/formats/cgenie_dsk.cpp
+++ b/src/lib/formats/cgenie_dsk.cpp
@@ -14,17 +14,17 @@ cgenie_format::cgenie_format() : wd177x_format(formats)
{
}
-const char *cgenie_format::name() const
+const char *cgenie_format::name() const noexcept
{
return "cgenie";
}
-const char *cgenie_format::description() const
+const char *cgenie_format::description() const noexcept
{
return "Colour Genie disk image";
}
-const char *cgenie_format::extensions() const
+const char *cgenie_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/cgenie_dsk.h b/src/lib/formats/cgenie_dsk.h
index d11c33866a2..c6e1319fd80 100644
--- a/src/lib/formats/cgenie_dsk.h
+++ b/src/lib/formats/cgenie_dsk.h
@@ -19,9 +19,9 @@ class cgenie_format : public wd177x_format
public:
cgenie_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
protected:
virtual int get_track_dam_fm(const format &f, int head, int track) const override;
diff --git a/src/lib/formats/coco_rawdsk.cpp b/src/lib/formats/coco_rawdsk.cpp
index 5a23a7899e6..32300e7c398 100644
--- a/src/lib/formats/coco_rawdsk.cpp
+++ b/src/lib/formats/coco_rawdsk.cpp
@@ -13,17 +13,17 @@ coco_rawdsk_format::coco_rawdsk_format() : wd177x_format(formats)
{
}
-const char *coco_rawdsk_format::name() const
+const char *coco_rawdsk_format::name() const noexcept
{
return "coco_rawdsk";
}
-const char *coco_rawdsk_format::description() const
+const char *coco_rawdsk_format::description() const noexcept
{
return "CoCo Raw Disk";
}
-const char *coco_rawdsk_format::extensions() const
+const char *coco_rawdsk_format::extensions() const noexcept
{
return "raw";
}
diff --git a/src/lib/formats/coco_rawdsk.h b/src/lib/formats/coco_rawdsk.h
index 78ccd19b725..17eddbdfe10 100644
--- a/src/lib/formats/coco_rawdsk.h
+++ b/src/lib/formats/coco_rawdsk.h
@@ -19,9 +19,9 @@ class coco_rawdsk_format : public wd177x_format
public:
coco_rawdsk_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/comx35_dsk.cpp b/src/lib/formats/comx35_dsk.cpp
index 83dba938625..30b17d4622a 100644
--- a/src/lib/formats/comx35_dsk.cpp
+++ b/src/lib/formats/comx35_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/comx35_dsk.c
+ formats/comx35_dsk.cpp
COMX-35 disk image format
@@ -42,17 +42,17 @@ comx35_format::comx35_format() : wd177x_format(formats)
{
}
-const char *comx35_format::name() const
+const char *comx35_format::name() const noexcept
{
return "comx35";
}
-const char *comx35_format::description() const
+const char *comx35_format::description() const noexcept
{
return "COMX-35 disk image";
}
-const char *comx35_format::extensions() const
+const char *comx35_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/comx35_dsk.h b/src/lib/formats/comx35_dsk.h
index ab7f020211a..223fcd60917 100644
--- a/src/lib/formats/comx35_dsk.h
+++ b/src/lib/formats/comx35_dsk.h
@@ -19,9 +19,9 @@ class comx35_format : public wd177x_format
public:
comx35_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/concept_dsk.cpp b/src/lib/formats/concept_dsk.cpp
index e8a12f2a6ff..e026090e19f 100644
--- a/src/lib/formats/concept_dsk.cpp
+++ b/src/lib/formats/concept_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert, R. Belmont
/*********************************************************************
- formats/concept_dsk.c
+ formats/concept_dsk.cpp
Formats for Corvus Concept
@@ -52,22 +52,22 @@ cc525dsdd_format::cc525dsdd_format()
{
}
-const char *cc525dsdd_format::name() const
+const char *cc525dsdd_format::name() const noexcept
{
return "concept";
}
-const char *cc525dsdd_format::description() const
+const char *cc525dsdd_format::description() const noexcept
{
return "Corvus Concept 5.25\" DSDD floppy disk image";
}
-const char *cc525dsdd_format::extensions() const
+const char *cc525dsdd_format::extensions() const noexcept
{
return "img";
}
-bool cc525dsdd_format::supports_save() const
+bool cc525dsdd_format::supports_save() const noexcept
{
return true;
}
@@ -98,7 +98,7 @@ int cc525dsdd_format::identify(util::random_read &io, uint32_t form_factor, cons
return 0;
}
-bool cc525dsdd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool cc525dsdd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint8_t track_count, head_count, sector_count;
find_size(io, track_count, head_count, sector_count);
@@ -120,12 +120,12 @@ bool cc525dsdd_format::load(util::random_read &io, uint32_t form_factor, const s
}
}
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
return true;
}
-bool cc525dsdd_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool cc525dsdd_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int track_count, head_count, sector_count;
get_geometry_mfm_pc(image, 2000, track_count, head_count, sector_count);
diff --git a/src/lib/formats/concept_dsk.h b/src/lib/formats/concept_dsk.h
index b9546081d47..90a2937a564 100644
--- a/src/lib/formats/concept_dsk.h
+++ b/src/lib/formats/concept_dsk.h
@@ -18,13 +18,13 @@ public:
cc525dsdd_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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;
static const desc_e cc_9_desc[];
diff --git a/src/lib/formats/coupedsk.cpp b/src/lib/formats/coupedsk.cpp
index 90039e8b6cb..6e43aa9c301 100644
--- a/src/lib/formats/coupedsk.cpp
+++ b/src/lib/formats/coupedsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*************************************************************************
- formats/coupedsk.c
+ formats/coupedsk.cpp
SAM Coupe disk image formats
@@ -44,22 +44,22 @@ mgt_format::mgt_format()
{
}
-const char *mgt_format::name() const
+const char *mgt_format::name() const noexcept
{
return "mgt";
}
-const char *mgt_format::description() const
+const char *mgt_format::description() const noexcept
{
return "Sam Coupe MGT image format";
}
-const char *mgt_format::extensions() const
+const char *mgt_format::extensions() const noexcept
{
return "mgt,dsk";
}
-bool mgt_format::supports_save() const
+bool mgt_format::supports_save() const noexcept
{
return true;
}
@@ -76,7 +76,7 @@ int mgt_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool mgt_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool mgt_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t size;
if(io.length(size))
@@ -100,11 +100,11 @@ bool mgt_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
}
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
return true;
}
-bool mgt_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool mgt_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int track_count, head_count, sector_count;
get_geometry_mfm_pc(image, 2000, track_count, head_count, sector_count);
diff --git a/src/lib/formats/coupedsk.h b/src/lib/formats/coupedsk.h
index fec4c6db4f7..01cc65cf48e 100644
--- a/src/lib/formats/coupedsk.h
+++ b/src/lib/formats/coupedsk.h
@@ -20,13 +20,13 @@ public:
mgt_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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;
static const floppy_image_format_t::desc_e desc_10[];
};
diff --git a/src/lib/formats/cp68_dsk.cpp b/src/lib/formats/cp68_dsk.cpp
index 10e21fa9ea2..c6eb005f1c0 100644
--- a/src/lib/formats/cp68_dsk.cpp
+++ b/src/lib/formats/cp68_dsk.cpp
@@ -78,17 +78,17 @@ cp68_format::cp68_format() : wd177x_format(cp68_formats::formats)
{
}
-const char *cp68_format::name() const
+const char *cp68_format::name() const noexcept
{
return "cp68";
}
-const char *cp68_format::description() const
+const char *cp68_format::description() const noexcept
{
return "CP/68 compatible disk image";
}
-const char *cp68_format::extensions() const
+const char *cp68_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/cp68_dsk.h b/src/lib/formats/cp68_dsk.h
index 3d9335cb2be..30343cdc6cf 100644
--- a/src/lib/formats/cp68_dsk.h
+++ b/src/lib/formats/cp68_dsk.h
@@ -18,9 +18,9 @@ class cp68_format : public wd177x_format
public:
cp68_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual const wd177x_format::format &get_track_format(const format &f, int head, int track) const override;
diff --git a/src/lib/formats/cpis_dsk.cpp b/src/lib/formats/cpis_dsk.cpp
index 7ba7e24e154..e98bdb74944 100644
--- a/src/lib/formats/cpis_dsk.cpp
+++ b/src/lib/formats/cpis_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/cpis_dsk.c
+ formats/cpis_dsk.cpp
Telenova Compis disk images
@@ -14,17 +14,17 @@ cpis_format::cpis_format() : upd765_format(formats)
{
}
-const char *cpis_format::name() const
+const char *cpis_format::name() const noexcept
{
return "cpis";
}
-const char *cpis_format::description() const
+const char *cpis_format::description() const noexcept
{
return "COMPIS disk image";
}
-const char *cpis_format::extensions() const
+const char *cpis_format::extensions() const noexcept
{
return "dsk,img";
}
diff --git a/src/lib/formats/cpis_dsk.h b/src/lib/formats/cpis_dsk.h
index 9493f8162b3..4eedabed68a 100644
--- a/src/lib/formats/cpis_dsk.h
+++ b/src/lib/formats/cpis_dsk.h
@@ -18,9 +18,9 @@ class cpis_format : public upd765_format {
public:
cpis_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/cqm_dsk.cpp b/src/lib/formats/cqm_dsk.cpp
index b53f0a6f877..47fa0fddfbe 100644
--- a/src/lib/formats/cqm_dsk.cpp
+++ b/src/lib/formats/cqm_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Miodrag Milanovic
/*********************************************************************
- formats/cqm_dsk.c
+ formats/cqm_dsk.cpp
CopyQM disk images
@@ -240,17 +240,17 @@ cqm_format::cqm_format()
{
}
-const char *cqm_format::name() const
+const char *cqm_format::name() const noexcept
{
return "cqm";
}
-const char *cqm_format::description() const
+const char *cqm_format::description() const noexcept
{
return "CopyQM disk image";
}
-const char *cqm_format::extensions() const
+const char *cqm_format::extensions() const noexcept
{
return "cqm,cqi,dsk";
}
@@ -267,7 +267,7 @@ int cqm_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool cqm_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool cqm_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
const int max_size = 4*1024*1024; // 4MB ought to be large enough for any floppy
@@ -291,19 +291,19 @@ bool cqm_format::load(util::random_read &io, uint32_t form_factor, const std::ve
{
case 0:
if (form_factor == floppy_image::FF_525 && tracks > 50)
- image->set_variant(heads == 1 ? floppy_image::SSQD : floppy_image::DSQD);
+ image.set_variant(heads == 1 ? floppy_image::SSQD : floppy_image::DSQD);
else
- image->set_variant(heads == 1 ? floppy_image::SSDD : floppy_image::DSDD);
+ image.set_variant(heads == 1 ? floppy_image::SSDD : floppy_image::DSDD);
break;
case 1:
if (heads == 1)
return false; // single side HD ?
- image->set_variant(floppy_image::DSHD);
+ image.set_variant(floppy_image::DSHD);
break;
case 2:
if (heads == 1)
return false; // single side ED ?
- image->set_variant(floppy_image::DSED);
+ image.set_variant(floppy_image::DSED);
break;
default:
return false;
@@ -367,12 +367,12 @@ 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, floppy_image *image) const
+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
+bool cqm_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/cqm_dsk.h b/src/lib/formats/cqm_dsk.h
index b8734d74d30..382861b8740 100644
--- a/src/lib/formats/cqm_dsk.h
+++ b/src/lib/formats/cqm_dsk.h
@@ -20,13 +20,13 @@ public:
cqm_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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/d64_dsk.cpp b/src/lib/formats/d64_dsk.cpp
index 06a357577d7..56fec80c8c9 100644
--- a/src/lib/formats/d64_dsk.cpp
+++ b/src/lib/formats/d64_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/d64_dsk.c
+ formats/d64_dsk.cpp
Commodore 4040/1541/1551 sector disk image format
@@ -29,17 +29,17 @@ d64_format::d64_format(const format *_formats)
formats = _formats;
}
-const char *d64_format::name() const
+const char *d64_format::name() const noexcept
{
return "d64";
}
-const char *d64_format::description() const
+const char *d64_format::description() const noexcept
{
return "Commodore 4040/1541/1551 disk image";
}
-const char *d64_format::extensions() const
+const char *d64_format::extensions() const noexcept
{
return "d64";
}
@@ -217,7 +217,7 @@ void d64_format::fix_end_gap(floppy_image_format_t::desc_e* desc, int remaining_
desc[22].p1 >>= remaining_size & 0x01;
}
-bool d64_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool d64_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
int type = find_size(io, form_factor);
if(type == -1)
@@ -275,12 +275,12 @@ bool d64_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
}
- image->set_variant(f.variant);
+ image.set_variant(f.variant);
return true;
}
-bool d64_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool d64_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
const format &f = formats[0];
@@ -302,7 +302,7 @@ bool d64_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return true;
}
-void d64_format::extract_sectors(floppy_image *image, const format &f, desc_s *sdesc, int track, int head, int sector_count) const
+void d64_format::extract_sectors(const floppy_image &image, const format &f, desc_s *sdesc, int track, int head, int sector_count) const
{
int physical_track = this->get_physical_track(f, head, track);
int cell_size = this->get_cell_size(f, track);
diff --git a/src/lib/formats/d64_dsk.h b/src/lib/formats/d64_dsk.h
index f768a6d337a..bddb13462b8 100644
--- a/src/lib/formats/d64_dsk.h
+++ b/src/lib/formats/d64_dsk.h
@@ -33,14 +33,14 @@ public:
d64_format();
d64_format(const format *formats);
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() 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;
- virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const override;
- virtual bool supports_save() const override { return true; }
+ 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 bool supports_save() const noexcept override { return true; }
protected:
enum
@@ -73,7 +73,7 @@ protected:
virtual floppy_image_format_t::desc_e* get_sector_desc(const format &f, int &current_size, int sector_count, uint8_t id1, uint8_t id2, int gap_2) const;
void build_sector_description(const format &f, uint8_t *sectdata, uint32_t sect_offs, uint32_t error_offs, desc_s *sectors, int sector_count) const;
virtual void fix_end_gap(floppy_image_format_t::desc_e* desc, int remaining_size) const;
- void extract_sectors(floppy_image *image, const format &f, desc_s *sdesc, int track, int head, int sector_count) const;
+ void extract_sectors(const floppy_image &image, const format &f, desc_s *sdesc, int track, int head, int sector_count) const;
static const format file_formats[];
diff --git a/src/lib/formats/d71_dsk.cpp b/src/lib/formats/d71_dsk.cpp
index 6a8a499f8f1..a7909ac84fb 100644
--- a/src/lib/formats/d71_dsk.cpp
+++ b/src/lib/formats/d71_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/d71_dsk.c
+ formats/d71_dsk.cpp
Commodore 1571 sector disk image format
@@ -14,17 +14,17 @@ d71_format::d71_format() : d64_format(formats)
{
}
-const char *d71_format::name() const
+const char *d71_format::name() const noexcept
{
return "d71";
}
-const char *d71_format::description() const
+const char *d71_format::description() const noexcept
{
return "Commodore 1571 disk image";
}
-const char *d71_format::extensions() const
+const char *d71_format::extensions() const noexcept
{
return "d71";
}
diff --git a/src/lib/formats/d71_dsk.h b/src/lib/formats/d71_dsk.h
index b9d1385f518..7afb8d65edd 100644
--- a/src/lib/formats/d71_dsk.h
+++ b/src/lib/formats/d71_dsk.h
@@ -19,9 +19,9 @@ class d71_format : public d64_format
public:
d71_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
protected:
static const format formats[];
diff --git a/src/lib/formats/d80_dsk.cpp b/src/lib/formats/d80_dsk.cpp
index f1c6e96afaf..90fffea307d 100644
--- a/src/lib/formats/d80_dsk.cpp
+++ b/src/lib/formats/d80_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/d80_dsk.c
+ formats/d80_dsk.cpp
Commodore 8050 sector disk image format
@@ -21,17 +21,17 @@ d80_format::d80_format(const format *_formats) : d64_format(_formats), formats(n
{
}
-const char *d80_format::name() const
+const char *d80_format::name() const noexcept
{
return "d80";
}
-const char *d80_format::description() const
+const char *d80_format::description() const noexcept
{
return "Commodore 8050 disk image";
}
-const char *d80_format::extensions() const
+const char *d80_format::extensions() const noexcept
{
return "d80";
}
diff --git a/src/lib/formats/d80_dsk.h b/src/lib/formats/d80_dsk.h
index 7961929bf73..a9141b3c220 100644
--- a/src/lib/formats/d80_dsk.h
+++ b/src/lib/formats/d80_dsk.h
@@ -20,9 +20,9 @@ public:
d80_format();
d80_format(const format *formats);
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
protected:
const format *formats;
diff --git a/src/lib/formats/d81_dsk.cpp b/src/lib/formats/d81_dsk.cpp
index 897b3a7d8d6..96dc9789eb6 100644
--- a/src/lib/formats/d81_dsk.cpp
+++ b/src/lib/formats/d81_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/d81_dsk.c
+ formats/d81_dsk.cpp
Commodore 1581 disk image format
@@ -79,17 +79,17 @@ d81_format::d81_format() : wd177x_format(formats)
{
}
-const char *d81_format::name() const
+const char *d81_format::name() const noexcept
{
return "d81";
}
-const char *d81_format::description() const
+const char *d81_format::description() const noexcept
{
return "Commodore 1581 disk image";
}
-const char *d81_format::extensions() const
+const char *d81_format::extensions() const noexcept
{
return "d81";
}
diff --git a/src/lib/formats/d81_dsk.h b/src/lib/formats/d81_dsk.h
index 75ed603b9ab..5ebf62e9dae 100644
--- a/src/lib/formats/d81_dsk.h
+++ b/src/lib/formats/d81_dsk.h
@@ -19,9 +19,9 @@ class d81_format : public wd177x_format
public:
d81_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
virtual floppy_image_format_t::desc_e* get_desc_mfm(const format &f, int &current_size, int &end_gap_index) const override;
diff --git a/src/lib/formats/d82_dsk.cpp b/src/lib/formats/d82_dsk.cpp
index 10e1c6ef25d..067e36a36d6 100644
--- a/src/lib/formats/d82_dsk.cpp
+++ b/src/lib/formats/d82_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/d82_dsk.c
+ formats/d82_dsk.cpp
Commodore 8250/SFD-1001 sector disk image format
@@ -14,17 +14,17 @@ d82_format::d82_format() : d80_format(file_formats)
{
}
-const char *d82_format::name() const
+const char *d82_format::name() const noexcept
{
return "d82";
}
-const char *d82_format::description() const
+const char *d82_format::description() const noexcept
{
return "Commodore 8250/SFD-1001 disk image";
}
-const char *d82_format::extensions() const
+const char *d82_format::extensions() const noexcept
{
return "d82";
}
diff --git a/src/lib/formats/d82_dsk.h b/src/lib/formats/d82_dsk.h
index ba3b6dcd1c9..a35f82cf4e8 100644
--- a/src/lib/formats/d82_dsk.h
+++ b/src/lib/formats/d82_dsk.h
@@ -19,9 +19,9 @@ class d82_format : public d80_format
public:
d82_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
protected:
static const format file_formats[];
diff --git a/src/lib/formats/d88_dsk.cpp b/src/lib/formats/d88_dsk.cpp
index 349665795cb..e0482dadbf3 100644
--- a/src/lib/formats/d88_dsk.cpp
+++ b/src/lib/formats/d88_dsk.cpp
@@ -377,7 +377,7 @@ FLOPPY_CONSTRUCT(d88_dsk_construct)
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/d88_dsk.h
+ formats/d88_dsk.cpp
D88 disk images
@@ -389,17 +389,17 @@ d88_format::d88_format()
{
}
-const char *d88_format::name() const
+const char *d88_format::name() const noexcept
{
return "d88";
}
-const char *d88_format::description() const
+const char *d88_format::description() const noexcept
{
return "D88 disk image";
}
-const char *d88_format::extensions() const
+const char *d88_format::extensions() const noexcept
{
return "d77,d88,1dd";
}
@@ -420,7 +420,7 @@ int d88_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool d88_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool d88_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
@@ -435,35 +435,35 @@ bool d88_format::load(util::random_read &io, uint32_t form_factor, const std::ve
cell_count = 100000;
track_count = 42;
head_count = 2;
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
break;
case 0x10:
cell_count = 100000;
track_count = 82;
head_count = 2;
- image->set_variant(floppy_image::DSQD);
+ image.set_variant(floppy_image::DSQD);
break;
case 0x20:
cell_count = form_factor == floppy_image::FF_35 ? 200000 : 166666;
track_count = 82;
head_count = 2;
- image->set_variant(floppy_image::DSHD);
+ image.set_variant(floppy_image::DSHD);
break;
case 0x30:
cell_count = 100000;
track_count = 42;
head_count = 1;
- image->set_variant(floppy_image::SSDD);
+ image.set_variant(floppy_image::SSDD);
break;
case 0x40:
cell_count = 100000;
track_count = 82;
head_count = 1;
- image->set_variant(floppy_image::SSQD);
+ image.set_variant(floppy_image::SSQD);
break;
}
@@ -537,7 +537,7 @@ bool d88_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool d88_format::supports_save() const
+bool d88_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/d88_dsk.h b/src/lib/formats/d88_dsk.h
index 6641e19705a..a1f03bf2e2d 100644
--- a/src/lib/formats/d88_dsk.h
+++ b/src/lib/formats/d88_dsk.h
@@ -21,12 +21,12 @@ public:
d88_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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 5dff5fd1843..f7740a0ea29 100644
--- a/src/lib/formats/dcp_dsk.cpp
+++ b/src/lib/formats/dcp_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Fabio Priuli
/*********************************************************************
- formats/dcp_dsk.h
+ formats/dcp_dsk.cpp
PC98 DCP & DCU disk images
@@ -29,17 +29,17 @@ dcp_format::dcp_format()
{
}
-const char *dcp_format::name() const
+const char *dcp_format::name() const noexcept
{
return "dcx";
}
-const char *dcp_format::description() const
+const char *dcp_format::description() const noexcept
{
return "DCP/DCU disk image";
}
-const char *dcp_format::extensions() const
+const char *dcp_format::extensions() const noexcept
{
return "dcp,dcu";
}
@@ -117,7 +117,7 @@ int dcp_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool dcp_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool dcp_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
uint8_t h[0xa2];
@@ -300,7 +300,7 @@ bool dcp_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool dcp_format::supports_save() const
+bool dcp_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/dcp_dsk.h b/src/lib/formats/dcp_dsk.h
index 876a54f9492..a7d0c073c7b 100644
--- a/src/lib/formats/dcp_dsk.h
+++ b/src/lib/formats/dcp_dsk.h
@@ -21,12 +21,12 @@ public:
dcp_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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 73a43466e08..a0d216002bd 100644
--- a/src/lib/formats/dfi_dsk.cpp
+++ b/src/lib/formats/dfi_dsk.cpp
@@ -40,22 +40,22 @@ dfi_format::dfi_format() : floppy_image_format_t()
{
}
-const char *dfi_format::name() const
+const char *dfi_format::name() const noexcept
{
return "dfi";
}
-const char *dfi_format::description() const
+const char *dfi_format::description() const noexcept
{
return "DiscFerret flux dump format";
}
-const char *dfi_format::extensions() const
+const char *dfi_format::extensions() const noexcept
{
return "dfi";
}
-bool dfi_format::supports_save() const
+bool dfi_format::supports_save() const noexcept
{
return false;
}
@@ -68,7 +68,7 @@ int dfi_format::identify(util::random_read &io, uint32_t form_factor, const std:
return memcmp(sign, "DFE2", 4) ? 0 : FIFID_SIGN;
}
-bool dfi_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool dfi_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
char sign[4];
@@ -165,7 +165,7 @@ bool dfi_format::load(util::random_read &io, uint32_t form_factor, const std::ve
if(!index_time)
index_time = total_time;
- std::vector<uint32_t> &buf = image->get_buffer(track, head);
+ std::vector<uint32_t> &buf = image.get_buffer(track, head);
buf.resize(tsize);
int cur_time = 0;
diff --git a/src/lib/formats/dfi_dsk.h b/src/lib/formats/dfi_dsk.h
index 43a813a457c..1968b1cb6ad 100644
--- a/src/lib/formats/dfi_dsk.h
+++ b/src/lib/formats/dfi_dsk.h
@@ -13,12 +13,12 @@ public:
dfi_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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 9406f80ff8c..52d3dfc1566 100644
--- a/src/lib/formats/dim_dsk.cpp
+++ b/src/lib/formats/dim_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/dim_dsk.c
+ formats/dim_dsk.cpp
DIM disk images
@@ -18,17 +18,17 @@ dim_format::dim_format()
{
}
-const char *dim_format::name() const
+const char *dim_format::name() const noexcept
{
return "dim";
}
-const char *dim_format::description() const
+const char *dim_format::description() const noexcept
{
return "DIM disk image";
}
-const char *dim_format::extensions() const
+const char *dim_format::extensions() const noexcept
{
return "dim";
}
@@ -46,7 +46,7 @@ int dim_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool dim_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool dim_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
int offset = 0x100;
@@ -126,7 +126,7 @@ bool dim_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
-bool dim_format::supports_save() const
+bool dim_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/dim_dsk.h b/src/lib/formats/dim_dsk.h
index edcef4f54a9..664e566c046 100644
--- a/src/lib/formats/dim_dsk.h
+++ b/src/lib/formats/dim_dsk.h
@@ -22,12 +22,12 @@ public:
dim_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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 36d6d4b2da3..ecbd12bde1e 100644
--- a/src/lib/formats/dip_dsk.cpp
+++ b/src/lib/formats/dip_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Fabio Priuli
/*********************************************************************
- formats/dip_dsk.h
+ formats/dip_dsk.cpp
PC98 DIP disk images
@@ -23,17 +23,17 @@ dip_format::dip_format()
{
}
-const char *dip_format::name() const
+const char *dip_format::name() const noexcept
{
return "dip";
}
-const char *dip_format::description() const
+const char *dip_format::description() const noexcept
{
return "DIP disk image";
}
-const char *dip_format::extensions() const
+const char *dip_format::extensions() const noexcept
{
return "dip";
}
@@ -50,7 +50,7 @@ int dip_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool dip_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool dip_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
int heads, tracks, spt, bps;
@@ -93,7 +93,7 @@ bool dip_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool dip_format::supports_save() const
+bool dip_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/dip_dsk.h b/src/lib/formats/dip_dsk.h
index 4f3a6c2ac81..cc315a813d7 100644
--- a/src/lib/formats/dip_dsk.h
+++ b/src/lib/formats/dip_dsk.h
@@ -21,12 +21,12 @@ public:
dip_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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 6517ba9c273..68257ff1f2b 100644
--- a/src/lib/formats/dmk_dsk.cpp
+++ b/src/lib/formats/dmk_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Wilbert Pol
/*********************************************************************
- formats/dmk_dsk.h
+ formats/dmk_dsk.cpp
DMK disk images
@@ -48,19 +48,19 @@ dmk_format::dmk_format()
}
-const char *dmk_format::name() const
+const char *dmk_format::name() const noexcept
{
return "dmk";
}
-const char *dmk_format::description() const
+const char *dmk_format::description() const noexcept
{
return "DMK disk image";
}
-const char *dmk_format::extensions() const
+const char *dmk_format::extensions() const noexcept
{
return "dmk";
}
@@ -108,7 +108,7 @@ int dmk_format::identify(util::random_read &io, uint32_t form_factor, const std:
}
-bool dmk_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool dmk_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
@@ -144,7 +144,7 @@ bool dmk_format::load(util::random_read &io, uint32_t form_factor, const std::ve
variant = floppy_image::SSDD;
}
}
- image->set_variant(variant);
+ image.set_variant(variant);
int fm_stride = is_sd ? 1 : 2;
@@ -330,7 +330,7 @@ bool dmk_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool dmk_format::supports_save() const
+bool dmk_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/dmk_dsk.h b/src/lib/formats/dmk_dsk.h
index 873484a8e94..1c7850f1384 100644
--- a/src/lib/formats/dmk_dsk.h
+++ b/src/lib/formats/dmk_dsk.h
@@ -22,12 +22,12 @@ public:
dmk_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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/dmv_dsk.cpp b/src/lib/formats/dmv_dsk.cpp
index d290072b655..25f1019d08e 100644
--- a/src/lib/formats/dmv_dsk.cpp
+++ b/src/lib/formats/dmv_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/dmv_dsk.c
+ formats/dmv_dsk.cpp
NCR Decision Mate V format
@@ -14,17 +14,17 @@ dmv_format::dmv_format() : upd765_format(formats)
{
}
-const char *dmv_format::name() const
+const char *dmv_format::name() const noexcept
{
return "dmv";
}
-const char *dmv_format::description() const
+const char *dmv_format::description() const noexcept
{
return "Decision Mate V disk image";
}
-const char *dmv_format::extensions() const
+const char *dmv_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/dmv_dsk.h b/src/lib/formats/dmv_dsk.h
index 8e9d5bf47ca..44801ac269e 100644
--- a/src/lib/formats/dmv_dsk.h
+++ b/src/lib/formats/dmv_dsk.h
@@ -19,9 +19,9 @@ class dmv_format : public upd765_format
public:
dmv_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/ds9_dsk.cpp b/src/lib/formats/ds9_dsk.cpp
index 119de56d371..396a6ae3235 100644
--- a/src/lib/formats/ds9_dsk.cpp
+++ b/src/lib/formats/ds9_dsk.cpp
@@ -49,17 +49,17 @@ ds9_format::ds9_format()
{
}
-const char *ds9_format::name() const
+const char *ds9_format::name() const noexcept
{
return "a9dsk";
}
-const char *ds9_format::description() const
+const char *ds9_format::description() const noexcept
{
return "Agat-9 840K floppy image";
}
-const char *ds9_format::extensions() const
+const char *ds9_format::extensions() const noexcept
{
return "ds9";
}
@@ -89,7 +89,7 @@ int ds9_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool ds9_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool ds9_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint8_t track_count, head_count, sector_count;
find_size(io, track_count, head_count, sector_count);
@@ -115,7 +115,7 @@ bool ds9_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
}
- image->set_variant(floppy_image::DSQD);
+ image.set_variant(floppy_image::DSQD);
return true;
}
diff --git a/src/lib/formats/ds9_dsk.h b/src/lib/formats/ds9_dsk.h
index eefb181d41c..cfed4ea85d1 100644
--- a/src/lib/formats/ds9_dsk.h
+++ b/src/lib/formats/ds9_dsk.h
@@ -18,12 +18,12 @@ public:
ds9_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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 { return false; }
+ 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 { return false; }
static const desc_e ds9_desc[];
diff --git a/src/lib/formats/dsk_dsk.cpp b/src/lib/formats/dsk_dsk.cpp
index 024ca8baa99..adfbe7735ed 100644
--- a/src/lib/formats/dsk_dsk.cpp
+++ b/src/lib/formats/dsk_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/dsk_dsk.c
+ formats/dsk_dsk.cpp
DSK disk images
@@ -288,22 +288,22 @@ dsk_format::dsk_format() : floppy_image_format_t()
{
}
-const char *dsk_format::name() const
+const char *dsk_format::name() const noexcept
{
return "dsk";
}
-const char *dsk_format::description() const
+const char *dsk_format::description() const noexcept
{
return "CPC DSK Format";
}
-const char *dsk_format::extensions() const
+const char *dsk_format::extensions() const noexcept
{
return "dsk";
}
-bool dsk_format::supports_save() const
+bool dsk_format::supports_save() const noexcept
{
return false;
}
@@ -354,7 +354,7 @@ struct sector_header
#pragma pack()
-bool dsk_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool dsk_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
@@ -378,7 +378,7 @@ bool dsk_format::load(util::random_read &io, uint32_t form_factor, const std::ve
int tracks = header[0x30];
int img_tracks, img_heads;
- image->get_maximal_geometry(img_tracks, img_heads);
+ image.get_maximal_geometry(img_tracks, img_heads);
if (tracks > img_tracks)
{
if (tracks - img_tracks > DUMP_THRESHOLD)
diff --git a/src/lib/formats/dsk_dsk.h b/src/lib/formats/dsk_dsk.h
index 1c1eb02a879..d3a7b7c704c 100644
--- a/src/lib/formats/dsk_dsk.h
+++ b/src/lib/formats/dsk_dsk.h
@@ -20,12 +20,12 @@ public:
dsk_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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/dvk_mx_dsk.cpp b/src/lib/formats/dvk_mx_dsk.cpp
index 3437f16c09b..981bed010e7 100644
--- a/src/lib/formats/dvk_mx_dsk.cpp
+++ b/src/lib/formats/dvk_mx_dsk.cpp
@@ -62,22 +62,22 @@ dvk_mx_format::dvk_mx_format()
{
}
-const char *dvk_mx_format::name() const
+const char *dvk_mx_format::name() const noexcept
{
return "mx";
}
-const char *dvk_mx_format::description() const
+const char *dvk_mx_format::description() const noexcept
{
return "DVK MX: floppy image";
}
-const char *dvk_mx_format::extensions() const
+const char *dvk_mx_format::extensions() const noexcept
{
return "mx";
}
-bool dvk_mx_format::supports_save() const
+bool dvk_mx_format::supports_save() const noexcept
{
return false;
}
@@ -136,7 +136,7 @@ int dvk_mx_format::identify(util::random_read &io, uint32_t form_factor, const s
return 0;
}
-bool dvk_mx_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool dvk_mx_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint8_t track_count, head_count, sector_count;
@@ -165,17 +165,17 @@ bool dvk_mx_format::load(util::random_read &io, uint32_t form_factor, const std:
if (head_count == 1)
{
- image->set_variant(floppy_image::SSDD);
+ image.set_variant(floppy_image::SSDD);
}
else
{
if (track_count > 40)
{
- image->set_variant(floppy_image::DSQD);
+ image.set_variant(floppy_image::DSQD);
}
else
{
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
}
}
diff --git a/src/lib/formats/dvk_mx_dsk.h b/src/lib/formats/dvk_mx_dsk.h
index 583329e9f82..83f93fd0878 100644
--- a/src/lib/formats/dvk_mx_dsk.h
+++ b/src/lib/formats/dvk_mx_dsk.h
@@ -18,12 +18,12 @@ public:
dvk_mx_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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 dvk_mx_old_desc[];
static const desc_e dvk_mx_new_desc[];
diff --git a/src/lib/formats/ep64_dsk.cpp b/src/lib/formats/ep64_dsk.cpp
index 09860174f02..010352a9476 100644
--- a/src/lib/formats/ep64_dsk.cpp
+++ b/src/lib/formats/ep64_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/ep64_dsk.c
+ formats/ep64_dsk.cpp
Enterprise Sixty Four disk image format
@@ -14,17 +14,17 @@ ep64_format::ep64_format() : wd177x_format(formats)
{
}
-const char *ep64_format::name() const
+const char *ep64_format::name() const noexcept
{
return "ep64";
}
-const char *ep64_format::description() const
+const char *ep64_format::description() const noexcept
{
return "Enteprise Sixty Four disk image";
}
-const char *ep64_format::extensions() const
+const char *ep64_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/ep64_dsk.h b/src/lib/formats/ep64_dsk.h
index 1d1143359a0..0423cb0a544 100644
--- a/src/lib/formats/ep64_dsk.h
+++ b/src/lib/formats/ep64_dsk.h
@@ -19,9 +19,9 @@ class ep64_format : public wd177x_format
public:
ep64_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/esq16_dsk.cpp b/src/lib/formats/esq16_dsk.cpp
index a8611f3e71c..a7e181b2cc7 100644
--- a/src/lib/formats/esq16_dsk.cpp
+++ b/src/lib/formats/esq16_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:R. Belmont, Olivier Galibert
/*********************************************************************
- formats/esq16_dsk.c
+ formats/esq16_dsk.cpp
Formats for 16-bit Ensoniq synthesizers and samplers
@@ -51,22 +51,22 @@ esqimg_format::esqimg_format()
{
}
-const char *esqimg_format::name() const
+const char *esqimg_format::name() const noexcept
{
return "esq16";
}
-const char *esqimg_format::description() const
+const char *esqimg_format::description() const noexcept
{
return "Ensoniq VFX-SD/SD-1/EPS-16 floppy disk image";
}
-const char *esqimg_format::extensions() const
+const char *esqimg_format::extensions() const noexcept
{
return "img";
}
-bool esqimg_format::supports_save() const
+bool esqimg_format::supports_save() const noexcept
{
return true;
}
@@ -97,7 +97,7 @@ int esqimg_format::identify(util::random_read &io, uint32_t form_factor, const s
return 0;
}
-bool esqimg_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool esqimg_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint8_t track_count, head_count, sector_count;
find_size(io, track_count, head_count, sector_count);
@@ -119,12 +119,12 @@ bool esqimg_format::load(util::random_read &io, uint32_t form_factor, const std:
}
}
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
return true;
}
-bool esqimg_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool esqimg_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int track_count, head_count, sector_count;
get_geometry_mfm_pc(image, 2000, track_count, head_count, sector_count);
diff --git a/src/lib/formats/esq16_dsk.h b/src/lib/formats/esq16_dsk.h
index 9a1c7129dba..c97a195e57f 100644
--- a/src/lib/formats/esq16_dsk.h
+++ b/src/lib/formats/esq16_dsk.h
@@ -22,13 +22,13 @@ public:
esqimg_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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;
static const desc_e esq_10_desc[];
diff --git a/src/lib/formats/esq8_dsk.cpp b/src/lib/formats/esq8_dsk.cpp
index c352447dc50..fb3bdb112d6 100644
--- a/src/lib/formats/esq8_dsk.cpp
+++ b/src/lib/formats/esq8_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:R. Belmont, Olivier Galibert
/*********************************************************************
- formats/esq8_dsk.c
+ formats/esq8_dsk.cpp
Formats for 8-bit Ensoniq synthesizers and samplers
@@ -55,22 +55,22 @@ esq8img_format::esq8img_format()
{
}
-const char *esq8img_format::name() const
+const char *esq8img_format::name() const noexcept
{
return "esq8";
}
-const char *esq8img_format::description() const
+const char *esq8img_format::description() const noexcept
{
return "Ensoniq Mirage/SQ-80 floppy disk image";
}
-const char *esq8img_format::extensions() const
+const char *esq8img_format::extensions() const noexcept
{
return "img";
}
-bool esq8img_format::supports_save() const
+bool esq8img_format::supports_save() const noexcept
{
return true;
}
@@ -103,7 +103,7 @@ int esq8img_format::identify(util::random_read &io, uint32_t form_factor, const
return 0;
}
-bool esq8img_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool esq8img_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
int track_count, head_count, sector_count;
find_size(io, track_count, head_count, sector_count);
@@ -138,12 +138,12 @@ bool esq8img_format::load(util::random_read &io, uint32_t form_factor, const std
}
}
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
return true;
}
-bool esq8img_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool esq8img_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
uint64_t file_offset = 0;
int track_count, head_count, sector_count;
diff --git a/src/lib/formats/esq8_dsk.h b/src/lib/formats/esq8_dsk.h
index f81e0f1a6ed..f15f2e82527 100644
--- a/src/lib/formats/esq8_dsk.h
+++ b/src/lib/formats/esq8_dsk.h
@@ -24,13 +24,13 @@ public:
esq8img_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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;
static const desc_e esq_6_desc[];
diff --git a/src/lib/formats/excali64_dsk.cpp b/src/lib/formats/excali64_dsk.cpp
index bc36214f32a..de864b32bef 100644
--- a/src/lib/formats/excali64_dsk.cpp
+++ b/src/lib/formats/excali64_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Robbbert
/*********************************************************************
- formats/excali64_dsk.c
+ formats/excali64_dsk.cpp
Excalibur 64 disk image format
@@ -14,17 +14,17 @@ excali64_format::excali64_format() : wd177x_format(formats)
{
}
-const char *excali64_format::name() const
+const char *excali64_format::name() const noexcept
{
return "excali64";
}
-const char *excali64_format::description() const
+const char *excali64_format::description() const noexcept
{
return "Excalibur 64 disk image";
}
-const char *excali64_format::extensions() const
+const char *excali64_format::extensions() const noexcept
{
return "raw";
}
diff --git a/src/lib/formats/excali64_dsk.h b/src/lib/formats/excali64_dsk.h
index 527dd9cde99..083ffbf81ba 100644
--- a/src/lib/formats/excali64_dsk.h
+++ b/src/lib/formats/excali64_dsk.h
@@ -19,9 +19,9 @@ class excali64_format : public wd177x_format
public:
excali64_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/fdd_dsk.cpp b/src/lib/formats/fdd_dsk.cpp
index 98a2cfad7dc..fc0741f2f5a 100644
--- a/src/lib/formats/fdd_dsk.cpp
+++ b/src/lib/formats/fdd_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Fabio Priuli
/*********************************************************************
- formats/fdd_dsk.h
+ formats/fdd_dsk.cpp
PC98 FDD disk images
@@ -44,17 +44,17 @@ fdd_format::fdd_format()
{
}
-const char *fdd_format::name() const
+const char *fdd_format::name() const noexcept
{
return "fdd";
}
-const char *fdd_format::description() const
+const char *fdd_format::description() const noexcept
{
return "FDD disk image";
}
-const char *fdd_format::extensions() const
+const char *fdd_format::extensions() const noexcept
{
return "fdd";
}
@@ -71,7 +71,7 @@ int fdd_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool fdd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool fdd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint8_t hsec[0x0c];
@@ -148,7 +148,7 @@ bool fdd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool fdd_format::supports_save() const
+bool fdd_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/fdd_dsk.h b/src/lib/formats/fdd_dsk.h
index 22e31c83756..9dbd0accc5a 100644
--- a/src/lib/formats/fdd_dsk.h
+++ b/src/lib/formats/fdd_dsk.h
@@ -21,12 +21,12 @@ public:
fdd_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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/fdos_dsk.cpp b/src/lib/formats/fdos_dsk.cpp
index 4a7b64afb1b..2980376160e 100644
--- a/src/lib/formats/fdos_dsk.cpp
+++ b/src/lib/formats/fdos_dsk.cpp
@@ -71,17 +71,17 @@ fdos_format::fdos_format() : wd177x_format(fdos_formats::formats)
{
}
-const char *fdos_format::name() const
+const char *fdos_format::name() const noexcept
{
return "fdos";
}
-const char *fdos_format::description() const
+const char *fdos_format::description() const noexcept
{
return "FDOS compatible disk image";
}
-const char *fdos_format::extensions() const
+const char *fdos_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/fdos_dsk.h b/src/lib/formats/fdos_dsk.h
index 62687b43d7b..73bd7d7156a 100644
--- a/src/lib/formats/fdos_dsk.h
+++ b/src/lib/formats/fdos_dsk.h
@@ -18,9 +18,9 @@ class fdos_format : public wd177x_format
public:
fdos_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
};
diff --git a/src/lib/formats/fl1_dsk.cpp b/src/lib/formats/fl1_dsk.cpp
index a8809a424d0..8e72ce7e049 100644
--- a/src/lib/formats/fl1_dsk.cpp
+++ b/src/lib/formats/fl1_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:MetalliC
/*********************************************************************
- formats/fl1_dsk.c
+ formats/fl1_dsk.cpp
FloppyOne DOS disk images
@@ -14,17 +14,17 @@ fl1_format::fl1_format() : wd177x_format(formats)
{
}
-const char *fl1_format::name() const
+const char *fl1_format::name() const noexcept
{
return "fl1";
}
-const char *fl1_format::description() const
+const char *fl1_format::description() const noexcept
{
return "FloppyOne floppy disk image";
}
-const char *fl1_format::extensions() const
+const char *fl1_format::extensions() const noexcept
{
return "fl1";
}
diff --git a/src/lib/formats/fl1_dsk.h b/src/lib/formats/fl1_dsk.h
index 1b82ded9b0f..6c6abe6a99a 100644
--- a/src/lib/formats/fl1_dsk.h
+++ b/src/lib/formats/fl1_dsk.h
@@ -18,9 +18,9 @@ class fl1_format : public wd177x_format {
public:
fl1_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/flex_dsk.cpp b/src/lib/formats/flex_dsk.cpp
index 8c5c128a78c..778e6c990b9 100644
--- a/src/lib/formats/flex_dsk.cpp
+++ b/src/lib/formats/flex_dsk.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald, 68bit
/*
- * flex_dsk.c - FLEX compatible disk images
+ * flex_dsk.cpp - FLEX compatible disk images
*
* Created on: 24/06/2014
*
@@ -60,17 +60,17 @@ flex_format::flex_format() : wd177x_format(formats)
{
}
-const char *flex_format::name() const
+const char *flex_format::name() const noexcept
{
return "flex";
}
-const char *flex_format::description() const
+const char *flex_format::description() const noexcept
{
return "FLEX compatible disk image";
}
-const char *flex_format::extensions() const
+const char *flex_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/flex_dsk.h b/src/lib/formats/flex_dsk.h
index c0dff3d4fe9..d2a34eaf213 100644
--- a/src/lib/formats/flex_dsk.h
+++ b/src/lib/formats/flex_dsk.h
@@ -18,9 +18,9 @@ class flex_format : public wd177x_format
public:
flex_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual const wd177x_format::format &get_track_format(const format &f, int head, int track) const override;
diff --git a/src/lib/formats/flopimg.cpp b/src/lib/formats/flopimg.cpp
index 482ce1bcb63..de020ef5748 100644
--- a/src/lib/formats/flopimg.cpp
+++ b/src/lib/formats/flopimg.cpp
@@ -14,9 +14,12 @@
#include "multibyte.h"
#include "strformat.h"
+#include <algorithm>
+#include <array>
#include <cstdio>
#include <cstring>
#include <stdexcept>
+#include <utility>
floppy_image::floppy_image(int _tracks, int _heads, uint32_t _form_factor)
@@ -62,20 +65,20 @@ void floppy_image::set_variant(uint32_t _variant)
}
}
-void floppy_image::find_index_hole(uint32_t pos, uint32_t &last, uint32_t &next)
+void floppy_image::find_index_hole(uint32_t pos, uint32_t &last, uint32_t &next) const
{
auto nexti = std::lower_bound(index_array.begin(), index_array.end(), pos+1);
next = nexti == index_array.end() ? 200000000 : *nexti;
last = nexti == index_array.begin() ? 0 : *--nexti;
}
-void floppy_image::get_maximal_geometry(int &_tracks, int &_heads) const
+void floppy_image::get_maximal_geometry(int &_tracks, int &_heads) const noexcept
{
_tracks = tracks;
_heads = heads;
}
-void floppy_image::get_actual_geometry(int &_tracks, int &_heads)
+void floppy_image::get_actual_geometry(int &_tracks, int &_heads) const noexcept
{
int maxt = (tracks-1)*4, maxh = heads-1;
@@ -101,7 +104,7 @@ void floppy_image::get_actual_geometry(int &_tracks, int &_heads)
_heads = maxh+1;
}
-int floppy_image::get_resolution() const
+int floppy_image::get_resolution() const noexcept
{
int mask = 0;
for(int i=0; i<=(tracks-1)*4; i++)
@@ -115,7 +118,7 @@ int floppy_image::get_resolution() const
return 0;
}
-bool floppy_image::track_is_formatted(int track, int head, int subtrack)
+bool floppy_image::track_is_formatted(int track, int head, int subtrack) const noexcept
{
int idx = track*4 + subtrack;
if(int(track_array.size()) <= idx)
@@ -131,7 +134,7 @@ bool floppy_image::track_is_formatted(int track, int head, int subtrack)
return false;
}
-const char *floppy_image::get_variant_name(uint32_t form_factor, uint32_t variant)
+const char *floppy_image::get_variant_name(uint32_t form_factor, uint32_t variant) noexcept
{
switch(variant) {
case SSSD: return "Single side, single density";
@@ -149,7 +152,7 @@ const char *floppy_image::get_variant_name(uint32_t form_factor, uint32_t varian
return "Unknown";
}
-bool floppy_image_format_t::has_variant(const std::vector<uint32_t> &variants, uint32_t variant)
+bool floppy_image_format_t::has_variant(const std::vector<uint32_t> &variants, uint32_t variant) noexcept
{
for(uint32_t v : variants)
if(variant == v)
@@ -157,7 +160,7 @@ bool floppy_image_format_t::has_variant(const std::vector<uint32_t> &variants, u
return false;
}
-bool floppy_image_format_t::save(util::random_read_write &io, const std::vector<uint32_t> &, floppy_image *) const
+bool floppy_image_format_t::save(util::random_read_write &io, const std::vector<uint32_t> &, const floppy_image &) const
{
return false;
}
@@ -544,7 +547,7 @@ int floppy_image_format_t::calc_sector_index(int num, int interleave, int skew,
return sec;
}
-void floppy_image_format_t::generate_track(const desc_e *desc, int track, int head, const desc_s *sect, int sect_count, int track_size, floppy_image *image)
+void floppy_image_format_t::generate_track(const desc_e *desc, int track, int head, const desc_s *sect, int sect_count, int track_size, floppy_image &image)
{
std::vector<uint32_t> buffer;
@@ -887,9 +890,9 @@ void floppy_image_format_t::normalize_times(std::vector<uint32_t> &buffer, uint3
}
}
-void floppy_image_format_t::generate_track_from_bitstream(int track, int head, const uint8_t *trackbuf, int track_size, floppy_image *image, int subtrack, int splice)
+void floppy_image_format_t::generate_track_from_bitstream(int track, int head, const uint8_t *trackbuf, int track_size, floppy_image &image, int subtrack, int splice)
{
- std::vector<uint32_t> &dest = image->get_buffer(track, head, subtrack);
+ std::vector<uint32_t> &dest = image.get_buffer(track, head, subtrack);
dest.clear();
for(int i=0; i != track_size; i++)
@@ -900,17 +903,17 @@ void floppy_image_format_t::generate_track_from_bitstream(int track, int head, c
if(splice >= 0 || splice < track_size) {
int splpos = uint64_t(200000000) * splice / track_size;
- image->set_write_splice_position(track, head, splpos, subtrack);
+ image.set_write_splice_position(track, head, splpos, subtrack);
}
}
-void floppy_image_format_t::generate_track_from_levels(int track, int head, std::vector<uint32_t> &trackbuf, int splice_pos, floppy_image *image)
+void floppy_image_format_t::generate_track_from_levels(int track, int head, const std::vector<uint32_t> &trackbuf, int splice_pos, floppy_image &image)
{
// Retrieve the angular splice pos before messing with the data
splice_pos = splice_pos % trackbuf.size();
uint32_t splice_angular_pos = trackbuf[splice_pos] & floppy_image::TIME_MASK;
- std::vector<uint32_t> &dest = image->get_buffer(track, head);
+ std::vector<uint32_t> &dest = image.get_buffer(track, head);
dest.clear();
uint32_t total_time = 0;
@@ -927,7 +930,7 @@ void floppy_image_format_t::generate_track_from_levels(int track, int head, std:
}
normalize_times(dest, total_time);
- image->set_write_splice_position(track, head, splice_angular_pos);
+ image.set_write_splice_position(track, head, splice_angular_pos);
}
const uint8_t floppy_image_format_t::gcr5fw_tb[0x10] =
@@ -1336,10 +1339,10 @@ const floppy_image_format_t::desc_e floppy_image_format_t::amiga_22[] = {
{ END }
};
-std::vector<bool> floppy_image_format_t::generate_bitstream_from_track(int track, int head, int cell_size, floppy_image *image, int subtrack, int *max_delta)
+std::vector<bool> floppy_image_format_t::generate_bitstream_from_track(int track, int head, int cell_size, const floppy_image &image, int subtrack, int *max_delta)
{
std::vector<bool> trackbuf;
- std::vector<uint32_t> &tbuf = image->get_buffer(track, head, subtrack);
+ const std::vector<uint32_t> &tbuf = image.get_buffer(track, head, subtrack);
bool track_has_info = false;
for(uint32_t mg : tbuf)
if((mg & floppy_image::MG_MASK) == floppy_image::MG_F) {
@@ -1672,9 +1675,9 @@ std::vector<std::vector<uint8_t>> floppy_image_format_t::extract_sectors_from_bi
return sectors;
}
-void floppy_image_format_t::get_geometry_mfm_pc(floppy_image *image, int cell_size, int &track_count, int &head_count, int &sector_count)
+void floppy_image_format_t::get_geometry_mfm_pc(const floppy_image &image, int cell_size, int &track_count, int &head_count, int &sector_count)
{
- image->get_actual_geometry(track_count, head_count);
+ image.get_actual_geometry(track_count, head_count);
if(!track_count) {
sector_count = 0;
@@ -1694,7 +1697,7 @@ void floppy_image_format_t::get_geometry_mfm_pc(floppy_image *image, int cell_si
}
-void floppy_image_format_t::get_track_data_mfm_pc(int track, int head, floppy_image *image, int cell_size, int sector_size, int sector_count, uint8_t *sectdata)
+void floppy_image_format_t::get_track_data_mfm_pc(int track, int head, const floppy_image &image, int cell_size, int sector_size, int sector_count, uint8_t *sectdata)
{
auto bitstream = generate_bitstream_from_track(track, head, cell_size, image);
auto sectors = extract_sectors_from_bitstream_mfm_pc(bitstream);
@@ -1793,9 +1796,9 @@ std::vector<std::vector<uint8_t>> floppy_image_format_t::extract_sectors_from_bi
return sectors;
}
-void floppy_image_format_t::get_geometry_fm_pc(floppy_image *image, int cell_size, int &track_count, int &head_count, int &sector_count)
+void floppy_image_format_t::get_geometry_fm_pc(const floppy_image &image, int cell_size, int &track_count, int &head_count, int &sector_count)
{
- image->get_actual_geometry(track_count, head_count);
+ image.get_actual_geometry(track_count, head_count);
if(!track_count) {
sector_count = 0;
@@ -1815,7 +1818,7 @@ void floppy_image_format_t::get_geometry_fm_pc(floppy_image *image, int cell_siz
}
-void floppy_image_format_t::get_track_data_fm_pc(int track, int head, floppy_image *image, int cell_size, int sector_size, int sector_count, uint8_t *sectdata)
+void floppy_image_format_t::get_track_data_fm_pc(int track, int head, const floppy_image &image, int cell_size, int sector_size, int sector_count, uint8_t *sectdata)
{
auto bitstream = generate_bitstream_from_track(track, head, cell_size, image);
auto sectors = extract_sectors_from_bitstream_fm_pc(bitstream);
@@ -1842,17 +1845,17 @@ int floppy_image_format_t::calc_default_pc_gap3_size(uint32_t form_factor, int s
(form_factor == floppy_image::FF_35 ? 84 : 80);
}
-void floppy_image_format_t::build_wd_track_fm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_1, int gap_2)
+void floppy_image_format_t::build_wd_track_fm(int track, int head, floppy_image &image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_1, int gap_2)
{
build_pc_track_fm(track, head, image, cell_count, sector_count, sects, gap_3, -1, gap_1, gap_2);
}
-void floppy_image_format_t::build_wd_track_mfm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_1, int gap_2)
+void floppy_image_format_t::build_wd_track_mfm(int track, int head, floppy_image &image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_1, int gap_2)
{
build_pc_track_mfm(track, head, image, cell_count, sector_count, sects, gap_3, -1, gap_1, gap_2);
}
-void floppy_image_format_t::build_pc_track_fm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_4a, int gap_1, int gap_2)
+void floppy_image_format_t::build_pc_track_fm(int track, int head, floppy_image &image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_4a, int gap_1, int gap_2)
{
std::vector<uint32_t> track_data;
@@ -1918,7 +1921,7 @@ void floppy_image_format_t::build_pc_track_fm(int track, int head, floppy_image
generate_track_from_levels(track, head, track_data, 0, image);
}
-void floppy_image_format_t::build_pc_track_mfm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_4a, int gap_1, int gap_2)
+void floppy_image_format_t::build_pc_track_mfm(int track, int head, floppy_image &image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_4a, int gap_1, int gap_2)
{
std::vector<uint32_t> track_data;
@@ -1986,7 +1989,7 @@ void floppy_image_format_t::build_pc_track_mfm(int track, int head, floppy_image
generate_track_from_levels(track, head, track_data, 0, image);
}
-void floppy_image_format_t::build_mac_track_gcr(int track, int head, floppy_image *image, const desc_gcr_sector *sects)
+void floppy_image_format_t::build_mac_track_gcr(int track, int head, floppy_image &image, const desc_gcr_sector *sects)
{
// 30318342 = 60.0 / 1.979e-6
static const uint32_t cells_per_speed_zone[5] = {
@@ -2076,7 +2079,7 @@ void floppy_image_format_t::build_mac_track_gcr(int track, int head, floppy_imag
generate_track_from_levels(track, head, buffer, 0, image);
}
-std::vector<std::vector<uint8_t>> floppy_image_format_t::extract_sectors_from_track_mac_gcr6(int head, int track, floppy_image *image)
+std::vector<std::vector<uint8_t>> floppy_image_format_t::extract_sectors_from_track_mac_gcr6(int head, int track, const floppy_image &image)
{
// 200000000 / 60.0 * 1.979e-6 ~= 6.5967
static const int cell_size_per_speed_zone[5] = {
diff --git a/src/lib/formats/flopimg.h b/src/lib/formats/flopimg.h
index 56cb8b36080..bd8e4e52f67 100644
--- a/src/lib/formats/flopimg.h
+++ b/src/lib/formats/flopimg.h
@@ -68,7 +68,7 @@ public:
@param image output buffer for data in MAME internal format.
@return true on success, false otherwise.
*/
- virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const = 0;
+ virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const = 0;
/*! @brief Save an image.
The save function writes back an image from the MAME internal
@@ -78,17 +78,17 @@ public:
@param image source buffer containing data in MAME internal format.
@return true on success, false otherwise.
*/
- virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const;
+ virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const;
//! @returns string containing name of format.
- virtual const char *name() const = 0;
+ virtual const char *name() const noexcept = 0;
//! @returns string containing description of format.
- virtual const char *description() const = 0;
+ virtual const char *description() const noexcept = 0;
//! @returns string containing comma-separated list of file
//! extensions the format may use.
- virtual const char *extensions() const = 0;
+ virtual const char *extensions() const noexcept = 0;
//! @returns true if format supports saving.
- virtual bool supports_save() const = 0;
+ virtual bool supports_save() const noexcept = 0;
//! This checks if the file has the proper extension for this format.
//! @param file_name
@@ -191,7 +191,7 @@ protected:
@param variant the variant to test
@result true if variant is in variants
*/
- static bool has_variant(const std::vector<uint32_t> &variants, uint32_t variant);
+ static bool has_variant(const std::vector<uint32_t> &variants, uint32_t variant) noexcept;
//! Sector data description
struct desc_s
@@ -212,7 +212,7 @@ protected:
@param track_size in _cells_, i.e. 100000 for a usual 2us-per-cell track at 300rpm.
@param image
*/
- static void generate_track(const desc_e *desc, int track, int head, const desc_s *sect, int sect_count, int track_size, floppy_image *image);
+ static void generate_track(const desc_e *desc, int track, int head, const desc_s *sect, int sect_count, int track_size, floppy_image &image);
/*! @brief Generate a track from cell binary values, MSB-first.
@param track
@@ -223,7 +223,7 @@ protected:
@param subtrack subtrack index, 0-3
@param splice write splice position
*/
- static void generate_track_from_bitstream(int track, int head, const uint8_t *trackbuf, int track_size, floppy_image *image, int subtrack = 0, int splice = 0);
+ static void generate_track_from_bitstream(int track, int head, const uint8_t *trackbuf, int track_size, floppy_image &image, int subtrack = 0, int splice = 0);
//! @brief Generate a track from cell level values (0/1/W/D/N).
@@ -240,7 +240,7 @@ protected:
know. trackbuf may be modified at that position or after.
@param image
*/
- static void generate_track_from_levels(int track, int head, std::vector<uint32_t> &trackbuf, int splice_pos, floppy_image *image);
+ static void generate_track_from_levels(int track, int head, const std::vector<uint32_t> &trackbuf, int splice_pos, floppy_image &image);
//! Normalize the times in a cell buffer to bring the
//! 0..last_position range up to 0..200000000
@@ -321,7 +321,7 @@ protected:
@endverbatim
*/
- static std::vector<bool> generate_bitstream_from_track(int track, int head, int cell_size, floppy_image *image, int subtrack = 0, int *max_delta = nullptr);
+ static std::vector<bool> generate_bitstream_from_track(int track, int head, int cell_size, const floppy_image &image, int subtrack = 0, int *max_delta = nullptr);
static std::vector<uint8_t> generate_nibbles_from_bitstream(const std::vector<bool> &bitstream);
struct desc_pc_sector
@@ -341,11 +341,11 @@ protected:
};
static int calc_default_pc_gap3_size(uint32_t form_factor, int sector_size);
- static void build_wd_track_fm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_1, int gap_2);
- static void build_wd_track_mfm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_1, int gap_2=22);
- static void build_pc_track_fm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_4a=40, int gap_1=26, int gap_2=11);
- static void build_pc_track_mfm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_4a=80, int gap_1=50, int gap_2=22);
- static void build_mac_track_gcr(int track, int head, floppy_image *image, const desc_gcr_sector *sects);
+ static void build_wd_track_fm(int track, int head, floppy_image &image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_1, int gap_2);
+ static void build_wd_track_mfm(int track, int head, floppy_image &image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_1, int gap_2=22);
+ static void build_pc_track_fm(int track, int head, floppy_image &image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_4a=40, int gap_1=26, int gap_2=11);
+ static void build_pc_track_mfm(int track, int head, floppy_image &image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_4a=80, int gap_1=50, int gap_2=22);
+ static void build_mac_track_gcr(int track, int head, floppy_image &image, const desc_gcr_sector *sects);
//! @brief Extract standard sectors from a regenerated bitstream.
//! Returns a vector of the vector contents, indexed by the sector id. Missing sectors have size zero.
@@ -363,24 +363,24 @@ protected:
static std::vector<std::vector<uint8_t>> extract_sectors_from_bitstream_victor_gcr5(const std::vector<bool> &bitstream);
//! Mac type sectors with GCR6 encoding
- static std::vector<std::vector<uint8_t>> extract_sectors_from_track_mac_gcr6(int head, int track, floppy_image *image);
+ static std::vector<std::vector<uint8_t>> extract_sectors_from_track_mac_gcr6(int head, int track, const floppy_image &image);
//! @brief Get a geometry (including sectors) from an image.
//! PC-type sectors with MFM encoding
- static void get_geometry_mfm_pc(floppy_image *image, int cell_size, int &track_count, int &head_count, int &sector_count);
+ static void get_geometry_mfm_pc(const floppy_image &image, int cell_size, int &track_count, int &head_count, int &sector_count);
//! PC-type sectors with FM encoding
- static void get_geometry_fm_pc(floppy_image *image, int cell_size, int &track_count, int &head_count, int &sector_count);
+ static void get_geometry_fm_pc(const floppy_image &image, int cell_size, int &track_count, int &head_count, int &sector_count);
//! Regenerate the data for a full track.
//! PC-type sectors with MFM encoding and fixed-size.
- static void get_track_data_mfm_pc(int track, int head, floppy_image *image, int cell_size, int sector_size, int sector_count, uint8_t *sectdata);
+ static void get_track_data_mfm_pc(int track, int head, const floppy_image &image, int cell_size, int sector_size, int sector_count, uint8_t *sectdata);
//! Regenerate the data for a full track.
//! PC-type sectors with FM encoding and fixed-size.
- static void get_track_data_fm_pc(int track, int head, floppy_image *image, int cell_size, int sector_size, int sector_count, uint8_t *sectdata);
+ static void get_track_data_fm_pc(int track, int head, const floppy_image &image, int cell_size, int sector_size, int sector_count, uint8_t *sectdata);
//! Look up a bit in a level-type stream.
static bool bit_r(const std::vector<uint32_t> &buffer, int offset);
@@ -556,12 +556,12 @@ public:
@param form_factor form factor of drive (from enum)
*/
floppy_image(int tracks, int heads, uint32_t form_factor);
- virtual ~floppy_image();
+ ~floppy_image();
//! @return the form factor.
- uint32_t get_form_factor() const { return form_factor; }
+ uint32_t get_form_factor() const noexcept { return form_factor; }
//! @return the variant.
- uint32_t get_variant() const { return variant; }
+ uint32_t get_variant() const noexcept { return variant; }
//! @param v the variant.
void set_variant(uint32_t v);
//! @param v the variant.
@@ -576,7 +576,7 @@ public:
@param last most recent index hole
@param next next index hole
*/
- void find_index_hole(uint32_t pos, uint32_t &last, uint32_t &next);
+ void find_index_hole(uint32_t pos, uint32_t &last, uint32_t &next) const;
/*!
@param track
@@ -584,7 +584,8 @@ public:
@param head head number
@return a pointer to the data buffer for this track and head
*/
- std::vector<uint32_t> &get_buffer(int track, int head, int subtrack = 0) { assert(track < tracks && head < heads); return track_array[track*4+subtrack][head].cell_data; }
+ std::vector<uint32_t> &get_buffer(int track, int head, int subtrack = 0) noexcept { assert(track < tracks && head < heads); return track_array[track*4+subtrack][head].cell_data; }
+ const std::vector<uint32_t> &get_buffer(int track, int head, int subtrack = 0) const noexcept { assert(track < tracks && head < heads); return track_array[track*4+subtrack][head].cell_data; }
//! Sets the write splice position.
//! The "track splice" information indicates where to start writing
@@ -598,26 +599,26 @@ public:
@param head
@param pos the position
*/
- void set_write_splice_position(int track, int head, uint32_t pos, int subtrack = 0) { assert(track < tracks && head < heads); track_array[track*4+subtrack][head].write_splice = pos; }
+ void set_write_splice_position(int track, int head, uint32_t pos, int subtrack = 0) noexcept { assert(track < tracks && head < heads); track_array[track*4+subtrack][head].write_splice = pos; }
//! @return the current write splice position.
- uint32_t get_write_splice_position(int track, int head, int subtrack = 0) const { assert(track < tracks && head < heads); return track_array[track*4+subtrack][head].write_splice; }
+ uint32_t get_write_splice_position(int track, int head, int subtrack = 0) const noexcept { assert(track < tracks && head < heads); return track_array[track*4+subtrack][head].write_splice; }
//! @return the maximal geometry supported by this format.
- void get_maximal_geometry(int &tracks, int &heads) const;
+ void get_maximal_geometry(int &tracks, int &heads) const noexcept;
//! @return the current geometry of the loaded image.
- void get_actual_geometry(int &tracks, int &heads);
+ void get_actual_geometry(int &tracks, int &heads) const noexcept;
//! @return the track resolution (0=full track, 1 = half-track, 2 = quarter track)
- int get_resolution() const;
+ int get_resolution() const noexcept;
//! @return whether a given track is formatted
- bool track_is_formatted(int track, int head, int subtrack = 0);
+ bool track_is_formatted(int track, int head, int subtrack = 0) const noexcept;
//! Returns the variant name for the particular disk form factor/variant
//! @param form_factor
//! @param variant
//! @return a string containing the variant name.
- static const char *get_variant_name(uint32_t form_factor, uint32_t variant);
+ static const char *get_variant_name(uint32_t form_factor, uint32_t variant) noexcept;
private:
int tracks, heads;
diff --git a/src/lib/formats/fmtowns_dsk.cpp b/src/lib/formats/fmtowns_dsk.cpp
index 144baa96872..633286ed33a 100644
--- a/src/lib/formats/fmtowns_dsk.cpp
+++ b/src/lib/formats/fmtowns_dsk.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
/*
- * fmtowns_dsk.c
+ * fmtowns_dsk.cpp
*
* FM Towns floppy image format
*
@@ -14,17 +14,17 @@ fmtowns_format::fmtowns_format() : wd177x_format(formats)
{
}
-const char *fmtowns_format::name() const
+const char *fmtowns_format::name() const noexcept
{
return "fmtowns";
}
-const char *fmtowns_format::description() const
+const char *fmtowns_format::description() const noexcept
{
return "FM Towns disk image";
}
-const char *fmtowns_format::extensions() const
+const char *fmtowns_format::extensions() const noexcept
{
return "bin";
}
diff --git a/src/lib/formats/fmtowns_dsk.h b/src/lib/formats/fmtowns_dsk.h
index 4207e3ed81b..98f3cd41881 100644
--- a/src/lib/formats/fmtowns_dsk.h
+++ b/src/lib/formats/fmtowns_dsk.h
@@ -17,9 +17,9 @@ class fmtowns_format : public wd177x_format
public:
fmtowns_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/fsd_dsk.cpp b/src/lib/formats/fsd_dsk.cpp
index 23bc7d57481..e4909ba37f3 100644
--- a/src/lib/formats/fsd_dsk.cpp
+++ b/src/lib/formats/fsd_dsk.cpp
@@ -68,22 +68,22 @@ fsd_format::fsd_format()
{
}
-const char *fsd_format::name() const
+const char *fsd_format::name() const noexcept
{
return "fsd";
}
-const char *fsd_format::description() const
+const char *fsd_format::description() const noexcept
{
return "BBC Micro 8271 protected disk image";
}
-const char *fsd_format::extensions() const
+const char *fsd_format::extensions() const noexcept
{
return "fsd";
}
-bool fsd_format::supports_save() const
+bool fsd_format::supports_save() const noexcept
{
return false;
}
@@ -101,7 +101,7 @@ int fsd_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool fsd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool fsd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
const char* result[255];
result[0x00] = "OK";
diff --git a/src/lib/formats/fsd_dsk.h b/src/lib/formats/fsd_dsk.h
index 3a591876d77..8b61e8d68c6 100644
--- a/src/lib/formats/fsd_dsk.h
+++ b/src/lib/formats/fsd_dsk.h
@@ -28,13 +28,13 @@ class fsd_format : public floppy_image_format_t
public:
fsd_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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;
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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const override;
};
extern const fsd_format FLOPPY_FSD_FORMAT;
diff --git a/src/lib/formats/g64_dsk.cpp b/src/lib/formats/g64_dsk.cpp
index bd7f0a15ca5..568cc8f5027 100644
--- a/src/lib/formats/g64_dsk.cpp
+++ b/src/lib/formats/g64_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/g64_dsk.c
+ formats/g64_dsk.cpp
Commodore 1541/1571 GCR disk image format
@@ -45,7 +45,7 @@ int g64_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool g64_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool g64_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t size;
if (io.length(size))
@@ -101,14 +101,14 @@ bool g64_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
if (!head)
- image->set_variant(floppy_image::SSSD);
+ image.set_variant(floppy_image::SSSD);
else
- image->set_variant(floppy_image::DSSD);
+ image.set_variant(floppy_image::DSSD);
return true;
}
-int g64_format::generate_bitstream(int track, int head, int speed_zone, std::vector<bool> &trackbuf, floppy_image *image)
+int g64_format::generate_bitstream(int track, int head, int speed_zone, std::vector<bool> &trackbuf, const floppy_image &image)
{
int cell_size = c1541_cell_size[speed_zone];
@@ -120,14 +120,14 @@ int g64_format::generate_bitstream(int track, int head, int speed_zone, std::vec
return ((actual_cell_size >= cell_size-10) && (actual_cell_size <= cell_size+10)) ? speed_zone : -1;
}
-bool g64_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool g64_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
uint8_t const zerofill[] = { 0x00, 0x00, 0x00, 0x00 };
std::vector<uint8_t> const prefill(TRACK_LENGTH, 0xff);
size_t actual;
int tracks, heads;
- image->get_actual_geometry(tracks, heads);
+ image.get_actual_geometry(tracks, heads);
tracks = TRACK_COUNT * heads;
// write header
@@ -148,7 +148,7 @@ bool g64_format::save(util::random_read_write &io, const std::vector<uint32_t> &
io.write_at(tpos, zerofill, 4, actual);
io.write_at(spos, zerofill, 4, actual);
- if (image->get_buffer(track, head).size() <= 1)
+ if (image.get_buffer(track, head).size() <= 1)
continue;
int track_size;
@@ -191,17 +191,17 @@ bool g64_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return true;
}
-const char *g64_format::name() const
+const char *g64_format::name() const noexcept
{
return "g64";
}
-const char *g64_format::description() const
+const char *g64_format::description() const noexcept
{
return "Commodore 1541/1571 GCR disk image";
}
-const char *g64_format::extensions() const
+const char *g64_format::extensions() const noexcept
{
return "g64,g41,g71";
}
diff --git a/src/lib/formats/g64_dsk.h b/src/lib/formats/g64_dsk.h
index fbce6941399..dc8aad20860 100644
--- a/src/lib/formats/g64_dsk.h
+++ b/src/lib/formats/g64_dsk.h
@@ -20,13 +20,13 @@ public:
g64_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() const override { return true; }
+ 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 { return true; }
protected:
enum
@@ -46,7 +46,7 @@ protected:
static const uint32_t c1541_cell_size[];
- static int generate_bitstream(int track, int head, int speed_zone, std::vector<bool> &trackbuf, floppy_image *image);
+ static int generate_bitstream(int track, int head, int speed_zone, std::vector<bool> &trackbuf, const floppy_image &image);
};
extern const g64_format FLOPPY_G64_FORMAT;
diff --git a/src/lib/formats/guab_dsk.cpp b/src/lib/formats/guab_dsk.cpp
index 3b1fe8fb410..4eb0fa62060 100644
--- a/src/lib/formats/guab_dsk.cpp
+++ b/src/lib/formats/guab_dsk.cpp
@@ -14,17 +14,17 @@ guab_format::guab_format() : wd177x_format(formats)
{
}
-const char *guab_format::name() const
+const char *guab_format::name() const noexcept
{
return "guab";
}
-const char *guab_format::description() const
+const char *guab_format::description() const noexcept
{
return "JPM Give us a Break disk image";
}
-const char *guab_format::extensions() const
+const char *guab_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/guab_dsk.h b/src/lib/formats/guab_dsk.h
index 9abeb9078f7..75660a70771 100644
--- a/src/lib/formats/guab_dsk.h
+++ b/src/lib/formats/guab_dsk.h
@@ -19,9 +19,9 @@ class guab_format : public wd177x_format
public:
guab_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/hector_minidisc.cpp b/src/lib/formats/hector_minidisc.cpp
index 02a538dddcf..9c56c1d12ae 100644
--- a/src/lib/formats/hector_minidisc.cpp
+++ b/src/lib/formats/hector_minidisc.cpp
@@ -14,17 +14,17 @@ hmd_format::hmd_format() : upd765_format(formats)
{
}
-const char *hmd_format::name() const
+const char *hmd_format::name() const noexcept
{
return "hector_minidisc";
}
-const char *hmd_format::description() const
+const char *hmd_format::description() const noexcept
{
return "Hector Minidisc disk image";
}
-const char *hmd_format::extensions() const
+const char *hmd_format::extensions() const noexcept
{
return "hmd";
}
diff --git a/src/lib/formats/hector_minidisc.h b/src/lib/formats/hector_minidisc.h
index 43071d2fca6..dbae1f5eff7 100644
--- a/src/lib/formats/hector_minidisc.h
+++ b/src/lib/formats/hector_minidisc.h
@@ -19,9 +19,9 @@ class hmd_format : public upd765_format
public:
hmd_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/hp300_dsk.cpp b/src/lib/formats/hp300_dsk.cpp
index 99f9ac033ee..de33bf6d310 100644
--- a/src/lib/formats/hp300_dsk.cpp
+++ b/src/lib/formats/hp300_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Sven Schnelle
/*********************************************************************
- formats/hp300_dsk.c
+ formats/hp300_dsk.cpp
HP 9000/300 disk format
@@ -14,17 +14,17 @@ hp300_format::hp300_format() : wd177x_format(formats)
{
}
-const char *hp300_format::name() const
+const char *hp300_format::name() const noexcept
{
return "hp300";
}
-const char *hp300_format::description() const
+const char *hp300_format::description() const noexcept
{
return "HP 9000/300 disk image";
}
-const char *hp300_format::extensions() const
+const char *hp300_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/hp300_dsk.h b/src/lib/formats/hp300_dsk.h
index b86cd1bc72b..eb51d6c4543 100644
--- a/src/lib/formats/hp300_dsk.h
+++ b/src/lib/formats/hp300_dsk.h
@@ -19,9 +19,9 @@ class hp300_format : public wd177x_format
public:
hp300_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/hp_ipc_dsk.cpp b/src/lib/formats/hp_ipc_dsk.cpp
index 5c64bfeefe0..0d88a18d156 100644
--- a/src/lib/formats/hp_ipc_dsk.cpp
+++ b/src/lib/formats/hp_ipc_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Sergey Svishchev
/*********************************************************************
- formats/hp_ipc_dsk.c
+ formats/hp_ipc_dsk.cpp
HP Integral PC format
@@ -14,17 +14,17 @@ hp_ipc_format::hp_ipc_format() : wd177x_format(formats)
{
}
-const char *hp_ipc_format::name() const
+const char *hp_ipc_format::name() const noexcept
{
return "hp_ipc";
}
-const char *hp_ipc_format::description() const
+const char *hp_ipc_format::description() const noexcept
{
return "HP Integral PC disk image";
}
-const char *hp_ipc_format::extensions() const
+const char *hp_ipc_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/hp_ipc_dsk.h b/src/lib/formats/hp_ipc_dsk.h
index 75267228931..442150adce7 100644
--- a/src/lib/formats/hp_ipc_dsk.h
+++ b/src/lib/formats/hp_ipc_dsk.h
@@ -19,9 +19,9 @@ class hp_ipc_format : public wd177x_format
public:
hp_ipc_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/hpi_dsk.cpp b/src/lib/formats/hpi_dsk.cpp
index 5678bd82d56..84836207222 100644
--- a/src/lib/formats/hpi_dsk.cpp
+++ b/src/lib/formats/hpi_dsk.cpp
@@ -141,7 +141,7 @@ bool hpi_format::geometry_from_size(uint64_t image_size , unsigned& heads , unsi
}
}
-bool hpi_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool hpi_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
unsigned heads;
unsigned cylinders;
@@ -155,11 +155,11 @@ bool hpi_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
int max_tracks;
int max_heads;
- image->get_maximal_geometry(max_tracks , max_heads);
+ image.get_maximal_geometry(max_tracks , max_heads);
if (cylinders > max_tracks || heads > max_heads) {
return false;
}
- image->set_variant(heads == 2 ? floppy_image::DSDD : floppy_image::SSDD);
+ image.set_variant(heads == 2 ? floppy_image::DSDD : floppy_image::SSDD);
// Suck in the whole image
std::vector<uint8_t> image_data(size);
@@ -194,11 +194,11 @@ bool hpi_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool hpi_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool hpi_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int tracks;
int heads;
- image->get_actual_geometry(tracks, heads);
+ image.get_actual_geometry(tracks, heads);
for (int cyl = 0; cyl < tracks; cyl++) {
for (int head = 0; head < heads; head++) {
@@ -218,22 +218,22 @@ bool hpi_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return true;
}
-const char *hpi_format::name() const
+const char *hpi_format::name() const noexcept
{
return "hpi";
}
-const char *hpi_format::description() const
+const char *hpi_format::description() const noexcept
{
return "HP9895A floppy disk image";
}
-const char *hpi_format::extensions() const
+const char *hpi_format::extensions() const noexcept
{
return "hpi";
}
-bool hpi_format::supports_save() const
+bool hpi_format::supports_save() const noexcept
{
return true;
}
diff --git a/src/lib/formats/hpi_dsk.h b/src/lib/formats/hpi_dsk.h
index 8db40c61dc7..9b15b382a4d 100644
--- a/src/lib/formats/hpi_dsk.h
+++ b/src/lib/formats/hpi_dsk.h
@@ -30,12 +30,12 @@ public:
hpi_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, floppy_image *image) const 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;
+ 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:
typedef std::array<uint8_t , HPI_SECTORS> sector_list_t;
diff --git a/src/lib/formats/hxchfe_dsk.cpp b/src/lib/formats/hxchfe_dsk.cpp
index 57c2bbca64e..a8cf09feaf2 100644
--- a/src/lib/formats/hxchfe_dsk.cpp
+++ b/src/lib/formats/hxchfe_dsk.cpp
@@ -116,22 +116,22 @@ hfe_format::hfe_format() : floppy_image_format_t()
{
}
-const char *hfe_format::name() const
+const char *hfe_format::name() const noexcept
{
return "hfe";
}
-const char *hfe_format::description() const
+const char *hfe_format::description() const noexcept
{
return "SDCard HxC Floppy Emulator HFE File format";
}
-const char *hfe_format::extensions() const
+const char *hfe_format::extensions() const noexcept
{
return "hfe";
}
-bool hfe_format::supports_save() const
+bool hfe_format::supports_save() const noexcept
{
return false;
}
@@ -148,7 +148,7 @@ int hfe_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool hfe_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool hfe_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
uint8_t header[HEADER_LENGTH];
@@ -156,7 +156,7 @@ bool hfe_format::load(util::random_read &io, uint32_t form_factor, const std::ve
header_info info;
int drivecyl, driveheads;
- image->get_maximal_geometry(drivecyl, driveheads);
+ image.get_maximal_geometry(drivecyl, driveheads);
// read header
io.read_at(0, header, HEADER_LENGTH, actual);
@@ -259,7 +259,7 @@ bool hfe_format::load(util::random_read &io, uint32_t form_factor, const std::ve
// Find variant
if (info.m_track_encoding == ISOIBM_FM_ENCODING || info.m_track_encoding == EMU_FM_ENCODING)
// FM is for single density
- image->set_variant((info.m_heads==1)? floppy_image::SSSD : floppy_image::DSSD);
+ image.set_variant((info.m_heads==1)? floppy_image::SSSD : floppy_image::DSSD);
else
{
// MFM encoding is for everything else
@@ -276,16 +276,16 @@ bool hfe_format::load(util::random_read &io, uint32_t form_factor, const std::ve
// Use cylinder 1 (cyl 0 may have special encodings)
int cellcount = (info.m_cyl_length[1] * 8 / 2) * 250 / info.m_bit_rate;
if (cellcount > 300000)
- image->set_variant(floppy_image::DSED);
+ image.set_variant(floppy_image::DSED);
else
{
if (cellcount > 150000)
- image->set_variant(floppy_image::DSHD);
+ image.set_variant(floppy_image::DSHD);
else
{
if (cellcount > 90000)
// We cannot distinguish DSDD from DSQD without knowing the size of the floppy disk
- image->set_variant((info.m_heads==1)? floppy_image::SSDD : floppy_image::DSDD);
+ image.set_variant((info.m_heads==1)? floppy_image::SSDD : floppy_image::DSDD);
}
}
}
@@ -295,7 +295,7 @@ bool hfe_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return success;
}
-void hfe_format::generate_track_from_hfe_bitstream(int cyl, int head, int samplelength, const uint8_t *trackbuf, int track_end, floppy_image *image)
+void hfe_format::generate_track_from_hfe_bitstream(int cyl, int head, int samplelength, const uint8_t *trackbuf, int track_end, floppy_image &image)
{
// HFE has a minor issue: The track images do not sum up to 200 ms.
// Tracks are samples at 250 kbit/s for both FM and MFM, which yields
@@ -319,7 +319,7 @@ void hfe_format::generate_track_from_hfe_bitstream(int cyl, int head, int sample
// MG_1 / MG_0 are (logical) levels that indicate transition / no change
// MG_F is the position of a flux transition
- std::vector<uint32_t> &dest = image->get_buffer(cyl, head, 0);
+ std::vector<uint32_t> &dest = image.get_buffer(cyl, head, 0);
dest.clear();
int offset = 0x100;
@@ -389,7 +389,7 @@ void hfe_format::generate_track_from_hfe_bitstream(int cyl, int head, int sample
if (offset >= track_end) offset = track_end - 1;
}
- image->set_write_splice_position(cyl, head, 0, 0);
+ image.set_write_splice_position(cyl, head, 0, 0);
}
const hfe_format FLOPPY_HFE_FORMAT;
diff --git a/src/lib/formats/hxchfe_dsk.h b/src/lib/formats/hxchfe_dsk.h
index 5c2fd296e7f..c7a1eac08ff 100644
--- a/src/lib/formats/hxchfe_dsk.h
+++ b/src/lib/formats/hxchfe_dsk.h
@@ -48,15 +48,15 @@ public:
hfe_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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 void generate_track_from_hfe_bitstream(int track, int head, int samplelength, const uint8_t *trackbuf, int track_end, floppy_image *image);
+ static void generate_track_from_hfe_bitstream(int track, int head, int samplelength, const uint8_t *trackbuf, int track_end, floppy_image &image);
// Header fields from the HFE format
struct header_info {
diff --git a/src/lib/formats/hxcmfm_dsk.cpp b/src/lib/formats/hxcmfm_dsk.cpp
index 6107280546c..0390b55bca0 100644
--- a/src/lib/formats/hxcmfm_dsk.cpp
+++ b/src/lib/formats/hxcmfm_dsk.cpp
@@ -40,22 +40,22 @@ mfm_format::mfm_format() : floppy_image_format_t()
{
}
-const char *mfm_format::name() const
+const char *mfm_format::name() const noexcept
{
return "mfm";
}
-const char *mfm_format::description() const
+const char *mfm_format::description() const noexcept
{
return "HxCFloppyEmulator floppy disk image";
}
-const char *mfm_format::extensions() const
+const char *mfm_format::extensions() const noexcept
{
return "mfm";
}
-bool mfm_format::supports_save() const
+bool mfm_format::supports_save() const noexcept
{
return true;
}
@@ -72,7 +72,7 @@ int mfm_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool mfm_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool mfm_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
MFMIMG header;
@@ -82,7 +82,7 @@ bool mfm_format::load(util::random_read &io, uint32_t form_factor, const std::ve
io.read_at(0, &header, sizeof(header), actual);
int drivecyl, driveheads;
- image->get_maximal_geometry(drivecyl, driveheads);
+ image.get_maximal_geometry(drivecyl, driveheads);
bool skip_odd = (drivecyl < 50 && header.number_of_track >= 80);
int counter = 0;
@@ -110,17 +110,17 @@ bool mfm_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
}
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
return true;
}
-bool mfm_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool mfm_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
// TODO: HD support
size_t actual;
MFMIMG header;
int track_count, head_count;
- image->get_actual_geometry(track_count, head_count);
+ image.get_actual_geometry(track_count, head_count);
memcpy(&header.headername, MFM_FORMAT_HEADER, 7);
header.number_of_track = track_count;
diff --git a/src/lib/formats/hxcmfm_dsk.h b/src/lib/formats/hxcmfm_dsk.h
index a7a75a3aa7e..b4134b8ae9a 100644
--- a/src/lib/formats/hxcmfm_dsk.h
+++ b/src/lib/formats/hxcmfm_dsk.h
@@ -20,13 +20,13 @@ public:
mfm_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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 mfm_format FLOPPY_MFM_FORMAT;
diff --git a/src/lib/formats/ibmxdf_dsk.cpp b/src/lib/formats/ibmxdf_dsk.cpp
index ec2bc8aa9c1..5fb1f3da411 100644
--- a/src/lib/formats/ibmxdf_dsk.cpp
+++ b/src/lib/formats/ibmxdf_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Sergey Svishchev
/*********************************************************************
- formats/ibmxdf_dsk.c
+ formats/ibmxdf_dsk.cpp
IBM Extended Density Format
@@ -40,17 +40,17 @@ ibmxdf_format::ibmxdf_format() : wd177x_format(formats)
{
}
-const char *ibmxdf_format::name() const
+const char *ibmxdf_format::name() const noexcept
{
return "ibmxdf";
}
-const char *ibmxdf_format::description() const
+const char *ibmxdf_format::description() const noexcept
{
return "IBM XDF disk image";
}
-const char *ibmxdf_format::extensions() const
+const char *ibmxdf_format::extensions() const noexcept
{
return "xdf,img";
}
@@ -178,7 +178,7 @@ const ibmxdf_format::format ibmxdf_format::formats_head1_track0[] = {
{}
};
-bool ibmxdf_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool ibmxdf_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
int type = find_size(io, form_factor, variants);
if(type == -1)
@@ -218,7 +218,7 @@ bool ibmxdf_format::load(util::random_read &io, uint32_t form_factor, const std:
generate_track(desc, track, head, sectors, tf.sector_count, total_size, image);
}
- image->set_variant(f.variant);
+ image.set_variant(f.variant);
return true;
}
diff --git a/src/lib/formats/ibmxdf_dsk.h b/src/lib/formats/ibmxdf_dsk.h
index 4f3876959c5..c1c8558b687 100644
--- a/src/lib/formats/ibmxdf_dsk.h
+++ b/src/lib/formats/ibmxdf_dsk.h
@@ -19,13 +19,13 @@ class ibmxdf_format : public wd177x_format
public:
ibmxdf_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() 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;
- virtual bool supports_save() const override { return false; }
+ 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 { return false; }
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int get_image_offset(const format &f, int head, int track) const override;
diff --git a/src/lib/formats/imd_dsk.cpp b/src/lib/formats/imd_dsk.cpp
index b0756ba04f4..713cf28cbef 100644
--- a/src/lib/formats/imd_dsk.cpp
+++ b/src/lib/formats/imd_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Miodrag Milanovic
/*********************************************************************
- formats/imd_dsk.c
+ formats/imd_dsk.cpp
IMD disk images
@@ -374,7 +374,7 @@ FLOPPY_CONSTRUCT( imd_dsk_construct )
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/imd_dsk.c
+ formats/imd_dsk.cpp
IMD disk images
@@ -384,17 +384,17 @@ imd_format::imd_format()
{
}
-const char *imd_format::name() const
+const char *imd_format::name() const noexcept
{
return "imd";
}
-const char *imd_format::description() const
+const char *imd_format::description() const noexcept
{
return "IMD disk image";
}
-const char *imd_format::extensions() const
+const char *imd_format::extensions() const noexcept
{
return "imd";
}
@@ -425,7 +425,7 @@ int imd_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool imd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool imd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
std::vector<uint8_t> comment;
std::vector<std::vector<uint8_t> > snum;
@@ -457,7 +457,7 @@ bool imd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return false;
int tracks, heads;
- image->get_maximal_geometry(tracks, heads);
+ image.get_maximal_geometry(tracks, heads);
mode.clear();
track.clear();
@@ -639,7 +639,7 @@ bool imd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool imd_format::supports_save() const
+bool imd_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/imd_dsk.h b/src/lib/formats/imd_dsk.h
index 158e8a5f538..ac0b613e16f 100644
--- a/src/lib/formats/imd_dsk.h
+++ b/src/lib/formats/imd_dsk.h
@@ -18,12 +18,12 @@ public:
imd_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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/img_dsk.cpp b/src/lib/formats/img_dsk.cpp
index 82e8497323c..fb6f1a3bfb3 100644
--- a/src/lib/formats/img_dsk.cpp
+++ b/src/lib/formats/img_dsk.cpp
@@ -62,14 +62,14 @@ int img_format::identify(util::random_read &io, uint32_t form_factor, const std:
}
}
-bool img_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool img_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t size;
if (io.length(size) || (size != IMG_IMAGE_SIZE && size != IMG_IMAGE_SIZE_FM)) {
return false;
}
bool is_dd = size == IMG_IMAGE_SIZE;
- image->set_variant(is_dd ? floppy_image::SSDD : floppy_image::SSSD);
+ image.set_variant(is_dd ? floppy_image::SSDD : floppy_image::SSSD);
// Suck in the whole image
std::vector<uint8_t> image_data(size);
@@ -142,9 +142,9 @@ bool img_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool img_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool img_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
- bool is_dd = image->get_variant() == floppy_image::SSDD;
+ bool is_dd = image.get_variant() == floppy_image::SSDD;
for (int cyl = 0; cyl < TRACKS; cyl++) {
if (is_dd) {
@@ -172,22 +172,22 @@ bool img_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return true;
}
-const char *img_format::name() const
+const char *img_format::name() const noexcept
{
return "mds2";
}
-const char *img_format::description() const
+const char *img_format::description() const noexcept
{
return "MDS-II floppy disk image";
}
-const char *img_format::extensions() const
+const char *img_format::extensions() const noexcept
{
return "img";
}
-bool img_format::supports_save() const
+bool img_format::supports_save() const noexcept
{
return true;
}
diff --git a/src/lib/formats/img_dsk.h b/src/lib/formats/img_dsk.h
index cfe12e56add..567a18b273d 100644
--- a/src/lib/formats/img_dsk.h
+++ b/src/lib/formats/img_dsk.h
@@ -29,12 +29,12 @@ public:
img_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, floppy_image *image) const 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;
+ 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:
static std::vector<uint8_t> interleaved_sectors(unsigned sects, unsigned il_factor);
diff --git a/src/lib/formats/ipf_dsk.cpp b/src/lib/formats/ipf_dsk.cpp
index 6956a235343..072dd96c99e 100644
--- a/src/lib/formats/ipf_dsk.cpp
+++ b/src/lib/formats/ipf_dsk.cpp
@@ -10,22 +10,22 @@
const ipf_format FLOPPY_IPF_FORMAT;
-const char *ipf_format::name() const
+const char *ipf_format::name() const noexcept
{
return "ipf";
}
-const char *ipf_format::description() const
+const char *ipf_format::description() const noexcept
{
return "SPS floppy disk image";
}
-const char *ipf_format::extensions() const
+const char *ipf_format::extensions() const noexcept
{
return "ipf";
}
-bool ipf_format::supports_save() const
+bool ipf_format::supports_save() const noexcept
{
return false;
}
@@ -43,7 +43,7 @@ int ipf_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool ipf_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool ipf_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t size;
if (io.length(size))
@@ -79,9 +79,9 @@ uint32_t ipf_format::ipf_decode::crc32r(const uint8_t *data, uint32_t size)
return ~crc;
}
-bool ipf_format::ipf_decode::parse(std::vector<uint8_t> &data, floppy_image *image)
+bool ipf_format::ipf_decode::parse(std::vector<uint8_t> &data, floppy_image &image)
{
- image->set_variant(floppy_image::DSDD); // Not handling anything else yet
+ image.set_variant(floppy_image::DSDD); // Not handling anything else yet
tcount = 84*2+1; // Usual max
tinfos.resize(tcount);
bool res = scan_all_tags(data);
@@ -238,15 +238,15 @@ bool ipf_format::ipf_decode::scan_all_tags(std::vector<uint8_t> &data)
return true;
}
-bool ipf_format::ipf_decode::generate_tracks(floppy_image *image)
+bool ipf_format::ipf_decode::generate_tracks(floppy_image &image)
{
for(uint32_t i = 0; i != tcount; i++) {
- track_info *t = &tinfos[i];
- if(t->info_set && t->data) {
+ track_info &t = tinfos[i];
+ if(t.info_set && t.data) {
if(!generate_track(t, image))
return false;
- } else if(t->info_set || t->data)
+ } else if(t.info_set || t.data)
return false;
}
return true;
@@ -292,73 +292,73 @@ void ipf_format::ipf_decode::timing_set(std::vector<uint32_t> &track, uint32_t s
track[i] = (track[i] & floppy_image::MG_MASK) | time;
}
-bool ipf_format::ipf_decode::generate_timings(track_info *t, std::vector<uint32_t> &track, const std::vector<uint32_t> &data_pos, const std::vector<uint32_t> &gap_pos)
+bool ipf_format::ipf_decode::generate_timings(const track_info &t, std::vector<uint32_t> &track, const std::vector<uint32_t> &data_pos, const std::vector<uint32_t> &gap_pos)
{
- timing_set(track, 0, t->size_cells, 2000);
+ timing_set(track, 0, t.size_cells, 2000);
- switch(t->type) {
+ switch(t.type) {
case 2: break;
case 3:
- if(t->block_count >= 4)
+ if(t.block_count >= 4)
timing_set(track, gap_pos[3], data_pos[4], 1890);
- if(t->block_count >= 5) {
+ if(t.block_count >= 5) {
timing_set(track, data_pos[4], gap_pos[4], 1890);
timing_set(track, gap_pos[4], data_pos[5], 1990);
}
- if(t->block_count >= 6) {
+ if(t.block_count >= 6) {
timing_set(track, data_pos[5], gap_pos[5], 1990);
timing_set(track, gap_pos[5], data_pos[6], 2090);
}
- if(t->block_count >= 7)
+ if(t.block_count >= 7)
timing_set(track, data_pos[6], gap_pos[6], 2090);
break;
case 4:
- timing_set(track, gap_pos[t->block_count-1], data_pos[0], 1890);
+ timing_set(track, gap_pos[t.block_count-1], data_pos[0], 1890);
timing_set(track, data_pos[0], gap_pos[0], 1890);
timing_set(track, gap_pos[0], data_pos[1], 1990);
- if(t->block_count >= 2) {
+ if(t.block_count >= 2) {
timing_set(track, data_pos[1], gap_pos[1], 1990);
timing_set(track, gap_pos[1], data_pos[2], 2090);
}
- if(t->block_count >= 3)
+ if(t.block_count >= 3)
timing_set(track, data_pos[2], gap_pos[2], 2090);
break;
case 5:
- if(t->block_count >= 6)
+ if(t.block_count >= 6)
timing_set(track, data_pos[5], gap_pos[5], 2100);
break;
case 6:
- if(t->block_count >= 2)
+ if(t.block_count >= 2)
timing_set(track, data_pos[1], gap_pos[1], 2200);
- if(t->block_count >= 3)
+ if(t.block_count >= 3)
timing_set(track, data_pos[2], gap_pos[2], 1800);
break;
case 7:
- if(t->block_count >= 2)
+ if(t.block_count >= 2)
timing_set(track, data_pos[1], gap_pos[1], 2100);
break;
case 8:
- if(t->block_count >= 2)
+ if(t.block_count >= 2)
timing_set(track, data_pos[1], gap_pos[1], 2200);
- if(t->block_count >= 3)
+ if(t.block_count >= 3)
timing_set(track, data_pos[2], gap_pos[2], 2100);
- if(t->block_count >= 5)
+ if(t.block_count >= 5)
timing_set(track, data_pos[4], gap_pos[4], 1900);
- if(t->block_count >= 6)
+ if(t.block_count >= 6)
timing_set(track, data_pos[5], gap_pos[5], 1800);
- if(t->block_count >= 7)
+ if(t.block_count >= 7)
timing_set(track, data_pos[6], gap_pos[6], 1700);
break;
case 9: {
- uint32_t mask = get_u32be(t->data + 32*t->block_count + 12);
- for(uint32_t i=1; i<t->block_count; i++)
+ uint32_t mask = get_u32be(t.data + 32*t.block_count + 12);
+ for(uint32_t i=1; i<t.block_count; i++)
timing_set(track, data_pos[i], gap_pos[i], mask & (1 << (i-1)) ? 1900 : 2100);
break;
}
@@ -370,50 +370,50 @@ bool ipf_format::ipf_decode::generate_timings(track_info *t, std::vector<uint32_
return true;
}
-bool ipf_format::ipf_decode::generate_track(track_info *t, floppy_image *image)
+bool ipf_format::ipf_decode::generate_track(track_info &t, floppy_image &image)
{
- if(!t->size_cells)
+ if(!t.size_cells)
return true;
- if(t->data_size < 32*t->block_count)
+ if(t.data_size < 32*t.block_count)
return false;
// Annoyingly enough, too small gaps are ignored, changing the
// total track size. Artifact stemming from the byte-only support
// of old times?
- t->size_cells = block_compute_real_size(t);
+ t.size_cells = block_compute_real_size(t);
- if(t->index_cells >= t->size_cells)
+ if(t.index_cells >= t.size_cells)
return false;
- std::vector<uint32_t> track(t->size_cells);
- std::vector<uint32_t> data_pos(t->block_count+1);
- std::vector<uint32_t> gap_pos(t->block_count);
- std::vector<uint32_t> splice_pos(t->block_count);
+ std::vector<uint32_t> track(t.size_cells);
+ std::vector<uint32_t> data_pos(t.block_count+1);
+ std::vector<uint32_t> gap_pos(t.block_count);
+ std::vector<uint32_t> splice_pos(t.block_count);
bool context = false;
uint32_t pos = 0;
- for(uint32_t i = 0; i != t->block_count; i++) {
- if(!generate_block(t, i, i == t->block_count-1 ? t->size_cells - t->index_cells : 0xffffffff, track, pos, data_pos[i], gap_pos[i], splice_pos[i], context)) {
+ for(uint32_t i = 0; i != t.block_count; i++) {
+ if(!generate_block(t, i, i == t.block_count-1 ? t.size_cells - t.index_cells : 0xffffffff, track, pos, data_pos[i], gap_pos[i], splice_pos[i], context)) {
return false;
}
}
- if(pos != t->size_cells) {
+ if(pos != t.size_cells) {
return false;
}
- data_pos[t->block_count] = pos;
+ data_pos[t.block_count] = pos;
- mark_track_splice(track, splice_pos[t->block_count-1], t->size_cells);
+ mark_track_splice(track, splice_pos[t.block_count-1], t.size_cells);
if(!generate_timings(t, track, data_pos, gap_pos)) {
return false;
}
- if(t->index_cells)
- rotate(track, t->size_cells - t->index_cells, t->size_cells);
+ if(t.index_cells)
+ rotate(track, t.size_cells - t.index_cells, t.size_cells);
- generate_track_from_levels(t->cylinder, t->head, track, splice_pos[t->block_count-1] + t->index_cells, image);
+ generate_track_from_levels(t.cylinder, t.head, track, splice_pos[t.block_count-1] + t.index_cells, image);
return true;
}
@@ -657,10 +657,10 @@ bool ipf_format::ipf_decode::generate_block_gap(uint32_t gap_type, uint32_t gap_
}
}
-bool ipf_format::ipf_decode::generate_block(track_info *t, uint32_t idx, uint32_t ipos, std::vector<uint32_t> &track, uint32_t &pos, uint32_t &dpos, uint32_t &gpos, uint32_t &spos, bool &context)
+bool ipf_format::ipf_decode::generate_block(const track_info &t, uint32_t idx, uint32_t ipos, std::vector<uint32_t> &track, uint32_t &pos, uint32_t &dpos, uint32_t &gpos, uint32_t &spos, bool &context)
{
- const uint8_t *data = t->data;
- const uint8_t *data_end = t->data + t->data_size;
+ const uint8_t *data = t.data;
+ const uint8_t *data_end = t.data + t.data_size;
const uint8_t *thead = data + 32*idx;
uint32_t data_cells = get_u32be(thead);
uint32_t gap_cells = get_u32be(thead+4);
@@ -678,7 +678,7 @@ bool ipf_format::ipf_decode::generate_block(track_info *t, uint32_t idx, uint32_
dpos = pos;
gpos = dpos + data_cells;
pos = gpos + gap_cells;
- if(pos > t->size_cells)
+ if(pos > t.size_cells)
return false;
if(!generate_block_data(data + get_u32be(thead+28), data_end, track.begin()+dpos, track.begin()+gpos, context))
return false;
@@ -689,11 +689,11 @@ bool ipf_format::ipf_decode::generate_block(track_info *t, uint32_t idx, uint32_
return true;
}
-uint32_t ipf_format::ipf_decode::block_compute_real_size(track_info *t)
+uint32_t ipf_format::ipf_decode::block_compute_real_size(const track_info &t)
{
uint32_t size = 0;
- const uint8_t *thead = t->data;
- for(unsigned int i=0; i != t->block_count; i++) {
+ const uint8_t *thead = t.data;
+ for(unsigned int i=0; i != t.block_count; i++) {
uint32_t data_cells = get_u32be(thead);
uint32_t gap_cells = get_u32be(thead+4);
if(gap_cells < 8)
diff --git a/src/lib/formats/ipf_dsk.h b/src/lib/formats/ipf_dsk.h
index 567111a3201..9e63b2bff38 100644
--- a/src/lib/formats/ipf_dsk.h
+++ b/src/lib/formats/ipf_dsk.h
@@ -13,12 +13,12 @@ class ipf_format : public floppy_image_format_t
{
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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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 {
@@ -73,18 +73,18 @@ private:
bool generate_block_gap_3(uint32_t gap_cells, uint32_t &spos, uint32_t ipos, const uint8_t *data, const uint8_t *dlimit, std::vector<uint32_t>::iterator &tpos, bool &context);
bool generate_block_gap(uint32_t gap_type, uint32_t gap_cells, uint8_t pattern, uint32_t &spos, uint32_t ipos, const uint8_t *data, const uint8_t *dlimit, std::vector<uint32_t>::iterator tpos, bool &context);
- bool generate_block(track_info *t, uint32_t idx, uint32_t ipos, std::vector<uint32_t> &track, uint32_t &pos, uint32_t &dpos, uint32_t &gpos, uint32_t &spos, bool &context);
- uint32_t block_compute_real_size(track_info *t);
+ bool generate_block(const track_info &t, uint32_t idx, uint32_t ipos, std::vector<uint32_t> &track, uint32_t &pos, uint32_t &dpos, uint32_t &gpos, uint32_t &spos, bool &context);
+ uint32_t block_compute_real_size(const track_info &t);
void timing_set(std::vector<uint32_t> &track, uint32_t start, uint32_t end, uint32_t time);
- bool generate_timings(track_info *t, std::vector<uint32_t> &track, const std::vector<uint32_t> &data_pos, const std::vector<uint32_t> &gap_pos);
+ bool generate_timings(const track_info &t, std::vector<uint32_t> &track, const std::vector<uint32_t> &data_pos, const std::vector<uint32_t> &gap_pos);
void rotate(std::vector<uint32_t> &track, uint32_t offset, uint32_t size);
void mark_track_splice(std::vector<uint32_t> &track, uint32_t offset, uint32_t size);
- bool generate_track(track_info *t, floppy_image *image);
- bool generate_tracks(floppy_image *image);
+ bool generate_track(track_info &t, floppy_image &image);
+ bool generate_tracks(floppy_image &image);
- bool parse(std::vector<uint8_t> &data, floppy_image *image);
+ bool parse(std::vector<uint8_t> &data, floppy_image &image);
};
};
diff --git a/src/lib/formats/iq151_dsk.cpp b/src/lib/formats/iq151_dsk.cpp
index 563dcbea14c..19f8af53f2f 100644
--- a/src/lib/formats/iq151_dsk.cpp
+++ b/src/lib/formats/iq151_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/iq151_dsk.c
+ formats/iq151_dsk.cpp
iq151 format
@@ -14,17 +14,17 @@ iq151_format::iq151_format() : upd765_format(formats)
{
}
-const char *iq151_format::name() const
+const char *iq151_format::name() const noexcept
{
return "iq151";
}
-const char *iq151_format::description() const
+const char *iq151_format::description() const noexcept
{
return "IQ151 disk image";
}
-const char *iq151_format::extensions() const
+const char *iq151_format::extensions() const noexcept
{
return "iqd";
}
diff --git a/src/lib/formats/iq151_dsk.h b/src/lib/formats/iq151_dsk.h
index 8e57d533f57..7153fd9d011 100644
--- a/src/lib/formats/iq151_dsk.h
+++ b/src/lib/formats/iq151_dsk.h
@@ -19,9 +19,9 @@ class iq151_format : public upd765_format
public:
iq151_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/itt3030_dsk.cpp b/src/lib/formats/itt3030_dsk.cpp
index 713fe0fc645..840b88474b5 100644
--- a/src/lib/formats/itt3030_dsk.cpp
+++ b/src/lib/formats/itt3030_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/itt3030_dsk.c
+ formats/itt3030_dsk.cpp
ITT3030 560K disk image format
@@ -16,17 +16,17 @@ itt3030_format::itt3030_format() : wd177x_format(formats)
{
}
-const char *itt3030_format::name() const
+const char *itt3030_format::name() const noexcept
{
return "itt3030";
}
-const char *itt3030_format::description() const
+const char *itt3030_format::description() const noexcept
{
return "ITT3030 disk image";
}
-const char *itt3030_format::extensions() const
+const char *itt3030_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/itt3030_dsk.h b/src/lib/formats/itt3030_dsk.h
index 3ae78ac9bc4..2cb5140e0b9 100644
--- a/src/lib/formats/itt3030_dsk.h
+++ b/src/lib/formats/itt3030_dsk.h
@@ -19,9 +19,9 @@ class itt3030_format : public wd177x_format
public:
itt3030_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/jfd_dsk.cpp b/src/lib/formats/jfd_dsk.cpp
index 6305fea50bc..813c7192ca9 100644
--- a/src/lib/formats/jfd_dsk.cpp
+++ b/src/lib/formats/jfd_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Nigel Barnes
/*********************************************************************
- formats/jfd_dsk.c
+ formats/jfd_dsk.cpp
JASPP Floppy Disk image format
@@ -175,17 +175,17 @@ jfd_format::jfd_format()
{
}
-const char *jfd_format::name() const
+const char *jfd_format::name() const noexcept
{
return "jfd";
}
-const char *jfd_format::description() const
+const char *jfd_format::description() const noexcept
{
return "JASPP Floppy Disk image";
}
-const char *jfd_format::extensions() const
+const char *jfd_format::extensions() const noexcept
{
return "jfd";
}
@@ -232,7 +232,7 @@ int jfd_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool jfd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool jfd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t size;
if (io.length(size))
@@ -367,12 +367,12 @@ bool jfd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
build_wd_track_mfm(track / 2, track % 2, image, den[0] * 50000, spt, sects, 90, 32, 22);
}
}
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
return true;
}
-bool jfd_format::supports_save() const
+bool jfd_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/jfd_dsk.h b/src/lib/formats/jfd_dsk.h
index b4d865075c6..c4e01614619 100644
--- a/src/lib/formats/jfd_dsk.h
+++ b/src/lib/formats/jfd_dsk.h
@@ -19,13 +19,13 @@ class jfd_format : public floppy_image_format_t
public:
jfd_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() 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;
- virtual bool supports_save() 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/juku_dsk.cpp b/src/lib/formats/juku_dsk.cpp
index 0caee874523..05fdc9b8484 100644
--- a/src/lib/formats/juku_dsk.cpp
+++ b/src/lib/formats/juku_dsk.cpp
@@ -14,17 +14,17 @@ juku_format::juku_format() : wd177x_format(formats)
{
}
-const char *juku_format::name() const
+const char *juku_format::name() const noexcept
{
return "juku";
}
-const char *juku_format::description() const
+const char *juku_format::description() const noexcept
{
return "Juku disk image";
}
-const char *juku_format::extensions() const
+const char *juku_format::extensions() const noexcept
{
return "juk";
}
diff --git a/src/lib/formats/juku_dsk.h b/src/lib/formats/juku_dsk.h
index d41290a14c2..414c351ac76 100644
--- a/src/lib/formats/juku_dsk.h
+++ b/src/lib/formats/juku_dsk.h
@@ -19,9 +19,9 @@ class juku_format : public wd177x_format
public:
juku_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/jvc_dsk.cpp b/src/lib/formats/jvc_dsk.cpp
index f06fda850b2..8d6381fb5ad 100644
--- a/src/lib/formats/jvc_dsk.cpp
+++ b/src/lib/formats/jvc_dsk.cpp
@@ -115,17 +115,17 @@ jvc_format::jvc_format()
{
}
-const char *jvc_format::name() const
+const char *jvc_format::name() const noexcept
{
return "jvc";
}
-const char *jvc_format::description() const
+const char *jvc_format::description() const noexcept
{
return "JVC disk image";
}
-const char *jvc_format::extensions() const
+const char *jvc_format::extensions() const noexcept
{
return "jvc,dsk";
}
@@ -181,7 +181,7 @@ int jvc_format::identify(util::random_read &io, uint32_t form_factor, const std:
return parse_header(io, header_size, tracks, heads, sectors, sector_size, sector_base_id) ? FIFID_STRUCT|FIFID_SIZE : 0;
}
-bool jvc_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool jvc_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
int header_size, track_count, head_count, sector_count, sector_size, sector_base_id;
int max_tracks, max_heads;
@@ -196,7 +196,7 @@ bool jvc_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return false;
}
- image->get_maximal_geometry(max_tracks, max_heads);
+ image.get_maximal_geometry(max_tracks, max_heads);
if (track_count > max_tracks)
{
@@ -246,12 +246,12 @@ bool jvc_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool jvc_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool jvc_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
uint64_t file_offset = 0;
int track_count, head_count;
- image->get_actual_geometry(track_count, head_count);
+ image.get_actual_geometry(track_count, head_count);
// we'll write a header if the disk is two-sided
if (head_count == 2)
@@ -290,7 +290,7 @@ bool jvc_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return true;
}
-bool jvc_format::supports_save() const
+bool jvc_format::supports_save() const noexcept
{
return true;
}
diff --git a/src/lib/formats/jvc_dsk.h b/src/lib/formats/jvc_dsk.h
index d8700d6dd48..ff350dcad40 100644
--- a/src/lib/formats/jvc_dsk.h
+++ b/src/lib/formats/jvc_dsk.h
@@ -31,14 +31,14 @@ public:
int header_size;
};
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() 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;
- virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const override;
- virtual bool supports_save() 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 bool supports_save() const noexcept override;
private:
static bool parse_header(util::random_read &io, int &header_size, int &tracks, int &heads, int &sectors, int &sector_size, int &base_sector_id);
diff --git a/src/lib/formats/kaypro_dsk.cpp b/src/lib/formats/kaypro_dsk.cpp
index dc4f503f056..3c417a0cf76 100644
--- a/src/lib/formats/kaypro_dsk.cpp
+++ b/src/lib/formats/kaypro_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert, Robbbert
/*********************************************************************
- formats/kaypro_dsk.c
+ formats/kaypro_dsk.cpp
Kaypro disk image format
@@ -22,17 +22,17 @@ kayproii_format::kayproii_format() : upd765_format(formats)
{
}
-const char *kayproii_format::name() const
+const char *kayproii_format::name() const noexcept
{
return "kaypro2";
}
-const char *kayproii_format::description() const
+const char *kayproii_format::description() const noexcept
{
return "Kaypro disk image";
}
-const char *kayproii_format::extensions() const
+const char *kayproii_format::extensions() const noexcept
{
return "kay,dsk";
}
@@ -49,17 +49,17 @@ kaypro2x_format::kaypro2x_format() : upd765_format(formats)
{
}
-const char *kaypro2x_format::name() const
+const char *kaypro2x_format::name() const noexcept
{
return "kaypro2x";
}
-const char *kaypro2x_format::description() const
+const char *kaypro2x_format::description() const noexcept
{
return "Kaypro disk image";
}
-const char *kaypro2x_format::extensions() const
+const char *kaypro2x_format::extensions() const noexcept
{
return "kay,dsk";
}
diff --git a/src/lib/formats/kaypro_dsk.h b/src/lib/formats/kaypro_dsk.h
index 8c578654f54..3f3d4c86919 100644
--- a/src/lib/formats/kaypro_dsk.h
+++ b/src/lib/formats/kaypro_dsk.h
@@ -18,9 +18,9 @@ class kayproii_format : public upd765_format {
public:
kayproii_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
@@ -30,9 +30,9 @@ class kaypro2x_format : public upd765_format {
public:
kaypro2x_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
};
diff --git a/src/lib/formats/kc85_dsk.cpp b/src/lib/formats/kc85_dsk.cpp
index 2245fd46c6d..5383a67afa0 100644
--- a/src/lib/formats/kc85_dsk.cpp
+++ b/src/lib/formats/kc85_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/kc85_dsk.c
+ formats/kc85_dsk.cpp
kc85 format
@@ -14,17 +14,17 @@ kc85_format::kc85_format() : upd765_format(formats)
{
}
-const char *kc85_format::name() const
+const char *kc85_format::name() const noexcept
{
return "kc85";
}
-const char *kc85_format::description() const
+const char *kc85_format::description() const noexcept
{
return "KC85 disk image";
}
-const char *kc85_format::extensions() const
+const char *kc85_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/kc85_dsk.h b/src/lib/formats/kc85_dsk.h
index feafe116db6..eae13b93f63 100644
--- a/src/lib/formats/kc85_dsk.h
+++ b/src/lib/formats/kc85_dsk.h
@@ -18,9 +18,9 @@ class kc85_format : public upd765_format {
public:
kc85_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/lw30_dsk.cpp b/src/lib/formats/lw30_dsk.cpp
index 36427b8bb26..77a390d4728 100644
--- a/src/lib/formats/lw30_dsk.cpp
+++ b/src/lib/formats/lw30_dsk.cpp
@@ -144,7 +144,7 @@ int lw30_format::identify(util::random_read &io, uint32_t form_factor, const std
return 0;
}
-bool lw30_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool lw30_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint8_t trackdata[SECTORS_PER_TRACK * SECTOR_SIZE], rawdata[CELLS_PER_REV / 8];
memset(rawdata, 0xaa, sizeof(rawdata));
@@ -182,27 +182,27 @@ bool lw30_format::load(util::random_read &io, uint32_t form_factor, const std::v
generate_track_from_bitstream(track, 0, rawdata, CELLS_PER_REV, image);
}
- image->set_variant(floppy_image::SSDD);
+ image.set_variant(floppy_image::SSDD);
return true;
}
-const char *lw30_format::name() const
+const char *lw30_format::name() const noexcept
{
return "lw30";
}
-const char *lw30_format::description() const
+const char *lw30_format::description() const noexcept
{
return "Brother LW-30 floppy disk image";
}
-const char *lw30_format::extensions() const
+const char *lw30_format::extensions() const noexcept
{
return "img";
}
-bool lw30_format::supports_save() const
+bool lw30_format::supports_save() const noexcept
{
// TODO
return false;
diff --git a/src/lib/formats/lw30_dsk.h b/src/lib/formats/lw30_dsk.h
index 54a370f804a..cfff33d5888 100644
--- a/src/lib/formats/lw30_dsk.h
+++ b/src/lib/formats/lw30_dsk.h
@@ -17,11 +17,11 @@ class lw30_format : public floppy_image_format_t
{
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 const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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 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/m20_dsk.cpp b/src/lib/formats/m20_dsk.cpp
index 4daa436c288..10c6cf51cf1 100644
--- a/src/lib/formats/m20_dsk.cpp
+++ b/src/lib/formats/m20_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/m20_dsk.c
+ formats/m20_dsk.cpp
Olivetti M20 floppy-disk images
@@ -23,22 +23,22 @@ m20_format::m20_format()
{
}
-const char *m20_format::name() const
+const char *m20_format::name() const noexcept
{
return "m20";
}
-const char *m20_format::description() const
+const char *m20_format::description() const noexcept
{
return "M20 disk image";
}
-const char *m20_format::extensions() const
+const char *m20_format::extensions() const noexcept
{
return "img";
}
-bool m20_format::supports_save() const
+bool m20_format::supports_save() const noexcept
{
return true;
}
@@ -55,7 +55,7 @@ int m20_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool m20_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool m20_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
for (int track = 0; track < 35; track++)
for (int head = 0; head < 2; head ++) {
@@ -85,12 +85,12 @@ bool m20_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool m20_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool m20_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
uint64_t file_offset = 0;
int track_count, head_count;
- track_count = 35; head_count = 2; //FIXME: use image->get_actual_geometry(track_count, head_count) instead
+ track_count = 35; head_count = 2; //FIXME: use image.get_actual_geometry(track_count, head_count) instead
// initial fm track
auto bitstream = generate_bitstream_from_track(0, 0, 4000, image);
diff --git a/src/lib/formats/m20_dsk.h b/src/lib/formats/m20_dsk.h
index d56fd94fe0a..ef37c0304c9 100644
--- a/src/lib/formats/m20_dsk.h
+++ b/src/lib/formats/m20_dsk.h
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/m20_dsk.c
+ formats/m20_dsk.h
Olivetti M20 floppy-disk images
@@ -19,13 +19,13 @@ public:
m20_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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 m20_format FLOPPY_M20_FORMAT;
diff --git a/src/lib/formats/m5_dsk.cpp b/src/lib/formats/m5_dsk.cpp
index ee89499a832..6184bf9fbfb 100644
--- a/src/lib/formats/m5_dsk.cpp
+++ b/src/lib/formats/m5_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/m5_dsk.c
+ formats/m5_dsk.cpp
sord m5 format
@@ -14,17 +14,17 @@ m5_format::m5_format() : upd765_format(formats)
{
}
-const char *m5_format::name() const
+const char *m5_format::name() const noexcept
{
return "m5";
}
-const char *m5_format::description() const
+const char *m5_format::description() const noexcept
{
return "Sord M5 disk image";
}
-const char *m5_format::extensions() const
+const char *m5_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/m5_dsk.h b/src/lib/formats/m5_dsk.h
index 91810b61920..1f1430fe082 100644
--- a/src/lib/formats/m5_dsk.h
+++ b/src/lib/formats/m5_dsk.h
@@ -18,9 +18,9 @@ class m5_format : public upd765_format {
public:
m5_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/mdos_dsk.cpp b/src/lib/formats/mdos_dsk.cpp
index 933f17e193d..765ce1bc63c 100644
--- a/src/lib/formats/mdos_dsk.cpp
+++ b/src/lib/formats/mdos_dsk.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders: 68bit
/*
- * mdos_dsk.c - Motorola MDOS compatible disk images
+ * mdos_dsk.cpp - Motorola MDOS compatible disk images
*
* The format is largely IBM 3740 compatible, with 77 tracks, and 26 sectors
* per track, and a sector size of 128 bytes. Single sided disks were initially
@@ -60,17 +60,17 @@ mdos_format::mdos_format() : wd177x_format(formats)
{
}
-const char *mdos_format::name() const
+const char *mdos_format::name() const noexcept
{
return "mdos";
}
-const char *mdos_format::description() const
+const char *mdos_format::description() const noexcept
{
return "Motorola MDOS compatible disk image";
}
-const char *mdos_format::extensions() const
+const char *mdos_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/mdos_dsk.h b/src/lib/formats/mdos_dsk.h
index c6a98c80dba..379ef318f09 100644
--- a/src/lib/formats/mdos_dsk.h
+++ b/src/lib/formats/mdos_dsk.h
@@ -16,9 +16,9 @@ class mdos_format : public wd177x_format
public:
mdos_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual const wd177x_format::format &get_track_format(const format &f, int head, int track) const override;
diff --git a/src/lib/formats/mfi_dsk.cpp b/src/lib/formats/mfi_dsk.cpp
index bbffd81a9dc..e6700f8f18f 100644
--- a/src/lib/formats/mfi_dsk.cpp
+++ b/src/lib/formats/mfi_dsk.cpp
@@ -76,22 +76,22 @@ mfi_format::mfi_format() : floppy_image_format_t()
{
}
-const char *mfi_format::name() const
+const char *mfi_format::name() const noexcept
{
return "mfi";
}
-const char *mfi_format::description() const
+const char *mfi_format::description() const noexcept
{
return "MAME floppy image";
}
-const char *mfi_format::extensions() const
+const char *mfi_format::extensions() const noexcept
{
return "mfi";
}
-bool mfi_format::supports_save() const
+bool mfi_format::supports_save() const noexcept
{
return true;
}
@@ -111,7 +111,7 @@ int mfi_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool mfi_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool mfi_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
header h;
@@ -122,7 +122,7 @@ bool mfi_format::load(util::random_read &io, uint32_t form_factor, const std::ve
io.read_at(sizeof(header), &entries, (h.cyl_count << resolution)*h.head_count*sizeof(entry), actual);
- image->set_form_variant(h.form_factor, h.variant);
+ image.set_form_variant(h.form_factor, h.variant);
if(!h.cyl_count)
return true;
@@ -171,11 +171,11 @@ bool mfi_format::load(util::random_read &io, uint32_t form_factor, const std::ve
entry *ent = entries;
for(unsigned int cyl=0; cyl <= (h.cyl_count - 1) << 2; cyl += 4 >> resolution)
for(unsigned int head=0; head != h.head_count; head++) {
- image->set_write_splice_position(cyl >> 2, head, ent->write_splice, cyl & 3);
+ image.set_write_splice_position(cyl >> 2, head, ent->write_splice, cyl & 3);
if(ent->uncompressed_size == 0) {
// Unformatted track
- image->get_buffer(cyl >> 2, head, cyl & 3).clear();
+ image.get_buffer(cyl >> 2, head, cyl & 3).clear();
ent++;
continue;
}
@@ -192,7 +192,7 @@ bool mfi_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return false;
}
- std::vector<uint32_t> &trackbuf = image->get_buffer(cyl >> 2, head, cyl & 3);
+ std::vector<uint32_t> &trackbuf = image.get_buffer(cyl >> 2, head, cyl & 3);
trackbuf.clear();
converter(uncompressed, trackbuf);
@@ -202,16 +202,16 @@ bool mfi_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool mfi_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool mfi_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
size_t actual;
int tracks, heads;
- image->get_actual_geometry(tracks, heads);
- int resolution = image->get_resolution();
+ image.get_actual_geometry(tracks, heads);
+ int resolution = image.get_resolution();
int max_track_size = 0;
for(int track=0; track <= (tracks-1) << 2; track += 4 >> resolution)
for(int head=0; head<heads; head++) {
- int tsize = image->get_buffer(track >> 2, head, track & 3).size();
+ int tsize = image.get_buffer(track >> 2, head, track & 3).size();
if(tsize > max_track_size)
max_track_size = tsize;
}
@@ -221,8 +221,8 @@ bool mfi_format::save(util::random_read_write &io, const std::vector<uint32_t> &
memcpy(h.sign, sign, 16);
h.cyl_count = tracks | (resolution << RESOLUTION_SHIFT);
h.head_count = heads;
- h.form_factor = image->get_form_factor();
- h.variant = image->get_variant();
+ h.form_factor = image.get_form_factor();
+ h.variant = image.get_variant();
io.write_at(0, &h, sizeof(header), actual);
@@ -235,7 +235,7 @@ bool mfi_format::save(util::random_read_write &io, const std::vector<uint32_t> &
for(int track=0; track <= (tracks-1) << 2; track += 4 >> resolution)
for(int head=0; head<heads; head++) {
- std::vector<uint32_t> &buffer = image->get_buffer(track >> 2, head, track & 3);
+ const std::vector<uint32_t> &buffer = image.get_buffer(track >> 2, head, track & 3);
int tsize = buffer.size();
if(!tsize) {
epos++;
@@ -255,7 +255,7 @@ bool mfi_format::save(util::random_read_write &io, const std::vector<uint32_t> &
entries[epos].offset = pos;
entries[epos].uncompressed_size = tsize*4;
entries[epos].compressed_size = csize;
- entries[epos].write_splice = image->get_write_splice_position(track >> 2, head, track & 3);
+ entries[epos].write_splice = image.get_write_splice_position(track >> 2, head, track & 3);
epos++;
io.write_at(pos, postcomp.get(), csize, actual);
diff --git a/src/lib/formats/mfi_dsk.h b/src/lib/formats/mfi_dsk.h
index 93a95c81657..89201c6db8a 100644
--- a/src/lib/formats/mfi_dsk.h
+++ b/src/lib/formats/mfi_dsk.h
@@ -13,13 +13,13 @@ public:
mfi_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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:
enum {
diff --git a/src/lib/formats/mm_dsk.cpp b/src/lib/formats/mm_dsk.cpp
index 540b60d419a..42de60d3d72 100644
--- a/src/lib/formats/mm_dsk.cpp
+++ b/src/lib/formats/mm_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/mm_dsk.c
+ formats/mm_dsk.cpp
mm format
@@ -14,17 +14,17 @@ mm1_format::mm1_format() : upd765_format(formats)
{
}
-const char *mm1_format::name() const
+const char *mm1_format::name() const noexcept
{
return "mm1";
}
-const char *mm1_format::description() const
+const char *mm1_format::description() const noexcept
{
return "Nokia MikroMikko 1 disk image";
}
-const char *mm1_format::extensions() const
+const char *mm1_format::extensions() const noexcept
{
return "dsk";
}
@@ -33,17 +33,17 @@ mm2_format::mm2_format() : upd765_format(formats)
{
}
-const char *mm2_format::name() const
+const char *mm2_format::name() const noexcept
{
return "mm2";
}
-const char *mm2_format::description() const
+const char *mm2_format::description() const noexcept
{
return "Nokia MikroMikko 2 disk image";
}
-const char *mm2_format::extensions() const
+const char *mm2_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/mm_dsk.h b/src/lib/formats/mm_dsk.h
index 4359aef6f2c..2d063df0667 100644
--- a/src/lib/formats/mm_dsk.h
+++ b/src/lib/formats/mm_dsk.h
@@ -18,9 +18,9 @@ class mm1_format : public upd765_format {
public:
mm1_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
@@ -30,9 +30,9 @@ class mm2_format : public upd765_format {
public:
mm2_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/ms0515_dsk.cpp b/src/lib/formats/ms0515_dsk.cpp
index 4096e30379e..9b8b8944b61 100644
--- a/src/lib/formats/ms0515_dsk.cpp
+++ b/src/lib/formats/ms0515_dsk.cpp
@@ -14,17 +14,17 @@ ms0515_format::ms0515_format() : wd177x_format(formats)
{
}
-const char *ms0515_format::name() const
+const char *ms0515_format::name() const noexcept
{
return "ms0515";
}
-const char *ms0515_format::description() const
+const char *ms0515_format::description() const noexcept
{
return "MS 0515 disk image";
}
-const char *ms0515_format::extensions() const
+const char *ms0515_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/ms0515_dsk.h b/src/lib/formats/ms0515_dsk.h
index 4a349e24872..c49e2342463 100644
--- a/src/lib/formats/ms0515_dsk.h
+++ b/src/lib/formats/ms0515_dsk.h
@@ -17,9 +17,9 @@ class ms0515_format : public wd177x_format
public:
ms0515_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/msx_dsk.cpp b/src/lib/formats/msx_dsk.cpp
index a2e92b7f88e..8ec0739b266 100644
--- a/src/lib/formats/msx_dsk.cpp
+++ b/src/lib/formats/msx_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/msx_dsk.c
+ formats/msx_dsk.cpp
MSX disk images
@@ -15,17 +15,17 @@ msx_format::msx_format() : upd765_format(formats)
{
}
-const char *msx_format::name() const
+const char *msx_format::name() const noexcept
{
return "msx";
}
-const char *msx_format::description() const
+const char *msx_format::description() const noexcept
{
return "MSX disk image";
}
-const char *msx_format::extensions() const
+const char *msx_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/msx_dsk.h b/src/lib/formats/msx_dsk.h
index a2fc333e1e4..9e6c13e6f30 100644
--- a/src/lib/formats/msx_dsk.h
+++ b/src/lib/formats/msx_dsk.h
@@ -19,9 +19,9 @@ class msx_format: public upd765_format
public:
msx_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/mtx_dsk.cpp b/src/lib/formats/mtx_dsk.cpp
index 4f4701c46a8..7b37a09ce06 100644
--- a/src/lib/formats/mtx_dsk.cpp
+++ b/src/lib/formats/mtx_dsk.cpp
@@ -14,17 +14,17 @@ mtx_format::mtx_format() : wd177x_format(formats)
{
}
-const char *mtx_format::name() const
+const char *mtx_format::name() const noexcept
{
return "mtx";
}
-const char *mtx_format::description() const
+const char *mtx_format::description() const noexcept
{
return "Memotech MTX disk image";
}
-const char *mtx_format::extensions() const
+const char *mtx_format::extensions() const noexcept
{
return "mfloppy";
}
diff --git a/src/lib/formats/mtx_dsk.h b/src/lib/formats/mtx_dsk.h
index ef0f0acd657..b4f7e6e9c72 100644
--- a/src/lib/formats/mtx_dsk.h
+++ b/src/lib/formats/mtx_dsk.h
@@ -19,9 +19,9 @@ class mtx_format : public wd177x_format
public:
mtx_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/nanos_dsk.cpp b/src/lib/formats/nanos_dsk.cpp
index 13debbe87f6..299b6558fcd 100644
--- a/src/lib/formats/nanos_dsk.cpp
+++ b/src/lib/formats/nanos_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/nanos_dsk.c
+ formats/nanos_dsk.cpp
nanos format
@@ -14,17 +14,17 @@ nanos_format::nanos_format() : upd765_format(formats)
{
}
-const char *nanos_format::name() const
+const char *nanos_format::name() const noexcept
{
return "nanos";
}
-const char *nanos_format::description() const
+const char *nanos_format::description() const noexcept
{
return "NANOS disk image";
}
-const char *nanos_format::extensions() const
+const char *nanos_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/nanos_dsk.h b/src/lib/formats/nanos_dsk.h
index 78900c7dd3d..8974ae9fc86 100644
--- a/src/lib/formats/nanos_dsk.h
+++ b/src/lib/formats/nanos_dsk.h
@@ -18,9 +18,9 @@ class nanos_format : public upd765_format {
public:
nanos_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/nascom_dsk.cpp b/src/lib/formats/nascom_dsk.cpp
index 058f17b7b43..43a625029ee 100644
--- a/src/lib/formats/nascom_dsk.cpp
+++ b/src/lib/formats/nascom_dsk.cpp
@@ -14,17 +14,17 @@ nascom_format::nascom_format() : wd177x_format(formats)
{
}
-const char *nascom_format::name() const
+const char *nascom_format::name() const noexcept
{
return "nascom";
}
-const char *nascom_format::description() const
+const char *nascom_format::description() const noexcept
{
return "Nascom disk image";
}
-const char *nascom_format::extensions() const
+const char *nascom_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/nascom_dsk.h b/src/lib/formats/nascom_dsk.h
index 165c9d86351..20b29b7c465 100644
--- a/src/lib/formats/nascom_dsk.h
+++ b/src/lib/formats/nascom_dsk.h
@@ -19,9 +19,9 @@ class nascom_format : public wd177x_format
public:
nascom_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/naslite_dsk.cpp b/src/lib/formats/naslite_dsk.cpp
index 0ffba31dcfb..3bd0ad45fd7 100644
--- a/src/lib/formats/naslite_dsk.cpp
+++ b/src/lib/formats/naslite_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/naslite_dsk.c
+ formats/naslite_dsk.cpp
NASLite 1.72MB with funky interleaving format
@@ -14,17 +14,17 @@ naslite_format::naslite_format() : upd765_format(formats)
{
}
-const char *naslite_format::name() const
+const char *naslite_format::name() const noexcept
{
return "NASLite";
}
-const char *naslite_format::description() const
+const char *naslite_format::description() const noexcept
{
return "NASLite disk image";
}
-const char *naslite_format::extensions() const
+const char *naslite_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/naslite_dsk.h b/src/lib/formats/naslite_dsk.h
index 0c842a48793..07c3c3929b2 100644
--- a/src/lib/formats/naslite_dsk.h
+++ b/src/lib/formats/naslite_dsk.h
@@ -19,9 +19,9 @@ class naslite_format : public upd765_format
public:
naslite_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
protected:
static const format formats[];
diff --git a/src/lib/formats/nfd_dsk.cpp b/src/lib/formats/nfd_dsk.cpp
index 3236dc61f02..773b35d8aef 100644
--- a/src/lib/formats/nfd_dsk.cpp
+++ b/src/lib/formats/nfd_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Fabio Priuli
/*********************************************************************
- formats/nfd_dsk.h
+ formats/nfd_dsk.cpp
PC98 NFD disk images (info from: http://www.geocities.jp/t98next/dev.html )
@@ -90,17 +90,17 @@ nfd_format::nfd_format()
{
}
-const char *nfd_format::name() const
+const char *nfd_format::name() const noexcept
{
return "nfd";
}
-const char *nfd_format::description() const
+const char *nfd_format::description() const noexcept
{
return "NFD disk image";
}
-const char *nfd_format::extensions() const
+const char *nfd_format::extensions() const noexcept
{
return "nfd";
}
@@ -117,7 +117,7 @@ int nfd_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool nfd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool nfd_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
uint64_t size;
@@ -237,13 +237,13 @@ bool nfd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
switch (disk_type)
{
case 0x10: // 640K disk, 2DD
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
break;
//case 0x30: // 1.44M disk, ?? (no images found)
// break;
case 0x90: // 1.2M disk, 2HD
default:
- image->set_variant(floppy_image::DSHD);
+ image.set_variant(floppy_image::DSHD);
break;
}
@@ -283,7 +283,7 @@ bool nfd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool nfd_format::supports_save() const
+bool nfd_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/nfd_dsk.h b/src/lib/formats/nfd_dsk.h
index 078def004f1..d0decfb1e17 100644
--- a/src/lib/formats/nfd_dsk.h
+++ b/src/lib/formats/nfd_dsk.h
@@ -21,12 +21,12 @@ public:
nfd_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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/opd_dsk.cpp b/src/lib/formats/opd_dsk.cpp
index 83889025ffb..e3bed7a2017 100644
--- a/src/lib/formats/opd_dsk.cpp
+++ b/src/lib/formats/opd_dsk.cpp
@@ -15,17 +15,17 @@ opd_format::opd_format() : wd177x_format(formats)
{
}
-const char *opd_format::name() const
+const char *opd_format::name() const noexcept
{
return "opd";
}
-const char *opd_format::description() const
+const char *opd_format::description() const noexcept
{
return "Opus Discovery disk image";
}
-const char *opd_format::extensions() const
+const char *opd_format::extensions() const noexcept
{
return "opd,opu";
}
diff --git a/src/lib/formats/opd_dsk.h b/src/lib/formats/opd_dsk.h
index 59ac6bd8717..a5fce693ede 100644
--- a/src/lib/formats/opd_dsk.h
+++ b/src/lib/formats/opd_dsk.h
@@ -23,9 +23,9 @@ public:
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int get_image_offset(const format &f, int head, int track) const override;
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/oric_dsk.cpp b/src/lib/formats/oric_dsk.cpp
index aac26d1ae78..f4d9b78faa9 100644
--- a/src/lib/formats/oric_dsk.cpp
+++ b/src/lib/formats/oric_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/oric_dsk.c
+ formats/oric_dsk.cpp
Oric disk images
@@ -16,22 +16,22 @@
#include <cstring>
-const char *oric_dsk_format::name() const
+const char *oric_dsk_format::name() const noexcept
{
return "oric_dsk";
}
-const char *oric_dsk_format::description() const
+const char *oric_dsk_format::description() const noexcept
{
return "Oric disk image";
}
-const char *oric_dsk_format::extensions() const
+const char *oric_dsk_format::extensions() const noexcept
{
return "dsk";
}
-bool oric_dsk_format::supports_save() const
+bool oric_dsk_format::supports_save() const noexcept
{
return true;
}
@@ -58,7 +58,7 @@ int oric_dsk_format::identify(util::random_read &io, uint32_t form_factor, const
return FIFID_SIGN|FIFID_SIZE|FIFID_STRUCT;
}
-bool oric_dsk_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool oric_dsk_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
uint8_t h[256];
@@ -111,22 +111,22 @@ bool oric_dsk_format::load(util::random_read &io, uint32_t form_factor, const st
const oric_dsk_format FLOPPY_ORIC_DSK_FORMAT;
-const char *oric_jasmin_format::name() const
+const char *oric_jasmin_format::name() const noexcept
{
return "oric_jasmin";
}
-const char *oric_jasmin_format::description() const
+const char *oric_jasmin_format::description() const noexcept
{
return "Oric Jasmin pure sector image";
}
-const char *oric_jasmin_format::extensions() const
+const char *oric_jasmin_format::extensions() const noexcept
{
return "dsk";
}
-bool oric_jasmin_format::supports_save() const
+bool oric_jasmin_format::supports_save() const noexcept
{
return true;
}
@@ -144,7 +144,7 @@ int oric_jasmin_format::identify(util::random_read &io, uint32_t form_factor, co
return 0;
}
-bool oric_jasmin_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool oric_jasmin_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t size;
if(io.length(size))
@@ -179,15 +179,15 @@ bool oric_jasmin_format::load(util::random_read &io, uint32_t form_factor, const
build_wd_track_mfm(track, head, image, 100000, 17, sdesc, 38, 40);
}
- image->set_form_variant(floppy_image::FF_3, heads == 2 ? floppy_image::DSDD : floppy_image::SSDD);
+ image.set_form_variant(floppy_image::FF_3, heads == 2 ? floppy_image::DSDD : floppy_image::SSDD);
return true;
}
-bool oric_jasmin_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool oric_jasmin_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int tracks, heads;
- image->get_actual_geometry(tracks, heads);
+ image.get_actual_geometry(tracks, heads);
bool can_ds = variants.empty() || has_variant(variants, floppy_image::DSDD);
if(heads == 2 && !can_ds)
diff --git a/src/lib/formats/oric_dsk.h b/src/lib/formats/oric_dsk.h
index a99b554032a..4b040de86f4 100644
--- a/src/lib/formats/oric_dsk.h
+++ b/src/lib/formats/oric_dsk.h
@@ -19,12 +19,12 @@ class oric_dsk_format : public floppy_image_format_t
public:
oric_dsk_format() = default;
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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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 oric_dsk_format FLOPPY_ORIC_DSK_FORMAT;
@@ -35,13 +35,13 @@ public:
oric_jasmin_format() = default;
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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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 oric_jasmin_format FLOPPY_ORIC_JASMIN_FORMAT;
diff --git a/src/lib/formats/os9_dsk.cpp b/src/lib/formats/os9_dsk.cpp
index 232f40e89f0..aa1fa324f13 100644
--- a/src/lib/formats/os9_dsk.cpp
+++ b/src/lib/formats/os9_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:tim lindner, 68bit
/*********************************************************************
- formats/os9_dsk.c
+ formats/os9_dsk.cpp
OS-9 disk images
@@ -56,17 +56,17 @@ os9_format::os9_format() : wd177x_format(formats)
{
}
-const char *os9_format::name() const
+const char *os9_format::name() const noexcept
{
return "os9";
}
-const char *os9_format::description() const
+const char *os9_format::description() const noexcept
{
return "OS-9 floppy disk image";
}
-const char *os9_format::extensions() const
+const char *os9_format::extensions() const noexcept
{
return "os9,dsk";
}
diff --git a/src/lib/formats/os9_dsk.h b/src/lib/formats/os9_dsk.h
index ff420c18461..9cb22bde2e1 100644
--- a/src/lib/formats/os9_dsk.h
+++ b/src/lib/formats/os9_dsk.h
@@ -18,9 +18,9 @@ class os9_format : public wd177x_format {
public:
os9_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual const wd177x_format::format &get_track_format(const format &f, int head, int track) const override;
diff --git a/src/lib/formats/pasti_dsk.cpp b/src/lib/formats/pasti_dsk.cpp
index 1849d28de2a..1390072b97c 100644
--- a/src/lib/formats/pasti_dsk.cpp
+++ b/src/lib/formats/pasti_dsk.cpp
@@ -22,22 +22,22 @@ pasti_format::pasti_format()
{
}
-const char *pasti_format::name() const
+const char *pasti_format::name() const noexcept
{
return "pasti";
}
-const char *pasti_format::description() const
+const char *pasti_format::description() const noexcept
{
return "Atari PASTI floppy disk image";
}
-const char *pasti_format::extensions() const
+const char *pasti_format::extensions() const noexcept
{
return "stx";
}
-bool pasti_format::supports_save() const
+bool pasti_format::supports_save() const noexcept
{
return false;
}
@@ -65,7 +65,7 @@ static void hexdump(const uint8_t *d, int s)
}
}
-bool pasti_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool pasti_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
uint8_t fh[16];
@@ -162,14 +162,14 @@ bool pasti_format::load(util::random_read &io, uint32_t form_factor, const std::
}
}
- image->set_form_variant(floppy_image::FF_35, heads > 1 ? floppy_image::DSDD : floppy_image::SSDD);
+ image.set_form_variant(floppy_image::FF_35, heads > 1 ? floppy_image::DSDD : floppy_image::SSDD);
return true;
}
const pasti_format FLOPPY_PASTI_FORMAT;
-void pasti_format::wd_generate_track_from_observations(int track, int head, floppy_image *image, wd_obs &obs)
+void pasti_format::wd_generate_track_from_observations(int track, int head, floppy_image &image, const wd_obs &obs)
{
if(!obs.track_data)
wd_generate_track_from_sectors_only(track, head, image, obs);
@@ -274,7 +274,7 @@ void pasti_format::wd_generate_sector_data(std::vector<uint32_t> &track, const w
mfm_w(track, 8, crc, cell_size);
}
-void pasti_format::wd_generate_track_from_sectors_and_track(int track, int head, floppy_image *image, wd_obs &obs)
+void pasti_format::wd_generate_track_from_sectors_and_track(int track, int head, floppy_image &image, const wd_obs &obs)
{
if(0)
printf("Track %d head %d sectors %d\n", track, head, obs.sector_count);
@@ -351,7 +351,7 @@ void pasti_format::wd_generate_track_from_sectors_and_track(int track, int head,
generate_track_from_levels(track, head, trackbuf, 0, image);
}
-void pasti_format::wd_generate_track_from_sectors_only(int track, int head, floppy_image *image, wd_obs &obs)
+void pasti_format::wd_generate_track_from_sectors_only(int track, int head, floppy_image &image, const wd_obs &obs)
{
if(0) {
printf("Track %d head %d sectors %d\n", track, head, obs.sector_count);
@@ -436,7 +436,7 @@ uint16_t pasti_format::byte_to_mfm(uint8_t data, bool context)
return (expand[(data >> 4) | (context ? 16 : 0)] << 8) | expand[data & 0x1f];
}
-void pasti_format::match_mfm_data(wd_obs &obs, int tpos, const uint8_t *data, int size, uint8_t context, int &bcount, int &tend, bool &synced)
+void pasti_format::match_mfm_data(const wd_obs &obs, int tpos, const uint8_t *data, int size, uint8_t context, int &bcount, int &tend, bool &synced)
{
uint16_t shift = byte_to_mfm(context, true);
int bc = 0;
@@ -481,7 +481,7 @@ void pasti_format::match_mfm_data(wd_obs &obs, int tpos, const uint8_t *data, in
}
}
-void pasti_format::match_raw_data(wd_obs &obs, int tpos, const uint8_t *data, int size, uint8_t context, int &bcount, int &tend)
+void pasti_format::match_raw_data(const wd_obs &obs, int tpos, const uint8_t *data, int size, uint8_t context, int &bcount, int &tend)
{
tend = tpos;
for(bcount=0; bcount != size; bcount++) {
@@ -510,7 +510,7 @@ uint16_t pasti_format::calc_crc(const uint8_t *data, int size, uint16_t crc1)
return crc;
}
-void pasti_format::map_sectors_in_track(wd_obs &obs, wd_sect_info *sect_infos)
+void pasti_format::map_sectors_in_track(const wd_obs &obs, wd_sect_info *sect_infos)
{
for(int i=0; i != obs.sector_count; i++) {
sect_infos[i].hstart = -1;
diff --git a/src/lib/formats/pasti_dsk.h b/src/lib/formats/pasti_dsk.h
index 880192bc448..5ca54e610ae 100644
--- a/src/lib/formats/pasti_dsk.h
+++ b/src/lib/formats/pasti_dsk.h
@@ -13,12 +13,12 @@ public:
pasti_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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[];
@@ -37,7 +37,7 @@ protected:
int track_size, sector_count;
};
- static void wd_generate_track_from_observations(int track, int head, floppy_image *image, wd_obs &obs);
+ static void wd_generate_track_from_observations(int track, int head, floppy_image &image, const wd_obs &obs);
private:
struct wd_sect_info {
@@ -46,9 +46,9 @@ private:
bool hsynced, dsynced;
};
- static void map_sectors_in_track(wd_obs &obs, wd_sect_info *sect_infos);
- static void match_mfm_data(wd_obs &obs, int tpos, const uint8_t *data, int size, uint8_t context, int &bcount, int &ccount, bool &synced);
- static void match_raw_data(wd_obs &obs, int tpos, const uint8_t *data, int size, uint8_t context, int &bcount, int &ccount);
+ static void map_sectors_in_track(const wd_obs &obs, wd_sect_info *sect_infos);
+ static void match_mfm_data(const wd_obs &obs, int tpos, const uint8_t *data, int size, uint8_t context, int &bcount, int &ccount, bool &synced);
+ static void match_raw_data(const wd_obs &obs, int tpos, const uint8_t *data, int size, uint8_t context, int &bcount, int &ccount);
static uint16_t byte_to_mfm(uint8_t data, bool context);
static uint16_t calc_crc(const uint8_t *data, int size, uint16_t crc);
@@ -57,8 +57,8 @@ private:
static void wd_generate_gap(std::vector<uint32_t> &track, const wd_obs &obs, int tstart, int tend, bool synced, uint32_t cell_size_start, uint32_t cell_size_end);
static void wd_generate_sector_header(std::vector<uint32_t> &track, const wd_obs &obs, int sector, int tstart, uint32_t cell_size);
static void wd_generate_sector_data(std::vector<uint32_t> &track, const wd_obs &obs, int sector, int tstart, uint32_t cell_size);
- static void wd_generate_track_from_sectors_and_track(int track, int head, floppy_image *image, wd_obs &obs);
- static void wd_generate_track_from_sectors_only(int track, int head, floppy_image *image, wd_obs &obs);
+ static void wd_generate_track_from_sectors_and_track(int track, int head, floppy_image &image, const wd_obs &obs);
+ static void wd_generate_track_from_sectors_only(int track, int head, floppy_image &image, const wd_obs &obs);
};
extern const pasti_format FLOPPY_PASTI_FORMAT;
diff --git a/src/lib/formats/pc98_dsk.cpp b/src/lib/formats/pc98_dsk.cpp
index 884adfa4040..534a5216450 100644
--- a/src/lib/formats/pc98_dsk.cpp
+++ b/src/lib/formats/pc98_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Angelo Salese
/*********************************************************************
- formats/pc98_dsk.c
+ formats/pc98_dsk.cpp
PC-98 disk images
@@ -19,17 +19,17 @@ pc98_format::pc98_format() : upd765_format(formats)
{
}
-const char *pc98_format::name() const
+const char *pc98_format::name() const noexcept
{
return "pc98";
}
-const char *pc98_format::description() const
+const char *pc98_format::description() const noexcept
{
return "PC-98 floppy disk image";
}
-const char *pc98_format::extensions() const
+const char *pc98_format::extensions() const noexcept
{
return "dsk,ima,img,ufi,360,hdm";
}
diff --git a/src/lib/formats/pc98_dsk.h b/src/lib/formats/pc98_dsk.h
index 453e4392059..5600dc05277 100644
--- a/src/lib/formats/pc98_dsk.h
+++ b/src/lib/formats/pc98_dsk.h
@@ -23,9 +23,9 @@ class pc98_format : public upd765_format
public:
pc98_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/pc98fdi_dsk.cpp b/src/lib/formats/pc98fdi_dsk.cpp
index 1edba6bf989..b331ad8b521 100644
--- a/src/lib/formats/pc98fdi_dsk.cpp
+++ b/src/lib/formats/pc98fdi_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/pc98fdi_dsk.h
+ formats/pc98fdi_dsk.cpp
PC98FDI disk images
@@ -19,17 +19,17 @@ pc98fdi_format::pc98fdi_format()
{
}
-const char *pc98fdi_format::name() const
+const char *pc98fdi_format::name() const noexcept
{
return "pc98_fdi";
}
-const char *pc98fdi_format::description() const
+const char *pc98fdi_format::description() const noexcept
{
return "PC98 FDI disk image";
}
-const char *pc98fdi_format::extensions() const
+const char *pc98fdi_format::extensions() const noexcept
{
return "fdi";
}
@@ -56,7 +56,7 @@ int pc98fdi_format::identify(util::random_read &io, uint32_t form_factor, const
return 0;
}
-bool pc98fdi_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool pc98fdi_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
@@ -99,7 +99,7 @@ bool pc98fdi_format::load(util::random_read &io, uint32_t form_factor, const std
return true;
}
-bool pc98fdi_format::supports_save() const
+bool pc98fdi_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/pc98fdi_dsk.h b/src/lib/formats/pc98fdi_dsk.h
index 7db28346a9b..3b279edb394 100644
--- a/src/lib/formats/pc98fdi_dsk.h
+++ b/src/lib/formats/pc98fdi_dsk.h
@@ -21,12 +21,12 @@ public:
pc98fdi_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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/pc_dsk.cpp b/src/lib/formats/pc_dsk.cpp
index 97b17612a34..96d7662e5fb 100644
--- a/src/lib/formats/pc_dsk.cpp
+++ b/src/lib/formats/pc_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Nathan Woods
/*********************************************************************
- formats/pc_dsk.c
+ formats/pc_dsk.cpp
PC disk images
@@ -19,17 +19,17 @@ pc_format::pc_format() : upd765_format(formats)
{
}
-const char *pc_format::name() const
+const char *pc_format::name() const noexcept
{
return "pc";
}
-const char *pc_format::description() const
+const char *pc_format::description() const noexcept
{
return "PC floppy disk image";
}
-const char *pc_format::extensions() const
+const char *pc_format::extensions() const noexcept
{
return "dsk,ima,img,ufi,360";
}
diff --git a/src/lib/formats/pc_dsk.h b/src/lib/formats/pc_dsk.h
index d0643961ced..94c23238e9b 100644
--- a/src/lib/formats/pc_dsk.h
+++ b/src/lib/formats/pc_dsk.h
@@ -20,9 +20,9 @@ class pc_format : public upd765_format
public:
pc_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/pk8020_dsk.cpp b/src/lib/formats/pk8020_dsk.cpp
index 8d958361bcd..c5250949829 100644
--- a/src/lib/formats/pk8020_dsk.cpp
+++ b/src/lib/formats/pk8020_dsk.cpp
@@ -17,17 +17,17 @@ pk8020_format::pk8020_format() : wd177x_format(formats)
{
}
-const char *pk8020_format::name() const
+const char *pk8020_format::name() const noexcept
{
return "pk8020";
}
-const char *pk8020_format::description() const
+const char *pk8020_format::description() const noexcept
{
return "PK-8020 disk image";
}
-const char *pk8020_format::extensions() const
+const char *pk8020_format::extensions() const noexcept
{
return "kdi";
}
diff --git a/src/lib/formats/pk8020_dsk.h b/src/lib/formats/pk8020_dsk.h
index d5a1447f42d..dcbd71ff308 100644
--- a/src/lib/formats/pk8020_dsk.h
+++ b/src/lib/formats/pk8020_dsk.h
@@ -19,9 +19,9 @@ class pk8020_format : public wd177x_format
public:
pk8020_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/poly_dsk.cpp b/src/lib/formats/poly_dsk.cpp
index 72c6ca16bc0..4a264e293a1 100644
--- a/src/lib/formats/poly_dsk.cpp
+++ b/src/lib/formats/poly_dsk.cpp
@@ -19,22 +19,22 @@ poly_cpm_format::poly_cpm_format()
{
}
-const char *poly_cpm_format::name() const
+const char *poly_cpm_format::name() const noexcept
{
return "cpm";
}
-const char *poly_cpm_format::description() const
+const char *poly_cpm_format::description() const noexcept
{
return "Poly CP/M disk image";
}
-const char *poly_cpm_format::extensions() const
+const char *poly_cpm_format::extensions() const noexcept
{
return "cpm";
}
-bool poly_cpm_format::supports_save() const
+bool poly_cpm_format::supports_save() const noexcept
{
return true;
}
@@ -61,7 +61,7 @@ int poly_cpm_format::identify(util::random_read &io, uint32_t form_factor, const
return 0;
}
-bool poly_cpm_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool poly_cpm_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t size;
if (io.length(size) || io.seek(0, SEEK_SET))
diff --git a/src/lib/formats/poly_dsk.h b/src/lib/formats/poly_dsk.h
index 68ed2eba41a..736ad1cd2ab 100644
--- a/src/lib/formats/poly_dsk.h
+++ b/src/lib/formats/poly_dsk.h
@@ -17,12 +17,12 @@ class poly_cpm_format : public floppy_image_format_t
public:
poly_cpm_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() 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;
- virtual bool supports_save() 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 poly_cpm_format FLOPPY_POLY_CPM_FORMAT;
diff --git a/src/lib/formats/ppg_dsk.cpp b/src/lib/formats/ppg_dsk.cpp
index 7bb3c9966e9..aa0c9fcb487 100644
--- a/src/lib/formats/ppg_dsk.cpp
+++ b/src/lib/formats/ppg_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Sergey Svishchev
/*********************************************************************
- formats/ppg_dsk.c
+ formats/ppg_dsk.cpp
PPG Waveterm formats
@@ -14,17 +14,17 @@ ppg_format::ppg_format() : wd177x_format(formats)
{
}
-const char *ppg_format::name() const
+const char *ppg_format::name() const noexcept
{
return "ppg";
}
-const char *ppg_format::description() const
+const char *ppg_format::description() const noexcept
{
return "PPG Waveterm disk image";
}
-const char *ppg_format::extensions() const
+const char *ppg_format::extensions() const noexcept
{
return "wta";
}
diff --git a/src/lib/formats/ppg_dsk.h b/src/lib/formats/ppg_dsk.h
index c0f589fadaa..25e010df04d 100644
--- a/src/lib/formats/ppg_dsk.h
+++ b/src/lib/formats/ppg_dsk.h
@@ -19,9 +19,9 @@ class ppg_format : public wd177x_format
public:
ppg_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/pyldin_dsk.cpp b/src/lib/formats/pyldin_dsk.cpp
index d6458c615f4..56fb52ed620 100644
--- a/src/lib/formats/pyldin_dsk.cpp
+++ b/src/lib/formats/pyldin_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/pyldin_dsk.c
+ formats/pyldin_dsk.cpp
pyldin format
@@ -14,17 +14,17 @@ pyldin_format::pyldin_format() : upd765_format(formats)
{
}
-const char *pyldin_format::name() const
+const char *pyldin_format::name() const noexcept
{
return "pyldin";
}
-const char *pyldin_format::description() const
+const char *pyldin_format::description() const noexcept
{
return "PYLDIN disk image";
}
-const char *pyldin_format::extensions() const
+const char *pyldin_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/pyldin_dsk.h b/src/lib/formats/pyldin_dsk.h
index 84ba08a0737..faf8a2041f1 100644
--- a/src/lib/formats/pyldin_dsk.h
+++ b/src/lib/formats/pyldin_dsk.h
@@ -19,9 +19,9 @@ class pyldin_format : public upd765_format
public:
pyldin_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/ql_dsk.cpp b/src/lib/formats/ql_dsk.cpp
index 99066c6f1db..265c7c2ea11 100644
--- a/src/lib/formats/ql_dsk.cpp
+++ b/src/lib/formats/ql_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/ql_dsk.c
+ formats/ql_dsk.cpp
Sinclair QL disk image formats
@@ -14,17 +14,17 @@ ql_format::ql_format() : wd177x_format(formats)
{
}
-const char *ql_format::name() const
+const char *ql_format::name() const noexcept
{
return "ql";
}
-const char *ql_format::description() const
+const char *ql_format::description() const noexcept
{
return "Sinclair QL disk image";
}
-const char *ql_format::extensions() const
+const char *ql_format::extensions() const noexcept
{
return "dsk,img";
}
diff --git a/src/lib/formats/ql_dsk.h b/src/lib/formats/ql_dsk.h
index 885724f7d17..4a51062bc30 100644
--- a/src/lib/formats/ql_dsk.h
+++ b/src/lib/formats/ql_dsk.h
@@ -19,9 +19,9 @@ class ql_format : public wd177x_format
public:
ql_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/rc759_dsk.cpp b/src/lib/formats/rc759_dsk.cpp
index f532eb7ff30..537803d1993 100644
--- a/src/lib/formats/rc759_dsk.cpp
+++ b/src/lib/formats/rc759_dsk.cpp
@@ -14,17 +14,17 @@ rc759_format::rc759_format() : wd177x_format(formats)
{
}
-const char *rc759_format::name() const
+const char *rc759_format::name() const noexcept
{
return "rc759";
}
-const char *rc759_format::description() const
+const char *rc759_format::description() const noexcept
{
return "RC759 disk image";
}
-const char *rc759_format::extensions() const
+const char *rc759_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/rc759_dsk.h b/src/lib/formats/rc759_dsk.h
index febda395d09..f49bb19f210 100644
--- a/src/lib/formats/rc759_dsk.h
+++ b/src/lib/formats/rc759_dsk.h
@@ -20,9 +20,9 @@ class rc759_format : public wd177x_format
public:
rc759_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/roland_dsk.cpp b/src/lib/formats/roland_dsk.cpp
index 4945de93536..4a7c7157c99 100644
--- a/src/lib/formats/roland_dsk.cpp
+++ b/src/lib/formats/roland_dsk.cpp
@@ -7,17 +7,17 @@ roland_sdisk_format::roland_sdisk_format() : wd177x_format(formats)
{
}
-const char *roland_sdisk_format::name() const
+const char *roland_sdisk_format::name() const noexcept
{
return "roland_sdisk";
}
-const char *roland_sdisk_format::description() const
+const char *roland_sdisk_format::description() const noexcept
{
return "Roland S-Disk image";
}
-const char *roland_sdisk_format::extensions() const
+const char *roland_sdisk_format::extensions() const noexcept
{
return "out,w30";
}
diff --git a/src/lib/formats/roland_dsk.h b/src/lib/formats/roland_dsk.h
index f40b1dcee26..d7142384e4f 100644
--- a/src/lib/formats/roland_dsk.h
+++ b/src/lib/formats/roland_dsk.h
@@ -13,9 +13,9 @@ class roland_sdisk_format : public wd177x_format
public:
roland_sdisk_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/rx50_dsk.cpp b/src/lib/formats/rx50_dsk.cpp
index 373506198c7..cefc2725209 100644
--- a/src/lib/formats/rx50_dsk.cpp
+++ b/src/lib/formats/rx50_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Karl-Ludwig Deisenhofer
/**********************************************************************
- formats/rx50_dsk.c
+ formats/rx50_dsk.cpp
Floppies used by Rainbow 100 and 190.
The RX50 drive: 5.25" format; 300 rpm; MFM 250 kbps; 96 - 100 tpi
@@ -75,22 +75,22 @@ rx50img_format::rx50img_format()
{
}
-const char *rx50img_format::name() const
+const char *rx50img_format::name() const noexcept
{
return "rx50";
}
-const char *rx50img_format::description() const
+const char *rx50img_format::description() const noexcept
{
return "DEC Rainbow 100 floppy image";
}
-const char *rx50img_format::extensions() const
+const char *rx50img_format::extensions() const noexcept
{
return "img";
}
-bool rx50img_format::supports_save() const
+bool rx50img_format::supports_save() const noexcept
{
return true;
}
@@ -140,7 +140,7 @@ int rx50img_format::identify(util::random_read &io, uint32_t form_factor, const
}
// /* Sectors are numbered 1 to 10 */
-bool rx50img_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool rx50img_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint8_t track_count, head_count, sector_count;
find_size(io, track_count, head_count, sector_count);
@@ -164,12 +164,12 @@ bool rx50img_format::load(util::random_read &io, uint32_t form_factor, const std
}
}
- image->set_variant(floppy_image::SSQD);
+ image.set_variant(floppy_image::SSQD);
return true;
}
-bool rx50img_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool rx50img_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int track_count, head_count, sector_count;
get_geometry_mfm_pc(image, 2000, track_count, head_count, sector_count);
diff --git a/src/lib/formats/rx50_dsk.h b/src/lib/formats/rx50_dsk.h
index 64fd2e490f6..f3591a8c7cc 100644
--- a/src/lib/formats/rx50_dsk.h
+++ b/src/lib/formats/rx50_dsk.h
@@ -24,13 +24,13 @@ public:
rx50img_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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;
static const desc_e rx50_10_desc[];
diff --git a/src/lib/formats/sdd_dsk.cpp b/src/lib/formats/sdd_dsk.cpp
index b119183cef4..e16e2621ba9 100644
--- a/src/lib/formats/sdd_dsk.cpp
+++ b/src/lib/formats/sdd_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:MetalliC
/*********************************************************************
- formats/sdd_dsk.c
+ formats/sdd_dsk.cpp
Speccy-DOS SDD disk images
@@ -17,17 +17,17 @@ sdd_format::sdd_format() : wd177x_format(formats)
{
}
-const char *sdd_format::name() const
+const char *sdd_format::name() const noexcept
{
return "sdd";
}
-const char *sdd_format::description() const
+const char *sdd_format::description() const noexcept
{
return "SDD floppy disk image";
}
-const char *sdd_format::extensions() const
+const char *sdd_format::extensions() const noexcept
{
return "sdd";
}
diff --git a/src/lib/formats/sdd_dsk.h b/src/lib/formats/sdd_dsk.h
index bdbb9207e93..ac95570a1fa 100644
--- a/src/lib/formats/sdd_dsk.h
+++ b/src/lib/formats/sdd_dsk.h
@@ -18,9 +18,9 @@ class sdd_format : public wd177x_format {
public:
sdd_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/sdf_dsk.cpp b/src/lib/formats/sdf_dsk.cpp
index 9a5e793c94a..6e3f1147167 100644
--- a/src/lib/formats/sdf_dsk.cpp
+++ b/src/lib/formats/sdf_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Wilbert Pol, tim lindner
/*********************************************************************
- formats/sdf_dsk.h
+ formats/sdf_dsk.cpp
SDF disk images. Format created by Darren Atkinson for use with
his CoCoSDC floppy disk emulator.
@@ -22,19 +22,19 @@ sdf_format::sdf_format()
}
-const char *sdf_format::name() const
+const char *sdf_format::name() const noexcept
{
return "sdf";
}
-const char *sdf_format::description() const
+const char *sdf_format::description() const noexcept
{
return "SDF disk image";
}
-const char *sdf_format::extensions() const
+const char *sdf_format::extensions() const noexcept
{
return "sdf";
}
@@ -77,7 +77,7 @@ int sdf_format::identify(util::random_read &io, uint32_t form_factor, const std:
}
-bool sdf_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool sdf_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
uint8_t header[HEADER_SIZE];
@@ -91,11 +91,11 @@ bool sdf_format::load(util::random_read &io, uint32_t form_factor, const std::ve
if (heads == 2)
{
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
}
else
{
- image->set_variant(floppy_image::SSDD);
+ image.set_variant(floppy_image::SSDD);
}
for (int track = 0; track < tracks; track++)
@@ -185,7 +185,7 @@ bool sdf_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
-bool sdf_format::supports_save() const
+bool sdf_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/sdf_dsk.h b/src/lib/formats/sdf_dsk.h
index ec044c629dc..149a3b2bcba 100644
--- a/src/lib/formats/sdf_dsk.h
+++ b/src/lib/formats/sdf_dsk.h
@@ -23,12 +23,12 @@ public:
sdf_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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/sf7000_dsk.cpp b/src/lib/formats/sf7000_dsk.cpp
index 5813c7f3fe5..cdbb94e48f7 100644
--- a/src/lib/formats/sf7000_dsk.cpp
+++ b/src/lib/formats/sf7000_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/sf7000_dsk.c
+ formats/sf7000_dsk.cpp
sf7000 format
@@ -14,17 +14,17 @@ sf7000_format::sf7000_format() : upd765_format(formats)
{
}
-const char *sf7000_format::name() const
+const char *sf7000_format::name() const noexcept
{
return "sf7";
}
-const char *sf7000_format::description() const
+const char *sf7000_format::description() const noexcept
{
return "SF7 disk image";
}
-const char *sf7000_format::extensions() const
+const char *sf7000_format::extensions() const noexcept
{
return "sf7";
}
diff --git a/src/lib/formats/sf7000_dsk.h b/src/lib/formats/sf7000_dsk.h
index dbc9dbd632b..97a5a466936 100644
--- a/src/lib/formats/sf7000_dsk.h
+++ b/src/lib/formats/sf7000_dsk.h
@@ -19,9 +19,9 @@ class sf7000_format : public upd765_format
public:
sf7000_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/smx_dsk.cpp b/src/lib/formats/smx_dsk.cpp
index 22910d52a80..86cf07c4bf9 100644
--- a/src/lib/formats/smx_dsk.cpp
+++ b/src/lib/formats/smx_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/smx_dsk.c
+ formats/smx_dsk.cpp
Specialist MX format
@@ -14,17 +14,17 @@ smx_format::smx_format() : wd177x_format(formats)
{
}
-const char *smx_format::name() const
+const char *smx_format::name() const noexcept
{
return "smx";
}
-const char *smx_format::description() const
+const char *smx_format::description() const noexcept
{
return "Specialist MX/Orion/B2M disk image";
}
-const char *smx_format::extensions() const
+const char *smx_format::extensions() const noexcept
{
return "odi,cpm,img";
}
diff --git a/src/lib/formats/smx_dsk.h b/src/lib/formats/smx_dsk.h
index 47c1e5ebfe1..e31628fec0a 100644
--- a/src/lib/formats/smx_dsk.h
+++ b/src/lib/formats/smx_dsk.h
@@ -19,9 +19,9 @@ class smx_format : public wd177x_format
public:
smx_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/st_dsk.cpp b/src/lib/formats/st_dsk.cpp
index a84ddbdc539..17e0d9efc17 100644
--- a/src/lib/formats/st_dsk.cpp
+++ b/src/lib/formats/st_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/st_dsk.c
+ formats/st_dsk.cpp
All usual Atari ST formats
@@ -20,22 +20,22 @@ st_format::st_format()
{
}
-const char *st_format::name() const
+const char *st_format::name() const noexcept
{
return "st";
}
-const char *st_format::description() const
+const char *st_format::description() const noexcept
{
return "Atari ST floppy disk image";
}
-const char *st_format::extensions() const
+const char *st_format::extensions() const noexcept
{
return "st";
}
-bool st_format::supports_save() const
+bool st_format::supports_save() const noexcept
{
return true;
}
@@ -63,7 +63,7 @@ int st_format::identify(util::random_read &io, uint32_t form_factor, const std::
return 0;
}
-bool st_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool st_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint8_t track_count, head_count, sector_count;
find_size(io, track_count, head_count, sector_count);
@@ -86,12 +86,12 @@ bool st_format::load(util::random_read &io, uint32_t form_factor, const std::vec
}
}
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
return true;
}
-bool st_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool st_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int track_count, head_count, sector_count;
get_geometry_mfm_pc(image, 2000, track_count, head_count, sector_count);
@@ -129,22 +129,22 @@ msa_format::msa_format()
{
}
-const char *msa_format::name() const
+const char *msa_format::name() const noexcept
{
return "msa";
}
-const char *msa_format::description() const
+const char *msa_format::description() const noexcept
{
return "Atari MSA floppy disk image";
}
-const char *msa_format::extensions() const
+const char *msa_format::extensions() const noexcept
{
return "msa";
}
-bool msa_format::supports_save() const
+bool msa_format::supports_save() const noexcept
{
return true;
}
@@ -229,7 +229,7 @@ int msa_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool msa_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool msa_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint16_t sign, sect, heads, strack, etrack;
read_header(io, sign, sect, heads, strack, etrack);
@@ -263,12 +263,12 @@ bool msa_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
}
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
return true;
}
-bool msa_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool msa_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int track_count, head_count, sector_count;
get_geometry_mfm_pc(image, 2000, track_count, head_count, sector_count);
diff --git a/src/lib/formats/st_dsk.h b/src/lib/formats/st_dsk.h
index 58f287c1212..2026a1f37ea 100644
--- a/src/lib/formats/st_dsk.h
+++ b/src/lib/formats/st_dsk.h
@@ -20,13 +20,13 @@ public:
st_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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:
static void find_size(util::random_read &io, uint8_t &track_count, uint8_t &head_count, uint8_t &sector_count);
@@ -38,13 +38,13 @@ public:
msa_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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:
static bool uncompress(uint8_t *buffer, int csize, int usize);
diff --git a/src/lib/formats/svi_dsk.cpp b/src/lib/formats/svi_dsk.cpp
index 2e4e8bd4a9f..a60491fb20d 100644
--- a/src/lib/formats/svi_dsk.cpp
+++ b/src/lib/formats/svi_dsk.cpp
@@ -17,17 +17,17 @@ svi_format::svi_format()
{
}
-const char *svi_format::name() const
+const char *svi_format::name() const noexcept
{
return "svi";
}
-const char *svi_format::description() const
+const char *svi_format::description() const noexcept
{
return "SVI-318/328 disk image";
}
-const char *svi_format::extensions() const
+const char *svi_format::extensions() const noexcept
{
return "dsk";
}
@@ -44,7 +44,7 @@ int svi_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool svi_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool svi_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t size;
if (io.length(size))
@@ -99,13 +99,13 @@ bool svi_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool svi_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool svi_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
if (io.seek(0, SEEK_SET))
return false;
int track_count, head_count;
- image->get_actual_geometry(track_count, head_count);
+ image.get_actual_geometry(track_count, head_count);
// initial fm track
auto bitstream = generate_bitstream_from_track(0, 0, 4000, image);
@@ -139,7 +139,7 @@ bool svi_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return true;
}
-bool svi_format::supports_save() const
+bool svi_format::supports_save() const noexcept
{
return true;
}
diff --git a/src/lib/formats/svi_dsk.h b/src/lib/formats/svi_dsk.h
index f967391344c..1fd0c5daa0e 100644
--- a/src/lib/formats/svi_dsk.h
+++ b/src/lib/formats/svi_dsk.h
@@ -19,14 +19,14 @@ class svi_format : public floppy_image_format_t
public:
svi_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() 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;
- virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const override;
- virtual bool supports_save() 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 bool supports_save() const noexcept override;
};
extern const svi_format FLOPPY_SVI_FORMAT;
diff --git a/src/lib/formats/swd_dsk.cpp b/src/lib/formats/swd_dsk.cpp
index e08c3edbbae..ea578a7ed03 100644
--- a/src/lib/formats/swd_dsk.cpp
+++ b/src/lib/formats/swd_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:MetalliC
/*********************************************************************
- formats/swd_dsk.c
+ formats/swd_dsk.cpp
Swift Disc disk images
@@ -14,17 +14,17 @@ swd_format::swd_format() : wd177x_format(formats)
{
}
-const char *swd_format::name() const
+const char *swd_format::name() const noexcept
{
return "swd";
}
-const char *swd_format::description() const
+const char *swd_format::description() const noexcept
{
return "SWD floppy disk image";
}
-const char *swd_format::extensions() const
+const char *swd_format::extensions() const noexcept
{
return "swd";
}
diff --git a/src/lib/formats/swd_dsk.h b/src/lib/formats/swd_dsk.h
index f6e66d20cd2..2102fa7f234 100644
--- a/src/lib/formats/swd_dsk.h
+++ b/src/lib/formats/swd_dsk.h
@@ -18,9 +18,9 @@ class swd_format : public wd177x_format {
public:
swd_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/tandy2k_dsk.cpp b/src/lib/formats/tandy2k_dsk.cpp
index 42a21b06de2..5d11ddd95b7 100644
--- a/src/lib/formats/tandy2k_dsk.cpp
+++ b/src/lib/formats/tandy2k_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/tandy2k_dsk.c
+ formats/tandy2k_dsk.cpp
Tandy 2000 disk format
@@ -14,17 +14,17 @@ tandy2k_format::tandy2k_format() : upd765_format(formats)
{
}
-const char *tandy2k_format::name() const
+const char *tandy2k_format::name() const noexcept
{
return "tandy2k";
}
-const char *tandy2k_format::description() const
+const char *tandy2k_format::description() const noexcept
{
return "Tandy 2000 disk image";
}
-const char *tandy2k_format::extensions() const
+const char *tandy2k_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/tandy2k_dsk.h b/src/lib/formats/tandy2k_dsk.h
index b30bb29b8d0..92396a9c1fe 100644
--- a/src/lib/formats/tandy2k_dsk.h
+++ b/src/lib/formats/tandy2k_dsk.h
@@ -19,9 +19,9 @@ class tandy2k_format : public upd765_format
public:
tandy2k_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/td0_dsk.cpp b/src/lib/formats/td0_dsk.cpp
index 079a1768c25..a9ba54022a0 100644
--- a/src/lib/formats/td0_dsk.cpp
+++ b/src/lib/formats/td0_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Miodrag Milanovic
/*********************************************************************
- formats/td0_dsk.c
+ formats/td0_dsk.cpp
TD0 disk images
@@ -781,7 +781,7 @@ FLOPPY_DESTRUCT( td0_dsk_destruct )
/*********************************************************************
- formats/td0_dsk.h
+ formats/td0_dsk.cpp
Teledisk disk images
@@ -793,17 +793,17 @@ td0_format::td0_format()
{
}
-const char *td0_format::name() const
+const char *td0_format::name() const noexcept
{
return "td0";
}
-const char *td0_format::description() const
+const char *td0_format::description() const noexcept
{
return "Teledisk disk image";
}
-const char *td0_format::extensions() const
+const char *td0_format::extensions() const noexcept
{
return "td0";
}
@@ -821,7 +821,7 @@ int td0_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool td0_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool td0_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
int track_count = 0;
@@ -867,7 +867,7 @@ bool td0_format::load(util::random_read &io, uint32_t form_factor, const std::ve
if((imagebuf[offset + 2] & 0x7f) == 2) // ?
{
if(head_count == 2)
- image->set_variant(floppy_image::DSHD);
+ image.set_variant(floppy_image::DSHD);
else
return false; // single side hd?
break;
@@ -876,36 +876,36 @@ bool td0_format::load(util::random_read &io, uint32_t form_factor, const std::ve
[[fallthrough]];
case 1:
if(head_count == 2)
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
else
- image->set_variant(floppy_image::SSDD);
+ image.set_variant(floppy_image::SSDD);
break;
case 4:
if((imagebuf[offset + 2] & 0x7f) == 2) // ?
{
if(head_count == 2)
- image->set_variant(floppy_image::DSHD);
+ image.set_variant(floppy_image::DSHD);
else
return false; // single side 3.5?
break;
} else
- image->set_variant(floppy_image::SSDD);
+ image.set_variant(floppy_image::SSDD);
break; // FIXME: comment below says "no break" but this is a breal
/* no break */
case 3:
if(head_count == 2)
{
if(form_factor == floppy_image::FF_525)
- image->set_variant(floppy_image::DSQD);
+ image.set_variant(floppy_image::DSQD);
else
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
}
else
{
if(form_factor == floppy_image::FF_525)
- image->set_variant(floppy_image::SSQD);
+ image.set_variant(floppy_image::SSQD);
else
- image->set_variant(floppy_image::SSDD);
+ image.set_variant(floppy_image::SSDD);
}
break;
case 5:
@@ -1037,16 +1037,16 @@ bool td0_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
if((track_count > 50) && (form_factor == floppy_image::FF_525)) // ?
{
- if(image->get_variant() == floppy_image::DSDD)
- image->set_variant(floppy_image::DSQD);
- else if(image->get_variant() == floppy_image::SSDD)
- image->set_variant(floppy_image::SSQD);
+ if(image.get_variant() == floppy_image::DSDD)
+ image.set_variant(floppy_image::DSQD);
+ else if(image.get_variant() == floppy_image::SSDD)
+ image.set_variant(floppy_image::SSQD);
}
return true;
}
-bool td0_format::supports_save() const
+bool td0_format::supports_save() const noexcept
{
return false;
}
diff --git a/src/lib/formats/td0_dsk.h b/src/lib/formats/td0_dsk.h
index 76917596963..a6501054ff7 100644
--- a/src/lib/formats/td0_dsk.h
+++ b/src/lib/formats/td0_dsk.h
@@ -14,12 +14,12 @@ public:
td0_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 load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const 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;
+ 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;
diff --git a/src/lib/formats/thom_dsk.cpp b/src/lib/formats/thom_dsk.cpp
index 08d36895a6a..ad2e4495ca2 100644
--- a/src/lib/formats/thom_dsk.cpp
+++ b/src/lib/formats/thom_dsk.cpp
@@ -7,17 +7,17 @@ thomson_525_format::thomson_525_format() : wd177x_format(formats)
{
}
-const char *thomson_525_format::name() const
+const char *thomson_525_format::name() const noexcept
{
return "thomson_525";
}
-const char *thomson_525_format::description() const
+const char *thomson_525_format::description() const noexcept
{
return "Thomson 5.25 disk image";
}
-const char *thomson_525_format::extensions() const
+const char *thomson_525_format::extensions() const noexcept
{
return "fd";
}
@@ -55,17 +55,17 @@ thomson_35_format::thomson_35_format() : wd177x_format(formats)
{
}
-const char *thomson_35_format::name() const
+const char *thomson_35_format::name() const noexcept
{
return "thomson_35";
}
-const char *thomson_35_format::description() const
+const char *thomson_35_format::description() const noexcept
{
return "Thomson 3.5 disk image";
}
-const char *thomson_35_format::extensions() const
+const char *thomson_35_format::extensions() const noexcept
{
return "fd";
}
diff --git a/src/lib/formats/thom_dsk.h b/src/lib/formats/thom_dsk.h
index f466417974f..52927f15de8 100644
--- a/src/lib/formats/thom_dsk.h
+++ b/src/lib/formats/thom_dsk.h
@@ -12,9 +12,9 @@ class thomson_525_format : public wd177x_format
public:
thomson_525_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
@@ -25,9 +25,9 @@ class thomson_35_format : public wd177x_format
public:
thomson_35_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/ti99_dsk.cpp b/src/lib/formats/ti99_dsk.cpp
index 805c3b3da54..64b8d81aa67 100644
--- a/src/lib/formats/ti99_dsk.cpp
+++ b/src/lib/formats/ti99_dsk.cpp
@@ -81,7 +81,7 @@ int ti99_floppy_format::get_encoding(int cell_size)
/*
Load the image from disk and convert it into a sequence of flux levels.
*/
-bool ti99_floppy_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool ti99_floppy_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t file_size;
if (io.length(file_size))
@@ -101,7 +101,7 @@ bool ti99_floppy_format::load(util::random_read &io, uint32_t form_factor, const
// (the track count as defined by the file system)
determine_sizes(io, cell_size, sector_count, heads, log_track_count);
- image->get_maximal_geometry(track_count, head_count);
+ image.get_maximal_geometry(track_count, head_count);
drive_high_tpi = (track_count > 44);
// Depends on the image format (SDF or TDF)
@@ -215,7 +215,7 @@ bool ti99_floppy_format::load(util::random_read &io, uint32_t form_factor, const
/*
Save all tracks to the image file.
*/
-bool ti99_floppy_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool ti99_floppy_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
uint8_t sectordata[9216]; // max size (36*256)
@@ -224,7 +224,7 @@ bool ti99_floppy_format::save(util::random_read_write &io, const std::vector<uin
// Do we use double-stepping?
// If our image was loaded into a 80-track drive, we will always write 80 tracks.
int track_count, head_count;
- image->get_maximal_geometry(track_count, head_count);
+ image.get_maximal_geometry(track_count, head_count);
if (track_count > 80) track_count = 80;
else
@@ -329,7 +329,7 @@ enum
/*
Build a new track from sector contents.
*/
-void ti99_floppy_format::generate_fm_track_from_sectors(floppy_image *image, uint8_t *sectordata, int sector_count, int *sectornmb, int *secoffset, int track, int trackid, int head)
+void ti99_floppy_format::generate_fm_track_from_sectors(floppy_image &image, uint8_t *sectordata, int sector_count, int *sectornmb, int *secoffset, int track, int trackid, int head)
{
std::vector<uint32_t> buffer;
@@ -423,7 +423,7 @@ void ti99_floppy_format::generate_fm_track_from_sectors(floppy_image *image, uin
generate_track_from_levels(track, head, buffer, 0, image);
}
-void ti99_floppy_format::generate_mfm_track_from_sectors(floppy_image *image, uint8_t *sectordata, int sector_count, int *sectornmb, int *secoffset, int track, int trackid, int head)
+void ti99_floppy_format::generate_mfm_track_from_sectors(floppy_image &image, uint8_t *sectordata, int sector_count, int *sectornmb, int *secoffset, int track, int trackid, int head)
{
// MFM16: (80,50,22,50,4e,12)
// MFM18/36: (10,30,22,21,4e,12)
@@ -905,17 +905,17 @@ uint8_t ti99_floppy_format::get_data_from_encoding(uint16_t raw)
bad sector map, we just check whether there are 3 more sectors and ignore
them.
*/
-const char *ti99_sdf_format::name() const
+const char *ti99_sdf_format::name() const noexcept
{
return "ti99";
}
-const char *ti99_sdf_format::description() const
+const char *ti99_sdf_format::description() const noexcept
{
return "TI99 sector dump floppy disk image";
}
-const char *ti99_sdf_format::extensions() const
+const char *ti99_sdf_format::extensions() const noexcept
{
return "dsk";
}
@@ -1205,17 +1205,17 @@ const ti99_sdf_format FLOPPY_TI99_SDF_FORMAT;
(Head,Track): (0,0) (0,1) (0,2) ... (0,38) (0,39) (1,0) (1,1) ... (1,39)
*/
-const char *ti99_tdf_format::name() const
+const char *ti99_tdf_format::name() const noexcept
{
return "tdf";
}
-const char *ti99_tdf_format::description() const
+const char *ti99_tdf_format::description() const noexcept
{
return "TI99 track dump floppy disk image";
}
-const char *ti99_tdf_format::extensions() const
+const char *ti99_tdf_format::extensions() const noexcept
{
return "dsk,dtk";
}
diff --git a/src/lib/formats/ti99_dsk.h b/src/lib/formats/ti99_dsk.h
index 39a6a178247..3fbf9b6bb1e 100644
--- a/src/lib/formats/ti99_dsk.h
+++ b/src/lib/formats/ti99_dsk.h
@@ -2,7 +2,7 @@
// copyright-holders:Michael Zapf
/*********************************************************************
- formats/ti99_dsk.c
+ formats/ti99_dsk.h
TI99 and Geneve disk images
@@ -22,9 +22,9 @@
class ti99_floppy_format : public floppy_image_format_t
{
public:
- bool supports_save() const override { return true; }
- bool load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const override;
- bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const override;
+ bool supports_save() const noexcept override { return true; }
+ bool load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const override;
+ bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const override;
protected:
static uint8_t get_data_from_encoding(uint16_t raw);
@@ -39,8 +39,8 @@ protected:
static int get_encoding(int cell_size);
- static void generate_fm_track_from_sectors(floppy_image *image, uint8_t *sectordata, int sector_count, int *sector, int *secoffset, int track, int trackid, int head);
- static void generate_mfm_track_from_sectors(floppy_image *image, uint8_t *sectordata, int sector_count, int *sector, int *secoffset, int track, int trackid, int head);
+ static void generate_fm_track_from_sectors(floppy_image &image, uint8_t *sectordata, int sector_count, int *sector, int *secoffset, int track, int trackid, int head);
+ static void generate_mfm_track_from_sectors(floppy_image &image, uint8_t *sectordata, int sector_count, int *sector, int *secoffset, int track, int trackid, int head);
// Debugging
static void dumpbytes(const uint8_t* trackdata, int length);
@@ -54,9 +54,9 @@ class ti99_sdf_format : public ti99_floppy_format
{
public:
int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
- const char *name() const override;
- const char *description() const override;
- const char *extensions() const override;
+ const char *name() const noexcept override;
+ const char *description() const noexcept override;
+ const char *extensions() const noexcept override;
private:
void determine_sizes(util::random_read &io, int& cell_size, int& sector_count, int& heads, int& tracks) const override;
@@ -93,9 +93,9 @@ class ti99_tdf_format : public ti99_floppy_format
{
public:
int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
- const char *name() const override;
- const char *description() const override;
- const char *extensions() const override;
+ const char *name() const noexcept override;
+ const char *description() const noexcept override;
+ const char *extensions() const noexcept override;
private:
void determine_sizes(util::random_read &io, int& cell_size, int& sector_count, int& heads, int& tracks) const override;
diff --git a/src/lib/formats/tibdd001_dsk.cpp b/src/lib/formats/tibdd001_dsk.cpp
index 4ff0a80c11d..1404c4226e1 100644
--- a/src/lib/formats/tibdd001_dsk.cpp
+++ b/src/lib/formats/tibdd001_dsk.cpp
@@ -14,17 +14,17 @@ tib_dd_001_format::tib_dd_001_format() : upd765_format(formats)
{
}
-const char *tib_dd_001_format::name() const
+const char *tib_dd_001_format::name() const noexcept
{
return "tibdd001";
}
-const char *tib_dd_001_format::description() const
+const char *tib_dd_001_format::description() const noexcept
{
return "TIB Disc Drive DD-001 floppy disk image";
}
-const char *tib_dd_001_format::extensions() const
+const char *tib_dd_001_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/tibdd001_dsk.h b/src/lib/formats/tibdd001_dsk.h
index 2193d1569bc..2830837c80e 100644
--- a/src/lib/formats/tibdd001_dsk.h
+++ b/src/lib/formats/tibdd001_dsk.h
@@ -20,9 +20,9 @@ class tib_dd_001_format : public upd765_format
public:
tib_dd_001_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/tiki100_dsk.cpp b/src/lib/formats/tiki100_dsk.cpp
index 80ab008e2f1..fcc4644e4c0 100644
--- a/src/lib/formats/tiki100_dsk.cpp
+++ b/src/lib/formats/tiki100_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/tiki100_dsk.c
+ formats/tiki100_dsk.cpp
TIKI 100 disk image format
@@ -14,17 +14,17 @@ tiki100_format::tiki100_format() : wd177x_format(formats)
{
}
-const char *tiki100_format::name() const
+const char *tiki100_format::name() const noexcept
{
return "tiki100";
}
-const char *tiki100_format::description() const
+const char *tiki100_format::description() const noexcept
{
return "TIKI 100 disk image";
}
-const char *tiki100_format::extensions() const
+const char *tiki100_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/tiki100_dsk.h b/src/lib/formats/tiki100_dsk.h
index 4df89446bf1..d5a2a03255e 100644
--- a/src/lib/formats/tiki100_dsk.h
+++ b/src/lib/formats/tiki100_dsk.h
@@ -19,9 +19,9 @@ class tiki100_format : public wd177x_format
public:
tiki100_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/tim011_dsk.cpp b/src/lib/formats/tim011_dsk.cpp
index acf5ac17055..0afa2bb82d7 100644
--- a/src/lib/formats/tim011_dsk.cpp
+++ b/src/lib/formats/tim011_dsk.cpp
@@ -14,17 +14,17 @@ tim011_format::tim011_format() : upd765_format(formats)
{
}
-const char *tim011_format::name() const
+const char *tim011_format::name() const noexcept
{
return "tim011";
}
-const char *tim011_format::description() const
+const char *tim011_format::description() const noexcept
{
return "TIM 011 disk image";
}
-const char *tim011_format::extensions() const
+const char *tim011_format::extensions() const noexcept
{
return "img";
}
diff --git a/src/lib/formats/tim011_dsk.h b/src/lib/formats/tim011_dsk.h
index b15278baf9c..a33fca51049 100644
--- a/src/lib/formats/tim011_dsk.h
+++ b/src/lib/formats/tim011_dsk.h
@@ -19,9 +19,9 @@ class tim011_format : public upd765_format
public:
tim011_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/trd_dsk.cpp b/src/lib/formats/trd_dsk.cpp
index 2eb09aabf99..4ec6d4a962a 100644
--- a/src/lib/formats/trd_dsk.cpp
+++ b/src/lib/formats/trd_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Miodrag Milanovic
/*********************************************************************
- formats/trd_dsk.c
+ formats/trd_dsk.cpp
TRD disk images
@@ -17,17 +17,17 @@ trd_format::trd_format() : wd177x_format(formats)
{
}
-const char *trd_format::name() const
+const char *trd_format::name() const noexcept
{
return "trd";
}
-const char *trd_format::description() const
+const char *trd_format::description() const noexcept
{
return "TRD floppy disk image";
}
-const char *trd_format::extensions() const
+const char *trd_format::extensions() const noexcept
{
return "trd";
}
diff --git a/src/lib/formats/trd_dsk.h b/src/lib/formats/trd_dsk.h
index a6b37d460e4..70888b1e37a 100644
--- a/src/lib/formats/trd_dsk.h
+++ b/src/lib/formats/trd_dsk.h
@@ -18,9 +18,9 @@ class trd_format : public wd177x_format {
public:
trd_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/trs80_dsk.cpp b/src/lib/formats/trs80_dsk.cpp
index ac342fc4aeb..511d9fdfbf1 100644
--- a/src/lib/formats/trs80_dsk.cpp
+++ b/src/lib/formats/trs80_dsk.cpp
@@ -75,17 +75,17 @@ jv1_format::jv1_format() : wd177x_format(formats)
{
}
-const char *jv1_format::name() const
+const char *jv1_format::name() const noexcept
{
return "jv1";
}
-const char *jv1_format::description() const
+const char *jv1_format::description() const noexcept
{
return "TRS-80 JV1 disk image";
}
-const char *jv1_format::extensions() const
+const char *jv1_format::extensions() const noexcept
{
return "jv1,dsk";
}
@@ -122,17 +122,17 @@ jv3_format::jv3_format()
{
}
-const char *jv3_format::name() const
+const char *jv3_format::name() const noexcept
{
return "jv3";
}
-const char *jv3_format::description() const
+const char *jv3_format::description() const noexcept
{
return "TRS-80 JV3 disk image";
}
-const char *jv3_format::extensions() const
+const char *jv3_format::extensions() const noexcept
{
return "jv3,dsk";
}
@@ -229,12 +229,12 @@ int jv3_format::identify(util::random_read &io, uint32_t form_factor, const std:
return FIFID_STRUCT;
}
-bool jv3_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool jv3_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
// disk has already been validated in every way except if it exceeds drive tracks, we do that below
osd_printf_info("Disk detected as JV3\n");
int drive_tracks, drive_sides;
- image->get_maximal_geometry(drive_tracks, drive_sides);
+ image.get_maximal_geometry(drive_tracks, drive_sides);
uint64_t image_size;
if (io.length(image_size))
return false;
@@ -342,24 +342,24 @@ bool jv3_format::load(util::random_read &io, uint32_t form_factor, const std::ve
if (is_dd)
{
if (is_ds)
- image->set_variant(floppy_image::DSDD);
+ image.set_variant(floppy_image::DSDD);
else
- image->set_variant(floppy_image::SSDD);
+ image.set_variant(floppy_image::SSDD);
}
else
{
if (is_ds)
- image->set_variant(floppy_image::DSSD);
+ image.set_variant(floppy_image::DSSD);
else
- image->set_variant(floppy_image::SSSD);
+ image.set_variant(floppy_image::SSSD);
}
return true;
}
-bool jv3_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool jv3_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int track_count, head_count;
- image->get_actual_geometry(track_count, head_count);
+ image.get_actual_geometry(track_count, head_count);
if (track_count)
{
@@ -450,7 +450,7 @@ bool jv3_format::save(util::random_read_write &io, const std::vector<uint32_t> &
}
-bool jv3_format::supports_save() const
+bool jv3_format::supports_save() const noexcept
{
return true;
}
diff --git a/src/lib/formats/trs80_dsk.h b/src/lib/formats/trs80_dsk.h
index 7c28275d0a7..e13b12723af 100644
--- a/src/lib/formats/trs80_dsk.h
+++ b/src/lib/formats/trs80_dsk.h
@@ -19,9 +19,9 @@ class jv1_format : public wd177x_format
public:
jv1_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
protected:
virtual int get_track_dam_fm(const format &f, int head, int track) const override;
@@ -36,13 +36,13 @@ public:
jv3_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, floppy_image *image) 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 override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
- virtual bool supports_save() 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 jv1_format FLOPPY_JV1_FORMAT;
diff --git a/src/lib/formats/tvc_dsk.cpp b/src/lib/formats/tvc_dsk.cpp
index e5d0aff33fa..00a8abbc3c0 100644
--- a/src/lib/formats/tvc_dsk.cpp
+++ b/src/lib/formats/tvc_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/tvc_dsk.c
+ formats/tvc_dsk.cpp
tvc format
@@ -14,17 +14,17 @@ tvc_format::tvc_format() : wd177x_format(formats)
{
}
-const char *tvc_format::name() const
+const char *tvc_format::name() const noexcept
{
return "tvc";
}
-const char *tvc_format::description() const
+const char *tvc_format::description() const noexcept
{
return "Videoton TVC HBF disk image";
}
-const char *tvc_format::extensions() const
+const char *tvc_format::extensions() const noexcept
{
return "img,dsk";
}
diff --git a/src/lib/formats/tvc_dsk.h b/src/lib/formats/tvc_dsk.h
index c0be75034c7..35353f17d08 100644
--- a/src/lib/formats/tvc_dsk.h
+++ b/src/lib/formats/tvc_dsk.h
@@ -19,9 +19,9 @@ class tvc_format : public wd177x_format
public:
tvc_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/uniflex_dsk.cpp b/src/lib/formats/uniflex_dsk.cpp
index 59c243531dd..0143bf8cf0e 100644
--- a/src/lib/formats/uniflex_dsk.cpp
+++ b/src/lib/formats/uniflex_dsk.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:68bit
/*
- * uniflex_dsk.c - UniFLEX compatible disk images
+ * uniflex_dsk.cpp - UniFLEX compatible disk images
*
* The UniFLEX floppy disk format is distinctily different to the FLEX format,
* the sector size is 512 byte sectors versus 256 byte sectors and the format
@@ -20,17 +20,17 @@ uniflex_format::uniflex_format() : wd177x_format(formats)
{
}
-const char *uniflex_format::name() const
+const char *uniflex_format::name() const noexcept
{
return "uniflex";
}
-const char *uniflex_format::description() const
+const char *uniflex_format::description() const noexcept
{
return "UniFLEX compatible disk image";
}
-const char *uniflex_format::extensions() const
+const char *uniflex_format::extensions() const noexcept
{
return "dsk";
}
diff --git a/src/lib/formats/uniflex_dsk.h b/src/lib/formats/uniflex_dsk.h
index def6130d870..5eab46e690c 100644
--- a/src/lib/formats/uniflex_dsk.h
+++ b/src/lib/formats/uniflex_dsk.h
@@ -16,9 +16,9 @@ class uniflex_format : public wd177x_format
public:
uniflex_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
void build_sector_description(const format &f, uint8_t *sectdata, desc_s *sectors, int track, int head) const override;
diff --git a/src/lib/formats/upd765_dsk.cpp b/src/lib/formats/upd765_dsk.cpp
index e61cb5d3f8b..f3f08f37b4e 100644
--- a/src/lib/formats/upd765_dsk.cpp
+++ b/src/lib/formats/upd765_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/upd765_dsk.h
+ formats/upd765_dsk.cpp
helper for simple upd765-formatted disk images
@@ -184,7 +184,7 @@ floppy_image_format_t::desc_e* upd765_format::get_desc_mfm(const format &f, int
return desc;
}
-bool upd765_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool upd765_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
int type = find_size(io, form_factor, variants);
if(type == -1)
@@ -193,7 +193,7 @@ bool upd765_format::load(util::random_read &io, uint32_t form_factor, const std:
// format shouldn't exceed image geometry
const format &f = formats[type];
int img_tracks, img_heads;
- image->get_maximal_geometry(img_tracks, img_heads);
+ image.get_maximal_geometry(img_tracks, img_heads);
if (f.track_count > img_tracks || f.head_count > img_heads)
return false;
@@ -236,17 +236,17 @@ bool upd765_format::load(util::random_read &io, uint32_t form_factor, const std:
generate_track(desc, track, head, sectors, f.sector_count, total_size, image);
}
- image->set_form_variant(f.form_factor, f.variant);
+ image.set_form_variant(f.form_factor, f.variant);
return true;
}
-bool upd765_format::supports_save() const
+bool upd765_format::supports_save() const noexcept
{
return true;
}
-bool upd765_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool upd765_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
// Count the number of formats
int formats_count;
@@ -266,8 +266,8 @@ bool upd765_format::save(util::random_read_write &io, const std::vector<uint32_t
int cur_cell_size = 0;
candidates.clear();
for(int i=0; i != formats_count; i++) {
- if(image->get_form_factor() == floppy_image::FF_UNKNOWN ||
- image->get_form_factor() == formats[i].form_factor) {
+ if(image.get_form_factor() == floppy_image::FF_UNKNOWN ||
+ image.get_form_factor() == formats[i].form_factor) {
if(formats[i].cell_size == cur_cell_size)
candidates.push_back(i);
else if((!cur_cell_size || formats[i].cell_size < cur_cell_size) &&
@@ -304,7 +304,7 @@ bool upd765_format::save(util::random_read_write &io, const std::vector<uint32_t
// Otherwise, find the best
int tracks, heads;
- image->get_actual_geometry(tracks, heads);
+ image.get_actual_geometry(tracks, heads);
chosen_candidate = candidates[0];
for(unsigned int i=1; i != candidates.size(); i++) {
const format &cc = formats[chosen_candidate];
@@ -363,7 +363,7 @@ bool upd765_format::save(util::random_read_write &io, const std::vector<uint32_t
return true;
}
-void upd765_format::check_compatibility(floppy_image *image, std::vector<int> &candidates) const
+void upd765_format::check_compatibility(const floppy_image &image, std::vector<int> &candidates) const
{
// Extract the sectors
auto bitstream = generate_bitstream_from_track(0, 0, formats[candidates[0]].cell_size, image);
@@ -413,7 +413,7 @@ void upd765_format::check_compatibility(floppy_image *image, std::vector<int> &c
}
-void upd765_format::extract_sectors(floppy_image *image, const format &f, desc_s *sdesc, int track, int head) const
+void upd765_format::extract_sectors(const floppy_image &image, const format &f, desc_s *sdesc, int track, int head) const
{
// Extract the sectors
auto bitstream = generate_bitstream_from_track(track, head, f.cell_size, image);
diff --git a/src/lib/formats/upd765_dsk.h b/src/lib/formats/upd765_dsk.h
index 14c0aec5744..b2a1b3f8a0e 100644
--- a/src/lib/formats/upd765_dsk.h
+++ b/src/lib/formats/upd765_dsk.h
@@ -40,9 +40,9 @@ public:
upd765_format(const format *formats);
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, floppy_image *image) const override;
- virtual bool supports_save() 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 bool supports_save() const noexcept override;
protected:
floppy_image_format_t::desc_e* get_desc_fm(const format &f, int &current_size, int &end_gap_index) const;
@@ -50,8 +50,8 @@ protected:
int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const;
int compute_track_size(const format &f) const;
virtual void build_sector_description(const format &d, uint8_t *sectdata, desc_s *sectors, int track, int head) const;
- void check_compatibility(floppy_image *image, std::vector<int> &candidates) const;
- void extract_sectors(floppy_image *image, const format &f, desc_s *sdesc, int track, int head) const;
+ void check_compatibility(const floppy_image &image, std::vector<int> &candidates) const;
+ void extract_sectors(const floppy_image &image, const format &f, desc_s *sdesc, int track, int head) const;
private:
format const *const formats;
diff --git a/src/lib/formats/vdk_dsk.cpp b/src/lib/formats/vdk_dsk.cpp
index 92c5c4d3e91..e47d3502981 100644
--- a/src/lib/formats/vdk_dsk.cpp
+++ b/src/lib/formats/vdk_dsk.cpp
@@ -19,17 +19,17 @@ vdk_format::vdk_format()
{
}
-const char *vdk_format::name() const
+const char *vdk_format::name() const noexcept
{
return "vdk";
}
-const char *vdk_format::description() const
+const char *vdk_format::description() const noexcept
{
return "VDK disk image";
}
-const char *vdk_format::extensions() const
+const char *vdk_format::extensions() const noexcept
{
return "vdk";
}
@@ -46,7 +46,7 @@ int vdk_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
}
-bool vdk_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool vdk_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
size_t actual;
if (io.seek(0, SEEK_SET))
@@ -93,14 +93,14 @@ bool vdk_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-bool vdk_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool vdk_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
size_t actual;
if (io.seek(0, SEEK_SET))
return false;
int track_count, head_count;
- image->get_actual_geometry(track_count, head_count);
+ image.get_actual_geometry(track_count, head_count);
// write header
uint8_t header[12];
@@ -136,7 +136,7 @@ bool vdk_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return true;
}
-bool vdk_format::supports_save() const
+bool vdk_format::supports_save() const noexcept
{
return true;
}
diff --git a/src/lib/formats/vdk_dsk.h b/src/lib/formats/vdk_dsk.h
index 3b9b0ac585c..58ec21f0531 100644
--- a/src/lib/formats/vdk_dsk.h
+++ b/src/lib/formats/vdk_dsk.h
@@ -21,14 +21,14 @@ class vdk_format : public floppy_image_format_t
public:
vdk_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() 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;
- virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const override;
- virtual bool supports_save() 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 bool supports_save() const noexcept override;
private:
static const int SECTOR_SIZE = 256;
diff --git a/src/lib/formats/vector06_dsk.cpp b/src/lib/formats/vector06_dsk.cpp
index 3396553c477..67cd5c4c425 100644
--- a/src/lib/formats/vector06_dsk.cpp
+++ b/src/lib/formats/vector06_dsk.cpp
@@ -17,17 +17,17 @@ vector06_format::vector06_format() : wd177x_format(formats)
{
}
-const char *vector06_format::name() const
+const char *vector06_format::name() const noexcept
{
return "vector06";
}
-const char *vector06_format::description() const
+const char *vector06_format::description() const noexcept
{
return "Vector 06 disk image";
}
-const char *vector06_format::extensions() const
+const char *vector06_format::extensions() const noexcept
{
return "fdd";
}
diff --git a/src/lib/formats/vector06_dsk.h b/src/lib/formats/vector06_dsk.h
index dcd449406aa..9e134b558ec 100644
--- a/src/lib/formats/vector06_dsk.h
+++ b/src/lib/formats/vector06_dsk.h
@@ -19,9 +19,9 @@ class vector06_format : public wd177x_format
public:
vector06_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/lib/formats/vgi_dsk.cpp b/src/lib/formats/vgi_dsk.cpp
index d367480eb18..603de9aaa58 100644
--- a/src/lib/formats/vgi_dsk.cpp
+++ b/src/lib/formats/vgi_dsk.cpp
@@ -60,7 +60,7 @@ int micropolis_vgi_format::identify(util::random_read &io, uint32_t form_factor,
return FIFID_SIZE;
}
-bool micropolis_vgi_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool micropolis_vgi_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t file_size;
if (io.length(file_size))
@@ -68,7 +68,7 @@ bool micropolis_vgi_format::load(util::random_read &io, uint32_t form_factor, co
const format fmt = find_format(file_size);
if (!fmt.head_count)
return false;
- image->set_variant(fmt.variant);
+ image.set_variant(fmt.variant);
std::vector<uint32_t> buf;
uint8_t sector_bytes[275];
@@ -92,16 +92,16 @@ bool micropolis_vgi_format::load(util::random_read &io, uint32_t form_factor, co
return true;
}
-bool micropolis_vgi_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool micropolis_vgi_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
- uint32_t variant = image->get_variant();
+ uint32_t variant = image.get_variant();
format fmt = {};
for (int i = 0; formats[i].head_count; i++)
if (variant == formats[i].variant)
fmt = formats[i];
if (!fmt.head_count) {
int heads, tracks;
- image->get_actual_geometry(tracks, heads);
+ image.get_actual_geometry(tracks, heads);
if (heads == 0 && tracks == 0)
return false; // Brand-new image; we don't know the size yet
for (int i = 0; formats[i].head_count; i++)
diff --git a/src/lib/formats/vgi_dsk.h b/src/lib/formats/vgi_dsk.h
index 876481f10f0..fabdc10ec1c 100644
--- a/src/lib/formats/vgi_dsk.h
+++ b/src/lib/formats/vgi_dsk.h
@@ -20,13 +20,13 @@ public:
micropolis_vgi_format();
int identify(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
- bool load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const override;
- bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const override;
+ bool load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const override;
+ bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const override;
- const char *name() const override { return "vgi"; }
- const char *description() const override { return "Micropolis VGI disk image"; }
- const char *extensions() const override { return "vgi"; }
- bool supports_save() const override { return true; }
+ const char *name() const noexcept override { return "vgi"; }
+ const char *description() const noexcept override { return "Micropolis VGI disk image"; }
+ const char *extensions() const noexcept override { return "vgi"; }
+ bool supports_save() const noexcept override { return true; }
};
extern const micropolis_vgi_format FLOPPY_VGI_FORMAT;
diff --git a/src/lib/formats/victor9k_dsk.cpp b/src/lib/formats/victor9k_dsk.cpp
index eb2a0135d20..a0fdaedab5a 100644
--- a/src/lib/formats/victor9k_dsk.cpp
+++ b/src/lib/formats/victor9k_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/victor9k_dsk.c
+ formats/victor9k_dsk.cpp
Victor 9000 sector disk image format
@@ -118,17 +118,17 @@ victor9k_format::victor9k_format()
{
}
-const char *victor9k_format::name() const
+const char *victor9k_format::name() const noexcept
{
return "victor9k";
}
-const char *victor9k_format::description() const
+const char *victor9k_format::description() const noexcept
{
return "Victor 9000 disk image";
}
-const char *victor9k_format::extensions() const
+const char *victor9k_format::extensions() const noexcept
{
return "img";
}
@@ -153,11 +153,11 @@ int victor9k_format::find_size(util::random_read &io, uint32_t form_factor)
return find_size(io);
}
-int victor9k_format::identify(floppy_image *image)
+int victor9k_format::identify(const floppy_image &image)
{
for(int i=0; formats[i].form_factor; i++) {
const format &f = formats[i];
- if(f.variant == image->get_variant())
+ if(f.variant == image.get_variant())
return i;
}
@@ -175,7 +175,7 @@ int victor9k_format::identify(util::random_read &io, uint32_t form_factor, const
return 0;
}
-void victor9k_format::log_boot_sector(uint8_t *data)
+void victor9k_format::log_boot_sector(const uint8_t *data)
{
// System disc ID
osd_printf_verbose("System disc: %s\n", ((data[0] == 0xff) && (data[1] == 0x00)) ? "yes" : "no");
@@ -288,7 +288,7 @@ void victor9k_format::build_sector_description(const format &f, uint8_t *sectdat
}
}
-bool victor9k_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool victor9k_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
int const type = find_size(io, form_factor);
if(type == -1)
@@ -346,7 +346,7 @@ bool victor9k_format::load(util::random_read &io, uint32_t form_factor, const st
}
}
- image->set_variant(f.variant);
+ image.set_variant(f.variant);
return true;
}
@@ -445,7 +445,7 @@ const int victor9k_format::rpm[9] =
252, 267, 283, 300, 321, 342, 368, 401, 417
};
-bool victor9k_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool victor9k_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int type = victor9k_format::identify(image);
uint64_t size;
@@ -479,7 +479,7 @@ bool victor9k_format::save(util::random_read_write &io, const std::vector<uint32
return true;
}
-void victor9k_format::extract_sectors(floppy_image *image, const format &f, desc_s *sdesc, int track, int head, int sector_count)
+void victor9k_format::extract_sectors(const floppy_image &image, const format &f, desc_s *sdesc, int track, int head, int sector_count)
{
// Extract the sectors
diff --git a/src/lib/formats/victor9k_dsk.h b/src/lib/formats/victor9k_dsk.h
index c7e299d7653..192175a0e47 100644
--- a/src/lib/formats/victor9k_dsk.h
+++ b/src/lib/formats/victor9k_dsk.h
@@ -30,14 +30,14 @@ public:
victor9k_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() 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;
- virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const override;
- virtual bool supports_save() const override { return true; }
+ 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 bool supports_save() const noexcept override { return true; }
static int get_rpm(int head, int track);
@@ -51,13 +51,13 @@ protected:
static int find_size(util::random_read &io);
static int find_size(util::random_read &io, uint32_t form_factor);
- static int identify(floppy_image *image);
- static void log_boot_sector(uint8_t *data);
+ static int identify(const floppy_image &image);
+ static void log_boot_sector(const uint8_t *data);
static floppy_image_format_t::desc_e* get_sector_desc(const format &f, int &current_size, int sector_count);
static void build_sector_description(const format &f, uint8_t *sectdata, uint32_t sect_offs, desc_s *sectors, int sector_count);
static int get_image_offset(const format &f, int head, int track);
static int compute_track_size(const format &f, int head, int track);
- static void extract_sectors(floppy_image *image, const format &f, desc_s *sdesc, int track, int head, int sector_count);
+ static void extract_sectors(const floppy_image &image, const format &f, desc_s *sdesc, int track, int head, int sector_count);
};
extern const victor9k_format FLOPPY_VICTOR_9000_FORMAT;
diff --git a/src/lib/formats/vt_dsk.cpp b/src/lib/formats/vt_dsk.cpp
index 92f652ba98d..202ec784187 100644
--- a/src/lib/formats/vt_dsk.cpp
+++ b/src/lib/formats/vt_dsk.cpp
@@ -35,7 +35,7 @@ void vtech_common_format::wbyte(std::vector<uint32_t> &buffer, uint32_t &pos, ui
wbit(buffer, pos, (byte >> i) & 1);
}
-void vtech_common_format::image_to_flux(const std::vector<uint8_t> &bdata, floppy_image *image)
+void vtech_common_format::image_to_flux(const std::vector<uint8_t> &bdata, floppy_image &image)
{
static const uint8_t sector_map[16] = {
0x0, 0xb, 0x6, 0x1, 0xc, 0x7, 0x2, 0xd, 0x8, 0x3, 0xe, 0x9, 0x4, 0xf, 0xa, 0x5
@@ -43,9 +43,9 @@ void vtech_common_format::image_to_flux(const std::vector<uint8_t> &bdata, flopp
for(int track = 0; track != 40; track ++) {
uint32_t pos = 0;
- std::vector<uint32_t> &buffer = image->get_buffer(track, 0);
+ std::vector<uint32_t> &buffer = image.get_buffer(track, 0);
buffer.clear();
- image->set_write_splice_position(track, 0, 0);
+ image.set_write_splice_position(track, 0, 0);
// One window of pad at the start to avoid problems with the write splice
wbit(buffer, pos, 0);
@@ -82,12 +82,12 @@ void vtech_common_format::image_to_flux(const std::vector<uint8_t> &bdata, flopp
}
}
-std::vector<uint8_t> vtech_common_format::flux_to_image(floppy_image *image)
+std::vector<uint8_t> vtech_common_format::flux_to_image(const floppy_image &image)
{
std::vector<uint8_t> bdata(16*256*40, 0);
for(int track = 0; track != 40; track++) {
- auto buffer = image->get_buffer(track, 0);
+ const auto &buffer = image.get_buffer(track, 0);
int sz = buffer.size();
if(sz < 128)
continue;
@@ -192,32 +192,32 @@ std::vector<uint8_t> vtech_common_format::flux_to_image(floppy_image *image)
}
-const char *vtech_bin_format::name() const
+const char *vtech_bin_format::name() const noexcept
{
return "vtech_bin";
}
-const char *vtech_bin_format::description() const
+const char *vtech_bin_format::description() const noexcept
{
return "VTech sector disk image";
}
-const char *vtech_bin_format::extensions() const
+const char *vtech_bin_format::extensions() const noexcept
{
return "bin";
}
-const char *vtech_dsk_format::name() const
+const char *vtech_dsk_format::name() const noexcept
{
return "vtech_dsk";
}
-const char *vtech_dsk_format::description() const
+const char *vtech_dsk_format::description() const noexcept
{
return "VTech dsk image";
}
-const char *vtech_dsk_format::extensions() const
+const char *vtech_dsk_format::extensions() const noexcept
{
return "dsk";
}
@@ -261,7 +261,7 @@ int vtech_dsk_format::identify(util::random_read &io, uint32_t form_factor, cons
return count_sh >= 30*16 && count_sd >= 30*16 ? FIFID_STRUCT : 0;
}
-bool vtech_bin_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool vtech_bin_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t size;
if(io.length(size) || (size != 40*16*256))
@@ -272,11 +272,11 @@ bool vtech_bin_format::load(util::random_read &io, uint32_t form_factor, const s
io.read_at(0, bdata.data(), size, actual);
image_to_flux(bdata, image);
- image->set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
+ image.set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
return true;
}
-bool vtech_dsk_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool vtech_dsk_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
uint64_t size;
if(io.length(size))
@@ -342,14 +342,14 @@ bool vtech_dsk_format::load(util::random_read &io, uint32_t form_factor, const s
}
image_to_flux(bdatax, image);
- image->set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
+ image.set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
return true;
}
-bool vtech_bin_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool vtech_bin_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int tracks, heads;
- image->get_maximal_geometry(tracks, heads);
+ image.get_maximal_geometry(tracks, heads);
if(tracks < 40)
return false;
@@ -359,10 +359,10 @@ bool vtech_bin_format::save(util::random_read_write &io, const std::vector<uint3
return true;
}
-bool vtech_dsk_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool vtech_dsk_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
int tracks, heads;
- image->get_maximal_geometry(tracks, heads);
+ image.get_maximal_geometry(tracks, heads);
if(tracks < 40)
return false;
diff --git a/src/lib/formats/vt_dsk.h b/src/lib/formats/vt_dsk.h
index 5711ae07cdb..db2687d4108 100644
--- a/src/lib/formats/vt_dsk.h
+++ b/src/lib/formats/vt_dsk.h
@@ -16,11 +16,11 @@
class vtech_common_format : public floppy_image_format_t {
public:
- virtual bool supports_save() const override { return true; }
+ virtual bool supports_save() const noexcept override { return true; }
protected:
- static void image_to_flux(const std::vector<uint8_t> &bdata, floppy_image *image);
- static std::vector<uint8_t> flux_to_image(floppy_image *image);
+ static void image_to_flux(const std::vector<uint8_t> &bdata, floppy_image &image);
+ static std::vector<uint8_t> flux_to_image(const floppy_image &image);
static void wbit(std::vector<uint32_t> &buffer, uint32_t &pos, bool bit);
static void wbyte(std::vector<uint32_t> &buffer, uint32_t &pos, uint8_t byte);
@@ -30,26 +30,26 @@ class vtech_bin_format : public vtech_common_format {
public:
vtech_bin_format() = default;
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() 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;
- virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) 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;
};
class vtech_dsk_format : public vtech_common_format {
public:
vtech_dsk_format() = default;
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() 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;
- virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) 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;
};
extern const vtech_bin_format FLOPPY_VTECH_BIN_FORMAT;
diff --git a/src/lib/formats/wd177x_dsk.cpp b/src/lib/formats/wd177x_dsk.cpp
index d48db91f4d4..c3bba8f7724 100644
--- a/src/lib/formats/wd177x_dsk.cpp
+++ b/src/lib/formats/wd177x_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert, 68bit
/*********************************************************************
- formats/wd177x_dsk.h
+ formats/wd177x_dsk.cpp
helper for simple wd177x-formatted disk images
@@ -208,7 +208,7 @@ floppy_image_format_t::desc_e* wd177x_format::get_desc_mfm(const format &f, int
return desc;
}
-bool wd177x_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool wd177x_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image &image) const
{
int const type = find_size(io, form_factor, variants);
if(type == -1)
@@ -216,7 +216,7 @@ bool wd177x_format::load(util::random_read &io, uint32_t form_factor, const std:
const format &f = formats[type];
int max_tracks, max_heads;
- image->get_maximal_geometry(max_tracks, max_heads);
+ image.get_maximal_geometry(max_tracks, max_heads);
if(f.track_count > max_tracks) {
osd_printf_error("wd177x_format: Number of tracks in image file too high for floppy drive (%d > %d)\n", f.track_count, max_tracks);
@@ -267,17 +267,17 @@ bool wd177x_format::load(util::random_read &io, uint32_t form_factor, const std:
generate_track(desc, track, head, sectors, tf.sector_count, total_size, image);
}
- image->set_form_variant(f.form_factor, f.variant);
+ image.set_form_variant(f.form_factor, f.variant);
return true;
}
-bool wd177x_format::supports_save() const
+bool wd177x_format::supports_save() const noexcept
{
return true;
}
-bool wd177x_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const
+bool wd177x_format::save(util::random_read_write &io, const std::vector<uint32_t> &variants, const floppy_image &image) const
{
// Count the number of formats
int formats_count;
@@ -297,8 +297,8 @@ bool wd177x_format::save(util::random_read_write &io, const std::vector<uint32_t
int cur_cell_size = 0;
candidates.clear();
for(int i=0; i < formats_count; i++) {
- if(image->get_form_factor() == floppy_image::FF_UNKNOWN ||
- image->get_form_factor() == formats[i].form_factor) {
+ if(image.get_form_factor() == floppy_image::FF_UNKNOWN ||
+ image.get_form_factor() == formats[i].form_factor) {
if(formats[i].cell_size == cur_cell_size)
candidates.push_back(i);
else if((!cur_cell_size || formats[i].cell_size < cur_cell_size) &&
@@ -335,7 +335,7 @@ bool wd177x_format::save(util::random_read_write &io, const std::vector<uint32_t
// Otherwise, find the best
int tracks, heads;
- image->get_actual_geometry(tracks, heads);
+ image.get_actual_geometry(tracks, heads);
chosen_candidate = candidates[0];
for(unsigned int i=1; i < candidates.size(); i++) {
const format &cc = formats[chosen_candidate];
@@ -435,7 +435,7 @@ int wd177x_format::get_track_dam_mfm(const format &f, int head, int track) const
return MFM_DAM;
}
-void wd177x_format::check_compatibility(floppy_image *image, std::vector<int> &candidates) const
+void wd177x_format::check_compatibility(const floppy_image &image, std::vector<int> &candidates) const
{
// Check compatibility with every candidate, copy in-place
int *ok_cands = &candidates[0];
@@ -443,7 +443,7 @@ void wd177x_format::check_compatibility(floppy_image *image, std::vector<int> &c
const format &f = formats[candidates[i]];
int max_tracks, max_heads;
- image->get_maximal_geometry(max_tracks, max_heads);
+ image.get_maximal_geometry(max_tracks, max_heads);
// Fail if floppy drive can't handle track or head count
if(f.track_count > max_tracks || f.head_count > max_heads) {
@@ -504,7 +504,7 @@ void wd177x_format::check_compatibility(floppy_image *image, std::vector<int> &c
}
// A track specific format is to be supplied.
-void wd177x_format::extract_sectors(floppy_image *image, const format &f, desc_s *sdesc, int track, int head)
+void wd177x_format::extract_sectors(const floppy_image &image, const format &f, desc_s *sdesc, int track, int head)
{
// Extract the sectors
auto bitstream = generate_bitstream_from_track(track, head, f.cell_size, image);
diff --git a/src/lib/formats/wd177x_dsk.h b/src/lib/formats/wd177x_dsk.h
index ea6f6972b6f..7a4dc84921f 100644
--- a/src/lib/formats/wd177x_dsk.h
+++ b/src/lib/formats/wd177x_dsk.h
@@ -39,9 +39,9 @@ public:
wd177x_format(const format *formats);
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, floppy_image *image) const override;
- virtual bool supports_save() 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 bool supports_save() const noexcept override;
protected:
enum { FM_DAM = 0xf56f, FM_DDAM = 0xf56a, MFM_DAM = 0xfb, MFM_DDAM = 0xf8 };
@@ -58,8 +58,8 @@ protected:
static int compute_track_size(const format &f);
virtual void build_sector_description(const format &d, uint8_t *sectdata, desc_s *sectors, int track, int head) const;
- virtual void check_compatibility(floppy_image *image, std::vector<int> &candidates) const;
- static void extract_sectors(floppy_image *image, const format &f, desc_s *sdesc, int track, int head);
+ virtual void check_compatibility(const floppy_image &image, std::vector<int> &candidates) const;
+ static void extract_sectors(const floppy_image &image, const format &f, desc_s *sdesc, int track, int head);
};
#endif // MAME_FORMATS_WD177X_DSK_H
diff --git a/src/lib/formats/xdf_dsk.cpp b/src/lib/formats/xdf_dsk.cpp
index c6b131eb890..cea4c7e4e72 100644
--- a/src/lib/formats/xdf_dsk.cpp
+++ b/src/lib/formats/xdf_dsk.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/*********************************************************************
- formats/xdf_dsk.c
+ formats/xdf_dsk.cpp
x68k bare-bones formats
@@ -14,17 +14,17 @@ xdf_format::xdf_format() : upd765_format(formats)
{
}
-const char *xdf_format::name() const
+const char *xdf_format::name() const noexcept
{
return "xdf";
}
-const char *xdf_format::description() const
+const char *xdf_format::description() const noexcept
{
return "XDF disk image";
}
-const char *xdf_format::extensions() const
+const char *xdf_format::extensions() const noexcept
{
return "xdf,hdm,2hd";
}
diff --git a/src/lib/formats/xdf_dsk.h b/src/lib/formats/xdf_dsk.h
index c371a342f48..5f56a0fd0e3 100644
--- a/src/lib/formats/xdf_dsk.h
+++ b/src/lib/formats/xdf_dsk.h
@@ -19,9 +19,9 @@ class xdf_format : public upd765_format
public:
xdf_format();
- virtual const char *name() const override;
- virtual const char *description() const override;
- virtual const char *extensions() const override;
+ virtual const char *name() const noexcept override;
+ virtual const char *description() const noexcept override;
+ virtual const char *extensions() const noexcept override;
private:
static const format formats[];
diff --git a/src/tools/floptool.cpp b/src/tools/floptool.cpp
index 146de2d22b7..ba573e0a0cd 100644
--- a/src/tools/floptool.cpp
+++ b/src/tools/floptool.cpp
@@ -214,14 +214,14 @@ static int flopconvert(int argc, char *argv[])
return 1;
}
- if(ih.floppy_load(source_format)) {
+ if(ih.floppy_load(*source_format)) {
fprintf(stderr, "Error: Loading as format '%s' failed\n", source_format->m_format->name());
return 1;
}
ih.set_on_disk_path(argv[5]);
- if(ih.floppy_save(dest_format)) {
+ if(ih.floppy_save(*dest_format)) {
fprintf(stderr, "Error: Saving as format '%s' failed\n", dest_format->m_format->name());
return 1;
}
@@ -291,8 +291,8 @@ static int flopcreate(int argc, char *argv[])
image_handler ih;
ih.set_on_disk_path(argv[4]);
- ih.floppy_create(create_fs, meta);
- return ih.floppy_save(dest_format);
+ ih.floppy_create(*create_fs, meta);
+ return ih.floppy_save(*dest_format);
}
static void dir_scan(fs::filesystem_t *fs, u32 depth, const std::vector<std::string> &path, std::vector<std::vector<std::string>> &entries, const std::unordered_map<fs::meta_name, size_t> &nmap, size_t nc, const std::vector<fs::meta_description> &dmetad, const std::vector<fs::meta_description> &fmetad)
@@ -420,12 +420,12 @@ static int flopdir(int argc, char *argv[])
return 1;
}
- if(ih.floppy_load(source_format)) {
+ if(ih.floppy_load(*source_format)) {
fprintf(stderr, "Error: Loading as format '%s' failed\n", source_format->m_format->name());
return 1;
}
- if(ih.floppy_mount_fs(fs)) {
+ if(ih.floppy_mount_fs(*fs)) {
fprintf(stderr, "Error: Parsing as filesystem '%s' failed\n", fs->m_manager->name());
return 1;
}
@@ -455,7 +455,7 @@ static int hddir(int argc, char *argv[])
return 1;
}
- if(ih.hd_mount_fs(fs)) {
+ if(ih.hd_mount_fs(*fs)) {
fprintf(stderr, "Error: Parsing as filesystem '%s' failed\n", fs->m_manager->name());
return 1;
}
@@ -515,12 +515,12 @@ static int flopread(int argc, char *argv[])
return 1;
}
- if(ih.floppy_load(source_format)) {
+ if(ih.floppy_load(*source_format)) {
fprintf(stderr, "Error: Loading as format '%s' failed\n", source_format->m_format->name());
return 1;
}
- if(ih.floppy_mount_fs(fs)) {
+ if(ih.floppy_mount_fs(*fs)) {
fprintf(stderr, "Error: Parsing as filesystem '%s' failed\n", fs->m_manager->name());
return 1;
}
@@ -550,7 +550,7 @@ static int hdread(int argc, char *argv[])
return 1;
}
- if(ih.hd_mount_fs(fs)) {
+ if(ih.hd_mount_fs(*fs)) {
fprintf(stderr, "Error: Parsing as filesystem '%s' failed\n", fs->m_manager->name());
return 1;
}
@@ -630,12 +630,12 @@ static int flopwrite(int argc, char *argv[])
return 1;
}
- if(ih.floppy_load(source_format)) {
+ if(ih.floppy_load(*source_format)) {
fprintf(stderr, "Error: Loading as format '%s' failed\n", source_format->m_format->name());
return 1;
}
- if(ih.floppy_mount_fs(fs)) {
+ if(ih.floppy_mount_fs(*fs)) {
fprintf(stderr, "Error: Parsing as filesystem '%s' failed\n", fs->m_manager->name());
return 1;
}
@@ -645,7 +645,7 @@ static int flopwrite(int argc, char *argv[])
return err;
ih.fs_to_floppy();
- if(ih.floppy_save(source_format))
+ if(ih.floppy_save(*source_format))
return 1;
return 0;
@@ -674,7 +674,7 @@ static int hdwrite(int argc, char *argv[])
return 1;
}
- if(ih.hd_mount_fs(fs)) {
+ if(ih.hd_mount_fs(*fs)) {
fprintf(stderr, "Error: Parsing as filesystem '%s' failed\n", fs->m_manager->name());
return 1;
}
diff --git a/src/tools/image_handler.cpp b/src/tools/image_handler.cpp
index 14a20818a38..60ab72e61f8 100644
--- a/src/tools/image_handler.cpp
+++ b/src/tools/image_handler.cpp
@@ -247,7 +247,7 @@ std::vector<std::pair<u8, const floppy_format_info *>> image_handler::identify(c
return res;
}
-bool image_handler::floppy_load(const floppy_format_info *format)
+bool image_handler::floppy_load(const floppy_format_info &format)
{
std::vector<uint32_t> variants;
FILE *f = fopen(m_on_disk_path.c_str(), "rb");
@@ -259,10 +259,10 @@ bool image_handler::floppy_load(const floppy_format_info *format)
auto io = util::stdio_read(f, 0xff);
- return !format->m_format->load(*io, floppy_image::FF_UNKNOWN, variants, &m_floppy_image);
+ return !format.m_format->load(*io, floppy_image::FF_UNKNOWN, variants, m_floppy_image);
}
-bool image_handler::floppy_save(const floppy_format_info *format)
+bool image_handler::floppy_save(const floppy_format_info &format) const
{
std::vector<uint32_t> variants;
FILE *f = fopen(m_on_disk_path.c_str(), "wb");
@@ -274,35 +274,35 @@ bool image_handler::floppy_save(const floppy_format_info *format)
auto io = util::stdio_read_write(f, 0xff);
- return !format->m_format->save(*io, variants, &m_floppy_image);
+ return !format.m_format->save(*io, variants, m_floppy_image);
}
-void image_handler::floppy_create(const floppy_create_info *format, fs::meta_data meta)
+void image_handler::floppy_create(const floppy_create_info &format, fs::meta_data meta)
{
- if(format->m_type) {
+ if(format.m_type) {
std::vector<uint32_t> variants;
- std::vector<u8> img(format->m_image_size);
+ std::vector<u8> img(format.m_image_size);
fs::fsblk_vec_t blockdev(img);
- auto fs = format->m_manager->mount(blockdev);
+ auto fs = format.m_manager->mount(blockdev);
fs->format(meta);
auto io = util::ram_read(img.data(), img.size(), 0xff);
- format->m_type->load(*io, floppy_image::FF_UNKNOWN, variants, &m_floppy_image);
+ format.m_type->load(*io, floppy_image::FF_UNKNOWN, variants, m_floppy_image);
} else {
- fs::unformatted_image::format(format->m_key, &m_floppy_image);
+ fs::unformatted_image::format(format.m_key, &m_floppy_image);
}
}
-bool image_handler::floppy_mount_fs(const filesystem_format *format)
+bool image_handler::floppy_mount_fs(const filesystem_format &format)
{
m_floppy_fs_converter = nullptr;
- for(const auto &ci : format->m_floppy_create) {
+ for(const auto &ci : format.m_floppy_create) {
if(ci->m_type != m_floppy_fs_converter) {
std::vector<uint32_t> variants;
m_floppy_fs_converter = ci->m_type;
m_sector_image.clear();
util::random_read_write_fill_wrapper<util::vector_read_write_adapter<u8>, 0xff> io(m_sector_image);
- m_floppy_fs_converter->save(io, variants, &m_floppy_image);
+ m_floppy_fs_converter->save(io, variants, m_floppy_image);
}
if(ci->m_image_size == m_sector_image.size())
@@ -314,18 +314,18 @@ bool image_handler::floppy_mount_fs(const filesystem_format *format)
success:
m_fsblk.reset(new fs::fsblk_vec_t(m_sector_image));
- m_fsm = format->m_manager;
+ m_fsm = format.m_manager;
m_fs = m_fsm->mount(*m_fsblk);
return false;
}
-bool image_handler::hd_mount_fs(const filesystem_format *format)
+bool image_handler::hd_mount_fs(const filesystem_format &format)
{
// Should use the chd mechanisms, one thing at a time...
m_sector_image = fload(m_on_disk_path);
m_fsblk.reset(new fs::fsblk_vec_t(m_sector_image));
- m_fsm = format->m_manager;
+ m_fsm = format.m_manager;
m_fs = m_fsm->mount(*m_fsblk);
return false;
}
@@ -334,7 +334,7 @@ void image_handler::fs_to_floppy()
{
std::vector<uint32_t> variants;
auto io = util::ram_read(m_sector_image.data(), m_sector_image.size(), 0xff);
- m_floppy_fs_converter->load(*io, floppy_image::FF_UNKNOWN, variants, &m_floppy_image);
+ m_floppy_fs_converter->load(*io, floppy_image::FF_UNKNOWN, variants, m_floppy_image);
}
std::vector<std::string> image_handler::path_split(std::string path) const
diff --git a/src/tools/image_handler.h b/src/tools/image_handler.h
index 70a29d42b8a..3577f60dbf8 100644
--- a/src/tools/image_handler.h
+++ b/src/tools/image_handler.h
@@ -84,12 +84,12 @@ public:
std::vector<std::pair<u8, const floppy_format_info *>> identify(const formats_table &formats);
- bool floppy_load(const floppy_format_info *format);
- bool floppy_save(const floppy_format_info *format);
+ bool floppy_load(const floppy_format_info &format);
+ bool floppy_save(const floppy_format_info &format) const;
- void floppy_create(const floppy_create_info *format, fs::meta_data meta);
- bool floppy_mount_fs(const filesystem_format *format);
- bool hd_mount_fs(const filesystem_format *format);
+ void floppy_create(const floppy_create_info &format, fs::meta_data meta);
+ bool floppy_mount_fs(const filesystem_format &format);
+ bool hd_mount_fs(const filesystem_format &format);
void fs_to_floppy();
std::pair<const fs::manager_t *, fs::filesystem_t *> get_fs() const { return std::make_pair(m_fsm, m_fs.get()); }