summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2022-03-25 21:34:24 +0100
committer Olivier Galibert <galibert@pobox.com>2022-03-30 15:45:35 +0200
commit40033c809aed228af9b928747a882ee275482c38 (patch)
treef7a077f27632849849b4a8b2d4deea3638020dfb /src
parent33bdc1469b3bc84ab1b811329f05c75f4801a7de (diff)
floppy: remove the intermediate allocator
Diffstat (limited to 'src')
-rw-r--r--src/devices/bus/adamnet/fdc.cpp2
-rw-r--r--src/devices/bus/isbx/compis_fdc.cpp2
-rw-r--r--src/devices/bus/spectrum/beta.cpp2
-rw-r--r--src/devices/bus/spectrum/beta128.cpp2
-rw-r--r--src/devices/bus/spectrum/floppyone.cpp2
-rw-r--r--src/devices/bus/spectrum/mgt.cpp2
-rw-r--r--src/devices/bus/spectrum/sixword.cpp2
-rw-r--r--src/devices/bus/spectrum/speccydos.cpp2
-rw-r--r--src/devices/imagedev/floppy.cpp42
-rw-r--r--src/devices/imagedev/floppy.h24
-rw-r--r--src/frontend/mame/ui/filecreate.cpp6
-rw-r--r--src/frontend/mame/ui/filecreate.h8
-rw-r--r--src/frontend/mame/ui/floppycntrl.cpp6
-rw-r--r--src/frontend/mame/ui/floppycntrl.h2
-rw-r--r--src/lib/formats/2d_dsk.cpp2
-rw-r--r--src/lib/formats/2d_dsk.h2
-rw-r--r--src/lib/formats/a5105_dsk.cpp2
-rw-r--r--src/lib/formats/a5105_dsk.h2
-rw-r--r--src/lib/formats/abc1600_dsk.cpp2
-rw-r--r--src/lib/formats/abc1600_dsk.h2
-rw-r--r--src/lib/formats/abc800_dsk.cpp2
-rw-r--r--src/lib/formats/abc800_dsk.h2
-rw-r--r--src/lib/formats/abcfd2_dsk.cpp2
-rw-r--r--src/lib/formats/abcfd2_dsk.h2
-rw-r--r--src/lib/formats/acorn_dsk.cpp14
-rw-r--r--src/lib/formats/acorn_dsk.h14
-rw-r--r--src/lib/formats/adam_dsk.cpp2
-rw-r--r--src/lib/formats/adam_dsk.h2
-rw-r--r--src/lib/formats/afs_dsk.cpp2
-rw-r--r--src/lib/formats/afs_dsk.h2
-rw-r--r--src/lib/formats/aim_dsk.cpp2
-rw-r--r--src/lib/formats/aim_dsk.h2
-rw-r--r--src/lib/formats/all.h2
-rw-r--r--src/lib/formats/ami_dsk.cpp2
-rw-r--r--src/lib/formats/ami_dsk.h2
-rw-r--r--src/lib/formats/ap2_dsk.cpp12
-rw-r--r--src/lib/formats/ap2_dsk.h12
-rw-r--r--src/lib/formats/ap_dsk35.cpp6
-rw-r--r--src/lib/formats/ap_dsk35.h6
-rw-r--r--src/lib/formats/apd_dsk.cpp2
-rw-r--r--src/lib/formats/apd_dsk.h2
-rw-r--r--src/lib/formats/apollo_dsk.cpp2
-rw-r--r--src/lib/formats/apollo_dsk.h2
-rw-r--r--src/lib/formats/applix_dsk.cpp2
-rw-r--r--src/lib/formats/applix_dsk.h2
-rw-r--r--src/lib/formats/apridisk.cpp2
-rw-r--r--src/lib/formats/apridisk.h2
-rw-r--r--src/lib/formats/asst128_dsk.cpp2
-rw-r--r--src/lib/formats/asst128_dsk.h2
-rw-r--r--src/lib/formats/atom_dsk.cpp2
-rw-r--r--src/lib/formats/atom_dsk.h2
-rw-r--r--src/lib/formats/bw12_dsk.cpp2
-rw-r--r--src/lib/formats/bw12_dsk.h2
-rw-r--r--src/lib/formats/bw2_dsk.cpp2
-rw-r--r--src/lib/formats/bw2_dsk.h2
-rw-r--r--src/lib/formats/c3040_dsk.cpp2
-rw-r--r--src/lib/formats/c3040_dsk.h2
-rw-r--r--src/lib/formats/c4040_dsk.cpp2
-rw-r--r--src/lib/formats/c4040_dsk.h2
-rw-r--r--src/lib/formats/c8280_dsk.cpp2
-rw-r--r--src/lib/formats/c8280_dsk.h2
-rw-r--r--src/lib/formats/camplynx_dsk.cpp2
-rw-r--r--src/lib/formats/camplynx_dsk.h2
-rw-r--r--src/lib/formats/ccvf_dsk.cpp2
-rw-r--r--src/lib/formats/ccvf_dsk.h2
-rw-r--r--src/lib/formats/cd90_640_dsk.cpp2
-rw-r--r--src/lib/formats/cd90_640_dsk.h2
-rw-r--r--src/lib/formats/cgenie_dsk.cpp2
-rw-r--r--src/lib/formats/cgenie_dsk.h2
-rw-r--r--src/lib/formats/coco_rawdsk.cpp2
-rw-r--r--src/lib/formats/coco_rawdsk.h2
-rw-r--r--src/lib/formats/comx35_dsk.cpp2
-rw-r--r--src/lib/formats/comx35_dsk.h2
-rw-r--r--src/lib/formats/concept_dsk.cpp2
-rw-r--r--src/lib/formats/concept_dsk.h2
-rw-r--r--src/lib/formats/coupedsk.cpp2
-rw-r--r--src/lib/formats/coupedsk.h2
-rw-r--r--src/lib/formats/cpis_dsk.cpp2
-rw-r--r--src/lib/formats/cpis_dsk.h2
-rw-r--r--src/lib/formats/cqm_dsk.cpp2
-rw-r--r--src/lib/formats/cqm_dsk.h2
-rw-r--r--src/lib/formats/d64_dsk.cpp2
-rw-r--r--src/lib/formats/d64_dsk.h2
-rw-r--r--src/lib/formats/d71_dsk.cpp2
-rw-r--r--src/lib/formats/d71_dsk.h2
-rw-r--r--src/lib/formats/d80_dsk.cpp2
-rw-r--r--src/lib/formats/d80_dsk.h2
-rw-r--r--src/lib/formats/d81_dsk.cpp2
-rw-r--r--src/lib/formats/d81_dsk.h2
-rw-r--r--src/lib/formats/d82_dsk.cpp2
-rw-r--r--src/lib/formats/d82_dsk.h2
-rw-r--r--src/lib/formats/d88_dsk.cpp2
-rw-r--r--src/lib/formats/d88_dsk.h2
-rw-r--r--src/lib/formats/dcp_dsk.cpp2
-rw-r--r--src/lib/formats/dcp_dsk.h2
-rw-r--r--src/lib/formats/dfi_dsk.cpp2
-rw-r--r--src/lib/formats/dfi_dsk.h2
-rw-r--r--src/lib/formats/dim_dsk.cpp2
-rw-r--r--src/lib/formats/dim_dsk.h2
-rw-r--r--src/lib/formats/dip_dsk.cpp2
-rw-r--r--src/lib/formats/dip_dsk.h2
-rw-r--r--src/lib/formats/dmk_dsk.cpp2
-rw-r--r--src/lib/formats/dmk_dsk.h2
-rw-r--r--src/lib/formats/dmv_dsk.cpp2
-rw-r--r--src/lib/formats/dmv_dsk.h2
-rw-r--r--src/lib/formats/ds9_dsk.cpp2
-rw-r--r--src/lib/formats/ds9_dsk.h2
-rw-r--r--src/lib/formats/dsk_dsk.cpp2
-rw-r--r--src/lib/formats/dsk_dsk.h2
-rw-r--r--src/lib/formats/dvk_mx_dsk.cpp2
-rw-r--r--src/lib/formats/dvk_mx_dsk.h2
-rw-r--r--src/lib/formats/ep64_dsk.cpp2
-rw-r--r--src/lib/formats/ep64_dsk.h2
-rw-r--r--src/lib/formats/esq16_dsk.cpp2
-rw-r--r--src/lib/formats/esq16_dsk.h2
-rw-r--r--src/lib/formats/esq8_dsk.cpp2
-rw-r--r--src/lib/formats/esq8_dsk.h2
-rw-r--r--src/lib/formats/excali64_dsk.cpp2
-rw-r--r--src/lib/formats/excali64_dsk.h2
-rw-r--r--src/lib/formats/fdd_dsk.cpp2
-rw-r--r--src/lib/formats/fdd_dsk.h2
-rw-r--r--src/lib/formats/fl1_dsk.cpp2
-rw-r--r--src/lib/formats/fl1_dsk.h2
-rw-r--r--src/lib/formats/flex_dsk.cpp2
-rw-r--r--src/lib/formats/flex_dsk.h2
-rw-r--r--src/lib/formats/flopimg.h10
-rw-r--r--src/lib/formats/fmtowns_dsk.cpp2
-rw-r--r--src/lib/formats/fmtowns_dsk.h2
-rw-r--r--src/lib/formats/fsd_dsk.cpp2
-rw-r--r--src/lib/formats/fsd_dsk.h2
-rw-r--r--src/lib/formats/fsmgr.h2
-rw-r--r--src/lib/formats/g64_dsk.cpp2
-rw-r--r--src/lib/formats/g64_dsk.h2
-rw-r--r--src/lib/formats/guab_dsk.cpp2
-rw-r--r--src/lib/formats/guab_dsk.h2
-rw-r--r--src/lib/formats/hector_minidisc.cpp2
-rw-r--r--src/lib/formats/hector_minidisc.h2
-rw-r--r--src/lib/formats/hp_ipc_dsk.cpp2
-rw-r--r--src/lib/formats/hp_ipc_dsk.h2
-rw-r--r--src/lib/formats/hpi_dsk.cpp2
-rw-r--r--src/lib/formats/hpi_dsk.h2
-rw-r--r--src/lib/formats/hxchfe_dsk.cpp2
-rw-r--r--src/lib/formats/hxchfe_dsk.h2
-rw-r--r--src/lib/formats/hxcmfm_dsk.cpp2
-rw-r--r--src/lib/formats/hxcmfm_dsk.h2
-rw-r--r--src/lib/formats/ibmxdf_dsk.cpp2
-rw-r--r--src/lib/formats/ibmxdf_dsk.h2
-rw-r--r--src/lib/formats/imd_dsk.cpp2
-rw-r--r--src/lib/formats/imd_dsk.h2
-rw-r--r--src/lib/formats/img_dsk.cpp2
-rw-r--r--src/lib/formats/img_dsk.h2
-rw-r--r--src/lib/formats/ipf_dsk.cpp2
-rw-r--r--src/lib/formats/ipf_dsk.h2
-rw-r--r--src/lib/formats/iq151_dsk.cpp2
-rw-r--r--src/lib/formats/iq151_dsk.h2
-rw-r--r--src/lib/formats/itt3030_dsk.cpp2
-rw-r--r--src/lib/formats/itt3030_dsk.h2
-rw-r--r--src/lib/formats/jfd_dsk.cpp2
-rw-r--r--src/lib/formats/jfd_dsk.h2
-rw-r--r--src/lib/formats/juku_dsk.cpp2
-rw-r--r--src/lib/formats/juku_dsk.h2
-rw-r--r--src/lib/formats/jvc_dsk.cpp2
-rw-r--r--src/lib/formats/jvc_dsk.h2
-rw-r--r--src/lib/formats/kaypro_dsk.cpp4
-rw-r--r--src/lib/formats/kaypro_dsk.h4
-rw-r--r--src/lib/formats/kc85_dsk.cpp2
-rw-r--r--src/lib/formats/kc85_dsk.h2
-rw-r--r--src/lib/formats/m20_dsk.cpp2
-rw-r--r--src/lib/formats/m20_dsk.h2
-rw-r--r--src/lib/formats/m5_dsk.cpp2
-rw-r--r--src/lib/formats/m5_dsk.h2
-rw-r--r--src/lib/formats/mdos_dsk.cpp2
-rw-r--r--src/lib/formats/mdos_dsk.h2
-rw-r--r--src/lib/formats/mfi_dsk.cpp2
-rw-r--r--src/lib/formats/mfi_dsk.h2
-rw-r--r--src/lib/formats/mm_dsk.cpp4
-rw-r--r--src/lib/formats/mm_dsk.h4
-rw-r--r--src/lib/formats/ms0515_dsk.cpp2
-rw-r--r--src/lib/formats/ms0515_dsk.h2
-rw-r--r--src/lib/formats/msx_dsk.cpp2
-rw-r--r--src/lib/formats/msx_dsk.h4
-rw-r--r--src/lib/formats/mtx_dsk.cpp2
-rw-r--r--src/lib/formats/mtx_dsk.h2
-rw-r--r--src/lib/formats/nanos_dsk.cpp2
-rw-r--r--src/lib/formats/nanos_dsk.h2
-rw-r--r--src/lib/formats/nascom_dsk.cpp2
-rw-r--r--src/lib/formats/nascom_dsk.h2
-rw-r--r--src/lib/formats/naslite_dsk.cpp2
-rw-r--r--src/lib/formats/naslite_dsk.h2
-rw-r--r--src/lib/formats/nfd_dsk.cpp2
-rw-r--r--src/lib/formats/nfd_dsk.h2
-rw-r--r--src/lib/formats/opd_dsk.cpp2
-rw-r--r--src/lib/formats/opd_dsk.h2
-rw-r--r--src/lib/formats/oric_dsk.cpp4
-rw-r--r--src/lib/formats/oric_dsk.h4
-rw-r--r--src/lib/formats/os9_dsk.cpp2
-rw-r--r--src/lib/formats/os9_dsk.h2
-rw-r--r--src/lib/formats/pasti_dsk.cpp2
-rw-r--r--src/lib/formats/pasti_dsk.h2
-rw-r--r--src/lib/formats/pc98_dsk.cpp2
-rw-r--r--src/lib/formats/pc98_dsk.h2
-rw-r--r--src/lib/formats/pc98fdi_dsk.cpp2
-rw-r--r--src/lib/formats/pc98fdi_dsk.h2
-rw-r--r--src/lib/formats/pc_dsk.cpp2
-rw-r--r--src/lib/formats/pc_dsk.h2
-rw-r--r--src/lib/formats/pk8020_dsk.cpp2
-rw-r--r--src/lib/formats/pk8020_dsk.h2
-rw-r--r--src/lib/formats/poly_dsk.cpp2
-rw-r--r--src/lib/formats/poly_dsk.h2
-rw-r--r--src/lib/formats/ppg_dsk.cpp2
-rw-r--r--src/lib/formats/ppg_dsk.h2
-rw-r--r--src/lib/formats/pyldin_dsk.cpp2
-rw-r--r--src/lib/formats/pyldin_dsk.h2
-rw-r--r--src/lib/formats/ql_dsk.cpp2
-rw-r--r--src/lib/formats/ql_dsk.h2
-rw-r--r--src/lib/formats/rc759_dsk.cpp2
-rw-r--r--src/lib/formats/rc759_dsk.h2
-rw-r--r--src/lib/formats/rx50_dsk.cpp2
-rw-r--r--src/lib/formats/rx50_dsk.h2
-rw-r--r--src/lib/formats/sdd_dsk.cpp2
-rw-r--r--src/lib/formats/sdd_dsk.h2
-rw-r--r--src/lib/formats/sdf_dsk.cpp2
-rw-r--r--src/lib/formats/sdf_dsk.h2
-rw-r--r--src/lib/formats/sf7000_dsk.cpp2
-rw-r--r--src/lib/formats/sf7000_dsk.h2
-rw-r--r--src/lib/formats/smx_dsk.cpp2
-rw-r--r--src/lib/formats/smx_dsk.h2
-rw-r--r--src/lib/formats/st_dsk.cpp4
-rw-r--r--src/lib/formats/st_dsk.h4
-rw-r--r--src/lib/formats/svi_dsk.cpp2
-rw-r--r--src/lib/formats/svi_dsk.h2
-rw-r--r--src/lib/formats/swd_dsk.cpp2
-rw-r--r--src/lib/formats/swd_dsk.h2
-rw-r--r--src/lib/formats/tandy2k_dsk.cpp2
-rw-r--r--src/lib/formats/tandy2k_dsk.h2
-rw-r--r--src/lib/formats/td0_dsk.cpp2
-rw-r--r--src/lib/formats/td0_dsk.h2
-rw-r--r--src/lib/formats/thom_dsk.cpp4
-rw-r--r--src/lib/formats/thom_dsk.h4
-rw-r--r--src/lib/formats/ti99_dsk.cpp4
-rw-r--r--src/lib/formats/ti99_dsk.h4
-rw-r--r--src/lib/formats/tiki100_dsk.cpp2
-rw-r--r--src/lib/formats/tiki100_dsk.h2
-rw-r--r--src/lib/formats/trd_dsk.cpp2
-rw-r--r--src/lib/formats/trd_dsk.h2
-rw-r--r--src/lib/formats/trs80_dsk.cpp4
-rw-r--r--src/lib/formats/trs80_dsk.h4
-rw-r--r--src/lib/formats/tvc_dsk.cpp2
-rw-r--r--src/lib/formats/tvc_dsk.h2
-rw-r--r--src/lib/formats/uniflex_dsk.cpp2
-rw-r--r--src/lib/formats/uniflex_dsk.h2
-rw-r--r--src/lib/formats/vdk_dsk.cpp2
-rw-r--r--src/lib/formats/vdk_dsk.h2
-rw-r--r--src/lib/formats/vector06_dsk.cpp2
-rw-r--r--src/lib/formats/vector06_dsk.h2
-rw-r--r--src/lib/formats/victor9k_dsk.cpp2
-rw-r--r--src/lib/formats/victor9k_dsk.h2
-rw-r--r--src/lib/formats/vt_dsk.cpp4
-rw-r--r--src/lib/formats/vt_dsk.h4
-rw-r--r--src/lib/formats/xdf_dsk.cpp2
-rw-r--r--src/lib/formats/xdf_dsk.h2
-rw-r--r--src/mame/drivers/bw2.cpp2
-rw-r--r--src/mame/drivers/super6.cpp2
-rw-r--r--src/osd/modules/debugger/debugimgui.cpp4
-rw-r--r--src/tools/image_handler.cpp20
-rw-r--r--src/tools/image_handler.h10
266 files changed, 352 insertions, 378 deletions
diff --git a/src/devices/bus/adamnet/fdc.cpp b/src/devices/bus/adamnet/fdc.cpp
index 6fb80482760..1b7753cfe17 100644
--- a/src/devices/bus/adamnet/fdc.cpp
+++ b/src/devices/bus/adamnet/fdc.cpp
@@ -97,7 +97,7 @@ void adam_fdc_device::adam_fdc_mem(address_map &map)
//-------------------------------------------------
-// floppy_format_type floppy_formats
+// floppy_formats
//-------------------------------------------------
void adam_fdc_device::floppy_formats(format_registration &fr)
diff --git a/src/devices/bus/isbx/compis_fdc.cpp b/src/devices/bus/isbx/compis_fdc.cpp
index 3cfed059e70..b4f72b220ef 100644
--- a/src/devices/bus/isbx/compis_fdc.cpp
+++ b/src/devices/bus/isbx/compis_fdc.cpp
@@ -26,7 +26,7 @@ DEFINE_DEVICE_TYPE(COMPIS_FDC, compis_fdc_device, "compis_fdc", "Compis FDC")
//-------------------------------------------------
-// floppy_format_type floppy_formats
+// floppy_formats
//-------------------------------------------------
WRITE_LINE_MEMBER( compis_fdc_device::fdc_irq )
diff --git a/src/devices/bus/spectrum/beta.cpp b/src/devices/bus/spectrum/beta.cpp
index 6a2d75e9f2c..8578cf46b3d 100644
--- a/src/devices/bus/spectrum/beta.cpp
+++ b/src/devices/bus/spectrum/beta.cpp
@@ -121,7 +121,7 @@ static void beta_floppies(device_slot_interface &device)
}
//-------------------------------------------------
-// floppy_format_type floppy_formats
+// floppy_formats
//-------------------------------------------------
void spectrum_betav2_device::floppy_formats(format_registration &fr)
diff --git a/src/devices/bus/spectrum/beta128.cpp b/src/devices/bus/spectrum/beta128.cpp
index 2aaea396504..09b95763a27 100644
--- a/src/devices/bus/spectrum/beta128.cpp
+++ b/src/devices/bus/spectrum/beta128.cpp
@@ -63,7 +63,7 @@ static void beta_floppies(device_slot_interface &device)
}
//-------------------------------------------------
-// floppy_format_type floppy_formats
+// floppy_formats
//-------------------------------------------------
void spectrum_beta128_device::floppy_formats(format_registration &fr)
diff --git a/src/devices/bus/spectrum/floppyone.cpp b/src/devices/bus/spectrum/floppyone.cpp
index 026285dd854..4291199501d 100644
--- a/src/devices/bus/spectrum/floppyone.cpp
+++ b/src/devices/bus/spectrum/floppyone.cpp
@@ -83,7 +83,7 @@ static void flpone_floppies(device_slot_interface &device)
}
//-------------------------------------------------
-// floppy_format_type floppy_formats
+// floppy_formats
//-------------------------------------------------
void spectrum_flpone_device::floppy_formats(format_registration &fr)
diff --git a/src/devices/bus/spectrum/mgt.cpp b/src/devices/bus/spectrum/mgt.cpp
index a264dfb03be..e8f04df4aa0 100644
--- a/src/devices/bus/spectrum/mgt.cpp
+++ b/src/devices/bus/spectrum/mgt.cpp
@@ -227,7 +227,7 @@ static void plusd_floppies(device_slot_interface &device)
}
//-------------------------------------------------
-// floppy_format_type floppy_formats
+// floppy_formats
//-------------------------------------------------
void spectrum_plusd_device::floppy_formats(format_registration &fr)
diff --git a/src/devices/bus/spectrum/sixword.cpp b/src/devices/bus/spectrum/sixword.cpp
index e90ca86c88e..c85a9347dc9 100644
--- a/src/devices/bus/spectrum/sixword.cpp
+++ b/src/devices/bus/spectrum/sixword.cpp
@@ -105,7 +105,7 @@ static void swiftdisc_floppies(device_slot_interface &device)
}
//-------------------------------------------------
-// floppy_format_type floppy_formats
+// floppy_formats
//-------------------------------------------------
void spectrum_swiftdisc_device::floppy_formats(format_registration &fr)
diff --git a/src/devices/bus/spectrum/speccydos.cpp b/src/devices/bus/spectrum/speccydos.cpp
index 9df39078ef9..1afbb52da26 100644
--- a/src/devices/bus/spectrum/speccydos.cpp
+++ b/src/devices/bus/spectrum/speccydos.cpp
@@ -72,7 +72,7 @@ static void speccydos_floppies(device_slot_interface &device)
}
//-------------------------------------------------
-// floppy_format_type floppy_formats
+// floppy_formats
//-------------------------------------------------
void spectrum_speccydos_device::floppy_formats(format_registration &fr)
diff --git a/src/devices/imagedev/floppy.cpp b/src/devices/imagedev/floppy.cpp
index 9dc6c765e93..6ab5b934944 100644
--- a/src/devices/imagedev/floppy.cpp
+++ b/src/devices/imagedev/floppy.cpp
@@ -183,9 +183,9 @@ void format_registration::add_pc_formats()
add(FLOPPY_IPF_FORMAT);
}
-void format_registration::add(floppy_format_type format)
+void format_registration::add(const floppy_image_format_t &format)
{
- m_formats.push_back(format);
+ m_formats.push_back(&format);
}
void format_registration::add(const fs::manager_t &fs)
@@ -286,8 +286,6 @@ floppy_image_device::floppy_image_device(const machine_config &mconfig, device_t
floppy_image_device::~floppy_image_device()
{
- for(floppy_image_format_t *format : fif_list)
- delete format;
}
void floppy_image_device::setup_load_cb(load_cb cb)
@@ -320,12 +318,12 @@ void floppy_image_device::setup_led_cb(led_cb cb)
cur_led_cb = cb;
}
-void floppy_image_device::fs_enum::add(floppy_format_type type, u32 image_size, const char *name, const char *description)
+void floppy_image_device::fs_enum::add(const floppy_image_format_t &type, u32 image_size, const char *name, const char *description)
{
if(m_manager->can_format())
- m_fid->m_create_fs.emplace_back(fs_info(m_manager, type, image_size, name, description));
+ m_fid->m_create_fs.emplace_back(fs_info(m_manager, &type, image_size, name, description));
if(m_manager->can_read())
- m_fid->m_io_fs.emplace_back(fs_info(m_manager, type, image_size, name, description));
+ m_fid->m_io_fs.emplace_back(fs_info(m_manager, &type, image_size, name, description));
}
void floppy_image_device::fs_enum::add_raw(const char *name, u32 key, const char *description)
@@ -340,14 +338,10 @@ void floppy_image_device::register_formats()
format_registration_cb(fr);
extension_list[0] = '\0';
- fif_list.clear();
- for(floppy_format_type fft : fr.m_formats)
+ fif_list = std::move(fr.m_formats);
+ for(const floppy_image_format_t *fif : fif_list)
{
- // allocate a new format
- floppy_image_format_t *fif = fft();
- fif_list.push_back(fif);
add_format(fif->name(), fif->description(), fif->extensions(), "");
-
image_specify_extension( extension_list, 256, fif->extensions() );
}
@@ -365,12 +359,12 @@ void floppy_image_device::set_formats(std::function<void (format_registration &f
format_registration_cb = formats;
}
-const std::vector<floppy_image_format_t *> &floppy_image_device::get_formats() const
+const std::vector<const floppy_image_format_t *> &floppy_image_device::get_formats() const
{
return fif_list;
}
-floppy_image_format_t *floppy_image_device::get_load_format() const
+const floppy_image_format_t *floppy_image_device::get_load_format() const
{
return input_format;
}
@@ -385,7 +379,7 @@ void floppy_image_device::set_rpm(float _rpm)
angular_speed = rpm/60.0*2e8;
}
-void floppy_image_device::setup_write(floppy_image_format_t *_output_format)
+void floppy_image_device::setup_write(const floppy_image_format_t *_output_format)
{
output_format = _output_format;
if(image)
@@ -539,7 +533,7 @@ void floppy_image_device::device_timer(emu_timer &timer, device_timer_id id, int
index_resync();
}
-floppy_image_format_t *floppy_image_device::identify(std::string filename)
+const floppy_image_format_t *floppy_image_device::identify(std::string filename)
{
util::core_file::ptr fd;
std::string revised_path;
@@ -556,8 +550,8 @@ floppy_image_format_t *floppy_image_device::identify(std::string filename)
}
int best = 0;
- floppy_image_format_t *best_format = nullptr;
- for(floppy_image_format_t *format : fif_list) {
+ const floppy_image_format_t *best_format = nullptr;
+ for(const floppy_image_format_t *format : fif_list) {
int score = format->identify(*io, form_factor, variants);
if(score > best) {
best = score;
@@ -604,8 +598,8 @@ image_init_result floppy_image_device::call_load()
}
int best = 0;
- floppy_image_format_t *best_format = nullptr;
- for (floppy_image_format_t *format : fif_list) {
+ const floppy_image_format_t *best_format = nullptr;
+ for (const floppy_image_format_t *format : fif_list) {
int score = format->identify(*io, form_factor, variants);
if(score > best) {
best = score;
@@ -810,7 +804,7 @@ image_init_result floppy_image_device::call_create(int format_type, util::option
output_format = nullptr;
// search for a suitable format based on the extension
- for(floppy_image_format_t *i : fif_list)
+ for(const floppy_image_format_t *i : fif_list)
{
// only consider formats that actually support saving
if(!i->supports_save())
@@ -843,10 +837,8 @@ void floppy_image_device::init_fs(const fs_info *fs, const fs::meta_data &meta)
auto cfs = fs->m_manager->mount(blockdev);
cfs->format(meta);
- auto source_format = fs->m_type();
auto io = util::ram_read(img.data(), img.size(), 0xff);
- source_format->load(*io, floppy_image::FF_UNKNOWN, variants, image.get());
- delete source_format;
+ fs->m_type->load(*io, floppy_image::FF_UNKNOWN, variants, image.get());
} else {
fs::unformatted_image::format(fs->m_key, image.get());
}
diff --git a/src/devices/imagedev/floppy.h b/src/devices/imagedev/floppy.h
index 2c23c48d470..a91624c2a23 100644
--- a/src/devices/imagedev/floppy.h
+++ b/src/devices/imagedev/floppy.h
@@ -26,14 +26,14 @@ class format_registration {
public:
format_registration();
- void add(floppy_format_type format);
+ void add(const floppy_image_format_t &format);
void add(const fs::manager_t &fs);
void add_fm_containers();
void add_mfm_containers();
void add_pc_formats();
- std::vector<floppy_format_type> m_formats;
+ std::vector<const floppy_image_format_t *> m_formats;
std::vector<const fs::manager_t *> m_fs;
};
@@ -50,13 +50,13 @@ public:
struct fs_info {
const fs::manager_t *m_manager;
- floppy_format_type m_type;
+ const floppy_image_format_t *m_type;
u32 m_image_size;
const char *m_name;
u32 m_key;
const char *m_description;
- fs_info(const fs::manager_t *manager, floppy_format_type type, u32 image_size, const char *name, const char *description) :
+ fs_info(const fs::manager_t *manager, const floppy_image_format_t *type, u32 image_size, const char *name, const char *description) :
m_manager(manager),
m_type(type),
m_image_size(image_size),
@@ -79,11 +79,11 @@ public:
virtual ~floppy_image_device();
void set_formats(std::function<void (format_registration &fr)> formats);
- const std::vector<floppy_image_format_t *> &get_formats() const;
+ const std::vector<const floppy_image_format_t *> &get_formats() const;
const std::vector<fs_info> &get_create_fs() const { return m_create_fs; }
const std::vector<fs_info> &get_io_fs() const { return m_io_fs; }
- floppy_image_format_t *get_load_format() const;
- floppy_image_format_t *identify(std::string filename);
+ const floppy_image_format_t *get_load_format() const;
+ const floppy_image_format_t *identify(std::string filename);
void set_rpm(float rpm);
void init_fs(const fs_info *fs, const fs::meta_data &meta);
@@ -101,7 +101,7 @@ public:
virtual const char *file_extensions() const noexcept override { return extension_list; }
virtual const char *image_type_name() const noexcept override { return "floppydisk"; }
virtual const char *image_brief_type_name() const noexcept override { return "flop"; }
- void setup_write(floppy_image_format_t *output_format);
+ void setup_write(const floppy_image_format_t *output_format);
void setup_load_cb(load_cb cb);
void setup_unload_cb(unload_cb cb);
@@ -161,7 +161,7 @@ protected:
fs_enum(floppy_image_device *fid) : fs::manager_t::floppy_enumerator(), m_fid(fid) {}
- virtual void add(floppy_format_type type, u32 image_size, const char *name, const char *description) override;
+ virtual void add(const floppy_image_format_t &type, u32 image_size, const char *name, const char *description) override;
virtual void add_raw(const char *name, u32 key, const char *description) override;
};
@@ -183,12 +183,12 @@ protected:
void init_floppy_load(bool write_supported);
std::function<void (format_registration &fr)> format_registration_cb;
- floppy_image_format_t *input_format;
- floppy_image_format_t *output_format;
+ const floppy_image_format_t *input_format;
+ const floppy_image_format_t *output_format;
std::vector<uint32_t> variants;
std::unique_ptr<floppy_image> image;
char extension_list[256];
- std::vector<floppy_image_format_t *> fif_list;
+ std::vector<const floppy_image_format_t *> fif_list;
std::vector<fs_info> m_create_fs, m_io_fs;
std::vector<const fs::manager_t *> m_fs_managers;
emu_timer *index_timer;
diff --git a/src/frontend/mame/ui/filecreate.cpp b/src/frontend/mame/ui/filecreate.cpp
index 875fe1cd197..8e036f4ae3b 100644
--- a/src/frontend/mame/ui/filecreate.cpp
+++ b/src/frontend/mame/ui/filecreate.cpp
@@ -231,7 +231,7 @@ SELECT FORMAT MENU
// ctor
//-------------------------------------------------
-menu_select_format::menu_select_format(mame_ui_manager &mui, render_container &container, const std::vector<floppy_image_format_t *> &formats, int ext_match, floppy_image_format_t **result)
+menu_select_format::menu_select_format(mame_ui_manager &mui, render_container &container, const std::vector<const floppy_image_format_t *> &formats, int ext_match, const floppy_image_format_t **result)
: menu(mui, container)
{
m_formats = formats;
@@ -258,11 +258,11 @@ void menu_select_format::populate(float &customtop, float &custombottom)
item_append(_("Select image format"), FLAG_DISABLE, nullptr);
for (unsigned int i = 0; i != m_formats.size(); i++)
{
- floppy_image_format_t *fmt = m_formats[i];
+ const floppy_image_format_t *fmt = m_formats[i];
if (i && i == m_ext_match)
item_append(menu_item_type::SEPARATOR);
- item_append(fmt->description(), fmt->name(), 0, fmt);
+ item_append(fmt->description(), fmt->name(), 0, const_cast<floppy_image_format_t *>(fmt));
}
}
diff --git a/src/frontend/mame/ui/filecreate.h b/src/frontend/mame/ui/filecreate.h
index 2debc892859..bc08ef66974 100644
--- a/src/frontend/mame/ui/filecreate.h
+++ b/src/frontend/mame/ui/filecreate.h
@@ -67,7 +67,7 @@ class menu_select_format : public menu
{
public:
menu_select_format(mame_ui_manager &mui, render_container &container,
- const std::vector<floppy_image_format_t *> &formats, int ext_match, floppy_image_format_t **result);
+ const std::vector<const floppy_image_format_t *> &formats, int ext_match, const floppy_image_format_t **result);
virtual ~menu_select_format() override;
private:
@@ -75,9 +75,9 @@ private:
virtual void handle(event const *ev) override;
// internal state
- std::vector<floppy_image_format_t *> m_formats;
- int m_ext_match;
- floppy_image_format_t * *m_result;
+ std::vector<const floppy_image_format_t *> m_formats;
+ int m_ext_match;
+ const floppy_image_format_t * *m_result;
};
// ======================> menu_select_floppy_init
diff --git a/src/frontend/mame/ui/floppycntrl.cpp b/src/frontend/mame/ui/floppycntrl.cpp
index d9d6d421b81..0e658b52199 100644
--- a/src/frontend/mame/ui/floppycntrl.cpp
+++ b/src/frontend/mame/ui/floppycntrl.cpp
@@ -98,15 +98,15 @@ void menu_control_floppy_image::menu_activated()
{
switch (m_state) {
case DO_CREATE: {
- std::vector<floppy_image_format_t *> format_array;
- for(floppy_image_format_t *i : fd.get_formats()) {
+ std::vector<const floppy_image_format_t *> format_array;
+ for(const floppy_image_format_t *i : fd.get_formats()) {
if(!i->supports_save())
continue;
if (i->extension_matches(m_current_file.c_str()))
format_array.push_back(i);
}
int ext_match = format_array.size();
- for(floppy_image_format_t *i : fd.get_formats()) {
+ for(const floppy_image_format_t *i : fd.get_formats()) {
if(!i->supports_save())
continue;
if (!i->extension_matches(m_current_file.c_str()))
diff --git a/src/frontend/mame/ui/floppycntrl.h b/src/frontend/mame/ui/floppycntrl.h
index bdc1104d0a5..5923a9f8914 100644
--- a/src/frontend/mame/ui/floppycntrl.h
+++ b/src/frontend/mame/ui/floppycntrl.h
@@ -33,7 +33,7 @@ private:
enum { SELECT_FORMAT = LAST_ID, SELECT_MEDIA, SELECT_INIT, SELECT_RW };
floppy_image_device &fd;
- floppy_image_format_t *input_format, *output_format;
+ const floppy_image_format_t *input_format, *output_format;
const floppy_image_device::fs_info *create_fs;
std::string input_filename, output_filename;
diff --git a/src/lib/formats/2d_dsk.cpp b/src/lib/formats/2d_dsk.cpp
index d73791bf45d..c0df26401ad 100644
--- a/src/lib/formats/2d_dsk.cpp
+++ b/src/lib/formats/2d_dsk.cpp
@@ -38,4 +38,4 @@ const _2d_format::format _2d_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_2D_FORMAT = &floppy_image_format_creator<_2d_format>;
+const _2d_format FLOPPY_2D_FORMAT;
diff --git a/src/lib/formats/2d_dsk.h b/src/lib/formats/2d_dsk.h
index 1b9fa867630..182b539e608 100644
--- a/src/lib/formats/2d_dsk.h
+++ b/src/lib/formats/2d_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_2D_FORMAT;
+extern const _2d_format FLOPPY_2D_FORMAT;
#endif // MAME_FORMATS_2D_DSK_H
diff --git a/src/lib/formats/a5105_dsk.cpp b/src/lib/formats/a5105_dsk.cpp
index 261effea2fc..e1ee3724be4 100644
--- a/src/lib/formats/a5105_dsk.cpp
+++ b/src/lib/formats/a5105_dsk.cpp
@@ -42,4 +42,4 @@ const a5105_format::format a5105_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_A5105_FORMAT = &floppy_image_format_creator<a5105_format>;
+const a5105_format FLOPPY_A5105_FORMAT;
diff --git a/src/lib/formats/a5105_dsk.h b/src/lib/formats/a5105_dsk.h
index a2e8532ec56..fe0ddd09b86 100644
--- a/src/lib/formats/a5105_dsk.h
+++ b/src/lib/formats/a5105_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_A5105_FORMAT;
+extern const a5105_format FLOPPY_A5105_FORMAT;
#endif // MAME_FORMATS_A5105_DSK_H
diff --git a/src/lib/formats/abc1600_dsk.cpp b/src/lib/formats/abc1600_dsk.cpp
index 4b33e9ce3ac..9b344269c3a 100644
--- a/src/lib/formats/abc1600_dsk.cpp
+++ b/src/lib/formats/abc1600_dsk.cpp
@@ -57,7 +57,7 @@ const abc1600_format::format abc1600_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_ABC1600_FORMAT = &floppy_image_format_creator<abc1600_format>;
+const abc1600_format FLOPPY_ABC1600_FORMAT;
int abc1600_format::get_image_offset(const format &f, int head, int track) const
{
diff --git a/src/lib/formats/abc1600_dsk.h b/src/lib/formats/abc1600_dsk.h
index 8f97ab97d4b..1e4bb758a54 100644
--- a/src/lib/formats/abc1600_dsk.h
+++ b/src/lib/formats/abc1600_dsk.h
@@ -30,6 +30,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_ABC1600_FORMAT;
+extern const abc1600_format FLOPPY_ABC1600_FORMAT;
#endif // MAME_FORMATS_ABC1600_DSK_H
diff --git a/src/lib/formats/abc800_dsk.cpp b/src/lib/formats/abc800_dsk.cpp
index 93250b6a388..9fc66db187f 100644
--- a/src/lib/formats/abc800_dsk.cpp
+++ b/src/lib/formats/abc800_dsk.cpp
@@ -139,7 +139,7 @@ const abc800_format::format abc800_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_ABC800_FORMAT = &floppy_image_format_creator<abc800_format>;
+const abc800_format FLOPPY_ABC800_FORMAT;
void abc800_format::build_sector_description(const format &f, uint8_t *sectdata, desc_s *sectors, int track, int head) const
{
diff --git a/src/lib/formats/abc800_dsk.h b/src/lib/formats/abc800_dsk.h
index 90ad8627e8f..c75def822f4 100644
--- a/src/lib/formats/abc800_dsk.h
+++ b/src/lib/formats/abc800_dsk.h
@@ -30,6 +30,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_ABC800_FORMAT;
+extern const abc800_format FLOPPY_ABC800_FORMAT;
#endif // MAME_FORMATS_ABC800_DSK_H
diff --git a/src/lib/formats/abcfd2_dsk.cpp b/src/lib/formats/abcfd2_dsk.cpp
index 19b1dab50d3..dbaef17f3fa 100644
--- a/src/lib/formats/abcfd2_dsk.cpp
+++ b/src/lib/formats/abcfd2_dsk.cpp
@@ -57,4 +57,4 @@ const abc_fd2_format::format abc_fd2_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_ABC_FD2_FORMAT = &floppy_image_format_creator<abc_fd2_format>;
+const abc_fd2_format FLOPPY_ABC_FD2_FORMAT;
diff --git a/src/lib/formats/abcfd2_dsk.h b/src/lib/formats/abcfd2_dsk.h
index 174e0c29286..72e79bb9e27 100644
--- a/src/lib/formats/abcfd2_dsk.h
+++ b/src/lib/formats/abcfd2_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_ABC_FD2_FORMAT;
+extern const abc_fd2_format FLOPPY_ABC_FD2_FORMAT;
#endif // MAME_FORMATS_ABCFD2_DSK_H
diff --git a/src/lib/formats/acorn_dsk.cpp b/src/lib/formats/acorn_dsk.cpp
index bd02f9ad2f1..ff26a1b020a 100644
--- a/src/lib/formats/acorn_dsk.cpp
+++ b/src/lib/formats/acorn_dsk.cpp
@@ -756,10 +756,10 @@ bool opus_ddcpm_format::save(util::random_read_write &io, const std::vector<uint
}
-const floppy_format_type FLOPPY_ACORN_SSD_FORMAT = &floppy_image_format_creator<acorn_ssd_format>;
-const floppy_format_type FLOPPY_ACORN_DSD_FORMAT = &floppy_image_format_creator<acorn_dsd_format>;
-const floppy_format_type FLOPPY_ACORN_DOS_FORMAT = &floppy_image_format_creator<acorn_dos_format>;
-const floppy_format_type FLOPPY_ACORN_ADFS_OLD_FORMAT = &floppy_image_format_creator<acorn_adfs_old_format>;
-const floppy_format_type FLOPPY_ACORN_ADFS_NEW_FORMAT = &floppy_image_format_creator<acorn_adfs_new_format>;
-const floppy_format_type FLOPPY_OPUS_DDOS_FORMAT = &floppy_image_format_creator<opus_ddos_format>;
-const floppy_format_type FLOPPY_OPUS_DDCPM_FORMAT = &floppy_image_format_creator<opus_ddcpm_format>;
+const acorn_ssd_format FLOPPY_ACORN_SSD_FORMAT;
+const acorn_dsd_format FLOPPY_ACORN_DSD_FORMAT;
+const acorn_dos_format FLOPPY_ACORN_DOS_FORMAT;
+const acorn_adfs_old_format FLOPPY_ACORN_ADFS_OLD_FORMAT;
+const acorn_adfs_new_format FLOPPY_ACORN_ADFS_NEW_FORMAT;
+const opus_ddos_format FLOPPY_OPUS_DDOS_FORMAT;
+const opus_ddcpm_format FLOPPY_OPUS_DDCPM_FORMAT;
diff --git a/src/lib/formats/acorn_dsk.h b/src/lib/formats/acorn_dsk.h
index d3d73abe5d5..3dc9ce7005b 100644
--- a/src/lib/formats/acorn_dsk.h
+++ b/src/lib/formats/acorn_dsk.h
@@ -127,12 +127,12 @@ public:
};
-extern const floppy_format_type FLOPPY_ACORN_SSD_FORMAT;
-extern const floppy_format_type FLOPPY_ACORN_DSD_FORMAT;
-extern const floppy_format_type FLOPPY_ACORN_DOS_FORMAT;
-extern const floppy_format_type FLOPPY_ACORN_ADFS_OLD_FORMAT;
-extern const floppy_format_type FLOPPY_ACORN_ADFS_NEW_FORMAT;
-extern const floppy_format_type FLOPPY_OPUS_DDOS_FORMAT;
-extern const floppy_format_type FLOPPY_OPUS_DDCPM_FORMAT;
+extern const acorn_ssd_format FLOPPY_ACORN_SSD_FORMAT;
+extern const acorn_dsd_format FLOPPY_ACORN_DSD_FORMAT;
+extern const acorn_dos_format FLOPPY_ACORN_DOS_FORMAT;
+extern const acorn_adfs_old_format FLOPPY_ACORN_ADFS_OLD_FORMAT;
+extern const acorn_adfs_new_format FLOPPY_ACORN_ADFS_NEW_FORMAT;
+extern const opus_ddos_format FLOPPY_OPUS_DDOS_FORMAT;
+extern const opus_ddcpm_format FLOPPY_OPUS_DDCPM_FORMAT;
#endif // MAME_FORMATS_ACORN_DSK_H
diff --git a/src/lib/formats/adam_dsk.cpp b/src/lib/formats/adam_dsk.cpp
index c0e6b8628ee..362153cada5 100644
--- a/src/lib/formats/adam_dsk.cpp
+++ b/src/lib/formats/adam_dsk.cpp
@@ -65,4 +65,4 @@ const adam_format::format adam_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_ADAM_FORMAT = &floppy_image_format_creator<adam_format>;
+const adam_format FLOPPY_ADAM_FORMAT;
diff --git a/src/lib/formats/adam_dsk.h b/src/lib/formats/adam_dsk.h
index 0ac28d0522f..1779d31420e 100644
--- a/src/lib/formats/adam_dsk.h
+++ b/src/lib/formats/adam_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_ADAM_FORMAT;
+extern const adam_format FLOPPY_ADAM_FORMAT;
#endif // MAME_FORMATS_ADAM_DSK_H
diff --git a/src/lib/formats/afs_dsk.cpp b/src/lib/formats/afs_dsk.cpp
index 700860b7eeb..762e81b7603 100644
--- a/src/lib/formats/afs_dsk.cpp
+++ b/src/lib/formats/afs_dsk.cpp
@@ -58,4 +58,4 @@ const afs_format::format afs_format::formats[] =
};
-const floppy_format_type FLOPPY_AFS_FORMAT = &floppy_image_format_creator<afs_format>;
+const afs_format FLOPPY_AFS_FORMAT;
diff --git a/src/lib/formats/afs_dsk.h b/src/lib/formats/afs_dsk.h
index a966a3cd925..4fe78618823 100644
--- a/src/lib/formats/afs_dsk.h
+++ b/src/lib/formats/afs_dsk.h
@@ -31,6 +31,6 @@ private:
};
-extern const floppy_format_type FLOPPY_AFS_FORMAT;
+extern const afs_format FLOPPY_AFS_FORMAT;
#endif // MAME_FORMATS_AFS_DSK_H
diff --git a/src/lib/formats/aim_dsk.cpp b/src/lib/formats/aim_dsk.cpp
index b70160fdf53..04225ad10d8 100644
--- a/src/lib/formats/aim_dsk.cpp
+++ b/src/lib/formats/aim_dsk.cpp
@@ -133,4 +133,4 @@ bool aim_format::load(util::random_read &io, uint32_t form_factor, const std::ve
}
-const floppy_format_type FLOPPY_AIM_FORMAT = &floppy_image_format_creator<aim_format>;
+const aim_format FLOPPY_AIM_FORMAT;
diff --git a/src/lib/formats/aim_dsk.h b/src/lib/formats/aim_dsk.h
index 9a0135162c2..3dde7adec05 100644
--- a/src/lib/formats/aim_dsk.h
+++ b/src/lib/formats/aim_dsk.h
@@ -30,6 +30,6 @@ public:
virtual bool supports_save() const override { return false; }
};
-extern const floppy_format_type FLOPPY_AIM_FORMAT;
+extern const aim_format FLOPPY_AIM_FORMAT;
#endif // MAME_FORMATS_AIM_DSK_H
diff --git a/src/lib/formats/all.h b/src/lib/formats/all.h
index bf797bda5eb..7c252a5bea4 100644
--- a/src/lib/formats/all.h
+++ b/src/lib/formats/all.h
@@ -17,7 +17,7 @@ struct mame_formats_enumerator {
virtual void category(const char *name) = 0;
virtual void add(const cassette_image::Format *const *formats) = 0;
- virtual void add(floppy_format_type format) = 0;
+ virtual void add(const floppy_image_format_t &format) = 0;
virtual void add(const fs::manager_t &fs) = 0;
};
diff --git a/src/lib/formats/ami_dsk.cpp b/src/lib/formats/ami_dsk.cpp
index 4979bee99b7..48b873b128e 100644
--- a/src/lib/formats/ami_dsk.cpp
+++ b/src/lib/formats/ami_dsk.cpp
@@ -159,4 +159,4 @@ bool adf_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return true;
}
-const floppy_format_type FLOPPY_ADF_FORMAT = &floppy_image_format_creator<adf_format>;
+const adf_format FLOPPY_ADF_FORMAT;
diff --git a/src/lib/formats/ami_dsk.h b/src/lib/formats/ami_dsk.h
index 4f1b444388a..1854acb2126 100644
--- a/src/lib/formats/ami_dsk.h
+++ b/src/lib/formats/ami_dsk.h
@@ -33,6 +33,6 @@ private:
static uint32_t checksum(const std::vector<bool> &bitsteam, uint32_t pos, int long_count);
};
-extern const floppy_format_type FLOPPY_ADF_FORMAT;
+extern const adf_format FLOPPY_ADF_FORMAT;
#endif // MAME_FORMATS_AMI_DSK_H
diff --git a/src/lib/formats/ap2_dsk.cpp b/src/lib/formats/ap2_dsk.cpp
index 7b8e9f286e6..880ab10d092 100644
--- a/src/lib/formats/ap2_dsk.cpp
+++ b/src/lib/formats/ap2_dsk.cpp
@@ -925,8 +925,8 @@ bool a2_16sect_format::save(util::random_read_write &io, const std::vector<uint3
return true;
}
-const floppy_format_type FLOPPY_A216S_DOS_FORMAT = &floppy_image_format_creator<a2_16sect_dos_format>;
-const floppy_format_type FLOPPY_A216S_PRODOS_FORMAT = &floppy_image_format_creator<a2_16sect_prodos_format>;
+const a2_16sect_dos_format FLOPPY_A216S_DOS_FORMAT;
+const a2_16sect_prodos_format FLOPPY_A216S_PRODOS_FORMAT;
/* RWTS18 format
* Developed by Roland Gustafsson (http://www.acts.org/roland/index.html)
for Br0derbund Software around 1986
@@ -1434,7 +1434,7 @@ bool a2_rwts18_format::save(util::random_read_write &io, const std::vector<uint3
return true;
}
-const floppy_format_type FLOPPY_RWTS18_FORMAT = &floppy_image_format_creator<a2_rwts18_format>;
+const a2_rwts18_format FLOPPY_RWTS18_FORMAT;
a2_edd_format::a2_edd_format() : floppy_image_format_t()
{
@@ -1557,7 +1557,7 @@ bool a2_edd_format::load(util::random_read &io, uint32_t form_factor, const std:
return true;
}
-const floppy_format_type FLOPPY_EDD_FORMAT = &floppy_image_format_creator<a2_edd_format>;
+const a2_edd_format FLOPPY_EDD_FORMAT;
a2_woz_format::a2_woz_format() : floppy_image_format_t()
@@ -1850,7 +1850,7 @@ uint32_t a2_woz_format::crc32r(const uint8_t *data, uint32_t size)
}
-const floppy_format_type FLOPPY_WOZ_FORMAT = &floppy_image_format_creator<a2_woz_format>;
+const a2_woz_format FLOPPY_WOZ_FORMAT;
a2_nib_format::a2_nib_format() : floppy_image_format_t()
@@ -2026,4 +2026,4 @@ bool a2_nib_format::load(util::random_read &io, uint32_t form_factor, const std:
}
-const floppy_format_type FLOPPY_NIB_FORMAT = &floppy_image_format_creator<a2_nib_format>;
+const a2_nib_format FLOPPY_NIB_FORMAT;
diff --git a/src/lib/formats/ap2_dsk.h b/src/lib/formats/ap2_dsk.h
index 2e86be654dc..acb55f4831d 100644
--- a/src/lib/formats/ap2_dsk.h
+++ b/src/lib/formats/ap2_dsk.h
@@ -72,8 +72,8 @@ public:
virtual const char *extensions() const override;
};
-extern const floppy_format_type FLOPPY_A216S_DOS_FORMAT;
-extern const floppy_format_type FLOPPY_A216S_PRODOS_FORMAT;
+extern const a2_16sect_dos_format FLOPPY_A216S_DOS_FORMAT;
+extern const a2_16sect_prodos_format FLOPPY_A216S_PRODOS_FORMAT;
class a2_rwts18_format : public floppy_image_format_t
{
@@ -95,7 +95,7 @@ private:
static uint8_t gb(const std::vector<bool> &buf, int &pos, int &wrap);
};
-extern const floppy_format_type FLOPPY_RWTS18_FORMAT;
+extern const a2_rwts18_format FLOPPY_RWTS18_FORMAT;
class a2_edd_format : public floppy_image_format_t
@@ -115,7 +115,7 @@ private:
static uint8_t pick(const uint8_t *data, int pos);
};
-extern const floppy_format_type FLOPPY_EDD_FORMAT;
+extern const a2_edd_format FLOPPY_EDD_FORMAT;
class a2_woz_format : public floppy_image_format_t
{
@@ -144,7 +144,7 @@ private:
static uint32_t find_tag(const std::vector<uint8_t> &data, uint32_t tag);
};
-extern const floppy_format_type FLOPPY_WOZ_FORMAT;
+extern const a2_woz_format FLOPPY_WOZ_FORMAT;
class a2_nib_format : public floppy_image_format_t
@@ -170,6 +170,6 @@ private:
static std::vector<uint32_t> generate_levels_from_nibbles(const std::vector<uint8_t>& nibbles);
};
-extern const floppy_format_type FLOPPY_NIB_FORMAT;
+extern const a2_nib_format FLOPPY_NIB_FORMAT;
#endif // MAME_FORMATS_AP2_DSK_H
diff --git a/src/lib/formats/ap_dsk35.cpp b/src/lib/formats/ap_dsk35.cpp
index 25999bc01d7..bb07ba13ca4 100644
--- a/src/lib/formats/ap_dsk35.cpp
+++ b/src/lib/formats/ap_dsk35.cpp
@@ -1414,7 +1414,7 @@ bool dc42_format::save(util::random_read_write &io, const std::vector<uint32_t>
return true;
}
-const floppy_format_type FLOPPY_DC42_FORMAT = &floppy_image_format_creator<dc42_format>;
+const dc42_format FLOPPY_DC42_FORMAT;
apple_gcr_format::apple_gcr_format() : floppy_image_format_t()
@@ -1523,7 +1523,7 @@ bool apple_gcr_format::save(util::random_read_write &io, const std::vector<uint3
return true;
}
-const floppy_format_type FLOPPY_APPLE_GCR_FORMAT = &floppy_image_format_creator<apple_gcr_format>;
+const apple_gcr_format FLOPPY_APPLE_GCR_FORMAT;
// .2MG format
apple_2mg_format::apple_2mg_format() : floppy_image_format_t()
@@ -1648,4 +1648,4 @@ bool apple_2mg_format::save(util::random_read_write &io, const std::vector<uint3
return true;
}
-const floppy_format_type FLOPPY_APPLE_2MG_FORMAT = &floppy_image_format_creator<apple_2mg_format>;
+const apple_2mg_format FLOPPY_APPLE_2MG_FORMAT;
diff --git a/src/lib/formats/ap_dsk35.h b/src/lib/formats/ap_dsk35.h
index 49ebec57861..f9df62a326d 100644
--- a/src/lib/formats/ap_dsk35.h
+++ b/src/lib/formats/ap_dsk35.h
@@ -43,7 +43,7 @@ private:
static void update_chk(const uint8_t *data, int size, uint32_t &chk);
};
-extern const floppy_format_type FLOPPY_DC42_FORMAT;
+extern const dc42_format FLOPPY_DC42_FORMAT;
class apple_gcr_format : public floppy_image_format_t
{
@@ -60,7 +60,7 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_APPLE_GCR_FORMAT;
+extern const apple_gcr_format FLOPPY_APPLE_GCR_FORMAT;
class apple_2mg_format : public floppy_image_format_t
{
@@ -77,6 +77,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_APPLE_2MG_FORMAT;
+extern const apple_2mg_format FLOPPY_APPLE_2MG_FORMAT;
#endif // MAME_FORMATS_AP_DSK35_H
diff --git a/src/lib/formats/apd_dsk.cpp b/src/lib/formats/apd_dsk.cpp
index 85a89290748..b93be8e9372 100644
--- a/src/lib/formats/apd_dsk.cpp
+++ b/src/lib/formats/apd_dsk.cpp
@@ -210,4 +210,4 @@ bool apd_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_APD_FORMAT = &floppy_image_format_creator<apd_format>;
+const apd_format FLOPPY_APD_FORMAT;
diff --git a/src/lib/formats/apd_dsk.h b/src/lib/formats/apd_dsk.h
index 51f7130ffef..10a16fa563d 100644
--- a/src/lib/formats/apd_dsk.h
+++ b/src/lib/formats/apd_dsk.h
@@ -28,6 +28,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_APD_FORMAT;
+extern const apd_format FLOPPY_APD_FORMAT;
#endif // MAME_FORMATS_APD_DSK_H
diff --git a/src/lib/formats/apollo_dsk.cpp b/src/lib/formats/apollo_dsk.cpp
index 62f8e354d61..a2d64fd179a 100644
--- a/src/lib/formats/apollo_dsk.cpp
+++ b/src/lib/formats/apollo_dsk.cpp
@@ -45,4 +45,4 @@ const apollo_format::format apollo_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_APOLLO_FORMAT = &floppy_image_format_creator<apollo_format>;
+const apollo_format FLOPPY_APOLLO_FORMAT;
diff --git a/src/lib/formats/apollo_dsk.h b/src/lib/formats/apollo_dsk.h
index 2320af167fb..ed5709259fc 100644
--- a/src/lib/formats/apollo_dsk.h
+++ b/src/lib/formats/apollo_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_APOLLO_FORMAT;
+extern const apollo_format FLOPPY_APOLLO_FORMAT;
#endif // MAME_FORMATS_APOLLO_DSK_H
diff --git a/src/lib/formats/applix_dsk.cpp b/src/lib/formats/applix_dsk.cpp
index 41a303c73a6..2b19b1eb1a0 100644
--- a/src/lib/formats/applix_dsk.cpp
+++ b/src/lib/formats/applix_dsk.cpp
@@ -38,4 +38,4 @@ const applix_format::format applix_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_APPLIX_FORMAT = &floppy_image_format_creator<applix_format>;
+const applix_format FLOPPY_APPLIX_FORMAT;
diff --git a/src/lib/formats/applix_dsk.h b/src/lib/formats/applix_dsk.h
index 6086d55fe57..d20b9d4c818 100644
--- a/src/lib/formats/applix_dsk.h
+++ b/src/lib/formats/applix_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_APPLIX_FORMAT;
+extern const applix_format FLOPPY_APPLIX_FORMAT;
#endif // MAME_FORMATS_APPLIX_DSK_H
diff --git a/src/lib/formats/apridisk.cpp b/src/lib/formats/apridisk.cpp
index 2fa2b4248b7..529b98ec2e8 100644
--- a/src/lib/formats/apridisk.cpp
+++ b/src/lib/formats/apridisk.cpp
@@ -153,4 +153,4 @@ bool apridisk_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_APRIDISK_FORMAT = &floppy_image_format_creator<apridisk_format>;
+const apridisk_format FLOPPY_APRIDISK_FORMAT;
diff --git a/src/lib/formats/apridisk.h b/src/lib/formats/apridisk.h
index 4e7de1d2f80..140321da04d 100644
--- a/src/lib/formats/apridisk.h
+++ b/src/lib/formats/apridisk.h
@@ -50,6 +50,6 @@ private:
static const int MAX_SECTORS = 2880; // enough for a hd disk image
};
-extern const floppy_format_type FLOPPY_APRIDISK_FORMAT;
+extern const apridisk_format FLOPPY_APRIDISK_FORMAT;
#endif // MAME_FORMATS_APRIDISK_H
diff --git a/src/lib/formats/asst128_dsk.cpp b/src/lib/formats/asst128_dsk.cpp
index 0509cf7e7e4..f6a636492cf 100644
--- a/src/lib/formats/asst128_dsk.cpp
+++ b/src/lib/formats/asst128_dsk.cpp
@@ -38,4 +38,4 @@ const asst128_format::format asst128_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_ASST128_FORMAT = &floppy_image_format_creator<asst128_format>;
+const asst128_format FLOPPY_ASST128_FORMAT;
diff --git a/src/lib/formats/asst128_dsk.h b/src/lib/formats/asst128_dsk.h
index 532bdb97c4b..4687b206287 100644
--- a/src/lib/formats/asst128_dsk.h
+++ b/src/lib/formats/asst128_dsk.h
@@ -26,6 +26,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_ASST128_FORMAT;
+extern const asst128_format FLOPPY_ASST128_FORMAT;
#endif // MAME_FORMATS_ASST128_DSK_H
diff --git a/src/lib/formats/atom_dsk.cpp b/src/lib/formats/atom_dsk.cpp
index 36e4eeab69a..0f652a6fee3 100644
--- a/src/lib/formats/atom_dsk.cpp
+++ b/src/lib/formats/atom_dsk.cpp
@@ -30,4 +30,4 @@ const atom_format::format atom_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_ATOM_FORMAT = &floppy_image_format_creator<atom_format>;
+const atom_format FLOPPY_ATOM_FORMAT;
diff --git a/src/lib/formats/atom_dsk.h b/src/lib/formats/atom_dsk.h
index ef9cfa28d85..93762dd6c94 100644
--- a/src/lib/formats/atom_dsk.h
+++ b/src/lib/formats/atom_dsk.h
@@ -21,6 +21,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_ATOM_FORMAT;
+extern const atom_format FLOPPY_ATOM_FORMAT;
#endif // MAME_FORMATS_ATOM_DSK_H
diff --git a/src/lib/formats/bw12_dsk.cpp b/src/lib/formats/bw12_dsk.cpp
index 56baeecd8a8..0a0db54b218 100644
--- a/src/lib/formats/bw12_dsk.cpp
+++ b/src/lib/formats/bw12_dsk.cpp
@@ -55,4 +55,4 @@ const bw12_format::format bw12_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_BW12_FORMAT = &floppy_image_format_creator<bw12_format>;
+const bw12_format FLOPPY_BW12_FORMAT;
diff --git a/src/lib/formats/bw12_dsk.h b/src/lib/formats/bw12_dsk.h
index ac2e370aeb3..356d4b92655 100644
--- a/src/lib/formats/bw12_dsk.h
+++ b/src/lib/formats/bw12_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_BW12_FORMAT;
+extern const bw12_format FLOPPY_BW12_FORMAT;
#endif // MAME_FORMATS_BW12_DSK_H
diff --git a/src/lib/formats/bw2_dsk.cpp b/src/lib/formats/bw2_dsk.cpp
index 5e359d365a1..15d4e031478 100644
--- a/src/lib/formats/bw2_dsk.cpp
+++ b/src/lib/formats/bw2_dsk.cpp
@@ -41,4 +41,4 @@ const bw2_format::format bw2_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_BW2_FORMAT = &floppy_image_format_creator<bw2_format>;
+const bw2_format FLOPPY_BW2_FORMAT;
diff --git a/src/lib/formats/bw2_dsk.h b/src/lib/formats/bw2_dsk.h
index 8a84ef0dd27..2cc4588d134 100644
--- a/src/lib/formats/bw2_dsk.h
+++ b/src/lib/formats/bw2_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_BW2_FORMAT;
+extern const bw2_format FLOPPY_BW2_FORMAT;
#endif // MAME_FORMATS_BW2_DSK_H
diff --git a/src/lib/formats/c3040_dsk.cpp b/src/lib/formats/c3040_dsk.cpp
index b520227d2b8..7cb043ff99e 100644
--- a/src/lib/formats/c3040_dsk.cpp
+++ b/src/lib/formats/c3040_dsk.cpp
@@ -96,4 +96,4 @@ void c3040_format::fix_end_gap(floppy_image_format_t::desc_e* desc, int remainin
desc[20].p1 >>= remaining_size & 0x01;
}
-const floppy_format_type FLOPPY_C3040_FORMAT = &floppy_image_format_creator<c3040_format>;
+const c3040_format FLOPPY_C3040_FORMAT;
diff --git a/src/lib/formats/c3040_dsk.h b/src/lib/formats/c3040_dsk.h
index 9023291eabc..1e8eaaa1bed 100644
--- a/src/lib/formats/c3040_dsk.h
+++ b/src/lib/formats/c3040_dsk.h
@@ -34,6 +34,6 @@ protected:
static const int c3040_sectors_per_track[];
};
-extern const floppy_format_type FLOPPY_C3040_FORMAT;
+extern const c3040_format FLOPPY_C3040_FORMAT;
#endif // MAME_FORMATS_C3040_DSK_H
diff --git a/src/lib/formats/c4040_dsk.cpp b/src/lib/formats/c4040_dsk.cpp
index 2c9368c2bb4..65f1dded2c7 100644
--- a/src/lib/formats/c4040_dsk.cpp
+++ b/src/lib/formats/c4040_dsk.cpp
@@ -86,4 +86,4 @@ void c4040_format::fix_end_gap(floppy_image_format_t::desc_e* desc, int remainin
desc[20].p1 >>= remaining_size & 0x01;
}
-const floppy_format_type FLOPPY_C4040_FORMAT = &floppy_image_format_creator<c4040_format>;
+const c4040_format FLOPPY_C4040_FORMAT;
diff --git a/src/lib/formats/c4040_dsk.h b/src/lib/formats/c4040_dsk.h
index 2629958334d..a09869976b8 100644
--- a/src/lib/formats/c4040_dsk.h
+++ b/src/lib/formats/c4040_dsk.h
@@ -32,6 +32,6 @@ protected:
static const int c4040_gap2[];
};
-extern const floppy_format_type FLOPPY_C4040_FORMAT;
+extern const c4040_format FLOPPY_C4040_FORMAT;
#endif // MAME_FORMATS_C4040_DSK_H
diff --git a/src/lib/formats/c8280_dsk.cpp b/src/lib/formats/c8280_dsk.cpp
index cb39b5c3ea5..2899e55e925 100644
--- a/src/lib/formats/c8280_dsk.cpp
+++ b/src/lib/formats/c8280_dsk.cpp
@@ -66,4 +66,4 @@ const c8280_format::format c8280_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_C8280_FORMAT = &floppy_image_format_creator<c8280_format>;
+const c8280_format FLOPPY_C8280_FORMAT;
diff --git a/src/lib/formats/c8280_dsk.h b/src/lib/formats/c8280_dsk.h
index c7a9fc2b44e..400bcf9a94d 100644
--- a/src/lib/formats/c8280_dsk.h
+++ b/src/lib/formats/c8280_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_C8280_FORMAT;
+extern const c8280_format FLOPPY_C8280_FORMAT;
#endif // MAME_FORMATS_C8280_DSK_H
diff --git a/src/lib/formats/camplynx_dsk.cpp b/src/lib/formats/camplynx_dsk.cpp
index ea508aa9e3e..af3d86ce3f6 100644
--- a/src/lib/formats/camplynx_dsk.cpp
+++ b/src/lib/formats/camplynx_dsk.cpp
@@ -52,4 +52,4 @@ const camplynx_format::format camplynx_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_CAMPLYNX_FORMAT = &floppy_image_format_creator<camplynx_format>;
+const camplynx_format FLOPPY_CAMPLYNX_FORMAT;
diff --git a/src/lib/formats/camplynx_dsk.h b/src/lib/formats/camplynx_dsk.h
index f1ec996040a..a9e98aac91a 100644
--- a/src/lib/formats/camplynx_dsk.h
+++ b/src/lib/formats/camplynx_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_CAMPLYNX_FORMAT;
+extern const camplynx_format FLOPPY_CAMPLYNX_FORMAT;
#endif // MAME_FORMATS_CAMPLYNX_DSK_H
diff --git a/src/lib/formats/ccvf_dsk.cpp b/src/lib/formats/ccvf_dsk.cpp
index e3c6120ec37..f8d0a2526d9 100644
--- a/src/lib/formats/ccvf_dsk.cpp
+++ b/src/lib/formats/ccvf_dsk.cpp
@@ -156,4 +156,4 @@ bool ccvf_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_CCVF_FORMAT = &floppy_image_format_creator<ccvf_format>;
+const ccvf_format FLOPPY_CCVF_FORMAT;
diff --git a/src/lib/formats/ccvf_dsk.h b/src/lib/formats/ccvf_dsk.h
index 253dcfd83bb..d2dad99513f 100644
--- a/src/lib/formats/ccvf_dsk.h
+++ b/src/lib/formats/ccvf_dsk.h
@@ -51,6 +51,6 @@ protected:
static const format file_formats[];
};
-extern const floppy_format_type FLOPPY_CCVF_FORMAT;
+extern const ccvf_format FLOPPY_CCVF_FORMAT;
#endif // MAME_FORMATS_CCVF_DSK_H
diff --git a/src/lib/formats/cd90_640_dsk.cpp b/src/lib/formats/cd90_640_dsk.cpp
index 47295687d89..407d9b860cb 100644
--- a/src/lib/formats/cd90_640_dsk.cpp
+++ b/src/lib/formats/cd90_640_dsk.cpp
@@ -53,4 +53,4 @@ const cd90_640_format::format cd90_640_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_CD90_640_FORMAT = &floppy_image_format_creator<cd90_640_format>;
+const cd90_640_format FLOPPY_CD90_640_FORMAT;
diff --git a/src/lib/formats/cd90_640_dsk.h b/src/lib/formats/cd90_640_dsk.h
index b4ea030207a..9d075c97bfe 100644
--- a/src/lib/formats/cd90_640_dsk.h
+++ b/src/lib/formats/cd90_640_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_CD90_640_FORMAT;
+extern const cd90_640_format FLOPPY_CD90_640_FORMAT;
#endif // MAME_FORMATS_CD90_640_DSK_H
diff --git a/src/lib/formats/cgenie_dsk.cpp b/src/lib/formats/cgenie_dsk.cpp
index 612cf48971d..6d581e30b74 100644
--- a/src/lib/formats/cgenie_dsk.cpp
+++ b/src/lib/formats/cgenie_dsk.cpp
@@ -76,4 +76,4 @@ const cgenie_format::format cgenie_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_CGENIE_FORMAT = &floppy_image_format_creator<cgenie_format>;
+const cgenie_format FLOPPY_CGENIE_FORMAT;
diff --git a/src/lib/formats/cgenie_dsk.h b/src/lib/formats/cgenie_dsk.h
index d7f7775599b..d11c33866a2 100644
--- a/src/lib/formats/cgenie_dsk.h
+++ b/src/lib/formats/cgenie_dsk.h
@@ -31,6 +31,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_CGENIE_FORMAT;
+extern const cgenie_format FLOPPY_CGENIE_FORMAT;
#endif // MAME_FORMATS_CGENIE_DSK_H
diff --git a/src/lib/formats/coco_rawdsk.cpp b/src/lib/formats/coco_rawdsk.cpp
index 5f5a3341da2..5a23a7899e6 100644
--- a/src/lib/formats/coco_rawdsk.cpp
+++ b/src/lib/formats/coco_rawdsk.cpp
@@ -42,4 +42,4 @@ const coco_rawdsk_format::format coco_rawdsk_format::formats[] =
};
-const floppy_format_type FLOPPY_COCO_RAWDSK_FORMAT = &floppy_image_format_creator<coco_rawdsk_format>;
+const coco_rawdsk_format FLOPPY_COCO_RAWDSK_FORMAT;
diff --git a/src/lib/formats/coco_rawdsk.h b/src/lib/formats/coco_rawdsk.h
index e0d5ce04cb4..78ccd19b725 100644
--- a/src/lib/formats/coco_rawdsk.h
+++ b/src/lib/formats/coco_rawdsk.h
@@ -28,6 +28,6 @@ private:
};
-extern const floppy_format_type FLOPPY_COCO_RAWDSK_FORMAT;
+extern const coco_rawdsk_format FLOPPY_COCO_RAWDSK_FORMAT;
#endif // MAME_FORMATS_COCO_RAWDSK_H
diff --git a/src/lib/formats/comx35_dsk.cpp b/src/lib/formats/comx35_dsk.cpp
index e0c5734f3e6..83dba938625 100644
--- a/src/lib/formats/comx35_dsk.cpp
+++ b/src/lib/formats/comx35_dsk.cpp
@@ -74,4 +74,4 @@ const comx35_format::format comx35_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_COMX35_FORMAT = &floppy_image_format_creator<comx35_format>;
+const comx35_format FLOPPY_COMX35_FORMAT;
diff --git a/src/lib/formats/comx35_dsk.h b/src/lib/formats/comx35_dsk.h
index d5e2b961535..ab7f020211a 100644
--- a/src/lib/formats/comx35_dsk.h
+++ b/src/lib/formats/comx35_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_COMX35_FORMAT;
+extern const comx35_format FLOPPY_COMX35_FORMAT;
#endif // MAME_FORMATS_COMX35_DSK_H
diff --git a/src/lib/formats/concept_dsk.cpp b/src/lib/formats/concept_dsk.cpp
index 54b92c33536..46c071c95f6 100644
--- a/src/lib/formats/concept_dsk.cpp
+++ b/src/lib/formats/concept_dsk.cpp
@@ -154,4 +154,4 @@ bool cc525dsdd_format::save(util::random_read_write &io, const std::vector<uint3
return true;
}
-const floppy_format_type FLOPPY_CONCEPT_525DSDD_FORMAT = &floppy_image_format_creator<cc525dsdd_format>;
+const cc525dsdd_format FLOPPY_CONCEPT_525DSDD_FORMAT;
diff --git a/src/lib/formats/concept_dsk.h b/src/lib/formats/concept_dsk.h
index 000c61abc70..b9546081d47 100644
--- a/src/lib/formats/concept_dsk.h
+++ b/src/lib/formats/concept_dsk.h
@@ -32,6 +32,6 @@ private:
static void find_size(util::random_read &io, uint8_t &track_count, uint8_t &head_count, uint8_t &sector_count);
};
-extern const floppy_format_type FLOPPY_CONCEPT_525DSDD_FORMAT;
+extern const cc525dsdd_format FLOPPY_CONCEPT_525DSDD_FORMAT;
#endif // MAME_FORMATS_CONCEPT_DSK_H
diff --git a/src/lib/formats/coupedsk.cpp b/src/lib/formats/coupedsk.cpp
index 9184d436642..60b56dc3efe 100644
--- a/src/lib/formats/coupedsk.cpp
+++ b/src/lib/formats/coupedsk.cpp
@@ -128,4 +128,4 @@ bool mgt_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return true;
}
-const floppy_format_type FLOPPY_MGT_FORMAT = &floppy_image_format_creator<mgt_format>;
+const mgt_format FLOPPY_MGT_FORMAT;
diff --git a/src/lib/formats/coupedsk.h b/src/lib/formats/coupedsk.h
index 93089453db9..fec4c6db4f7 100644
--- a/src/lib/formats/coupedsk.h
+++ b/src/lib/formats/coupedsk.h
@@ -31,6 +31,6 @@ public:
static const floppy_image_format_t::desc_e desc_10[];
};
-extern const floppy_format_type FLOPPY_MGT_FORMAT;
+extern const mgt_format FLOPPY_MGT_FORMAT;
#endif // MAME_FORMATS_COUPEDSK_H
diff --git a/src/lib/formats/cpis_dsk.cpp b/src/lib/formats/cpis_dsk.cpp
index 8246db7e82e..7ba7e24e154 100644
--- a/src/lib/formats/cpis_dsk.cpp
+++ b/src/lib/formats/cpis_dsk.cpp
@@ -54,4 +54,4 @@ const cpis_format::format cpis_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_CPIS_FORMAT = &floppy_image_format_creator<cpis_format>;
+const cpis_format FLOPPY_CPIS_FORMAT;
diff --git a/src/lib/formats/cpis_dsk.h b/src/lib/formats/cpis_dsk.h
index 5328f5f3ca6..9493f8162b3 100644
--- a/src/lib/formats/cpis_dsk.h
+++ b/src/lib/formats/cpis_dsk.h
@@ -26,6 +26,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_CPIS_FORMAT;
+extern const cpis_format FLOPPY_CPIS_FORMAT;
#endif // MAME_FORMATS_CPIS_DSK_H
diff --git a/src/lib/formats/cqm_dsk.cpp b/src/lib/formats/cqm_dsk.cpp
index 0e82ebf2296..606e9c10623 100644
--- a/src/lib/formats/cqm_dsk.cpp
+++ b/src/lib/formats/cqm_dsk.cpp
@@ -376,4 +376,4 @@ bool cqm_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_CQM_FORMAT = &floppy_image_format_creator<cqm_format>;
+const cqm_format FLOPPY_CQM_FORMAT;
diff --git a/src/lib/formats/cqm_dsk.h b/src/lib/formats/cqm_dsk.h
index 5ea4e9e88ed..b8734d74d30 100644
--- a/src/lib/formats/cqm_dsk.h
+++ b/src/lib/formats/cqm_dsk.h
@@ -29,6 +29,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_CQM_FORMAT;
+extern const cqm_format FLOPPY_CQM_FORMAT;
#endif // MAME_FORMATS_CQM_DSK_H
diff --git a/src/lib/formats/d64_dsk.cpp b/src/lib/formats/d64_dsk.cpp
index 4845469bd98..01a20b229aa 100644
--- a/src/lib/formats/d64_dsk.cpp
+++ b/src/lib/formats/d64_dsk.cpp
@@ -325,4 +325,4 @@ void d64_format::extract_sectors(floppy_image *image, const format &f, desc_s *s
}
}
-const floppy_format_type FLOPPY_D64_FORMAT = &floppy_image_format_creator<d64_format>;
+const d64_format FLOPPY_D64_FORMAT;
diff --git a/src/lib/formats/d64_dsk.h b/src/lib/formats/d64_dsk.h
index 20f398f67c2..f768a6d337a 100644
--- a/src/lib/formats/d64_dsk.h
+++ b/src/lib/formats/d64_dsk.h
@@ -82,6 +82,6 @@ protected:
static const int speed_zone[];
};
-extern const floppy_format_type FLOPPY_D64_FORMAT;
+extern const d64_format FLOPPY_D64_FORMAT;
#endif // MAME_FORMATS_D64_DSK_H
diff --git a/src/lib/formats/d71_dsk.cpp b/src/lib/formats/d71_dsk.cpp
index 4150638568b..6a8a499f8f1 100644
--- a/src/lib/formats/d71_dsk.cpp
+++ b/src/lib/formats/d71_dsk.cpp
@@ -36,4 +36,4 @@ const d71_format::format d71_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_D71_FORMAT = &floppy_image_format_creator<d71_format>;
+const d71_format FLOPPY_D71_FORMAT;
diff --git a/src/lib/formats/d71_dsk.h b/src/lib/formats/d71_dsk.h
index efe39da3b4f..b9d1385f518 100644
--- a/src/lib/formats/d71_dsk.h
+++ b/src/lib/formats/d71_dsk.h
@@ -27,6 +27,6 @@ protected:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_D71_FORMAT;
+extern const d71_format FLOPPY_D71_FORMAT;
#endif // MAME_FORMATS_D71_DSK_H
diff --git a/src/lib/formats/d80_dsk.cpp b/src/lib/formats/d80_dsk.cpp
index 7e1e6815800..f1c6e96afaf 100644
--- a/src/lib/formats/d80_dsk.cpp
+++ b/src/lib/formats/d80_dsk.cpp
@@ -132,4 +132,4 @@ void d80_format::fix_end_gap(floppy_image_format_t::desc_e* desc, int remaining_
desc[20].p1 >>= remaining_size & 0x01;
}
-const floppy_format_type FLOPPY_D80_FORMAT = &floppy_image_format_creator<d80_format>;
+const d80_format FLOPPY_D80_FORMAT;
diff --git a/src/lib/formats/d80_dsk.h b/src/lib/formats/d80_dsk.h
index 5660f3b0dc4..7961929bf73 100644
--- a/src/lib/formats/d80_dsk.h
+++ b/src/lib/formats/d80_dsk.h
@@ -41,6 +41,6 @@ protected:
static const int d80_sectors_per_track[];
};
-extern const floppy_format_type FLOPPY_D80_FORMAT;
+extern const d80_format FLOPPY_D80_FORMAT;
#endif // MAME_FORMATS_D80_DSK_H
diff --git a/src/lib/formats/d81_dsk.cpp b/src/lib/formats/d81_dsk.cpp
index 98bf3408293..897b3a7d8d6 100644
--- a/src/lib/formats/d81_dsk.cpp
+++ b/src/lib/formats/d81_dsk.cpp
@@ -159,4 +159,4 @@ floppy_image_format_t::desc_e* d81_format::get_desc_mfm(const format &f, int &cu
return desc;
}
-const floppy_format_type FLOPPY_D81_FORMAT = &floppy_image_format_creator<d81_format>;
+const d81_format FLOPPY_D81_FORMAT;
diff --git a/src/lib/formats/d81_dsk.h b/src/lib/formats/d81_dsk.h
index b2f8a7935d5..75ed603b9ab 100644
--- a/src/lib/formats/d81_dsk.h
+++ b/src/lib/formats/d81_dsk.h
@@ -29,6 +29,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_D81_FORMAT;
+extern const d81_format FLOPPY_D81_FORMAT;
#endif // MAME_FORMATS_D81_DSK_H
diff --git a/src/lib/formats/d82_dsk.cpp b/src/lib/formats/d82_dsk.cpp
index b4b7d5790f3..10e1c6ef25d 100644
--- a/src/lib/formats/d82_dsk.cpp
+++ b/src/lib/formats/d82_dsk.cpp
@@ -36,4 +36,4 @@ const d82_format::format d82_format::file_formats[] = {
{}
};
-const floppy_format_type FLOPPY_D82_FORMAT = &floppy_image_format_creator<d82_format>;
+const d82_format FLOPPY_D82_FORMAT;
diff --git a/src/lib/formats/d82_dsk.h b/src/lib/formats/d82_dsk.h
index d2d189ebe0c..ba3b6dcd1c9 100644
--- a/src/lib/formats/d82_dsk.h
+++ b/src/lib/formats/d82_dsk.h
@@ -27,6 +27,6 @@ protected:
static const format file_formats[];
};
-extern const floppy_format_type FLOPPY_D82_FORMAT;
+extern const d82_format FLOPPY_D82_FORMAT;
#endif // MAME_FORMATS_D82_DSK_H
diff --git a/src/lib/formats/d88_dsk.cpp b/src/lib/formats/d88_dsk.cpp
index afbdc73374c..98fbc57eb77 100644
--- a/src/lib/formats/d88_dsk.cpp
+++ b/src/lib/formats/d88_dsk.cpp
@@ -547,4 +547,4 @@ bool d88_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_D88_FORMAT = &floppy_image_format_creator<d88_format>;
+const d88_format FLOPPY_D88_FORMAT;
diff --git a/src/lib/formats/d88_dsk.h b/src/lib/formats/d88_dsk.h
index 232978e1425..6641e19705a 100644
--- a/src/lib/formats/d88_dsk.h
+++ b/src/lib/formats/d88_dsk.h
@@ -29,6 +29,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_D88_FORMAT;
+extern const d88_format FLOPPY_D88_FORMAT;
#endif // MAME_FORMATS_D88_DSK_H
diff --git a/src/lib/formats/dcp_dsk.cpp b/src/lib/formats/dcp_dsk.cpp
index b0fc3655bcd..fbeb5f5ef48 100644
--- a/src/lib/formats/dcp_dsk.cpp
+++ b/src/lib/formats/dcp_dsk.cpp
@@ -305,4 +305,4 @@ bool dcp_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_DCP_FORMAT = &floppy_image_format_creator<dcp_format>;
+const dcp_format FLOPPY_DCP_FORMAT;
diff --git a/src/lib/formats/dcp_dsk.h b/src/lib/formats/dcp_dsk.h
index 06050f05025..876a54f9492 100644
--- a/src/lib/formats/dcp_dsk.h
+++ b/src/lib/formats/dcp_dsk.h
@@ -29,6 +29,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_DCP_FORMAT;
+extern const dcp_format FLOPPY_DCP_FORMAT;
#endif // MAME_FORMATS_DCP_DSK_H
diff --git a/src/lib/formats/dfi_dsk.cpp b/src/lib/formats/dfi_dsk.cpp
index a28f4b85c94..c7afcb2cda0 100644
--- a/src/lib/formats/dfi_dsk.cpp
+++ b/src/lib/formats/dfi_dsk.cpp
@@ -239,4 +239,4 @@ bool dfi_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-const floppy_format_type FLOPPY_DFI_FORMAT = &floppy_image_format_creator<dfi_format>;
+const dfi_format FLOPPY_DFI_FORMAT;
diff --git a/src/lib/formats/dfi_dsk.h b/src/lib/formats/dfi_dsk.h
index f64521fc17a..43a813a457c 100644
--- a/src/lib/formats/dfi_dsk.h
+++ b/src/lib/formats/dfi_dsk.h
@@ -21,6 +21,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_DFI_FORMAT;
+extern const dfi_format FLOPPY_DFI_FORMAT;
#endif // MAME_FORMATS_DFI_DSK_H
diff --git a/src/lib/formats/dim_dsk.cpp b/src/lib/formats/dim_dsk.cpp
index b43cd1f2293..d2f10f535e0 100644
--- a/src/lib/formats/dim_dsk.cpp
+++ b/src/lib/formats/dim_dsk.cpp
@@ -131,4 +131,4 @@ bool dim_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_DIM_FORMAT = &floppy_image_format_creator<dim_format>;
+const dim_format FLOPPY_DIM_FORMAT;
diff --git a/src/lib/formats/dim_dsk.h b/src/lib/formats/dim_dsk.h
index c542f86c5b5..edcef4f54a9 100644
--- a/src/lib/formats/dim_dsk.h
+++ b/src/lib/formats/dim_dsk.h
@@ -30,6 +30,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_DIM_FORMAT;
+extern const dim_format FLOPPY_DIM_FORMAT;
#endif // MAME_FORMATS_DIM_DSK_H
diff --git a/src/lib/formats/dip_dsk.cpp b/src/lib/formats/dip_dsk.cpp
index 8fbd8d55ad2..0270612dea3 100644
--- a/src/lib/formats/dip_dsk.cpp
+++ b/src/lib/formats/dip_dsk.cpp
@@ -98,4 +98,4 @@ bool dip_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_DIP_FORMAT = &floppy_image_format_creator<dip_format>;
+const dip_format FLOPPY_DIP_FORMAT;
diff --git a/src/lib/formats/dip_dsk.h b/src/lib/formats/dip_dsk.h
index de42a3a8c15..4f3a6c2ac81 100644
--- a/src/lib/formats/dip_dsk.h
+++ b/src/lib/formats/dip_dsk.h
@@ -29,6 +29,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_DIP_FORMAT;
+extern const dip_format FLOPPY_DIP_FORMAT;
#endif // MAME_FORMATS_DIP_DSK_H
diff --git a/src/lib/formats/dmk_dsk.cpp b/src/lib/formats/dmk_dsk.cpp
index 63aad11da80..82a1f0fd3f3 100644
--- a/src/lib/formats/dmk_dsk.cpp
+++ b/src/lib/formats/dmk_dsk.cpp
@@ -221,4 +221,4 @@ bool dmk_format::supports_save() const
}
-const floppy_format_type FLOPPY_DMK_FORMAT = &floppy_image_format_creator<dmk_format>;
+const dmk_format FLOPPY_DMK_FORMAT;
diff --git a/src/lib/formats/dmk_dsk.h b/src/lib/formats/dmk_dsk.h
index f19ab085809..873484a8e94 100644
--- a/src/lib/formats/dmk_dsk.h
+++ b/src/lib/formats/dmk_dsk.h
@@ -30,6 +30,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_DMK_FORMAT;
+extern const dmk_format FLOPPY_DMK_FORMAT;
#endif // MAME_FORMATS_DMK_DSK_H
diff --git a/src/lib/formats/dmv_dsk.cpp b/src/lib/formats/dmv_dsk.cpp
index de7075e13f2..d290072b655 100644
--- a/src/lib/formats/dmv_dsk.cpp
+++ b/src/lib/formats/dmv_dsk.cpp
@@ -50,4 +50,4 @@ const dmv_format::format dmv_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_DMV_FORMAT = &floppy_image_format_creator<dmv_format>;
+const dmv_format FLOPPY_DMV_FORMAT;
diff --git a/src/lib/formats/dmv_dsk.h b/src/lib/formats/dmv_dsk.h
index 035eed0db50..8e9d5bf47ca 100644
--- a/src/lib/formats/dmv_dsk.h
+++ b/src/lib/formats/dmv_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_DMV_FORMAT;
+extern const dmv_format FLOPPY_DMV_FORMAT;
#endif // MAME_FORMATS_DMV_DSK_H
diff --git a/src/lib/formats/ds9_dsk.cpp b/src/lib/formats/ds9_dsk.cpp
index aa7d150ffb8..8224c844801 100644
--- a/src/lib/formats/ds9_dsk.cpp
+++ b/src/lib/formats/ds9_dsk.cpp
@@ -120,4 +120,4 @@ bool ds9_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-const floppy_format_type FLOPPY_DS9_FORMAT = &floppy_image_format_creator<ds9_format>;
+const ds9_format FLOPPY_DS9_FORMAT;
diff --git a/src/lib/formats/ds9_dsk.h b/src/lib/formats/ds9_dsk.h
index ed4e67c8998..eefb181d41c 100644
--- a/src/lib/formats/ds9_dsk.h
+++ b/src/lib/formats/ds9_dsk.h
@@ -31,6 +31,6 @@ private:
static void find_size(util::random_read &io, uint8_t &track_count, uint8_t &head_count, uint8_t &sector_count);
};
-extern const floppy_format_type FLOPPY_DS9_FORMAT;
+extern const ds9_format FLOPPY_DS9_FORMAT;
#endif // MAME_FORMATS_DS9_DSK_H
diff --git a/src/lib/formats/dsk_dsk.cpp b/src/lib/formats/dsk_dsk.cpp
index f4129c54a24..5039bde3ebe 100644
--- a/src/lib/formats/dsk_dsk.cpp
+++ b/src/lib/formats/dsk_dsk.cpp
@@ -497,4 +497,4 @@ bool dsk_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-const floppy_format_type FLOPPY_DSK_FORMAT = &floppy_image_format_creator<dsk_format>;
+const dsk_format FLOPPY_DSK_FORMAT;
diff --git a/src/lib/formats/dsk_dsk.h b/src/lib/formats/dsk_dsk.h
index 44e46594050..1c1eb02a879 100644
--- a/src/lib/formats/dsk_dsk.h
+++ b/src/lib/formats/dsk_dsk.h
@@ -28,6 +28,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_DSK_FORMAT;
+extern const dsk_format FLOPPY_DSK_FORMAT;
#endif // MAME_FORMATS_DSK_DSK_H
diff --git a/src/lib/formats/dvk_mx_dsk.cpp b/src/lib/formats/dvk_mx_dsk.cpp
index fb23e65445d..77134d93ea6 100644
--- a/src/lib/formats/dvk_mx_dsk.cpp
+++ b/src/lib/formats/dvk_mx_dsk.cpp
@@ -181,4 +181,4 @@ bool dvk_mx_format::load(util::random_read &io, uint32_t form_factor, const std:
return true;
}
-const floppy_format_type FLOPPY_DVK_MX_FORMAT = &floppy_image_format_creator<dvk_mx_format>;
+const dvk_mx_format FLOPPY_DVK_MX_FORMAT;
diff --git a/src/lib/formats/dvk_mx_dsk.h b/src/lib/formats/dvk_mx_dsk.h
index 35fa2fc0340..9c9a068989c 100644
--- a/src/lib/formats/dvk_mx_dsk.h
+++ b/src/lib/formats/dvk_mx_dsk.h
@@ -33,6 +33,6 @@ private:
static void find_size(util::random_read &io, uint8_t &track_count, uint8_t &head_count, uint8_t &sector_count);
};
-extern const floppy_format_type FLOPPY_DVK_MX_FORMAT;
+extern const dvk_mx_format FLOPPY_DVK_MX_FORMAT;
#endif // MAME_FORMATS_DVK_MX_DSK_H
diff --git a/src/lib/formats/ep64_dsk.cpp b/src/lib/formats/ep64_dsk.cpp
index 6e1e864e3e3..09860174f02 100644
--- a/src/lib/formats/ep64_dsk.cpp
+++ b/src/lib/formats/ep64_dsk.cpp
@@ -38,4 +38,4 @@ const ep64_format::format ep64_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_EP64_FORMAT = &floppy_image_format_creator<ep64_format>;
+const ep64_format FLOPPY_EP64_FORMAT;
diff --git a/src/lib/formats/ep64_dsk.h b/src/lib/formats/ep64_dsk.h
index 07acca4a217..1d1143359a0 100644
--- a/src/lib/formats/ep64_dsk.h
+++ b/src/lib/formats/ep64_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_EP64_FORMAT;
+extern const ep64_format FLOPPY_EP64_FORMAT;
#endif // MAME_FORMATS_EP64_DSK_H
diff --git a/src/lib/formats/esq16_dsk.cpp b/src/lib/formats/esq16_dsk.cpp
index 7acfc1630f8..b25ab880184 100644
--- a/src/lib/formats/esq16_dsk.cpp
+++ b/src/lib/formats/esq16_dsk.cpp
@@ -153,4 +153,4 @@ bool esqimg_format::save(util::random_read_write &io, const std::vector<uint32_t
return true;
}
-const floppy_format_type FLOPPY_ESQIMG_FORMAT = &floppy_image_format_creator<esqimg_format>;
+const esqimg_format FLOPPY_ESQIMG_FORMAT;
diff --git a/src/lib/formats/esq16_dsk.h b/src/lib/formats/esq16_dsk.h
index 66e190b33a9..9a1c7129dba 100644
--- a/src/lib/formats/esq16_dsk.h
+++ b/src/lib/formats/esq16_dsk.h
@@ -36,6 +36,6 @@ private:
static void find_size(util::random_read &io, uint8_t &track_count, uint8_t &head_count, uint8_t &sector_count);
};
-extern const floppy_format_type FLOPPY_ESQIMG_FORMAT;
+extern const esqimg_format FLOPPY_ESQIMG_FORMAT;
#endif // MAME_FORMATS_ESQ16_DSK_H
diff --git a/src/lib/formats/esq8_dsk.cpp b/src/lib/formats/esq8_dsk.cpp
index cb7bc04010c..0c5ef18204d 100644
--- a/src/lib/formats/esq8_dsk.cpp
+++ b/src/lib/formats/esq8_dsk.cpp
@@ -190,4 +190,4 @@ bool esq8img_format::save(util::random_read_write &io, const std::vector<uint32_
return true;
}
-const floppy_format_type FLOPPY_ESQ8IMG_FORMAT = &floppy_image_format_creator<esq8img_format>;
+const esq8img_format FLOPPY_ESQ8IMG_FORMAT;
diff --git a/src/lib/formats/esq8_dsk.h b/src/lib/formats/esq8_dsk.h
index 4ffeaf0052f..f81e0f1a6ed 100644
--- a/src/lib/formats/esq8_dsk.h
+++ b/src/lib/formats/esq8_dsk.h
@@ -38,6 +38,6 @@ private:
static void find_size(util::random_read &io, int &track_count, int &head_count, int &sector_count);
};
-extern const floppy_format_type FLOPPY_ESQ8IMG_FORMAT;
+extern const esq8img_format FLOPPY_ESQ8IMG_FORMAT;
#endif // MAME_FORMATS_ESQ8_DSK_H
diff --git a/src/lib/formats/excali64_dsk.cpp b/src/lib/formats/excali64_dsk.cpp
index cb5febfc0d3..bc36214f32a 100644
--- a/src/lib/formats/excali64_dsk.cpp
+++ b/src/lib/formats/excali64_dsk.cpp
@@ -38,4 +38,4 @@ const excali64_format::format excali64_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_EXCALI64_FORMAT = &floppy_image_format_creator<excali64_format>;
+const excali64_format FLOPPY_EXCALI64_FORMAT;
diff --git a/src/lib/formats/excali64_dsk.h b/src/lib/formats/excali64_dsk.h
index 03d4cb3b237..527dd9cde99 100644
--- a/src/lib/formats/excali64_dsk.h
+++ b/src/lib/formats/excali64_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_EXCALI64_FORMAT;
+extern const excali64_format FLOPPY_EXCALI64_FORMAT;
#endif // MAME_FORMATS_EXCALI64_DSK_H
diff --git a/src/lib/formats/fdd_dsk.cpp b/src/lib/formats/fdd_dsk.cpp
index d4319f51326..a699a605991 100644
--- a/src/lib/formats/fdd_dsk.cpp
+++ b/src/lib/formats/fdd_dsk.cpp
@@ -153,4 +153,4 @@ bool fdd_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_FDD_FORMAT = &floppy_image_format_creator<fdd_format>;
+const fdd_format FLOPPY_FDD_FORMAT;
diff --git a/src/lib/formats/fdd_dsk.h b/src/lib/formats/fdd_dsk.h
index 452b5f93177..22e31c83756 100644
--- a/src/lib/formats/fdd_dsk.h
+++ b/src/lib/formats/fdd_dsk.h
@@ -29,6 +29,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_FDD_FORMAT;
+extern const fdd_format FLOPPY_FDD_FORMAT;
#endif // MAME_FORMATS_FDD_DSK_H
diff --git a/src/lib/formats/fl1_dsk.cpp b/src/lib/formats/fl1_dsk.cpp
index 761cbff85fa..a8809a424d0 100644
--- a/src/lib/formats/fl1_dsk.cpp
+++ b/src/lib/formats/fl1_dsk.cpp
@@ -54,4 +54,4 @@ const fl1_format::format fl1_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_FL1_FORMAT = &floppy_image_format_creator<fl1_format>;
+const fl1_format FLOPPY_FL1_FORMAT;
diff --git a/src/lib/formats/fl1_dsk.h b/src/lib/formats/fl1_dsk.h
index 96b2a559e50..1b82ded9b0f 100644
--- a/src/lib/formats/fl1_dsk.h
+++ b/src/lib/formats/fl1_dsk.h
@@ -27,6 +27,6 @@ private:
virtual int get_image_offset(const format &f, int head, int track) const override;
};
-extern const floppy_format_type FLOPPY_FL1_FORMAT;
+extern const fl1_format FLOPPY_FL1_FORMAT;
#endif // MAME_FORMATS_FL1_DSK_H
diff --git a/src/lib/formats/flex_dsk.cpp b/src/lib/formats/flex_dsk.cpp
index e8051d823ba..40957daa972 100644
--- a/src/lib/formats/flex_dsk.cpp
+++ b/src/lib/formats/flex_dsk.cpp
@@ -1275,4 +1275,4 @@ const flex_format::format flex_format::formats_head1_track0[] = {
{}
};
-const floppy_format_type FLOPPY_FLEX_FORMAT = &floppy_image_format_creator<flex_format>;
+const flex_format FLOPPY_FLEX_FORMAT;
diff --git a/src/lib/formats/flex_dsk.h b/src/lib/formats/flex_dsk.h
index 01c4b19eeee..baa13240fed 100644
--- a/src/lib/formats/flex_dsk.h
+++ b/src/lib/formats/flex_dsk.h
@@ -50,6 +50,6 @@ private:
static const format formats_head1_track0[];
};
-extern const floppy_format_type FLOPPY_FLEX_FORMAT;
+extern const flex_format FLOPPY_FLEX_FORMAT;
#endif // MAME_FORMATS_FLEX_DSK_H
diff --git a/src/lib/formats/flopimg.h b/src/lib/formats/flopimg.h
index 9e5342534aa..2fd07c9f2a7 100644
--- a/src/lib/formats/flopimg.h
+++ b/src/lib/formats/flopimg.h
@@ -443,16 +443,6 @@ private:
static int calc_sector_index(int num, int interleave, int skew, int total_sectors, int track_head);
};
-// a dce_type is simply a pointer to its alloc function
-typedef floppy_image_format_t *(*floppy_format_type)();
-
-// this template function creates a stub which constructs a image format
-template<class _FormatClass>
-floppy_image_format_t *floppy_image_format_creator()
-{
- return new _FormatClass();
-}
-
// ======================> floppy_image
//! Class representing floppy image
diff --git a/src/lib/formats/fmtowns_dsk.cpp b/src/lib/formats/fmtowns_dsk.cpp
index e07fc7c894e..144baa96872 100644
--- a/src/lib/formats/fmtowns_dsk.cpp
+++ b/src/lib/formats/fmtowns_dsk.cpp
@@ -38,4 +38,4 @@ const fmtowns_format::format fmtowns_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_FMTOWNS_FORMAT = &floppy_image_format_creator<fmtowns_format>;
+const fmtowns_format FLOPPY_FMTOWNS_FORMAT;
diff --git a/src/lib/formats/fmtowns_dsk.h b/src/lib/formats/fmtowns_dsk.h
index 9fc136bb078..4207e3ed81b 100644
--- a/src/lib/formats/fmtowns_dsk.h
+++ b/src/lib/formats/fmtowns_dsk.h
@@ -25,6 +25,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_FMTOWNS_FORMAT;
+extern const fmtowns_format FLOPPY_FMTOWNS_FORMAT;
#endif // MAME_FORMATS_FMTOWNS_DSK_H
diff --git a/src/lib/formats/fsd_dsk.cpp b/src/lib/formats/fsd_dsk.cpp
index 8a72b38aeb0..5047b15c852 100644
--- a/src/lib/formats/fsd_dsk.cpp
+++ b/src/lib/formats/fsd_dsk.cpp
@@ -190,4 +190,4 @@ bool fsd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return true;
}
-const floppy_format_type FLOPPY_FSD_FORMAT = &floppy_image_format_creator<fsd_format>;
+const fsd_format FLOPPY_FSD_FORMAT;
diff --git a/src/lib/formats/fsd_dsk.h b/src/lib/formats/fsd_dsk.h
index 995abfbb018..3a591876d77 100644
--- a/src/lib/formats/fsd_dsk.h
+++ b/src/lib/formats/fsd_dsk.h
@@ -37,6 +37,6 @@ public:
virtual bool load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const override;
};
-extern const floppy_format_type FLOPPY_FSD_FORMAT;
+extern const fsd_format FLOPPY_FSD_FORMAT;
#endif // MAME_FORMATS_FSD_DSK_H
diff --git a/src/lib/formats/fsmgr.h b/src/lib/formats/fsmgr.h
index 376f7f35fe5..9859f929e9d 100644
--- a/src/lib/formats/fsmgr.h
+++ b/src/lib/formats/fsmgr.h
@@ -311,7 +311,7 @@ public:
struct floppy_enumerator {
virtual ~floppy_enumerator() = default;
- virtual void add(floppy_format_type type, u32 image_size, const char *name, const char *description) = 0;
+ virtual void add(const floppy_image_format_t &type, u32 image_size, const char *name, const char *description) = 0;
virtual void add_raw(const char *name, u32 key, const char *description) = 0;
};
diff --git a/src/lib/formats/g64_dsk.cpp b/src/lib/formats/g64_dsk.cpp
index 614fef05daa..2ea460653cf 100644
--- a/src/lib/formats/g64_dsk.cpp
+++ b/src/lib/formats/g64_dsk.cpp
@@ -204,4 +204,4 @@ const char *g64_format::extensions() const
return "g64,g41,g71";
}
-const floppy_format_type FLOPPY_G64_FORMAT = &floppy_image_format_creator<g64_format>;
+const g64_format FLOPPY_G64_FORMAT;
diff --git a/src/lib/formats/g64_dsk.h b/src/lib/formats/g64_dsk.h
index 64b5f16a3a5..ab99e170c71 100644
--- a/src/lib/formats/g64_dsk.h
+++ b/src/lib/formats/g64_dsk.h
@@ -50,6 +50,6 @@ protected:
static int generate_bitstream(int track, int head, int speed_zone, std::vector<bool> &trackbuf, floppy_image *image);
};
-extern const floppy_format_type FLOPPY_G64_FORMAT;
+extern const g64_format FLOPPY_G64_FORMAT;
#endif // MAME_FORMATS_G64_DSK_H
diff --git a/src/lib/formats/guab_dsk.cpp b/src/lib/formats/guab_dsk.cpp
index 283286c80a5..3b1fe8fb410 100644
--- a/src/lib/formats/guab_dsk.cpp
+++ b/src/lib/formats/guab_dsk.cpp
@@ -39,4 +39,4 @@ const guab_format::format guab_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_GUAB_FORMAT = &floppy_image_format_creator<guab_format>;
+const guab_format FLOPPY_GUAB_FORMAT;
diff --git a/src/lib/formats/guab_dsk.h b/src/lib/formats/guab_dsk.h
index e2bb97936f4..9abeb9078f7 100644
--- a/src/lib/formats/guab_dsk.h
+++ b/src/lib/formats/guab_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_GUAB_FORMAT;
+extern const guab_format FLOPPY_GUAB_FORMAT;
#endif // MAME_FORMATS_GUAB_DSK_H
diff --git a/src/lib/formats/hector_minidisc.cpp b/src/lib/formats/hector_minidisc.cpp
index 116d3ba6580..02a538dddcf 100644
--- a/src/lib/formats/hector_minidisc.cpp
+++ b/src/lib/formats/hector_minidisc.cpp
@@ -38,4 +38,4 @@ const hmd_format::format hmd_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_HMD_FORMAT = &floppy_image_format_creator<hmd_format>;
+const hmd_format FLOPPY_HMD_FORMAT;
diff --git a/src/lib/formats/hector_minidisc.h b/src/lib/formats/hector_minidisc.h
index bd2a84bd379..43071d2fca6 100644
--- a/src/lib/formats/hector_minidisc.h
+++ b/src/lib/formats/hector_minidisc.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_HMD_FORMAT;
+extern const hmd_format FLOPPY_HMD_FORMAT;
#endif // MAME_FORMATS_HECTOR_MINIDISC_H
diff --git a/src/lib/formats/hp_ipc_dsk.cpp b/src/lib/formats/hp_ipc_dsk.cpp
index 6f78142bed2..5c64bfeefe0 100644
--- a/src/lib/formats/hp_ipc_dsk.cpp
+++ b/src/lib/formats/hp_ipc_dsk.cpp
@@ -36,5 +36,5 @@ const hp_ipc_format::format hp_ipc_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_HP_IPC_FORMAT = &floppy_image_format_creator<hp_ipc_format>;
+const hp_ipc_format FLOPPY_HP_IPC_FORMAT;
diff --git a/src/lib/formats/hp_ipc_dsk.h b/src/lib/formats/hp_ipc_dsk.h
index 9643b853230..75267228931 100644
--- a/src/lib/formats/hp_ipc_dsk.h
+++ b/src/lib/formats/hp_ipc_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_HP_IPC_FORMAT;
+extern const hp_ipc_format FLOPPY_HP_IPC_FORMAT;
#endif // MAME_FORMATS_HP_IPC_DSK_H
diff --git a/src/lib/formats/hpi_dsk.cpp b/src/lib/formats/hpi_dsk.cpp
index 425d1b50f17..022a45a1f4f 100644
--- a/src/lib/formats/hpi_dsk.cpp
+++ b/src/lib/formats/hpi_dsk.cpp
@@ -497,4 +497,4 @@ const uint8_t hpi_format::m_track_skew[ HPI_SECTORS - 1 ][ HPI_HEADS ] = {
{ 0x00 , 0x00 } // Interleave = 29
};
-const floppy_format_type FLOPPY_HPI_FORMAT = &floppy_image_format_creator<hpi_format>;
+const hpi_format FLOPPY_HPI_FORMAT;
diff --git a/src/lib/formats/hpi_dsk.h b/src/lib/formats/hpi_dsk.h
index d295e1ecccd..bea2e24c99a 100644
--- a/src/lib/formats/hpi_dsk.h
+++ b/src/lib/formats/hpi_dsk.h
@@ -53,6 +53,6 @@ private:
static const uint8_t m_track_skew[ HPI_SECTORS - 1 ][ HPI_HEADS ];
};
-extern const floppy_format_type FLOPPY_HPI_FORMAT;
+extern const hpi_format FLOPPY_HPI_FORMAT;
#endif // MAME_FORMATS_HPI_DSK_H
diff --git a/src/lib/formats/hxchfe_dsk.cpp b/src/lib/formats/hxchfe_dsk.cpp
index 6af5c6acc7f..ba9d877a537 100644
--- a/src/lib/formats/hxchfe_dsk.cpp
+++ b/src/lib/formats/hxchfe_dsk.cpp
@@ -406,6 +406,6 @@ void hfe_format::generate_track_from_hfe_bitstream(int cyl, int head, int sample
image->set_write_splice_position(cyl, head, 0, 0);
}
-const floppy_format_type FLOPPY_HFE_FORMAT = &floppy_image_format_creator<hfe_format>;
+const hfe_format FLOPPY_HFE_FORMAT;
diff --git a/src/lib/formats/hxchfe_dsk.h b/src/lib/formats/hxchfe_dsk.h
index 862e229512a..5c2fd296e7f 100644
--- a/src/lib/formats/hxchfe_dsk.h
+++ b/src/lib/formats/hxchfe_dsk.h
@@ -85,6 +85,6 @@ private:
static void set_encoding(header_info &info, encoding_t enc) { info.m_selected_encoding = enc; }
};
-extern const floppy_format_type FLOPPY_HFE_FORMAT;
+extern const hfe_format FLOPPY_HFE_FORMAT;
#endif // MAME_FORMATS_HXCHFE_DSK_H
diff --git a/src/lib/formats/hxcmfm_dsk.cpp b/src/lib/formats/hxcmfm_dsk.cpp
index 1a17f085c18..780692d079f 100644
--- a/src/lib/formats/hxcmfm_dsk.cpp
+++ b/src/lib/formats/hxcmfm_dsk.cpp
@@ -160,4 +160,4 @@ bool mfm_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return true;
}
-const floppy_format_type FLOPPY_MFM_FORMAT = &floppy_image_format_creator<mfm_format>;
+const mfm_format FLOPPY_MFM_FORMAT;
diff --git a/src/lib/formats/hxcmfm_dsk.h b/src/lib/formats/hxcmfm_dsk.h
index 9a16333d024..a7a75a3aa7e 100644
--- a/src/lib/formats/hxcmfm_dsk.h
+++ b/src/lib/formats/hxcmfm_dsk.h
@@ -29,6 +29,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_MFM_FORMAT;
+extern const mfm_format FLOPPY_MFM_FORMAT;
#endif // MAME_FORMATS_HXCMFM_DSK_H
diff --git a/src/lib/formats/ibmxdf_dsk.cpp b/src/lib/formats/ibmxdf_dsk.cpp
index 58feea0ab83..c889f61f74e 100644
--- a/src/lib/formats/ibmxdf_dsk.cpp
+++ b/src/lib/formats/ibmxdf_dsk.cpp
@@ -264,5 +264,5 @@ void ibmxdf_format::build_sector_description(const format &f, uint8_t *sectdata,
}
}
-const floppy_format_type FLOPPY_IBMXDF_FORMAT = &floppy_image_format_creator<ibmxdf_format>;
+const ibmxdf_format FLOPPY_IBMXDF_FORMAT;
diff --git a/src/lib/formats/ibmxdf_dsk.h b/src/lib/formats/ibmxdf_dsk.h
index 85d9b86fdb8..4f3876959c5 100644
--- a/src/lib/formats/ibmxdf_dsk.h
+++ b/src/lib/formats/ibmxdf_dsk.h
@@ -40,6 +40,6 @@ private:
virtual void build_sector_description(const format &d, uint8_t *sectdata, desc_s *sectors, int track, int head) const override;
};
-extern const floppy_format_type FLOPPY_IBMXDF_FORMAT;
+extern const ibmxdf_format FLOPPY_IBMXDF_FORMAT;
#endif // MAME_FORMATS_IBMXDF_DSK_H
diff --git a/src/lib/formats/imd_dsk.cpp b/src/lib/formats/imd_dsk.cpp
index dec565a73c5..6a970003a97 100644
--- a/src/lib/formats/imd_dsk.cpp
+++ b/src/lib/formats/imd_dsk.cpp
@@ -644,4 +644,4 @@ bool imd_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_IMD_FORMAT = &floppy_image_format_creator<imd_format>;
+const imd_format FLOPPY_IMD_FORMAT;
diff --git a/src/lib/formats/imd_dsk.h b/src/lib/formats/imd_dsk.h
index 9fd85cb5f82..158e8a5f538 100644
--- a/src/lib/formats/imd_dsk.h
+++ b/src/lib/formats/imd_dsk.h
@@ -29,6 +29,6 @@ private:
void fixnum(char *start, char *end) const;
};
-extern const floppy_format_type FLOPPY_IMD_FORMAT;
+extern const imd_format FLOPPY_IMD_FORMAT;
#endif // MAME_FORMATS_IMD_DSK_H
diff --git a/src/lib/formats/img_dsk.cpp b/src/lib/formats/img_dsk.cpp
index a8f47d22eac..fa43c898bee 100644
--- a/src/lib/formats/img_dsk.cpp
+++ b/src/lib/formats/img_dsk.cpp
@@ -386,4 +386,4 @@ bool img_format::get_next_sector(const std::vector<bool> &bitstream , int& pos ,
return true;
}
-const floppy_format_type FLOPPY_IMG_FORMAT = &floppy_image_format_creator<img_format>;
+const img_format FLOPPY_IMG_FORMAT;
diff --git a/src/lib/formats/img_dsk.h b/src/lib/formats/img_dsk.h
index 983a75438dd..1dcd4eb23d2 100644
--- a/src/lib/formats/img_dsk.h
+++ b/src/lib/formats/img_dsk.h
@@ -48,6 +48,6 @@ private:
static bool get_next_sector(const std::vector<bool> &bitstream , int& pos , unsigned& track , unsigned& sector , uint8_t *sector_data);
};
-extern const floppy_format_type FLOPPY_IMG_FORMAT;
+extern const img_format FLOPPY_IMG_FORMAT;
#endif // MAME_FORMATS_IMG_DSK_H
diff --git a/src/lib/formats/ipf_dsk.cpp b/src/lib/formats/ipf_dsk.cpp
index 0d588ba0eae..a9b1a4b1f2f 100644
--- a/src/lib/formats/ipf_dsk.cpp
+++ b/src/lib/formats/ipf_dsk.cpp
@@ -7,7 +7,7 @@
#include <cstring>
-const floppy_format_type FLOPPY_IPF_FORMAT = &floppy_image_format_creator<ipf_format>;
+const ipf_format FLOPPY_IPF_FORMAT;
const char *ipf_format::name() const
{
diff --git a/src/lib/formats/ipf_dsk.h b/src/lib/formats/ipf_dsk.h
index a6014ff9367..567111a3201 100644
--- a/src/lib/formats/ipf_dsk.h
+++ b/src/lib/formats/ipf_dsk.h
@@ -88,6 +88,6 @@ private:
};
};
-extern const floppy_format_type FLOPPY_IPF_FORMAT;
+extern const ipf_format FLOPPY_IPF_FORMAT;
#endif // MAME_FORMATS_IPF_DSK_H
diff --git a/src/lib/formats/iq151_dsk.cpp b/src/lib/formats/iq151_dsk.cpp
index 91b3487c186..563dcbea14c 100644
--- a/src/lib/formats/iq151_dsk.cpp
+++ b/src/lib/formats/iq151_dsk.cpp
@@ -42,4 +42,4 @@ const iq151_format::format iq151_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_IQ151_FORMAT = &floppy_image_format_creator<iq151_format>;
+const iq151_format FLOPPY_IQ151_FORMAT;
diff --git a/src/lib/formats/iq151_dsk.h b/src/lib/formats/iq151_dsk.h
index 8ad1253d113..8e57d533f57 100644
--- a/src/lib/formats/iq151_dsk.h
+++ b/src/lib/formats/iq151_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_IQ151_FORMAT;
+extern const iq151_format FLOPPY_IQ151_FORMAT;
#endif // MAME_FORMATS_IQ151_DSK_H
diff --git a/src/lib/formats/itt3030_dsk.cpp b/src/lib/formats/itt3030_dsk.cpp
index 48e9d302e4d..713fe0fc645 100644
--- a/src/lib/formats/itt3030_dsk.cpp
+++ b/src/lib/formats/itt3030_dsk.cpp
@@ -54,4 +54,4 @@ const itt3030_format::format itt3030_format::formats[] = {
-const floppy_format_type FLOPPY_ITT3030_FORMAT = &floppy_image_format_creator<itt3030_format>;
+const itt3030_format FLOPPY_ITT3030_FORMAT;
diff --git a/src/lib/formats/itt3030_dsk.h b/src/lib/formats/itt3030_dsk.h
index 7239f2619b7..3ae78ac9bc4 100644
--- a/src/lib/formats/itt3030_dsk.h
+++ b/src/lib/formats/itt3030_dsk.h
@@ -28,6 +28,6 @@ private:
};
-extern const floppy_format_type FLOPPY_ITT3030_FORMAT;
+extern const itt3030_format FLOPPY_ITT3030_FORMAT;
#endif // MAME_FORMATS_ITT3030_DSK_H
diff --git a/src/lib/formats/jfd_dsk.cpp b/src/lib/formats/jfd_dsk.cpp
index eff9f6355de..08d5dda91b7 100644
--- a/src/lib/formats/jfd_dsk.cpp
+++ b/src/lib/formats/jfd_dsk.cpp
@@ -375,4 +375,4 @@ bool jfd_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_JFD_FORMAT = &floppy_image_format_creator<jfd_format>;
+const jfd_format FLOPPY_JFD_FORMAT;
diff --git a/src/lib/formats/jfd_dsk.h b/src/lib/formats/jfd_dsk.h
index 25bc49b0f27..b4d865075c6 100644
--- a/src/lib/formats/jfd_dsk.h
+++ b/src/lib/formats/jfd_dsk.h
@@ -28,6 +28,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_JFD_FORMAT;
+extern const jfd_format FLOPPY_JFD_FORMAT;
#endif // MAME_FORMATS_JFD_DSK_H
diff --git a/src/lib/formats/juku_dsk.cpp b/src/lib/formats/juku_dsk.cpp
index 548651a3427..0caee874523 100644
--- a/src/lib/formats/juku_dsk.cpp
+++ b/src/lib/formats/juku_dsk.cpp
@@ -42,4 +42,4 @@ const juku_format::format juku_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_JUKU_FORMAT = &floppy_image_format_creator<juku_format>;
+const juku_format FLOPPY_JUKU_FORMAT;
diff --git a/src/lib/formats/juku_dsk.h b/src/lib/formats/juku_dsk.h
index 73c33e952f4..d41290a14c2 100644
--- a/src/lib/formats/juku_dsk.h
+++ b/src/lib/formats/juku_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_JUKU_FORMAT;
+extern const juku_format FLOPPY_JUKU_FORMAT;
#endif // MAME_FORMATS_JUKU_DSK_H
diff --git a/src/lib/formats/jvc_dsk.cpp b/src/lib/formats/jvc_dsk.cpp
index 561f7507944..4d88e65cdce 100644
--- a/src/lib/formats/jvc_dsk.cpp
+++ b/src/lib/formats/jvc_dsk.cpp
@@ -295,4 +295,4 @@ bool jvc_format::supports_save() const
return true;
}
-const floppy_format_type FLOPPY_JVC_FORMAT = &floppy_image_format_creator<jvc_format>;
+const jvc_format FLOPPY_JVC_FORMAT;
diff --git a/src/lib/formats/jvc_dsk.h b/src/lib/formats/jvc_dsk.h
index a83e1dac73b..d8700d6dd48 100644
--- a/src/lib/formats/jvc_dsk.h
+++ b/src/lib/formats/jvc_dsk.h
@@ -44,6 +44,6 @@ private:
static bool parse_header(util::random_read &io, int &header_size, int &tracks, int &heads, int &sectors, int &sector_size, int &base_sector_id);
};
-extern const floppy_format_type FLOPPY_JVC_FORMAT;
+extern const jvc_format FLOPPY_JVC_FORMAT;
#endif // MAME_FORMATS_JVC_DSK_H
diff --git a/src/lib/formats/kaypro_dsk.cpp b/src/lib/formats/kaypro_dsk.cpp
index b4a8cd4c075..dc4f503f056 100644
--- a/src/lib/formats/kaypro_dsk.cpp
+++ b/src/lib/formats/kaypro_dsk.cpp
@@ -72,5 +72,5 @@ const kaypro2x_format::format kaypro2x_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_KAYPROII_FORMAT = &floppy_image_format_creator<kayproii_format>;
-const floppy_format_type FLOPPY_KAYPRO2X_FORMAT = &floppy_image_format_creator<kaypro2x_format>;
+const kayproii_format FLOPPY_KAYPROII_FORMAT;
+const kaypro2x_format FLOPPY_KAYPRO2X_FORMAT;
diff --git a/src/lib/formats/kaypro_dsk.h b/src/lib/formats/kaypro_dsk.h
index 462873781b4..8c578654f54 100644
--- a/src/lib/formats/kaypro_dsk.h
+++ b/src/lib/formats/kaypro_dsk.h
@@ -37,7 +37,7 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_KAYPROII_FORMAT;
-extern const floppy_format_type FLOPPY_KAYPRO2X_FORMAT;
+extern const kayproii_format FLOPPY_KAYPROII_FORMAT;
+extern const kaypro2x_format FLOPPY_KAYPRO2X_FORMAT;
#endif // MAME_FORMATS_KAYPRO_DSK_H
diff --git a/src/lib/formats/kc85_dsk.cpp b/src/lib/formats/kc85_dsk.cpp
index afd81658594..2245fd46c6d 100644
--- a/src/lib/formats/kc85_dsk.cpp
+++ b/src/lib/formats/kc85_dsk.cpp
@@ -58,4 +58,4 @@ const kc85_format::format kc85_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_KC85_FORMAT = &floppy_image_format_creator<kc85_format>;
+const kc85_format FLOPPY_KC85_FORMAT;
diff --git a/src/lib/formats/kc85_dsk.h b/src/lib/formats/kc85_dsk.h
index b28ab1e6d98..feafe116db6 100644
--- a/src/lib/formats/kc85_dsk.h
+++ b/src/lib/formats/kc85_dsk.h
@@ -26,6 +26,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_KC85_FORMAT;
+extern const kc85_format FLOPPY_KC85_FORMAT;
#endif // MAME_FORMATS_KC85_DSK_H
diff --git a/src/lib/formats/m20_dsk.cpp b/src/lib/formats/m20_dsk.cpp
index 61eb3368d95..e6cddd7acab 100644
--- a/src/lib/formats/m20_dsk.cpp
+++ b/src/lib/formats/m20_dsk.cpp
@@ -125,4 +125,4 @@ bool m20_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return true;
}
-const floppy_format_type FLOPPY_M20_FORMAT = &floppy_image_format_creator<m20_format>;
+const m20_format FLOPPY_M20_FORMAT;
diff --git a/src/lib/formats/m20_dsk.h b/src/lib/formats/m20_dsk.h
index 9ecfeaa60bf..d56fd94fe0a 100644
--- a/src/lib/formats/m20_dsk.h
+++ b/src/lib/formats/m20_dsk.h
@@ -28,6 +28,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_M20_FORMAT;
+extern const m20_format FLOPPY_M20_FORMAT;
#endif // MAME_FORMATS_M20_DSK_H
diff --git a/src/lib/formats/m5_dsk.cpp b/src/lib/formats/m5_dsk.cpp
index f172c99348b..ee89499a832 100644
--- a/src/lib/formats/m5_dsk.cpp
+++ b/src/lib/formats/m5_dsk.cpp
@@ -42,4 +42,4 @@ const m5_format::format m5_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_M5_FORMAT = &floppy_image_format_creator<m5_format>;
+const m5_format FLOPPY_M5_FORMAT;
diff --git a/src/lib/formats/m5_dsk.h b/src/lib/formats/m5_dsk.h
index f26d96dffc7..91810b61920 100644
--- a/src/lib/formats/m5_dsk.h
+++ b/src/lib/formats/m5_dsk.h
@@ -26,6 +26,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_M5_FORMAT;
+extern const m5_format FLOPPY_M5_FORMAT;
#endif // MAME_FORMATS_M5_DSK_H
diff --git a/src/lib/formats/mdos_dsk.cpp b/src/lib/formats/mdos_dsk.cpp
index 3b26fbe394d..2b6b9644ed1 100644
--- a/src/lib/formats/mdos_dsk.cpp
+++ b/src/lib/formats/mdos_dsk.cpp
@@ -288,4 +288,4 @@ const mdos_format::format mdos_format::formats_head1[] = {
{}
};
-const floppy_format_type FLOPPY_MDOS_FORMAT = &floppy_image_format_creator<mdos_format>;
+const mdos_format FLOPPY_MDOS_FORMAT;
diff --git a/src/lib/formats/mdos_dsk.h b/src/lib/formats/mdos_dsk.h
index ebcb2a5c5ca..c6a98c80dba 100644
--- a/src/lib/formats/mdos_dsk.h
+++ b/src/lib/formats/mdos_dsk.h
@@ -40,6 +40,6 @@ private:
static int parse_date_field(const uint8_t *str);
};
-extern const floppy_format_type FLOPPY_MDOS_FORMAT;
+extern const mdos_format FLOPPY_MDOS_FORMAT;
#endif // MAME_FORMATS_MDOS_DSK_H
diff --git a/src/lib/formats/mfi_dsk.cpp b/src/lib/formats/mfi_dsk.cpp
index d979742a699..59310f2bb65 100644
--- a/src/lib/formats/mfi_dsk.cpp
+++ b/src/lib/formats/mfi_dsk.cpp
@@ -240,4 +240,4 @@ bool mfi_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return true;
}
-const floppy_format_type FLOPPY_MFI_FORMAT = &floppy_image_format_creator<mfi_format>;
+const mfi_format FLOPPY_MFI_FORMAT;
diff --git a/src/lib/formats/mfi_dsk.h b/src/lib/formats/mfi_dsk.h
index 4f638496e5d..b1c3e783044 100644
--- a/src/lib/formats/mfi_dsk.h
+++ b/src/lib/formats/mfi_dsk.h
@@ -49,6 +49,6 @@ private:
};
};
-extern const floppy_format_type FLOPPY_MFI_FORMAT;
+extern const mfi_format FLOPPY_MFI_FORMAT;
#endif // MAME_FORMATS_MFI_DSK_H
diff --git a/src/lib/formats/mm_dsk.cpp b/src/lib/formats/mm_dsk.cpp
index 1c4109cc216..540b60d419a 100644
--- a/src/lib/formats/mm_dsk.cpp
+++ b/src/lib/formats/mm_dsk.cpp
@@ -84,5 +84,5 @@ const mm2_format::format mm2_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_MM1_FORMAT = &floppy_image_format_creator<mm1_format>;
-const floppy_format_type FLOPPY_MM2_FORMAT = &floppy_image_format_creator<mm2_format>;
+const mm1_format FLOPPY_MM1_FORMAT;
+const mm2_format FLOPPY_MM2_FORMAT;
diff --git a/src/lib/formats/mm_dsk.h b/src/lib/formats/mm_dsk.h
index aec52093076..4359aef6f2c 100644
--- a/src/lib/formats/mm_dsk.h
+++ b/src/lib/formats/mm_dsk.h
@@ -38,7 +38,7 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_MM1_FORMAT;
-extern const floppy_format_type FLOPPY_MM2_FORMAT;
+extern const mm1_format FLOPPY_MM1_FORMAT;
+extern const mm2_format FLOPPY_MM2_FORMAT;
#endif // MAME_FORMATS_MM_DSK_H
diff --git a/src/lib/formats/ms0515_dsk.cpp b/src/lib/formats/ms0515_dsk.cpp
index 7c4d6a730a4..4096e30379e 100644
--- a/src/lib/formats/ms0515_dsk.cpp
+++ b/src/lib/formats/ms0515_dsk.cpp
@@ -50,4 +50,4 @@ const ms0515_format::format ms0515_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_MS0515_FORMAT = &floppy_image_format_creator<ms0515_format>;
+const ms0515_format FLOPPY_MS0515_FORMAT;
diff --git a/src/lib/formats/ms0515_dsk.h b/src/lib/formats/ms0515_dsk.h
index 1b6dc2d1e77..4a349e24872 100644
--- a/src/lib/formats/ms0515_dsk.h
+++ b/src/lib/formats/ms0515_dsk.h
@@ -25,6 +25,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_MS0515_FORMAT;
+extern const ms0515_format FLOPPY_MS0515_FORMAT;
#endif // MAME_FORMATS_MS0515_DSK_H
diff --git a/src/lib/formats/msx_dsk.cpp b/src/lib/formats/msx_dsk.cpp
index ab0b5bab529..c70d113bb49 100644
--- a/src/lib/formats/msx_dsk.cpp
+++ b/src/lib/formats/msx_dsk.cpp
@@ -58,4 +58,4 @@ const msx_format::format msx_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_MSX_FORMAT = &floppy_image_format_creator<msx_format>;
+const msx_format FLOPPY_MSX_FORMAT;
diff --git a/src/lib/formats/msx_dsk.h b/src/lib/formats/msx_dsk.h
index 8b4b941fcf7..a2fc333e1e4 100644
--- a/src/lib/formats/msx_dsk.h
+++ b/src/lib/formats/msx_dsk.h
@@ -12,10 +12,8 @@
#pragma once
-//#include "wd177x_dsk.h"
#include "upd765_dsk.h"
-//class msx_format : public wd177x_format {
class msx_format: public upd765_format
{
public:
@@ -29,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_MSX_FORMAT;
+extern const msx_format FLOPPY_MSX_FORMAT;
#endif // MAME_FORMATS_MSX_DSK_H
diff --git a/src/lib/formats/mtx_dsk.cpp b/src/lib/formats/mtx_dsk.cpp
index 95420f40aab..4f4701c46a8 100644
--- a/src/lib/formats/mtx_dsk.cpp
+++ b/src/lib/formats/mtx_dsk.cpp
@@ -50,4 +50,4 @@ const mtx_format::format mtx_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_MTX_FORMAT = &floppy_image_format_creator<mtx_format>;
+const mtx_format FLOPPY_MTX_FORMAT;
diff --git a/src/lib/formats/mtx_dsk.h b/src/lib/formats/mtx_dsk.h
index 2c1509af93d..ef0f0acd657 100644
--- a/src/lib/formats/mtx_dsk.h
+++ b/src/lib/formats/mtx_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_MTX_FORMAT;
+extern const mtx_format FLOPPY_MTX_FORMAT;
#endif // MAME_FORMATS_MTX_DSK_H
diff --git a/src/lib/formats/nanos_dsk.cpp b/src/lib/formats/nanos_dsk.cpp
index b41eeea795f..13debbe87f6 100644
--- a/src/lib/formats/nanos_dsk.cpp
+++ b/src/lib/formats/nanos_dsk.cpp
@@ -43,4 +43,4 @@ const nanos_format::format nanos_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_NANOS_FORMAT = &floppy_image_format_creator<nanos_format>;
+const nanos_format FLOPPY_NANOS_FORMAT;
diff --git a/src/lib/formats/nanos_dsk.h b/src/lib/formats/nanos_dsk.h
index 444768fbb49..78900c7dd3d 100644
--- a/src/lib/formats/nanos_dsk.h
+++ b/src/lib/formats/nanos_dsk.h
@@ -26,6 +26,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_NANOS_FORMAT;
+extern const nanos_format FLOPPY_NANOS_FORMAT;
#endif // MAME_FORMATS_NANOS_DSK_H
diff --git a/src/lib/formats/nascom_dsk.cpp b/src/lib/formats/nascom_dsk.cpp
index 6d3bb61395b..058f17b7b43 100644
--- a/src/lib/formats/nascom_dsk.cpp
+++ b/src/lib/formats/nascom_dsk.cpp
@@ -50,4 +50,4 @@ const nascom_format::format nascom_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_NASCOM_FORMAT = &floppy_image_format_creator<nascom_format>;
+const nascom_format FLOPPY_NASCOM_FORMAT;
diff --git a/src/lib/formats/nascom_dsk.h b/src/lib/formats/nascom_dsk.h
index 808e97b4441..165c9d86351 100644
--- a/src/lib/formats/nascom_dsk.h
+++ b/src/lib/formats/nascom_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_NASCOM_FORMAT;
+extern const nascom_format FLOPPY_NASCOM_FORMAT;
#endif // MAME_FORMATS_NASCOM_DSK_H
diff --git a/src/lib/formats/naslite_dsk.cpp b/src/lib/formats/naslite_dsk.cpp
index 69b12bbd43d..0ffba31dcfb 100644
--- a/src/lib/formats/naslite_dsk.cpp
+++ b/src/lib/formats/naslite_dsk.cpp
@@ -50,4 +50,4 @@ void naslite_format::build_sector_description(const format &f, uint8_t *sectdata
}
}
-const floppy_format_type FLOPPY_NASLITE_FORMAT = &floppy_image_format_creator<naslite_format>;
+const naslite_format FLOPPY_NASLITE_FORMAT;
diff --git a/src/lib/formats/naslite_dsk.h b/src/lib/formats/naslite_dsk.h
index 1cad11e1137..0c842a48793 100644
--- a/src/lib/formats/naslite_dsk.h
+++ b/src/lib/formats/naslite_dsk.h
@@ -29,6 +29,6 @@ protected:
virtual void build_sector_description(const format &d, uint8_t *sectdata, desc_s *sectors, int track, int head) const override;
};
-extern const floppy_format_type FLOPPY_NASLITE_FORMAT;
+extern const naslite_format FLOPPY_NASLITE_FORMAT;
#endif // MAME_FORMATS_NASLITE_DSK_H
diff --git a/src/lib/formats/nfd_dsk.cpp b/src/lib/formats/nfd_dsk.cpp
index df7db9ae3a4..58851ab5fe8 100644
--- a/src/lib/formats/nfd_dsk.cpp
+++ b/src/lib/formats/nfd_dsk.cpp
@@ -288,4 +288,4 @@ bool nfd_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_NFD_FORMAT = &floppy_image_format_creator<nfd_format>;
+const nfd_format FLOPPY_NFD_FORMAT;
diff --git a/src/lib/formats/nfd_dsk.h b/src/lib/formats/nfd_dsk.h
index b21f79189e2..078def004f1 100644
--- a/src/lib/formats/nfd_dsk.h
+++ b/src/lib/formats/nfd_dsk.h
@@ -29,6 +29,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_NFD_FORMAT;
+extern const nfd_format FLOPPY_NFD_FORMAT;
#endif // MAME_FORMATS_NFD_DSK_H
diff --git a/src/lib/formats/opd_dsk.cpp b/src/lib/formats/opd_dsk.cpp
index 4f22789fc69..987e3eeba0a 100644
--- a/src/lib/formats/opd_dsk.cpp
+++ b/src/lib/formats/opd_dsk.cpp
@@ -59,4 +59,4 @@ const opd_format::format opd_format::formats[] =
};
-const floppy_format_type FLOPPY_OPD_FORMAT = &floppy_image_format_creator<opd_format>;
+const opd_format FLOPPY_OPD_FORMAT;
diff --git a/src/lib/formats/opd_dsk.h b/src/lib/formats/opd_dsk.h
index b8f627da49f..59ac6bd8717 100644
--- a/src/lib/formats/opd_dsk.h
+++ b/src/lib/formats/opd_dsk.h
@@ -32,6 +32,6 @@ private:
};
-extern const floppy_format_type FLOPPY_OPD_FORMAT;
+extern const opd_format FLOPPY_OPD_FORMAT;
#endif // MAME_FORMATS_OPD_DSK_H
diff --git a/src/lib/formats/oric_dsk.cpp b/src/lib/formats/oric_dsk.cpp
index 4a17b18cc32..0457a6ca7b5 100644
--- a/src/lib/formats/oric_dsk.cpp
+++ b/src/lib/formats/oric_dsk.cpp
@@ -107,7 +107,7 @@ bool oric_dsk_format::load(util::random_read &io, uint32_t form_factor, const st
return true;
}
-const floppy_format_type FLOPPY_ORIC_DSK_FORMAT = &floppy_image_format_creator<oric_dsk_format>;
+const oric_dsk_format FLOPPY_ORIC_DSK_FORMAT;
const char *oric_jasmin_format::name() const
@@ -209,4 +209,4 @@ bool oric_jasmin_format::save(util::random_read_write &io, const std::vector<uin
return true;
}
-const floppy_format_type FLOPPY_ORIC_JASMIN_FORMAT = &floppy_image_format_creator<oric_jasmin_format>;
+const oric_jasmin_format FLOPPY_ORIC_JASMIN_FORMAT;
diff --git a/src/lib/formats/oric_dsk.h b/src/lib/formats/oric_dsk.h
index 60a09b61e76..a99b554032a 100644
--- a/src/lib/formats/oric_dsk.h
+++ b/src/lib/formats/oric_dsk.h
@@ -27,7 +27,7 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_ORIC_DSK_FORMAT;
+extern const oric_dsk_format FLOPPY_ORIC_DSK_FORMAT;
class oric_jasmin_format : public floppy_image_format_t
{
@@ -44,6 +44,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_ORIC_JASMIN_FORMAT;
+extern const oric_jasmin_format FLOPPY_ORIC_JASMIN_FORMAT;
#endif // MAME_FORMATS_ORIC_DSK_H
diff --git a/src/lib/formats/os9_dsk.cpp b/src/lib/formats/os9_dsk.cpp
index f19b87f2988..4c64aa06a21 100644
--- a/src/lib/formats/os9_dsk.cpp
+++ b/src/lib/formats/os9_dsk.cpp
@@ -583,4 +583,4 @@ const os9_format::format os9_format::formats_track0[] = {
{}
};
-const floppy_format_type FLOPPY_OS9_FORMAT = &floppy_image_format_creator<os9_format>;
+const os9_format FLOPPY_OS9_FORMAT;
diff --git a/src/lib/formats/os9_dsk.h b/src/lib/formats/os9_dsk.h
index 394eae75bb3..ff420c18461 100644
--- a/src/lib/formats/os9_dsk.h
+++ b/src/lib/formats/os9_dsk.h
@@ -30,6 +30,6 @@ private:
static const format formats_track0[];
};
-extern const floppy_format_type FLOPPY_OS9_FORMAT;
+extern const os9_format FLOPPY_OS9_FORMAT;
#endif // MAME_FORMATS_OS9_DSK_H
diff --git a/src/lib/formats/pasti_dsk.cpp b/src/lib/formats/pasti_dsk.cpp
index b9d9823f4f6..61d95792687 100644
--- a/src/lib/formats/pasti_dsk.cpp
+++ b/src/lib/formats/pasti_dsk.cpp
@@ -165,7 +165,7 @@ bool pasti_format::load(util::random_read &io, uint32_t form_factor, const std::
return true;
}
-const floppy_format_type FLOPPY_PASTI_FORMAT = &floppy_image_format_creator<pasti_format>;
+const pasti_format FLOPPY_PASTI_FORMAT;
void pasti_format::wd_generate_track_from_observations(int track, int head, floppy_image *image, wd_obs &obs)
diff --git a/src/lib/formats/pasti_dsk.h b/src/lib/formats/pasti_dsk.h
index 37372cef4f9..880192bc448 100644
--- a/src/lib/formats/pasti_dsk.h
+++ b/src/lib/formats/pasti_dsk.h
@@ -61,6 +61,6 @@ private:
static void wd_generate_track_from_sectors_only(int track, int head, floppy_image *image, wd_obs &obs);
};
-extern const floppy_format_type FLOPPY_PASTI_FORMAT;
+extern const pasti_format FLOPPY_PASTI_FORMAT;
#endif // MAME_FORMATS_PASTI_DSK_H
diff --git a/src/lib/formats/pc98_dsk.cpp b/src/lib/formats/pc98_dsk.cpp
index 125a23b13dd..884adfa4040 100644
--- a/src/lib/formats/pc98_dsk.cpp
+++ b/src/lib/formats/pc98_dsk.cpp
@@ -87,4 +87,4 @@ const pc98_format::format pc98_format::formats[] = {
};
-const floppy_format_type FLOPPY_PC98_FORMAT = &floppy_image_format_creator<pc98_format>;
+const pc98_format FLOPPY_PC98_FORMAT;
diff --git a/src/lib/formats/pc98_dsk.h b/src/lib/formats/pc98_dsk.h
index f6c0fa2dc95..453e4392059 100644
--- a/src/lib/formats/pc98_dsk.h
+++ b/src/lib/formats/pc98_dsk.h
@@ -31,6 +31,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_PC98_FORMAT;
+extern const pc98_format FLOPPY_PC98_FORMAT;
#endif // MAME_FORMATS_PC98_DSK_H
diff --git a/src/lib/formats/pc98fdi_dsk.cpp b/src/lib/formats/pc98fdi_dsk.cpp
index ed0243614b5..23890e42190 100644
--- a/src/lib/formats/pc98fdi_dsk.cpp
+++ b/src/lib/formats/pc98fdi_dsk.cpp
@@ -104,4 +104,4 @@ bool pc98fdi_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_PC98FDI_FORMAT = &floppy_image_format_creator<pc98fdi_format>;
+const pc98fdi_format FLOPPY_PC98FDI_FORMAT;
diff --git a/src/lib/formats/pc98fdi_dsk.h b/src/lib/formats/pc98fdi_dsk.h
index 99ba1f3f02e..7db28346a9b 100644
--- a/src/lib/formats/pc98fdi_dsk.h
+++ b/src/lib/formats/pc98fdi_dsk.h
@@ -29,6 +29,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_PC98FDI_FORMAT;
+extern const pc98fdi_format FLOPPY_PC98FDI_FORMAT;
#endif // MAME_FORMATS_PC98FDI_DSK_H
diff --git a/src/lib/formats/pc_dsk.cpp b/src/lib/formats/pc_dsk.cpp
index 101c55dacea..97b17612a34 100644
--- a/src/lib/formats/pc_dsk.cpp
+++ b/src/lib/formats/pc_dsk.cpp
@@ -94,4 +94,4 @@ const pc_format::format pc_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_PC_FORMAT = &floppy_image_format_creator<pc_format>;
+const pc_format FLOPPY_PC_FORMAT;
diff --git a/src/lib/formats/pc_dsk.h b/src/lib/formats/pc_dsk.h
index 78378696222..d0643961ced 100644
--- a/src/lib/formats/pc_dsk.h
+++ b/src/lib/formats/pc_dsk.h
@@ -28,6 +28,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_PC_FORMAT;
+extern const pc_format FLOPPY_PC_FORMAT;
#endif // MAME_FORMATS_PC_DSK_H
diff --git a/src/lib/formats/pk8020_dsk.cpp b/src/lib/formats/pk8020_dsk.cpp
index a3e93ea3df8..8d958361bcd 100644
--- a/src/lib/formats/pk8020_dsk.cpp
+++ b/src/lib/formats/pk8020_dsk.cpp
@@ -41,4 +41,4 @@ const pk8020_format::format pk8020_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_PK8020_FORMAT = &floppy_image_format_creator<pk8020_format>;
+const pk8020_format FLOPPY_PK8020_FORMAT;
diff --git a/src/lib/formats/pk8020_dsk.h b/src/lib/formats/pk8020_dsk.h
index 34e740f3e47..d5a1447f42d 100644
--- a/src/lib/formats/pk8020_dsk.h
+++ b/src/lib/formats/pk8020_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_PK8020_FORMAT;
+extern const pk8020_format FLOPPY_PK8020_FORMAT;
#endif // MAME_FORMATS_PK8020_DSK_H
diff --git a/src/lib/formats/poly_dsk.cpp b/src/lib/formats/poly_dsk.cpp
index 881dad52ab2..072cf0a1902 100644
--- a/src/lib/formats/poly_dsk.cpp
+++ b/src/lib/formats/poly_dsk.cpp
@@ -124,4 +124,4 @@ bool poly_cpm_format::load(util::random_read &io, uint32_t form_factor, const st
return true;
}
-const floppy_format_type FLOPPY_POLY_CPM_FORMAT = &floppy_image_format_creator<poly_cpm_format>;
+const poly_cpm_format FLOPPY_POLY_CPM_FORMAT;
diff --git a/src/lib/formats/poly_dsk.h b/src/lib/formats/poly_dsk.h
index 9b3e1ef219e..68ed2eba41a 100644
--- a/src/lib/formats/poly_dsk.h
+++ b/src/lib/formats/poly_dsk.h
@@ -25,6 +25,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_POLY_CPM_FORMAT;
+extern const poly_cpm_format FLOPPY_POLY_CPM_FORMAT;
#endif // MAME_FORMATS_POLY_DSK_H
diff --git a/src/lib/formats/ppg_dsk.cpp b/src/lib/formats/ppg_dsk.cpp
index 97c208baf1a..7bb3c9966e9 100644
--- a/src/lib/formats/ppg_dsk.cpp
+++ b/src/lib/formats/ppg_dsk.cpp
@@ -62,4 +62,4 @@ void ppg_format::build_sector_description(const format &f, uint8_t *sectdata, de
}
}
-const floppy_format_type FLOPPY_PPG_FORMAT = &floppy_image_format_creator<ppg_format>;
+const ppg_format FLOPPY_PPG_FORMAT;
diff --git a/src/lib/formats/ppg_dsk.h b/src/lib/formats/ppg_dsk.h
index 2b610133e07..c0f589fadaa 100644
--- a/src/lib/formats/ppg_dsk.h
+++ b/src/lib/formats/ppg_dsk.h
@@ -29,6 +29,6 @@ private:
virtual void build_sector_description(const format &d, uint8_t *sectdata, desc_s *sectors, int track, int head) const override;
};
-extern const floppy_format_type FLOPPY_PPG_FORMAT;
+extern const ppg_format FLOPPY_PPG_FORMAT;
#endif // MAME_FORMATS_PPG_DSK_H
diff --git a/src/lib/formats/pyldin_dsk.cpp b/src/lib/formats/pyldin_dsk.cpp
index b1f6ab2cdd9..d6458c615f4 100644
--- a/src/lib/formats/pyldin_dsk.cpp
+++ b/src/lib/formats/pyldin_dsk.cpp
@@ -43,4 +43,4 @@ const pyldin_format::format pyldin_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_PYLDIN_FORMAT = &floppy_image_format_creator<pyldin_format>;
+const pyldin_format FLOPPY_PYLDIN_FORMAT;
diff --git a/src/lib/formats/pyldin_dsk.h b/src/lib/formats/pyldin_dsk.h
index dcb9302e29a..84ba08a0737 100644
--- a/src/lib/formats/pyldin_dsk.h
+++ b/src/lib/formats/pyldin_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_PYLDIN_FORMAT;
+extern const pyldin_format FLOPPY_PYLDIN_FORMAT;
#endif // MAME_FORMATS_PYLDIN_DSK_H
diff --git a/src/lib/formats/ql_dsk.cpp b/src/lib/formats/ql_dsk.cpp
index 19ae4b4050c..99066c6f1db 100644
--- a/src/lib/formats/ql_dsk.cpp
+++ b/src/lib/formats/ql_dsk.cpp
@@ -50,4 +50,4 @@ const ql_format::format ql_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_QL_FORMAT = &floppy_image_format_creator<ql_format>;
+const ql_format FLOPPY_QL_FORMAT;
diff --git a/src/lib/formats/ql_dsk.h b/src/lib/formats/ql_dsk.h
index 6ed9f5ec64f..885724f7d17 100644
--- a/src/lib/formats/ql_dsk.h
+++ b/src/lib/formats/ql_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_QL_FORMAT;
+extern const ql_format FLOPPY_QL_FORMAT;
#endif // MAME_FORMATS_QL_DSK_H
diff --git a/src/lib/formats/rc759_dsk.cpp b/src/lib/formats/rc759_dsk.cpp
index 5c706558139..f532eb7ff30 100644
--- a/src/lib/formats/rc759_dsk.cpp
+++ b/src/lib/formats/rc759_dsk.cpp
@@ -38,4 +38,4 @@ const rc759_format::format rc759_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_RC759_FORMAT = &floppy_image_format_creator<rc759_format>;
+const rc759_format FLOPPY_RC759_FORMAT;
diff --git a/src/lib/formats/rc759_dsk.h b/src/lib/formats/rc759_dsk.h
index ad976221d07..febda395d09 100644
--- a/src/lib/formats/rc759_dsk.h
+++ b/src/lib/formats/rc759_dsk.h
@@ -28,6 +28,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_RC759_FORMAT;
+extern const rc759_format FLOPPY_RC759_FORMAT;
#endif // MAME_FORMATS_RC759_DSK_H
diff --git a/src/lib/formats/rx50_dsk.cpp b/src/lib/formats/rx50_dsk.cpp
index f7a93f2b536..e202e0cb448 100644
--- a/src/lib/formats/rx50_dsk.cpp
+++ b/src/lib/formats/rx50_dsk.cpp
@@ -212,7 +212,7 @@ bool rx50img_format::save(util::random_read_write &io, const std::vector<uint32_
return true;
}
-const floppy_format_type FLOPPY_RX50IMG_FORMAT = &floppy_image_format_creator<rx50img_format>;
+const rx50img_format FLOPPY_RX50IMG_FORMAT;
/*
diff --git a/src/lib/formats/rx50_dsk.h b/src/lib/formats/rx50_dsk.h
index 4b0d4625b8f..64fd2e490f6 100644
--- a/src/lib/formats/rx50_dsk.h
+++ b/src/lib/formats/rx50_dsk.h
@@ -38,6 +38,6 @@ private:
static void find_size(util::random_read &io, uint8_t &track_count, uint8_t &head_count, uint8_t &sector_count);
};
-extern const floppy_format_type FLOPPY_RX50IMG_FORMAT;
+extern const rx50img_format FLOPPY_RX50IMG_FORMAT;
#endif // MAME_FORMATS_RX50_DSK_H
diff --git a/src/lib/formats/sdd_dsk.cpp b/src/lib/formats/sdd_dsk.cpp
index 4d18bddf835..b119183cef4 100644
--- a/src/lib/formats/sdd_dsk.cpp
+++ b/src/lib/formats/sdd_dsk.cpp
@@ -61,4 +61,4 @@ const sdd_format::format sdd_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_SDD_FORMAT = &floppy_image_format_creator<sdd_format>;
+const sdd_format FLOPPY_SDD_FORMAT;
diff --git a/src/lib/formats/sdd_dsk.h b/src/lib/formats/sdd_dsk.h
index 8ae481e2eaa..bdbb9207e93 100644
--- a/src/lib/formats/sdd_dsk.h
+++ b/src/lib/formats/sdd_dsk.h
@@ -27,6 +27,6 @@ private:
virtual int get_image_offset(const format &f, int head, int track) const override;
};
-extern const floppy_format_type FLOPPY_SDD_FORMAT;
+extern const sdd_format FLOPPY_SDD_FORMAT;
#endif // MAME_FORMATS_SDD_DSK_H
diff --git a/src/lib/formats/sdf_dsk.cpp b/src/lib/formats/sdf_dsk.cpp
index 76398095493..52ac1c1229d 100644
--- a/src/lib/formats/sdf_dsk.cpp
+++ b/src/lib/formats/sdf_dsk.cpp
@@ -190,4 +190,4 @@ bool sdf_format::supports_save() const
}
-const floppy_format_type FLOPPY_SDF_FORMAT = &floppy_image_format_creator<sdf_format>;
+const sdf_format FLOPPY_SDF_FORMAT;
diff --git a/src/lib/formats/sdf_dsk.h b/src/lib/formats/sdf_dsk.h
index 21832b8d8e9..ec044c629dc 100644
--- a/src/lib/formats/sdf_dsk.h
+++ b/src/lib/formats/sdf_dsk.h
@@ -40,6 +40,6 @@ protected:
static constexpr int SECTOR_SLOT_COUNT = 31;
};
-extern const floppy_format_type FLOPPY_SDF_FORMAT;
+extern const sdf_format FLOPPY_SDF_FORMAT;
#endif // MAME_FORMATS_SDF_DSK_H
diff --git a/src/lib/formats/sf7000_dsk.cpp b/src/lib/formats/sf7000_dsk.cpp
index bd6694ecb1c..5813c7f3fe5 100644
--- a/src/lib/formats/sf7000_dsk.cpp
+++ b/src/lib/formats/sf7000_dsk.cpp
@@ -42,4 +42,4 @@ const sf7000_format::format sf7000_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_SF7000_FORMAT = &floppy_image_format_creator<sf7000_format>;
+const sf7000_format FLOPPY_SF7000_FORMAT;
diff --git a/src/lib/formats/sf7000_dsk.h b/src/lib/formats/sf7000_dsk.h
index ae74985c240..dbc9dbd632b 100644
--- a/src/lib/formats/sf7000_dsk.h
+++ b/src/lib/formats/sf7000_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_SF7000_FORMAT;
+extern const sf7000_format FLOPPY_SF7000_FORMAT;
#endif // MAME_FORMATS_SF7000_DSK_H
diff --git a/src/lib/formats/smx_dsk.cpp b/src/lib/formats/smx_dsk.cpp
index d23b030fb57..22910d52a80 100644
--- a/src/lib/formats/smx_dsk.cpp
+++ b/src/lib/formats/smx_dsk.cpp
@@ -43,4 +43,4 @@ const smx_format::format smx_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_SMX_FORMAT = &floppy_image_format_creator<smx_format>;
+const smx_format FLOPPY_SMX_FORMAT;
diff --git a/src/lib/formats/smx_dsk.h b/src/lib/formats/smx_dsk.h
index f6fe998c1c3..47c1e5ebfe1 100644
--- a/src/lib/formats/smx_dsk.h
+++ b/src/lib/formats/smx_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_SMX_FORMAT;
+extern const smx_format FLOPPY_SMX_FORMAT;
#endif // MAME_FORMATS_SMX_DSK_H
diff --git a/src/lib/formats/st_dsk.cpp b/src/lib/formats/st_dsk.cpp
index d554403768d..0c43baada82 100644
--- a/src/lib/formats/st_dsk.cpp
+++ b/src/lib/formats/st_dsk.cpp
@@ -330,5 +330,5 @@ bool msa_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return true;
}
-const floppy_format_type FLOPPY_ST_FORMAT = &floppy_image_format_creator<st_format>;
-const floppy_format_type FLOPPY_MSA_FORMAT = &floppy_image_format_creator<msa_format>;
+const st_format FLOPPY_ST_FORMAT;
+const msa_format FLOPPY_MSA_FORMAT;
diff --git a/src/lib/formats/st_dsk.h b/src/lib/formats/st_dsk.h
index fe93c883a88..58f287c1212 100644
--- a/src/lib/formats/st_dsk.h
+++ b/src/lib/formats/st_dsk.h
@@ -52,7 +52,7 @@ private:
static void read_header(util::random_read &io, uint16_t &sign, uint16_t &sect, uint16_t &head, uint16_t &strack, uint16_t &etrack);
};
-extern const floppy_format_type FLOPPY_ST_FORMAT;
-extern const floppy_format_type FLOPPY_MSA_FORMAT;
+extern const st_format FLOPPY_ST_FORMAT;
+extern const msa_format FLOPPY_MSA_FORMAT;
#endif // MAME_FORMATS_ST_DSK_H
diff --git a/src/lib/formats/svi_dsk.cpp b/src/lib/formats/svi_dsk.cpp
index 6ba2bf4e43d..5caa80f25b8 100644
--- a/src/lib/formats/svi_dsk.cpp
+++ b/src/lib/formats/svi_dsk.cpp
@@ -144,4 +144,4 @@ bool svi_format::supports_save() const
return true;
}
-const floppy_format_type FLOPPY_SVI_FORMAT = &floppy_image_format_creator<svi_format>;
+const svi_format FLOPPY_SVI_FORMAT;
diff --git a/src/lib/formats/svi_dsk.h b/src/lib/formats/svi_dsk.h
index 64a965d1a98..f967391344c 100644
--- a/src/lib/formats/svi_dsk.h
+++ b/src/lib/formats/svi_dsk.h
@@ -29,6 +29,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_SVI_FORMAT;
+extern const svi_format FLOPPY_SVI_FORMAT;
#endif // MAME_FORMATS_SVI_DSK_H
diff --git a/src/lib/formats/swd_dsk.cpp b/src/lib/formats/swd_dsk.cpp
index 6003144f519..e08c3edbbae 100644
--- a/src/lib/formats/swd_dsk.cpp
+++ b/src/lib/formats/swd_dsk.cpp
@@ -47,4 +47,4 @@ const swd_format::format swd_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_SWD_FORMAT = &floppy_image_format_creator<swd_format>;
+const swd_format FLOPPY_SWD_FORMAT;
diff --git a/src/lib/formats/swd_dsk.h b/src/lib/formats/swd_dsk.h
index 50ec1b96e49..f6e66d20cd2 100644
--- a/src/lib/formats/swd_dsk.h
+++ b/src/lib/formats/swd_dsk.h
@@ -27,6 +27,6 @@ private:
virtual int get_image_offset(const format &f, int head, int track) const override;
};
-extern const floppy_format_type FLOPPY_SWD_FORMAT;
+extern const swd_format FLOPPY_SWD_FORMAT;
#endif // MAME_FORMATS_SWD_DSK_H
diff --git a/src/lib/formats/tandy2k_dsk.cpp b/src/lib/formats/tandy2k_dsk.cpp
index 7577fd5a089..42a21b06de2 100644
--- a/src/lib/formats/tandy2k_dsk.cpp
+++ b/src/lib/formats/tandy2k_dsk.cpp
@@ -37,4 +37,4 @@ const tandy2k_format::format tandy2k_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_TANDY_2000_FORMAT = &floppy_image_format_creator<tandy2k_format>;
+const tandy2k_format FLOPPY_TANDY_2000_FORMAT;
diff --git a/src/lib/formats/tandy2k_dsk.h b/src/lib/formats/tandy2k_dsk.h
index 35833ecba6d..b30bb29b8d0 100644
--- a/src/lib/formats/tandy2k_dsk.h
+++ b/src/lib/formats/tandy2k_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_TANDY_2000_FORMAT;
+extern const tandy2k_format FLOPPY_TANDY_2000_FORMAT;
#endif // MAME_FORMATS_TANDY2K_DSK_H
diff --git a/src/lib/formats/td0_dsk.cpp b/src/lib/formats/td0_dsk.cpp
index cd20ace7341..360bd0d06e5 100644
--- a/src/lib/formats/td0_dsk.cpp
+++ b/src/lib/formats/td0_dsk.cpp
@@ -1028,4 +1028,4 @@ bool td0_format::supports_save() const
return false;
}
-const floppy_format_type FLOPPY_TD0_FORMAT = &floppy_image_format_creator<td0_format>;
+const td0_format FLOPPY_TD0_FORMAT;
diff --git a/src/lib/formats/td0_dsk.h b/src/lib/formats/td0_dsk.h
index c7e7060aa70..76917596963 100644
--- a/src/lib/formats/td0_dsk.h
+++ b/src/lib/formats/td0_dsk.h
@@ -22,6 +22,6 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_TD0_FORMAT;
+extern const td0_format FLOPPY_TD0_FORMAT;
#endif // MAME_FORMATS_TD0_DSK_H
diff --git a/src/lib/formats/thom_dsk.cpp b/src/lib/formats/thom_dsk.cpp
index b1b34e987c2..b243dfd0626 100644
--- a/src/lib/formats/thom_dsk.cpp
+++ b/src/lib/formats/thom_dsk.cpp
@@ -82,5 +82,5 @@ const thomson_35_format::format thomson_35_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_THOMSON_525_FORMAT = &floppy_image_format_creator<thomson_525_format>;
-const floppy_format_type FLOPPY_THOMSON_35_FORMAT = &floppy_image_format_creator<thomson_35_format>;
+const thomson_525_format FLOPPY_THOMSON_525_FORMAT;
+const thomson_35_format FLOPPY_THOMSON_35_FORMAT;
diff --git a/src/lib/formats/thom_dsk.h b/src/lib/formats/thom_dsk.h
index 3d8fd504084..f466417974f 100644
--- a/src/lib/formats/thom_dsk.h
+++ b/src/lib/formats/thom_dsk.h
@@ -34,7 +34,7 @@ private:
};
-extern const floppy_format_type FLOPPY_THOMSON_525_FORMAT;
-extern const floppy_format_type FLOPPY_THOMSON_35_FORMAT;
+extern const thomson_525_format FLOPPY_THOMSON_525_FORMAT;
+extern const thomson_35_format FLOPPY_THOMSON_35_FORMAT;
#endif // MAME_FORMATS_THOM_DSK_H
diff --git a/src/lib/formats/ti99_dsk.cpp b/src/lib/formats/ti99_dsk.cpp
index d9f7cc95922..a2b4a0e651d 100644
--- a/src/lib/formats/ti99_dsk.cpp
+++ b/src/lib/formats/ti99_dsk.cpp
@@ -1164,7 +1164,7 @@ void ti99_sdf_format::write_track(util::random_read_write &io, uint8_t *sectorda
}
-const floppy_format_type FLOPPY_TI99_SDF_FORMAT = &floppy_image_format_creator<ti99_sdf_format>;
+const ti99_sdf_format FLOPPY_TI99_SDF_FORMAT;
/*
Track Dump Format
@@ -1526,4 +1526,4 @@ int ti99_tdf_format::get_track_size(int sector_count) const
return 0;
}
-const floppy_format_type FLOPPY_TI99_TDF_FORMAT = &floppy_image_format_creator<ti99_tdf_format>;
+const ti99_tdf_format FLOPPY_TI99_TDF_FORMAT;
diff --git a/src/lib/formats/ti99_dsk.h b/src/lib/formats/ti99_dsk.h
index b76257eaed6..39a6a178247 100644
--- a/src/lib/formats/ti99_dsk.h
+++ b/src/lib/formats/ti99_dsk.h
@@ -84,7 +84,7 @@ private:
};
};
-extern const floppy_format_type FLOPPY_TI99_SDF_FORMAT;
+extern const ti99_sdf_format FLOPPY_TI99_SDF_FORMAT;
/*
Implementation of the track dump format.
@@ -107,6 +107,6 @@ private:
int min_heads() const override { return 2; }
};
-extern const floppy_format_type FLOPPY_TI99_TDF_FORMAT;
+extern const ti99_tdf_format FLOPPY_TI99_TDF_FORMAT;
#endif // MAME_FORMATS_TI99_DSK_H
diff --git a/src/lib/formats/tiki100_dsk.cpp b/src/lib/formats/tiki100_dsk.cpp
index 209ae11aa1d..80ab008e2f1 100644
--- a/src/lib/formats/tiki100_dsk.cpp
+++ b/src/lib/formats/tiki100_dsk.cpp
@@ -114,4 +114,4 @@ const tiki100_format::format tiki100_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_TIKI100_FORMAT = &floppy_image_format_creator<tiki100_format>;
+const tiki100_format FLOPPY_TIKI100_FORMAT;
diff --git a/src/lib/formats/tiki100_dsk.h b/src/lib/formats/tiki100_dsk.h
index 197b114fad3..4df89446bf1 100644
--- a/src/lib/formats/tiki100_dsk.h
+++ b/src/lib/formats/tiki100_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_TIKI100_FORMAT;
+extern const tiki100_format FLOPPY_TIKI100_FORMAT;
#endif // MAME_FORMATS_TIKI100_DSK_H
diff --git a/src/lib/formats/trd_dsk.cpp b/src/lib/formats/trd_dsk.cpp
index 8c6d6a7ed46..2eb09aabf99 100644
--- a/src/lib/formats/trd_dsk.cpp
+++ b/src/lib/formats/trd_dsk.cpp
@@ -110,4 +110,4 @@ const trd_format::format trd_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_TRD_FORMAT = &floppy_image_format_creator<trd_format>;
+const trd_format FLOPPY_TRD_FORMAT;
diff --git a/src/lib/formats/trd_dsk.h b/src/lib/formats/trd_dsk.h
index 1ae13c68237..a6b37d460e4 100644
--- a/src/lib/formats/trd_dsk.h
+++ b/src/lib/formats/trd_dsk.h
@@ -27,6 +27,6 @@ private:
virtual int find_size(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
};
-extern const floppy_format_type FLOPPY_TRD_FORMAT;
+extern const trd_format FLOPPY_TRD_FORMAT;
#endif // MAME_FORMATS_TRD_DSK_H
diff --git a/src/lib/formats/trs80_dsk.cpp b/src/lib/formats/trs80_dsk.cpp
index 34186c228f9..6cd4155f284 100644
--- a/src/lib/formats/trs80_dsk.cpp
+++ b/src/lib/formats/trs80_dsk.cpp
@@ -112,7 +112,7 @@ const jv1_format::format jv1_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_JV1_FORMAT = &floppy_image_format_creator<jv1_format>;
+const jv1_format FLOPPY_JV1_FORMAT;
#define MAX_SECTORS 19
@@ -455,5 +455,5 @@ bool jv3_format::supports_save() const
return true;
}
-const floppy_format_type FLOPPY_JV3_FORMAT = &floppy_image_format_creator<jv3_format>;
+const jv3_format FLOPPY_JV3_FORMAT;
diff --git a/src/lib/formats/trs80_dsk.h b/src/lib/formats/trs80_dsk.h
index dd552c298f9..7c28275d0a7 100644
--- a/src/lib/formats/trs80_dsk.h
+++ b/src/lib/formats/trs80_dsk.h
@@ -45,7 +45,7 @@ public:
virtual bool supports_save() const override;
};
-extern const floppy_format_type FLOPPY_JV1_FORMAT;
-extern const floppy_format_type FLOPPY_JV3_FORMAT;
+extern const jv1_format FLOPPY_JV1_FORMAT;
+extern const jv3_format FLOPPY_JV3_FORMAT;
#endif // MAME_FORMATS_TRS80_DSK_H
diff --git a/src/lib/formats/tvc_dsk.cpp b/src/lib/formats/tvc_dsk.cpp
index 1ea4389c945..e5d0aff33fa 100644
--- a/src/lib/formats/tvc_dsk.cpp
+++ b/src/lib/formats/tvc_dsk.cpp
@@ -43,4 +43,4 @@ const tvc_format::format tvc_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_TVC_FORMAT = &floppy_image_format_creator<tvc_format>;
+const tvc_format FLOPPY_TVC_FORMAT;
diff --git a/src/lib/formats/tvc_dsk.h b/src/lib/formats/tvc_dsk.h
index e94e3516953..c0be75034c7 100644
--- a/src/lib/formats/tvc_dsk.h
+++ b/src/lib/formats/tvc_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_TVC_FORMAT;
+extern const tvc_format FLOPPY_TVC_FORMAT;
#endif // MAME_FORMATS_TVC_DSK_H
diff --git a/src/lib/formats/uniflex_dsk.cpp b/src/lib/formats/uniflex_dsk.cpp
index 628321f3748..4eb63461875 100644
--- a/src/lib/formats/uniflex_dsk.cpp
+++ b/src/lib/formats/uniflex_dsk.cpp
@@ -154,4 +154,4 @@ const uniflex_format::format uniflex_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_UNIFLEX_FORMAT = &floppy_image_format_creator<uniflex_format>;
+const uniflex_format FLOPPY_UNIFLEX_FORMAT;
diff --git a/src/lib/formats/uniflex_dsk.h b/src/lib/formats/uniflex_dsk.h
index 03908b305d2..def6130d870 100644
--- a/src/lib/formats/uniflex_dsk.h
+++ b/src/lib/formats/uniflex_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_UNIFLEX_FORMAT;
+extern const uniflex_format FLOPPY_UNIFLEX_FORMAT;
#endif // MAME_FORMATS_UNIFLEX_DSK_H
diff --git a/src/lib/formats/vdk_dsk.cpp b/src/lib/formats/vdk_dsk.cpp
index abedd369861..49a0c136616 100644
--- a/src/lib/formats/vdk_dsk.cpp
+++ b/src/lib/formats/vdk_dsk.cpp
@@ -141,4 +141,4 @@ bool vdk_format::supports_save() const
return true;
}
-const floppy_format_type FLOPPY_VDK_FORMAT = &floppy_image_format_creator<vdk_format>;
+const vdk_format FLOPPY_VDK_FORMAT;
diff --git a/src/lib/formats/vdk_dsk.h b/src/lib/formats/vdk_dsk.h
index 53e9b5a4ce5..3b9b0ac585c 100644
--- a/src/lib/formats/vdk_dsk.h
+++ b/src/lib/formats/vdk_dsk.h
@@ -36,6 +36,6 @@ private:
static const int FIRST_SECTOR_ID = 1;
};
-extern const floppy_format_type FLOPPY_VDK_FORMAT;
+extern const vdk_format FLOPPY_VDK_FORMAT;
#endif // MAME_FORMATS_VDK_DSK_H
diff --git a/src/lib/formats/vector06_dsk.cpp b/src/lib/formats/vector06_dsk.cpp
index 2cb0b6367c9..3396553c477 100644
--- a/src/lib/formats/vector06_dsk.cpp
+++ b/src/lib/formats/vector06_dsk.cpp
@@ -45,4 +45,4 @@ const vector06_format::format vector06_format::formats[] =
{}
};
-const floppy_format_type FLOPPY_VECTOR06_FORMAT = &floppy_image_format_creator<vector06_format>;
+const vector06_format FLOPPY_VECTOR06_FORMAT;
diff --git a/src/lib/formats/vector06_dsk.h b/src/lib/formats/vector06_dsk.h
index b667f123cca..dcd449406aa 100644
--- a/src/lib/formats/vector06_dsk.h
+++ b/src/lib/formats/vector06_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_VECTOR06_FORMAT;
+extern const vector06_format FLOPPY_VECTOR06_FORMAT;
#endif // MAME_FORMATS_VECTOR06_DSK_H
diff --git a/src/lib/formats/victor9k_dsk.cpp b/src/lib/formats/victor9k_dsk.cpp
index 52e82f5b38c..62e1cc38efb 100644
--- a/src/lib/formats/victor9k_dsk.cpp
+++ b/src/lib/formats/victor9k_dsk.cpp
@@ -449,4 +449,4 @@ void victor9k_format::extract_sectors(floppy_image *image, const format &f, desc
}
}
-const floppy_format_type FLOPPY_VICTOR_9000_FORMAT = &floppy_image_format_creator<victor9k_format>;
+const victor9k_format FLOPPY_VICTOR_9000_FORMAT;
diff --git a/src/lib/formats/victor9k_dsk.h b/src/lib/formats/victor9k_dsk.h
index f9a40cfffd4..9f7f3fe14d1 100644
--- a/src/lib/formats/victor9k_dsk.h
+++ b/src/lib/formats/victor9k_dsk.h
@@ -58,7 +58,7 @@ protected:
static void extract_sectors(floppy_image *image, const format &f, desc_s *sdesc, int track, int head, int sector_count);
};
-extern const floppy_format_type FLOPPY_VICTOR_9000_FORMAT;
+extern const victor9k_format FLOPPY_VICTOR_9000_FORMAT;
#endif // MAME_FORMATS_VICTOR9K_DSK_H
diff --git a/src/lib/formats/vt_dsk.cpp b/src/lib/formats/vt_dsk.cpp
index d92d586f275..c01906e7df3 100644
--- a/src/lib/formats/vt_dsk.cpp
+++ b/src/lib/formats/vt_dsk.cpp
@@ -407,5 +407,5 @@ bool vtech_dsk_format::save(util::random_read_write &io, const std::vector<uint3
}
-const floppy_format_type FLOPPY_VTECH_BIN_FORMAT = &floppy_image_format_creator<vtech_bin_format>;
-const floppy_format_type FLOPPY_VTECH_DSK_FORMAT = &floppy_image_format_creator<vtech_dsk_format>;
+const vtech_bin_format FLOPPY_VTECH_BIN_FORMAT;
+const vtech_dsk_format FLOPPY_VTECH_DSK_FORMAT;
diff --git a/src/lib/formats/vt_dsk.h b/src/lib/formats/vt_dsk.h
index b38eb1d813b..dacdb19d90d 100644
--- a/src/lib/formats/vt_dsk.h
+++ b/src/lib/formats/vt_dsk.h
@@ -52,7 +52,7 @@ public:
virtual bool save(util::random_read_write &io, const std::vector<uint32_t> &variants, floppy_image *image) const override;
};
-extern const floppy_format_type FLOPPY_VTECH_BIN_FORMAT;
-extern const floppy_format_type FLOPPY_VTECH_DSK_FORMAT;
+extern const vtech_bin_format FLOPPY_VTECH_BIN_FORMAT;
+extern const vtech_dsk_format FLOPPY_VTECH_DSK_FORMAT;
#endif // MAME_FORMATS_VT_DSK_H
diff --git a/src/lib/formats/xdf_dsk.cpp b/src/lib/formats/xdf_dsk.cpp
index 585d81f4570..c6b131eb890 100644
--- a/src/lib/formats/xdf_dsk.cpp
+++ b/src/lib/formats/xdf_dsk.cpp
@@ -42,4 +42,4 @@ const xdf_format::format xdf_format::formats[] = {
{}
};
-const floppy_format_type FLOPPY_XDF_FORMAT = &floppy_image_format_creator<xdf_format>;
+const xdf_format FLOPPY_XDF_FORMAT;
diff --git a/src/lib/formats/xdf_dsk.h b/src/lib/formats/xdf_dsk.h
index 6e8dc3b8f34..c371a342f48 100644
--- a/src/lib/formats/xdf_dsk.h
+++ b/src/lib/formats/xdf_dsk.h
@@ -27,6 +27,6 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_XDF_FORMAT;
+extern const xdf_format FLOPPY_XDF_FORMAT;
#endif // MAME_FORMATS_XDF_DSK_H
diff --git a/src/mame/drivers/bw2.cpp b/src/mame/drivers/bw2.cpp
index 02c59706ccd..048542ad02d 100644
--- a/src/mame/drivers/bw2.cpp
+++ b/src/mame/drivers/bw2.cpp
@@ -477,7 +477,7 @@ WRITE_LINE_MEMBER( bw2_state::mtron_w )
}
//-------------------------------------------------
-// floppy_format_type floppy_formats
+// floppy_formats
//-------------------------------------------------
WRITE_LINE_MEMBER( bw2_state::fdc_drq_w )
diff --git a/src/mame/drivers/super6.cpp b/src/mame/drivers/super6.cpp
index fee9ed01046..170709fcf11 100644
--- a/src/mame/drivers/super6.cpp
+++ b/src/mame/drivers/super6.cpp
@@ -371,7 +371,7 @@ void super6_state::io_write_byte(offs_t offset, uint8_t data)
//-------------------------------------------------
-// floppy_format_type floppy_formats
+// floppy_formats
//-------------------------------------------------
static void super6_floppies(device_slot_interface &device)
diff --git a/src/osd/modules/debugger/debugimgui.cpp b/src/osd/modules/debugger/debugimgui.cpp
index ebaa320ea3a..944ed203b79 100644
--- a/src/osd/modules/debugger/debugimgui.cpp
+++ b/src/osd/modules/debugger/debugimgui.cpp
@@ -142,7 +142,7 @@ private:
struct image_type_entry
{
- floppy_image_format_t* format;
+ const floppy_image_format_t* format;
std::string shortname;
std::string longname;
};
@@ -1061,7 +1061,7 @@ void debug_imgui::refresh_typelist()
if(fd == nullptr)
return;
- for(floppy_image_format_t* flist : fd->get_formats())
+ for(const floppy_image_format_t* flist : fd->get_formats())
{
if(flist->supports_save())
{
diff --git a/src/tools/image_handler.cpp b/src/tools/image_handler.cpp
index 2bc9e70814b..28a6dfe703b 100644
--- a/src/tools/image_handler.cpp
+++ b/src/tools/image_handler.cpp
@@ -31,8 +31,8 @@ namespace {
m_category = name;
}
- virtual void add(floppy_format_type format) {
- m_table->floppy_format_infos.emplace_back(std::make_unique<floppy_format_info>(format(), m_category));
+ virtual void add(const floppy_image_format_t &format) {
+ m_table->floppy_format_infos.emplace_back(std::make_unique<floppy_format_info>(&format, m_category));
}
virtual void add(const fs::manager_t &fs) {
@@ -45,9 +45,9 @@ namespace {
fs_enum(filesystem_format *format) : m_format(format) {}
- virtual void add(floppy_format_type type, u32 image_size, const char *name, const char *description) override {
+ virtual void add(const floppy_image_format_t &type, u32 image_size, const char *name, const char *description) override {
m_format->m_floppy = true;
- m_format->m_floppy_create.emplace_back(std::make_unique<floppy_create_info>(m_format->m_manager, type, image_size, name, description));
+ m_format->m_floppy_create.emplace_back(std::make_unique<floppy_create_info>(m_format->m_manager, &type, image_size, name, description));
}
virtual void add_raw(const char *name, u32 key, const char *description) override {
@@ -292,10 +292,8 @@ void image_handler::floppy_create(const floppy_create_info *format, fs::meta_dat
auto fs = format->m_manager->mount(blockdev);
fs->format(meta);
- auto source_format = format->m_type();
auto io = util::ram_read(img.data(), img.size(), 0xff);
- source_format->load(*io, floppy_image::FF_UNKNOWN, variants, &m_floppy_image);
- delete source_format;
+ format->m_type->load(*io, floppy_image::FF_UNKNOWN, variants, &m_floppy_image);
} else {
fs::unformatted_image::format(format->m_key, &m_floppy_image);
}
@@ -309,10 +307,8 @@ bool image_handler::floppy_mount_fs(const filesystem_format *format)
std::vector<uint32_t> variants;
m_floppy_fs_converter = ci->m_type;
m_sector_image.clear();
- auto load_format = m_floppy_fs_converter();
util::random_read_write_fill_wrapper<util::vector_read_write_adapter<u8>, 0xff> io(m_sector_image);
- load_format->save(io, variants, &m_floppy_image);
- delete load_format;
+ m_floppy_fs_converter->save(io, variants, &m_floppy_image);
}
if(ci->m_image_size == m_sector_image.size())
@@ -344,9 +340,7 @@ void image_handler::fs_to_floppy()
{
std::vector<uint32_t> variants;
auto io = util::ram_read(m_sector_image.data(), m_sector_image.size(), 0xff);
- auto format = m_floppy_fs_converter();
- format->load(*io, floppy_image::FF_UNKNOWN, variants, &m_floppy_image);
- delete format;
+ m_floppy_fs_converter->load(*io, floppy_image::FF_UNKNOWN, variants, &m_floppy_image);
}
std::vector<std::string> image_handler::path_split(std::string path) const
diff --git a/src/tools/image_handler.h b/src/tools/image_handler.h
index fec66602a43..e29a55d8c14 100644
--- a/src/tools/image_handler.h
+++ b/src/tools/image_handler.h
@@ -22,22 +22,22 @@ using u16 = uint16_t;
using u32 = uint32_t;
struct floppy_format_info {
- floppy_image_format_t *m_format;
+ const floppy_image_format_t *m_format;
std::string m_category;
- floppy_format_info(floppy_image_format_t *format, std::string category) : m_format(format), m_category(category) {}
+ floppy_format_info(const floppy_image_format_t *format, std::string category) : m_format(format), m_category(category) {}
};
struct floppy_create_info {
const fs::manager_t *m_manager;
- floppy_format_type m_type;
+ const floppy_image_format_t *m_type;
u32 m_image_size;
u32 m_key;
const char *m_name;
const char *m_description;
- floppy_create_info(const fs::manager_t *manager, floppy_format_type type, u32 image_size, const char *name, const char *description) :
+ floppy_create_info(const fs::manager_t *manager, const floppy_image_format_t *type, u32 image_size, const char *name, const char *description) :
m_manager(manager), m_type(type), m_image_size(image_size), m_key(0), m_name(name), m_description(description)
{ }
@@ -106,7 +106,7 @@ private:
floppy_image m_floppy_image;
- floppy_format_type m_floppy_fs_converter;
+ const floppy_image_format_t *m_floppy_fs_converter;
std::vector<u8> m_sector_image;
std::unique_ptr<fs::fsblk_t> m_fsblk;
const fs::manager_t *m_fsm;