From 07b3bdd04f9aeb9d1e56b6d03ef998d383153fc6 Mon Sep 17 00:00:00 2001 From: AJR Date: Sun, 8 Oct 2023 09:00:33 -0400 Subject: Floppy format API refinements - Add noexcept to format information overrides and several simple floppy_image accessors. - Be more const-correct and use references instead of raw pointers wherever applicable. In particular, floppy_image_device::load and floppy_image_device::save now take a reference to floppy_image rather than a pointer, const-qualified in the latter case. --- src/devices/imagedev/floppy.cpp | 6 +- src/lib/formats/2d_dsk.cpp | 6 +- src/lib/formats/2d_dsk.h | 6 +- src/lib/formats/a5105_dsk.cpp | 8 +-- src/lib/formats/a5105_dsk.h | 6 +- src/lib/formats/abc1600_dsk.cpp | 8 +-- src/lib/formats/abc1600_dsk.h | 6 +- src/lib/formats/abc800_dsk.cpp | 8 +-- src/lib/formats/abc800_dsk.h | 6 +- src/lib/formats/abc800i_dsk.cpp | 8 +-- src/lib/formats/abc800i_dsk.h | 6 +- src/lib/formats/abcfd2_dsk.cpp | 8 +-- src/lib/formats/abcfd2_dsk.h | 6 +- src/lib/formats/acorn_dsk.cpp | 54 ++++++++--------- src/lib/formats/acorn_dsk.h | 54 ++++++++--------- src/lib/formats/adam_dsk.cpp | 8 +-- src/lib/formats/adam_dsk.h | 6 +- src/lib/formats/afs_dsk.cpp | 6 +- src/lib/formats/afs_dsk.h | 6 +- src/lib/formats/aim_dsk.cpp | 12 ++-- src/lib/formats/aim_dsk.h | 10 ++-- src/lib/formats/ami_dsk.cpp | 20 +++---- src/lib/formats/ami_dsk.h | 12 ++-- src/lib/formats/ap2_dsk.cpp | 62 ++++++++++---------- src/lib/formats/ap2_dsk.h | 50 ++++++++-------- src/lib/formats/ap_dsk35.cpp | 54 ++++++++--------- src/lib/formats/ap_dsk35.h | 36 ++++++------ src/lib/formats/apd_dsk.cpp | 14 ++--- src/lib/formats/apd_dsk.h | 10 ++-- src/lib/formats/apollo_dsk.cpp | 8 +-- src/lib/formats/apollo_dsk.h | 6 +- src/lib/formats/applix_dsk.cpp | 8 +-- src/lib/formats/applix_dsk.h | 6 +- src/lib/formats/apridisk.cpp | 10 ++-- src/lib/formats/apridisk.h | 10 ++-- src/lib/formats/as_dsk.cpp | 60 +++++++++---------- src/lib/formats/as_dsk.h | 31 +++++----- src/lib/formats/asst128_dsk.cpp | 8 +-- src/lib/formats/asst128_dsk.h | 6 +- src/lib/formats/atom_dsk.cpp | 6 +- src/lib/formats/atom_dsk.h | 6 +- src/lib/formats/bw12_dsk.cpp | 8 +-- src/lib/formats/bw12_dsk.h | 6 +- src/lib/formats/bw2_dsk.cpp | 8 +-- src/lib/formats/bw2_dsk.h | 6 +- src/lib/formats/c3040_dsk.cpp | 8 +-- src/lib/formats/c3040_dsk.h | 6 +- src/lib/formats/c4040_dsk.cpp | 8 +-- src/lib/formats/c4040_dsk.h | 6 +- src/lib/formats/c8280_dsk.cpp | 8 +-- src/lib/formats/c8280_dsk.h | 6 +- src/lib/formats/camplynx_dsk.cpp | 8 +-- src/lib/formats/camplynx_dsk.h | 6 +- src/lib/formats/ccvf_dsk.cpp | 14 ++--- src/lib/formats/ccvf_dsk.h | 10 ++-- src/lib/formats/cgenie_dsk.cpp | 6 +- src/lib/formats/cgenie_dsk.h | 6 +- src/lib/formats/coco_rawdsk.cpp | 6 +- src/lib/formats/coco_rawdsk.h | 6 +- src/lib/formats/comx35_dsk.cpp | 8 +-- src/lib/formats/comx35_dsk.h | 6 +- src/lib/formats/concept_dsk.cpp | 16 +++--- src/lib/formats/concept_dsk.h | 12 ++-- src/lib/formats/coupedsk.cpp | 16 +++--- src/lib/formats/coupedsk.h | 12 ++-- src/lib/formats/cp68_dsk.cpp | 6 +- src/lib/formats/cp68_dsk.h | 6 +- src/lib/formats/cpis_dsk.cpp | 8 +-- src/lib/formats/cpis_dsk.h | 6 +- src/lib/formats/cqm_dsk.cpp | 22 +++---- src/lib/formats/cqm_dsk.h | 12 ++-- src/lib/formats/d64_dsk.cpp | 16 +++--- src/lib/formats/d64_dsk.h | 14 ++--- src/lib/formats/d71_dsk.cpp | 8 +-- src/lib/formats/d71_dsk.h | 6 +- src/lib/formats/d80_dsk.cpp | 8 +-- src/lib/formats/d80_dsk.h | 6 +- src/lib/formats/d81_dsk.cpp | 8 +-- src/lib/formats/d81_dsk.h | 6 +- src/lib/formats/d82_dsk.cpp | 8 +-- src/lib/formats/d82_dsk.h | 6 +- src/lib/formats/d88_dsk.cpp | 22 +++---- src/lib/formats/d88_dsk.h | 10 ++-- src/lib/formats/dcp_dsk.cpp | 12 ++-- src/lib/formats/dcp_dsk.h | 10 ++-- src/lib/formats/dfi_dsk.cpp | 12 ++-- src/lib/formats/dfi_dsk.h | 10 ++-- src/lib/formats/dim_dsk.cpp | 12 ++-- src/lib/formats/dim_dsk.h | 10 ++-- src/lib/formats/dip_dsk.cpp | 12 ++-- src/lib/formats/dip_dsk.h | 10 ++-- src/lib/formats/dmk_dsk.cpp | 14 ++--- src/lib/formats/dmk_dsk.h | 10 ++-- src/lib/formats/dmv_dsk.cpp | 8 +-- src/lib/formats/dmv_dsk.h | 6 +- src/lib/formats/ds9_dsk.cpp | 10 ++-- src/lib/formats/ds9_dsk.h | 10 ++-- src/lib/formats/dsk_dsk.cpp | 14 ++--- src/lib/formats/dsk_dsk.h | 10 ++-- src/lib/formats/dvk_mx_dsk.cpp | 16 +++--- src/lib/formats/dvk_mx_dsk.h | 10 ++-- src/lib/formats/ep64_dsk.cpp | 8 +-- src/lib/formats/ep64_dsk.h | 6 +- src/lib/formats/esq16_dsk.cpp | 16 +++--- src/lib/formats/esq16_dsk.h | 12 ++-- src/lib/formats/esq8_dsk.cpp | 16 +++--- src/lib/formats/esq8_dsk.h | 12 ++-- src/lib/formats/excali64_dsk.cpp | 8 +-- src/lib/formats/excali64_dsk.h | 6 +- src/lib/formats/fdd_dsk.cpp | 12 ++-- src/lib/formats/fdd_dsk.h | 10 ++-- src/lib/formats/fdos_dsk.cpp | 6 +- src/lib/formats/fdos_dsk.h | 6 +- src/lib/formats/fl1_dsk.cpp | 8 +-- src/lib/formats/fl1_dsk.h | 6 +- src/lib/formats/flex_dsk.cpp | 8 +-- src/lib/formats/flex_dsk.h | 6 +- src/lib/formats/flopimg.cpp | 61 ++++++++++---------- src/lib/formats/flopimg.h | 67 ++++++++++----------- src/lib/formats/fmtowns_dsk.cpp | 8 +-- src/lib/formats/fmtowns_dsk.h | 6 +- src/lib/formats/fsd_dsk.cpp | 10 ++-- src/lib/formats/fsd_dsk.h | 10 ++-- src/lib/formats/g64_dsk.cpp | 22 +++---- src/lib/formats/g64_dsk.h | 14 ++--- src/lib/formats/guab_dsk.cpp | 6 +- src/lib/formats/guab_dsk.h | 6 +- src/lib/formats/hector_minidisc.cpp | 6 +- src/lib/formats/hector_minidisc.h | 6 +- src/lib/formats/hp300_dsk.cpp | 8 +-- src/lib/formats/hp300_dsk.h | 6 +- src/lib/formats/hp_ipc_dsk.cpp | 8 +-- src/lib/formats/hp_ipc_dsk.h | 6 +- src/lib/formats/hpi_dsk.cpp | 18 +++--- src/lib/formats/hpi_dsk.h | 12 ++-- src/lib/formats/hxchfe_dsk.cpp | 26 ++++----- src/lib/formats/hxchfe_dsk.h | 12 ++-- src/lib/formats/hxcmfm_dsk.cpp | 18 +++--- src/lib/formats/hxcmfm_dsk.h | 12 ++-- src/lib/formats/ibmxdf_dsk.cpp | 12 ++-- src/lib/formats/ibmxdf_dsk.h | 10 ++-- src/lib/formats/imd_dsk.cpp | 16 +++--- src/lib/formats/imd_dsk.h | 10 ++-- src/lib/formats/img_dsk.cpp | 16 +++--- src/lib/formats/img_dsk.h | 12 ++-- src/lib/formats/ipf_dsk.cpp | 112 ++++++++++++++++++------------------ src/lib/formats/ipf_dsk.h | 22 +++---- src/lib/formats/iq151_dsk.cpp | 8 +-- src/lib/formats/iq151_dsk.h | 6 +- src/lib/formats/itt3030_dsk.cpp | 8 +-- src/lib/formats/itt3030_dsk.h | 6 +- src/lib/formats/jfd_dsk.cpp | 14 ++--- src/lib/formats/jfd_dsk.h | 10 ++-- src/lib/formats/juku_dsk.cpp | 6 +- src/lib/formats/juku_dsk.h | 6 +- src/lib/formats/jvc_dsk.cpp | 16 +++--- src/lib/formats/jvc_dsk.h | 12 ++-- src/lib/formats/kaypro_dsk.cpp | 14 ++--- src/lib/formats/kaypro_dsk.h | 12 ++-- src/lib/formats/kc85_dsk.cpp | 8 +-- src/lib/formats/kc85_dsk.h | 6 +- src/lib/formats/lw30_dsk.cpp | 12 ++-- src/lib/formats/lw30_dsk.h | 10 ++-- src/lib/formats/m20_dsk.cpp | 16 +++--- src/lib/formats/m20_dsk.h | 14 ++--- src/lib/formats/m5_dsk.cpp | 8 +-- src/lib/formats/m5_dsk.h | 6 +- src/lib/formats/mdos_dsk.cpp | 8 +-- src/lib/formats/mdos_dsk.h | 6 +- src/lib/formats/mfi_dsk.cpp | 34 +++++------ src/lib/formats/mfi_dsk.h | 12 ++-- src/lib/formats/mm_dsk.cpp | 14 ++--- src/lib/formats/mm_dsk.h | 12 ++-- src/lib/formats/ms0515_dsk.cpp | 6 +- src/lib/formats/ms0515_dsk.h | 6 +- src/lib/formats/msx_dsk.cpp | 8 +-- src/lib/formats/msx_dsk.h | 6 +- src/lib/formats/mtx_dsk.cpp | 6 +- src/lib/formats/mtx_dsk.h | 6 +- src/lib/formats/nanos_dsk.cpp | 8 +-- src/lib/formats/nanos_dsk.h | 6 +- src/lib/formats/nascom_dsk.cpp | 6 +- src/lib/formats/nascom_dsk.h | 6 +- src/lib/formats/naslite_dsk.cpp | 8 +-- src/lib/formats/naslite_dsk.h | 6 +- src/lib/formats/nfd_dsk.cpp | 16 +++--- src/lib/formats/nfd_dsk.h | 10 ++-- src/lib/formats/opd_dsk.cpp | 6 +- src/lib/formats/opd_dsk.h | 6 +- src/lib/formats/oric_dsk.cpp | 28 ++++----- src/lib/formats/oric_dsk.h | 22 +++---- src/lib/formats/os9_dsk.cpp | 8 +-- src/lib/formats/os9_dsk.h | 6 +- src/lib/formats/pasti_dsk.cpp | 24 ++++---- src/lib/formats/pasti_dsk.h | 22 +++---- src/lib/formats/pc98_dsk.cpp | 8 +-- src/lib/formats/pc98_dsk.h | 6 +- src/lib/formats/pc98fdi_dsk.cpp | 12 ++-- src/lib/formats/pc98fdi_dsk.h | 10 ++-- src/lib/formats/pc_dsk.cpp | 8 +-- src/lib/formats/pc_dsk.h | 6 +- src/lib/formats/pk8020_dsk.cpp | 6 +- src/lib/formats/pk8020_dsk.h | 6 +- src/lib/formats/poly_dsk.cpp | 10 ++-- src/lib/formats/poly_dsk.h | 10 ++-- src/lib/formats/ppg_dsk.cpp | 8 +-- src/lib/formats/ppg_dsk.h | 6 +- src/lib/formats/pyldin_dsk.cpp | 8 +-- src/lib/formats/pyldin_dsk.h | 6 +- src/lib/formats/ql_dsk.cpp | 8 +-- src/lib/formats/ql_dsk.h | 6 +- src/lib/formats/rc759_dsk.cpp | 6 +- src/lib/formats/rc759_dsk.h | 6 +- src/lib/formats/roland_dsk.cpp | 6 +- src/lib/formats/roland_dsk.h | 6 +- src/lib/formats/rx50_dsk.cpp | 16 +++--- src/lib/formats/rx50_dsk.h | 12 ++-- src/lib/formats/sdd_dsk.cpp | 8 +-- src/lib/formats/sdd_dsk.h | 6 +- src/lib/formats/sdf_dsk.cpp | 16 +++--- src/lib/formats/sdf_dsk.h | 10 ++-- src/lib/formats/sf7000_dsk.cpp | 8 +-- src/lib/formats/sf7000_dsk.h | 6 +- src/lib/formats/smx_dsk.cpp | 8 +-- src/lib/formats/smx_dsk.h | 6 +- src/lib/formats/st_dsk.cpp | 30 +++++----- src/lib/formats/st_dsk.h | 24 ++++---- src/lib/formats/svi_dsk.cpp | 14 ++--- src/lib/formats/svi_dsk.h | 12 ++-- src/lib/formats/swd_dsk.cpp | 8 +-- src/lib/formats/swd_dsk.h | 6 +- src/lib/formats/tandy2k_dsk.cpp | 8 +-- src/lib/formats/tandy2k_dsk.h | 6 +- src/lib/formats/td0_dsk.cpp | 40 ++++++------- src/lib/formats/td0_dsk.h | 10 ++-- src/lib/formats/thom_dsk.cpp | 12 ++-- src/lib/formats/thom_dsk.h | 12 ++-- src/lib/formats/ti99_dsk.cpp | 24 ++++---- src/lib/formats/ti99_dsk.h | 24 ++++---- src/lib/formats/tibdd001_dsk.cpp | 6 +- src/lib/formats/tibdd001_dsk.h | 6 +- src/lib/formats/tiki100_dsk.cpp | 8 +-- src/lib/formats/tiki100_dsk.h | 6 +- src/lib/formats/tim011_dsk.cpp | 6 +- src/lib/formats/tim011_dsk.h | 6 +- src/lib/formats/trd_dsk.cpp | 8 +-- src/lib/formats/trd_dsk.h | 6 +- src/lib/formats/trs80_dsk.cpp | 30 +++++----- src/lib/formats/trs80_dsk.h | 18 +++--- src/lib/formats/tvc_dsk.cpp | 8 +-- src/lib/formats/tvc_dsk.h | 6 +- src/lib/formats/uniflex_dsk.cpp | 8 +-- src/lib/formats/uniflex_dsk.h | 6 +- src/lib/formats/upd765_dsk.cpp | 22 +++---- src/lib/formats/upd765_dsk.h | 10 ++-- src/lib/formats/vdk_dsk.cpp | 14 ++--- src/lib/formats/vdk_dsk.h | 12 ++-- src/lib/formats/vector06_dsk.cpp | 6 +- src/lib/formats/vector06_dsk.h | 6 +- src/lib/formats/vgi_dsk.cpp | 10 ++-- src/lib/formats/vgi_dsk.h | 12 ++-- src/lib/formats/victor9k_dsk.cpp | 22 +++---- src/lib/formats/victor9k_dsk.h | 18 +++--- src/lib/formats/vt_dsk.cpp | 38 ++++++------ src/lib/formats/vt_dsk.h | 26 ++++----- src/lib/formats/wd177x_dsk.cpp | 24 ++++---- src/lib/formats/wd177x_dsk.h | 10 ++-- src/lib/formats/xdf_dsk.cpp | 8 +-- src/lib/formats/xdf_dsk.h | 6 +- src/tools/floptool.cpp | 28 ++++----- src/tools/image_handler.cpp | 34 +++++------ src/tools/image_handler.h | 10 ++-- 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 floppy_image_device::call_load() return std::make_pair(image_error::INVALIDIMAGE, "Unable to identify image file format"); image = std::make_unique(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 &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 &variants, floppy_image *image) const +bool opus_ddcpm_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool opus_ddcpm_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants) const override; virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector &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 &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 &variants, floppy_image *image) const +bool aim_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool adf_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &trackbuf, uint32_t pos, i return check & 0x55555555; } -bool adf_format::save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const +bool adf_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &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 &variants, floppy_image *image) const +bool a2_16sect_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &buf, int &pos, int &wrap) //#define VERBOSE_SAVE -bool a2_16sect_format::save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const +bool a2_16sect_format::save(util::random_read_write &io, const std::vector &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::vectorget_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 &variants, floppy_image *image) const +bool a2_rwts18_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &buf, int &pos, int &wrap) return v; } -bool a2_rwts18_format::save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const +bool a2_rwts18_format::save(util::random_read_write &io, const std::vector &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::vectorget_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 &variants, floppy_image *image) const +bool a2_edd_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 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 &variants, floppy_image *image) const +bool a2_nib_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &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 &variants, floppy_image *image) const +bool dc42_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool dc42_format::save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool apple_gcr_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool apple_gcr_format::save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool apple_2mg_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool apple_2mg_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool apd_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &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 &variants, floppy_image *image) const +bool apridisk_format::load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const { desc_pc_sector sectors[80][2][18]; std::unique_ptr 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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &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 &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 &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 &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 &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 &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 &img, floppy_image *i // There is always a pulse at index, and it's // the last one in the stream - std::vector &buf = image->get_buffer(track, head, subtrack); + std::vector &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 &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 &tbuf = image->get_buffer(track, head, subtrack); + const std::vector &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 &variants, floppy_image *image) const +bool woz_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool woz_format::save(util::random_read_write &io, const std::vector &variants, const floppy_image &image) const { std::vector 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 & 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 & 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 &variants, floppy_image *image) const +bool moof_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool moof_format::save(util::random_read_write &io, const std::vector &variants, const floppy_image &image) const { std::vector 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 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 &data, uint32_t tag); - static bool load_bitstream_track(const std::vector &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 &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 &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 &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 count_blocks(const std::vector &tracks); static bool test_flux(const std::vector &tracks); static void save_tracks(std::vector &data, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 ¤t_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 &variants, floppy_image *image) const +bool ccvf_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &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 &variants, floppy_image *image) const +bool cc525dsdd_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool cc525dsdd_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool mgt_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool mgt_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants) const override; virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool cqm_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool cqm_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool d64_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool d64_format::save(util::random_read_write &io, const std::vector &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 & 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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 ¤t_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 ¤t_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 &variants, floppy_image *image) const +bool d88_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool dcp_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool dfi_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &buf = image->get_buffer(track, head); + std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool dim_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool dip_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool dmk_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool ds9_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool dsk_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool dvk_mx_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool esqimg_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool esqimg_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool esq8img_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool esq8img_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool fdd_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector &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 +#include #include #include #include +#include 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 &variants, uint32_t variant) +bool floppy_image_format_t::has_variant(const std::vector &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 &variants, u return false; } -bool floppy_image_format_t::save(util::random_read_write &io, const std::vector &, floppy_image *) const +bool floppy_image_format_t::save(util::random_read_write &io, const std::vector &, 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 buffer; @@ -887,9 +890,9 @@ void floppy_image_format_t::normalize_times(std::vector &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 &dest = image->get_buffer(track, head, subtrack); + std::vector &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 &trackbuf, int splice_pos, floppy_image *image) +void floppy_image_format_t::generate_track_from_levels(int track, int head, const std::vector &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 &dest = image->get_buffer(track, head); + std::vector &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 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 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 trackbuf; - std::vector &tbuf = image->get_buffer(track, head, subtrack); + const std::vector &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> 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 §or_count) +void floppy_image_format_t::get_geometry_mfm_pc(const floppy_image &image, int cell_size, int &track_count, int &head_count, int §or_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> 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 §or_count) +void floppy_image_format_t::get_geometry_fm_pc(const floppy_image &image, int cell_size, int &track_count, int &head_count, int §or_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 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 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> floppy_image_format_t::extract_sectors_from_track_mac_gcr6(int head, int track, floppy_image *image) +std::vector> 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 &variants, floppy_image *image) const = 0; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants, uint32_t variant); + static bool has_variant(const std::vector &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 &trackbuf, int splice_pos, floppy_image *image); + static void generate_track_from_levels(int track, int head, const std::vector &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 generate_bitstream_from_track(int track, int head, int cell_size, floppy_image *image, int subtrack = 0, int *max_delta = nullptr); + static std::vector 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 generate_nibbles_from_bitstream(const std::vector &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> extract_sectors_from_bitstream_victor_gcr5(const std::vector &bitstream); //! Mac type sectors with GCR6 encoding - static std::vector> extract_sectors_from_track_mac_gcr6(int head, int track, floppy_image *image); + static std::vector> 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 §or_count); + static void get_geometry_mfm_pc(const floppy_image &image, int cell_size, int &track_count, int &head_count, int §or_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 §or_count); + static void get_geometry_fm_pc(const floppy_image &image, int cell_size, int &track_count, int &head_count, int §or_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 &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 &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 &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 &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 &variants, floppy_image *image) const +bool fsd_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool g64_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &trackbuf, floppy_image *image) +int g64_format::generate_bitstream(int track, int head, int speed_zone, std::vector &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 &variants, floppy_image *image) const +bool g64_format::save(util::random_read_write &io, const std::vector &variants, const floppy_image &image) const { uint8_t const zerofill[] = { 0x00, 0x00, 0x00, 0x00 }; std::vector 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 & 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 & 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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &trackbuf, floppy_image *image); + static int generate_bitstream(int track, int head, int speed_zone, std::vector &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 &variants, floppy_image *image) const +bool hpi_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 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 &variants, floppy_image *image) const +bool hpi_format::save(util::random_read_write &io, const std::vector &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 & 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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 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 &variants, floppy_image *image) const +bool hfe_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &dest = image->get_buffer(cyl, head, 0); + std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool mfm_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool mfm_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool ibmxdf_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &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 &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 &variants, floppy_image *image) const +bool imd_format::load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const { std::vector comment; std::vector > 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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool img_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 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 &variants, floppy_image *image) const +bool img_format::save(util::random_read_write &io, const std::vector &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 & 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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 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 &variants, floppy_image *image) const +bool ipf_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &data, floppy_image *image) +bool ipf_format::ipf_decode::parse(std::vector &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 &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 &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 &track, const std::vector &data_pos, const std::vector &gap_pos) +bool ipf_format::ipf_decode::generate_timings(const track_info &t, std::vector &track, const std::vector &data_pos, const std::vector &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; iblock_count; i++) + uint32_t mask = get_u32be(t.data + 32*t.block_count + 12); + for(uint32_t i=1; isize_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 track(t->size_cells); - std::vector data_pos(t->block_count+1); - std::vector gap_pos(t->block_count); - std::vector splice_pos(t->block_count); + std::vector track(t.size_cells); + std::vector data_pos(t.block_count+1); + std::vector gap_pos(t.block_count); + std::vector 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 &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 &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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::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::iterator tpos, bool &context); - bool generate_block(track_info *t, uint32_t idx, uint32_t ipos, std::vector &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 &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 &track, uint32_t start, uint32_t end, uint32_t time); - bool generate_timings(track_info *t, std::vector &track, const std::vector &data_pos, const std::vector &gap_pos); + bool generate_timings(const track_info &t, std::vector &track, const std::vector &data_pos, const std::vector &gap_pos); void rotate(std::vector &track, uint32_t offset, uint32_t size); void mark_track_splice(std::vector &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 &data, floppy_image *image); + bool parse(std::vector &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 &variants, floppy_image *image) const +bool jfd_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &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 &variants, floppy_image *image) const +bool jvc_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool jvc_format::save(util::random_read_write &io, const std::vector &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 & 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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 §ors, int §or_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 &variants, floppy_image *image) const +bool lw30_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector& 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& 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 &variants, floppy_image *image) const +bool m20_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool m20_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants) const override; virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool mfi_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &trackbuf = image->get_buffer(cyl >> 2, head, cyl & 3); + std::vector &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 &variants, floppy_image *image) const +bool mfi_format::save(util::random_read_write &io, const std::vector &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; headget_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 & 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 & for(int track=0; track <= (tracks-1) << 2; track += 4 >> resolution) for(int head=0; head &buffer = image->get_buffer(track >> 2, head, track & 3); + const std::vector &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 & 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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool nfd_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &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 -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 &variants, floppy_image *image) const +bool oric_dsk_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool oric_jasmin_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool oric_jasmin_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants) const override; virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool pasti_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &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 &track, const wd_obs &obs, int sector, int tstart, uint32_t cell_size); static void wd_generate_sector_data(std::vector &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 &variants, floppy_image *image) const +bool pc98fdi_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool poly_cpm_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &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 &variants, floppy_image *image) const +bool rx50img_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool rx50img_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool sdf_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool st_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool st_format::save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool msa_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool msa_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 §or_count); @@ -38,13 +38,13 @@ public: msa_format(); virtual int identify(util::random_read &io, uint32_t form_factor, const std::vector &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool svi_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool svi_format::save(util::random_read_write &io, const std::vector &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 & 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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool td0_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool ti99_floppy_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool ti99_floppy_format::save(util::random_read_write &io, const std::vector &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::vectorget_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 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 &variants, floppy_image *image) const override; - bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image &image) const override; + bool save(util::random_read_write &io, const std::vector &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 &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 &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 &variants, floppy_image *image) const +bool jv3_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool jv3_format::save(util::random_read_write &io, const std::vector &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 & } -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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants) const override; virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool upd765_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool upd765_format::save(util::random_read_write &io, const std::vector &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::vectorget_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::vectorget_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 &candidates) const +void upd765_format::check_compatibility(const floppy_image &image, std::vector &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 &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 ¤t_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 &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 &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 &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 &variants, floppy_image *image) const +bool vdk_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool vdk_format::save(util::random_read_write &io, const std::vector &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 & 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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool micropolis_vgi_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 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 &variants, floppy_image *image) const +bool micropolis_vgi_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool victor9k_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool victor9k_format::save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 ¤t_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 &buffer, uint32_t &pos, ui wbit(buffer, pos, (byte >> i) & 1); } -void vtech_common_format::image_to_flux(const std::vector &bdata, floppy_image *image) +void vtech_common_format::image_to_flux(const std::vector &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 &bdata, flopp for(int track = 0; track != 40; track ++) { uint32_t pos = 0; - std::vector &buffer = image->get_buffer(track, 0); + std::vector &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 &bdata, flopp } } -std::vector vtech_common_format::flux_to_image(floppy_image *image) +std::vector vtech_common_format::flux_to_image(const floppy_image &image) { std::vector 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 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 &variants, floppy_image *image) const +bool vtech_bin_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool vtech_dsk_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool vtech_bin_format::save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool vtech_dsk_format::save(util::random_read_write &io, const std::vector &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 &bdata, floppy_image *image); - static std::vector flux_to_image(floppy_image *image); + static void image_to_flux(const std::vector &bdata, floppy_image &image); + static std::vector flux_to_image(const floppy_image &image); static void wbit(std::vector &buffer, uint32_t &pos, bool bit); static void wbyte(std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &variants, floppy_image *image) const override; + virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image *image) const +bool wd177x_format::load(util::random_read &io, uint32_t form_factor, const std::vector &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 &variants, floppy_image *image) const +bool wd177x_format::save(util::random_read_write &io, const std::vector &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::vectorget_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::vectorget_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 &candidates) const +void wd177x_format::check_compatibility(const floppy_image &image, std::vector &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 &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 &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 &variants) const override; - virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector &variants, floppy_image *image) const override; - virtual bool save(util::random_read_write &io, const std::vector &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 &variants, floppy_image &image) const override; + virtual bool save(util::random_read_write &io, const std::vector &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 &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 &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 &path, std::vector> &entries, const std::unordered_map &nmap, size_t nc, const std::vector &dmetad, const std::vector &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> 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 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 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 variants; - std::vector img(format->m_image_size); + std::vector 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 variants; m_floppy_fs_converter = ci->m_type; m_sector_image.clear(); util::random_read_write_fill_wrapper, 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 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 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> 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 get_fs() const { return std::make_pair(m_fsm, m_fs.get()); } -- cgit v1.2.3