summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
author MooglyGuy <therealmogminer@gmail.com>2019-06-30 06:38:06 +0200
committer MooglyGuy <therealmogminer@gmail.com>2019-06-30 15:08:18 +0200
commitde808fdacbe1de18c6fdae6eecefd3b276b671fd (patch)
tree4fd32bc3f378cf9a35eb601ec5ec6b8df6efa73f /src/mame
parent779b26ebc3079badec82a02818c8f2d9741caea6 (diff)
-snapquik: Modernized delegate and removed MCFG macros. [Ryan Holtz]
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/abc80.cpp9
-rw-r--r--src/mame/drivers/abc80x.cpp9
-rw-r--r--src/mame/drivers/altair.cpp6
-rw-r--r--src/mame/drivers/altos5.cpp11
-rw-r--r--src/mame/drivers/amstrad.cpp15
-rw-r--r--src/mame/drivers/apple1.cpp11
-rw-r--r--src/mame/drivers/atom.cpp6
-rw-r--r--src/mame/drivers/aussiebyte.cpp10
-rw-r--r--src/mame/drivers/avigo.cpp9
-rw-r--r--src/mame/drivers/binbug.cpp7
-rw-r--r--src/mame/drivers/c128.cpp10
-rw-r--r--src/mame/drivers/c64.cpp13
-rw-r--r--src/mame/drivers/cbm2.cpp17
-rw-r--r--src/mame/drivers/cd2650.cpp7
-rw-r--r--src/mame/drivers/comx35.cpp5
-rw-r--r--src/mame/drivers/cosmicos.cpp9
-rw-r--r--src/mame/drivers/cp1.cpp6
-rw-r--r--src/mame/drivers/cybiko.cpp6
-rw-r--r--src/mame/drivers/d6800.cpp11
-rw-r--r--src/mame/drivers/dmv.cpp7
-rw-r--r--src/mame/drivers/elf.cpp4
-rw-r--r--src/mame/drivers/eti660.cpp9
-rw-r--r--src/mame/drivers/galaxy.cpp14
-rw-r--r--src/mame/drivers/gizmondo.cpp12
-rw-r--r--src/mame/drivers/homelab.cpp25
-rw-r--r--src/mame/drivers/instruct.cpp7
-rw-r--r--src/mame/drivers/jaguar.cpp10
-rw-r--r--src/mame/drivers/jr100.cpp8
-rw-r--r--src/mame/drivers/jtc.cpp11
-rw-r--r--src/mame/drivers/jupace.cpp6
-rw-r--r--src/mame/drivers/kaypro.cpp14
-rw-r--r--src/mame/drivers/kc.cpp6
-rw-r--r--src/mame/drivers/lviv.cpp7
-rw-r--r--src/mame/drivers/lynx.cpp4
-rw-r--r--src/mame/drivers/m5.cpp2
-rw-r--r--src/mame/drivers/mbee.cpp18
-rw-r--r--src/mame/drivers/mekd2.cpp6
-rw-r--r--src/mame/drivers/meritum.cpp11
-rw-r--r--src/mame/drivers/microtan.cpp7
-rw-r--r--src/mame/drivers/mtx.cpp6
-rw-r--r--src/mame/drivers/nascom1.cpp12
-rw-r--r--src/mame/drivers/pet.cpp8
-rw-r--r--src/mame/drivers/phunsy.cpp7
-rw-r--r--src/mame/drivers/pipbug.cpp7
-rw-r--r--src/mame/drivers/plus4.cpp7
-rw-r--r--src/mame/drivers/poly88.cpp7
-rw-r--r--src/mame/drivers/primo.cpp9
-rw-r--r--src/mame/drivers/psx.cpp7
-rw-r--r--src/mame/drivers/qx10.cpp12
-rw-r--r--src/mame/drivers/ravens.cpp10
-rw-r--r--src/mame/drivers/rex6000.cpp22
-rw-r--r--src/mame/drivers/smc777.cpp11
-rw-r--r--src/mame/drivers/sorcerer.cpp9
-rw-r--r--src/mame/drivers/spectrum.cpp6
-rw-r--r--src/mame/drivers/ssem.cpp11
-rw-r--r--src/mame/drivers/sun4.cpp4
-rw-r--r--src/mame/drivers/super80.cpp6
-rw-r--r--src/mame/drivers/svmu.cpp8
-rw-r--r--src/mame/drivers/ti85.cpp18
-rw-r--r--src/mame/drivers/tmc1800.cpp30
-rw-r--r--src/mame/drivers/trs80.cpp7
-rw-r--r--src/mame/drivers/trs80m3.cpp7
-rw-r--r--src/mame/drivers/tvc.cpp11
-rw-r--r--src/mame/drivers/vc4000.cpp5
-rw-r--r--src/mame/drivers/vgmplay.cpp12
-rw-r--r--src/mame/drivers/vic20.cpp7
-rw-r--r--src/mame/drivers/vip.cpp9
-rw-r--r--src/mame/drivers/vtech1.cpp7
-rw-r--r--src/mame/drivers/xerox820.cpp16
-rw-r--r--src/mame/drivers/xtom3d.cpp22
-rw-r--r--src/mame/drivers/z1013.cpp11
-rw-r--r--src/mame/includes/abc80.h2
-rw-r--r--src/mame/includes/abc80x.h2
-rw-r--r--src/mame/includes/amstrad.h2
-rw-r--r--src/mame/includes/atom.h2
-rw-r--r--src/mame/includes/aussiebyte.h2
-rw-r--r--src/mame/includes/avigo.h2
-rw-r--r--src/mame/includes/comx35.h2
-rw-r--r--src/mame/includes/cosmicos.h2
-rw-r--r--src/mame/includes/cybiko.h4
-rw-r--r--src/mame/includes/elf.h2
-rw-r--r--src/mame/includes/eti660.h2
-rw-r--r--src/mame/includes/galaxy.h2
-rw-r--r--src/mame/includes/jaguar.h3
-rw-r--r--src/mame/includes/kaypro.h2
-rw-r--r--src/mame/includes/kc.h2
-rw-r--r--src/mame/includes/lviv.h2
-rw-r--r--src/mame/includes/lynx.h2
-rw-r--r--src/mame/includes/mbee.h4
-rw-r--r--src/mame/includes/microtan.h4
-rw-r--r--src/mame/includes/mtx.h4
-rw-r--r--src/mame/includes/poly88.h2
-rw-r--r--src/mame/includes/primo.h4
-rw-r--r--src/mame/includes/sorcerer.h4
-rw-r--r--src/mame/includes/spectrum.h4
-rw-r--r--src/mame/includes/super80.h2
-rw-r--r--src/mame/includes/ti85.h2
-rw-r--r--src/mame/includes/tmc1800.h2
-rw-r--r--src/mame/includes/trs80.h2
-rw-r--r--src/mame/includes/trs80m3.h2
-rw-r--r--src/mame/includes/vc4000.h2
-rw-r--r--src/mame/includes/vip.h2
-rw-r--r--src/mame/includes/xerox820.h2
-rw-r--r--src/mame/machine/amstrad.cpp2
-rw-r--r--src/mame/machine/cybiko.cpp4
-rw-r--r--src/mame/machine/galaxy.cpp4
-rw-r--r--src/mame/machine/kaypro.cpp2
-rw-r--r--src/mame/machine/kc.cpp2
-rw-r--r--src/mame/machine/lviv.cpp2
-rw-r--r--src/mame/machine/mbee.cpp6
-rw-r--r--src/mame/machine/microtan.cpp4
-rw-r--r--src/mame/machine/mtx.cpp4
-rw-r--r--src/mame/machine/poly88.cpp2
-rw-r--r--src/mame/machine/primo.cpp4
-rw-r--r--src/mame/machine/sorcerer.cpp4
-rw-r--r--src/mame/machine/spec_snqk.cpp4
-rw-r--r--src/mame/machine/super80.cpp2
-rw-r--r--src/mame/machine/ti85.cpp2
-rw-r--r--src/mame/machine/trs80.cpp2
-rw-r--r--src/mame/machine/trs80m3.cpp2
120 files changed, 419 insertions, 408 deletions
diff --git a/src/mame/drivers/abc80.cpp b/src/mame/drivers/abc80.cpp
index 147f3df258d..f7deb0e9447 100644
--- a/src/mame/drivers/abc80.cpp
+++ b/src/mame/drivers/abc80.cpp
@@ -455,7 +455,7 @@ void abc80_state::machine_start()
save_item(NAME(m_tape_in_latch));
}
-QUICKLOAD_LOAD_MEMBER( abc80_state, bac )
+QUICKLOAD_LOAD_MEMBER(abc80_state::quickload_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
@@ -491,7 +491,8 @@ QUICKLOAD_LOAD_MEMBER( abc80_state, bac )
// machine_config( abc80 )
//-------------------------------------------------
-MACHINE_CONFIG_START(abc80_state::abc80)
+void abc80_state::abc80(machine_config &config)
+{
// basic machine hardware
Z80(config, m_maincpu, XTAL(11'980'800)/2/2); // 2.9952 MHz
m_maincpu->set_addrmap(AS_PROGRAM, &abc80_state::abc80_mem);
@@ -537,7 +538,7 @@ MACHINE_CONFIG_START(abc80_state::abc80)
generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, KEYBOARD_TAG, 0));
keyboard.set_keyboard_callback(FUNC(abc80_state::kbd_w));
- MCFG_QUICKLOAD_ADD("quickload", abc80_state, bac, "bac", attotime::from_seconds(2))
+ QUICKLOAD(config, "quickload", "bac", attotime::from_seconds(2)).set_load_callback(FUNC(abc80_state::quickload_cb), this);
// internal ram
RAM(config, RAM_TAG).set_default_size("16K");
@@ -545,7 +546,7 @@ MACHINE_CONFIG_START(abc80_state::abc80)
// software list
SOFTWARE_LIST(config, "cass_list").set_original("abc80_cass");
SOFTWARE_LIST(config, "flop_list").set_original("abc80_flop");
-MACHINE_CONFIG_END
+}
diff --git a/src/mame/drivers/abc80x.cpp b/src/mame/drivers/abc80x.cpp
index 98b34c55ced..faf833ef32f 100644
--- a/src/mame/drivers/abc80x.cpp
+++ b/src/mame/drivers/abc80x.cpp
@@ -989,7 +989,7 @@ void abc806_state::machine_reset()
// bac quickload
//-------------------------------------------------
-QUICKLOAD_LOAD_MEMBER( abc800_state, bac )
+QUICKLOAD_LOAD_MEMBER(abc800_state::quickload_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
@@ -1053,7 +1053,8 @@ QUICKLOAD_LOAD_MEMBER( abc800_state, bac )
// machine_config( common )
//-------------------------------------------------
-MACHINE_CONFIG_START(abc800_state::common)
+void abc800_state::common(machine_config &config)
+{
// basic machine hardware
Z80(config, m_maincpu, ABC800_X01/2/2);
m_maincpu->set_daisy_config(abc800_daisy_chain);
@@ -1115,8 +1116,8 @@ MACHINE_CONFIG_START(abc800_state::common)
SOFTWARE_LIST(config, "hdd_list").set_original("abc800_hdd");
// quickload
- MCFG_QUICKLOAD_ADD("quickload", abc800_state, bac, "bac", attotime::from_seconds(2))
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "bac", attotime::from_seconds(2)).set_load_callback(FUNC(abc800_state::quickload_cb), this);
+}
//-------------------------------------------------
diff --git a/src/mame/drivers/altair.cpp b/src/mame/drivers/altair.cpp
index 76b451ee24f..4a1f9022b49 100644
--- a/src/mame/drivers/altair.cpp
+++ b/src/mame/drivers/altair.cpp
@@ -44,7 +44,7 @@ public:
void altair(machine_config &config);
private:
- DECLARE_QUICKLOAD_LOAD_MEMBER(altair);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
virtual void machine_reset() override;
void io_map(address_map &map);
@@ -77,7 +77,7 @@ static INPUT_PORTS_START( altair )
INPUT_PORTS_END
-QUICKLOAD_LOAD_MEMBER( altair_state,altair)
+QUICKLOAD_LOAD_MEMBER(altair_state::quickload_cb)
{
int quick_length;
int read_;
@@ -119,7 +119,7 @@ void altair_state::altair(machine_config &config)
uart_clock.signal_handler().append("acia", FUNC(acia6850_device::write_rxc));
/* quickload */
- QUICKLOAD(config, "quickload").set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(altair_state, altair), this), "bin");
+ QUICKLOAD(config, "quickload", "bin").set_load_callback(FUNC(altair_state::quickload_cb), this);
}
/* ROM definition */
diff --git a/src/mame/drivers/altos5.cpp b/src/mame/drivers/altos5.cpp
index e47462843a8..5cca61da543 100644
--- a/src/mame/drivers/altos5.cpp
+++ b/src/mame/drivers/altos5.cpp
@@ -43,7 +43,7 @@ public:
void init_altos5();
- DECLARE_QUICKLOAD_LOAD_MEMBER(altos5);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
private:
DECLARE_READ8_MEMBER(memory_read_byte);
@@ -321,7 +321,7 @@ WRITE8_MEMBER( altos5_state::port09_w )
************************************************************/
-QUICKLOAD_LOAD_MEMBER( altos5_state, altos5 )
+QUICKLOAD_LOAD_MEMBER(altos5_state::quickload_cb)
{
address_space& prog_space = m_maincpu->space(AS_PROGRAM);
@@ -409,7 +409,8 @@ void altos5_state::init_altos5()
membank("bankwf")->configure_entries(0, 50, &RAM[0], 0x1000);
}
-MACHINE_CONFIG_START(altos5_state::altos5)
+void altos5_state::altos5(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 8_MHz_XTAL / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &altos5_state::mem_map);
@@ -474,8 +475,8 @@ MACHINE_CONFIG_START(altos5_state::altos5)
FLOPPY_CONNECTOR(config, "fdc:1", altos5_floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true);
SOFTWARE_LIST(config, "flop_list").set_original("altos5");
- MCFG_QUICKLOAD_ADD("quickload", altos5_state, altos5, "com,cpm", attotime::from_seconds(3))
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "com,cpm", attotime::from_seconds(3)).set_load_callback(FUNC(altos5_state::quickload_cb), this);
+}
/* ROM definition */
diff --git a/src/mame/drivers/amstrad.cpp b/src/mame/drivers/amstrad.cpp
index 73ac495ba34..42a8edad593 100644
--- a/src/mame/drivers/amstrad.cpp
+++ b/src/mame/drivers/amstrad.cpp
@@ -903,7 +903,8 @@ void amstrad_centronics_devices(device_slot_interface &device)
device.option_add("digiblst", CENTRONICS_DIGIBLASTER);
}
-MACHINE_CONFIG_START(amstrad_state::amstrad_base)
+void amstrad_state::amstrad_base(machine_config &config)
+{
/* Machine hardware */
Z80(config, m_maincpu, 16_MHz_XTAL / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &amstrad_state::amstrad_mem);
@@ -954,7 +955,7 @@ MACHINE_CONFIG_START(amstrad_state::amstrad_base)
m_centronics->busy_handler().set(FUNC(amstrad_state::write_centronics_busy));
/* snapshot */
- MCFG_SNAPSHOT_ADD("snapshot", amstrad_state, amstrad, "sna")
+ SNAPSHOT(config, "snapshot", "sna").set_load_callback(FUNC(amstrad_state::snapshot_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_formats(cdt_cassette_formats);
@@ -962,8 +963,7 @@ MACHINE_CONFIG_START(amstrad_state::amstrad_base)
m_cassette->set_interface("cpc_cass");
SOFTWARE_LIST(config, "cass_list").set_original("cpc_cass");
-
-MACHINE_CONFIG_END
+}
void amstrad_state::cpc464(machine_config &config)
{
@@ -1029,7 +1029,8 @@ void amstrad_state::kccomp(machine_config &config)
}
-MACHINE_CONFIG_START(amstrad_state::cpcplus)
+void amstrad_state::cpcplus(machine_config &config)
+{
/* Machine hardware */
Z80(config, m_maincpu, 40_MHz_XTAL / 10);
m_maincpu->set_addrmap(AS_PROGRAM, &amstrad_state::amstrad_mem);
@@ -1079,7 +1080,7 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus)
m_centronics->busy_handler().set(FUNC(amstrad_state::write_centronics_busy));
/* snapshot */
- MCFG_SNAPSHOT_ADD("snapshot", amstrad_state, amstrad, "sna")
+ SNAPSHOT(config, "snapshot", "sna").set_load_callback(FUNC(amstrad_state::snapshot_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_formats(cdt_cassette_formats);
@@ -1104,7 +1105,7 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus)
/* internal ram */
RAM(config, m_ram).set_default_size("128K").set_extra_options("64K,320K,576K");
-MACHINE_CONFIG_END
+}
void amstrad_state::gx4000(machine_config &config)
diff --git a/src/mame/drivers/apple1.cpp b/src/mame/drivers/apple1.cpp
index 72a660dfda5..b2f5b5e6c54 100644
--- a/src/mame/drivers/apple1.cpp
+++ b/src/mame/drivers/apple1.cpp
@@ -141,7 +141,7 @@ private:
DECLARE_READ8_MEMBER(pia_keyboard_r);
DECLARE_WRITE8_MEMBER(pia_display_w);
DECLARE_WRITE_LINE_MEMBER(pia_display_gate_w);
- DECLARE_SNAPSHOT_LOAD_MEMBER( apple1 );
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
TIMER_CALLBACK_MEMBER(ready_start_cb);
TIMER_CALLBACK_MEMBER(ready_end_cb);
TIMER_CALLBACK_MEMBER(keyboard_strobe_cb);
@@ -172,7 +172,7 @@ static const uint8_t apple1_keymap[] =
};
// header is "LOAD:abcdDATA:" where abcd is the starting address
-SNAPSHOT_LOAD_MEMBER( apple1_state, apple1 )
+SNAPSHOT_LOAD_MEMBER(apple1_state::snapshot_cb)
{
uint64_t snapsize;
uint8_t *data;
@@ -594,7 +594,8 @@ static void apple1_cards(device_slot_interface &device)
device.option_add("cffa", A1BUS_CFFA);
}
-MACHINE_CONFIG_START(apple1_state::apple1)
+void apple1_state::apple1(machine_config &config)
+{
M6502(config, m_maincpu, 960000); // effective CPU speed
m_maincpu->set_addrmap(AS_PROGRAM, &apple1_state::apple1_map);
@@ -614,12 +615,12 @@ MACHINE_CONFIG_START(apple1_state::apple1)
A1BUS(config, A1_BUS_TAG, 0).set_space(m_maincpu, AS_PROGRAM);
A1BUS_SLOT(config, "exp", 0, A1_BUS_TAG, apple1_cards, "cassette");
- MCFG_SNAPSHOT_ADD("snapshot", apple1_state, apple1, "snp")
+ SNAPSHOT(config, "snapshot", "snp").set_load_callback(FUNC(apple1_state::snapshot_cb), this);
SOFTWARE_LIST(config, "cass_list").set_original("apple1");
RAM(config, RAM_TAG).set_default_size("48K").set_extra_options("4K,8K,12K,16K,20K,24K,28K,32K,36K,40K,44K");
-MACHINE_CONFIG_END
+}
ROM_START(apple1)
ROM_REGION(0x100, A1_CPU_TAG, 0)
diff --git a/src/mame/drivers/atom.cpp b/src/mame/drivers/atom.cpp
index bbe9cc57e4f..6df118bd1b6 100644
--- a/src/mame/drivers/atom.cpp
+++ b/src/mame/drivers/atom.cpp
@@ -131,10 +131,10 @@ Hardware: PPIA 8255
***************************************************************************/
/*-------------------------------------------------
- QUICKLOAD_LOAD_MEMBER( atom_state, atom_atm )
+ QUICKLOAD_LOAD_MEMBER(atom_state::quickload_cb)
-------------------------------------------------*/
-QUICKLOAD_LOAD_MEMBER( atom_state, atom_atm )
+QUICKLOAD_LOAD_MEMBER(atom_state::quickload_cb)
{
/*
@@ -758,7 +758,7 @@ MACHINE_CONFIG_START(atom_state::atom)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("atom_cass");
- MCFG_QUICKLOAD_ADD("quickload", atom_state, atom_atm, "atm")
+ QUICKLOAD(config, "quickload", "atm").set_load_callback(FUNC(atom_state::quickload_cb), this);
/* utility rom slot */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_linear_slot, "atom_cart")
diff --git a/src/mame/drivers/aussiebyte.cpp b/src/mame/drivers/aussiebyte.cpp
index 26e79698bd5..fb07faff9eb 100644
--- a/src/mame/drivers/aussiebyte.cpp
+++ b/src/mame/drivers/aussiebyte.cpp
@@ -436,7 +436,7 @@ static void aussiebyte_floppies(device_slot_interface &device)
************************************************************/
-QUICKLOAD_LOAD_MEMBER( aussiebyte_state, aussiebyte )
+QUICKLOAD_LOAD_MEMBER(aussiebyte_state::quickload_cb)
{
address_space& prog_space = m_maincpu->space(AS_PROGRAM);
@@ -495,7 +495,8 @@ void aussiebyte_state::machine_reset()
m_maincpu->reset();
}
-MACHINE_CONFIG_START(aussiebyte_state::aussiebyte)
+void aussiebyte_state::aussiebyte(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 16_MHz_XTAL / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &aussiebyte_state::aussiebyte_map);
@@ -590,9 +591,8 @@ MACHINE_CONFIG_START(aussiebyte_state::aussiebyte)
MSM5832(config, m_rtc, 32.768_kHz_XTAL);
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", aussiebyte_state, aussiebyte, "com,cpm", attotime::from_seconds(3))
-
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "com,cpm", attotime::from_seconds(3)).set_load_callback(FUNC(aussiebyte_state::quickload_cb), this);
+}
void aussiebyte_state::machine_start()
diff --git a/src/mame/drivers/avigo.cpp b/src/mame/drivers/avigo.cpp
index c9984604763..921f7ad68cf 100644
--- a/src/mame/drivers/avigo.cpp
+++ b/src/mame/drivers/avigo.cpp
@@ -694,7 +694,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(avigo_state::avigo_1hz_timer)
refresh_ints();
}
-QUICKLOAD_LOAD_MEMBER( avigo_state,avigo)
+QUICKLOAD_LOAD_MEMBER(avigo_state::quickload_cb)
{
const char *systemname = machine().system().name;
uint32_t first_app_page = (0x50000>>14);
@@ -749,7 +749,8 @@ void avigo_state::nvram_init(nvram_device &nvram, void *base, size_t size)
memset(base, 0x00, size);
}
-MACHINE_CONFIG_START(avigo_state::avigo)
+void avigo_state::avigo(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 4000000);
m_maincpu->set_addrmap(AS_PROGRAM, &avigo_state::avigo_mem);
@@ -811,8 +812,8 @@ MACHINE_CONFIG_START(avigo_state::avigo)
TIMER(config, "1hz_timer").configure_periodic(FUNC(avigo_state::avigo_1hz_timer), attotime::from_hz(1));
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", avigo_state, avigo, "app")
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "app").set_load_callback(FUNC(avigo_state::quickload_cb), this);
+}
/***************************************************************************
diff --git a/src/mame/drivers/binbug.cpp b/src/mame/drivers/binbug.cpp
index dc09b165202..f6f77039f5a 100644
--- a/src/mame/drivers/binbug.cpp
+++ b/src/mame/drivers/binbug.cpp
@@ -83,7 +83,7 @@ public:
DECLARE_WRITE8_MEMBER(binbug_ctrl_w);
DECLARE_READ_LINE_MEMBER(binbug_serial_r);
DECLARE_WRITE_LINE_MEMBER(binbug_serial_w);
- DECLARE_QUICKLOAD_LOAD_MEMBER( binbug );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
// needed by dg680 class
required_device<cpu_device> m_maincpu; // S2650 or Z80
@@ -228,7 +228,7 @@ static GFXDECODE_START( gfx_dg640 )
GFXDECODE_ENTRY( "chargen", 0x0000, dg640_charlayout, 0, 1 )
GFXDECODE_END
-QUICKLOAD_LOAD_MEMBER( binbug_state, binbug )
+QUICKLOAD_LOAD_MEMBER(binbug_state::quickload_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
int i;
@@ -337,8 +337,7 @@ void binbug_state::binbug(machine_config &config)
RS232_PORT(config, m_rs232, default_rs232_devices, "keyboard").set_option_device_input_defaults("keyboard", DEVICE_INPUT_DEFAULTS_NAME(keyboard));
/* quickload */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(binbug_state, binbug), this), "pgm", attotime::from_seconds(1));
+ QUICKLOAD(config, "quickload", "pgm", attotime::from_seconds(1)).set_load_callback(FUNC(binbug_state::quickload_cb), this);
}
diff --git a/src/mame/drivers/c128.cpp b/src/mame/drivers/c128.cpp
index 3777131cbdd..ca6efdebb87 100644
--- a/src/mame/drivers/c128.cpp
+++ b/src/mame/drivers/c128.cpp
@@ -179,7 +179,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( write_restore );
DECLARE_INPUT_CHANGED_MEMBER( caps_lock );
- DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_c64 );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_c128);
DECLARE_READ8_MEMBER( cia2_pb_r );
DECLARE_WRITE8_MEMBER( cia2_pb_w );
@@ -279,7 +279,7 @@ enum
};
-QUICKLOAD_LOAD_MEMBER( c128_state, cbm_c64 )
+QUICKLOAD_LOAD_MEMBER(c128_state::quickload_c128)
{
return general_cbm_loadsnap(image, file_type, quickload_size, m_maincpu->space(AS_PROGRAM), 0, cbm_quick_sethiaddress);
}
@@ -1755,8 +1755,7 @@ void c128_state::ntsc(machine_config &config)
m_user->pl_handler().set(FUNC(c128_state::write_user_pb7));
m_user->pm_handler().set(FUNC(c128_state::write_user_pa2));
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(c128_state, cbm_c64), this), "p00,prg", CBM_QUICKLOAD_DELAY);
+ QUICKLOAD(config, "quickload", "p00,prg", CBM_QUICKLOAD_DELAY).set_load_callback(FUNC(c128_state::quickload_c128), this);
// software list
SOFTWARE_LIST(config, "cart_list_vic10").set_original("vic10");
@@ -1950,8 +1949,7 @@ void c128_state::pal(machine_config &config)
m_user->pl_handler().set(FUNC(c128_state::write_user_pb7));
m_user->pm_handler().set(FUNC(c128_state::write_user_pa2));
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(c128_state, cbm_c64), this), "p00,prg", CBM_QUICKLOAD_DELAY);
+ QUICKLOAD(config, "quickload", "p00,prg", CBM_QUICKLOAD_DELAY).set_load_callback(FUNC(c128_state::quickload_c128), this);
// software list
SOFTWARE_LIST(config, "cart_list_vic10").set_original("vic10");
diff --git a/src/mame/drivers/c64.cpp b/src/mame/drivers/c64.cpp
index c4792ae2780..2a0f112d48f 100644
--- a/src/mame/drivers/c64.cpp
+++ b/src/mame/drivers/c64.cpp
@@ -130,7 +130,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( exp_dma_w );
DECLARE_WRITE_LINE_MEMBER( exp_reset_w );
- DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_c64 );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_c64);
DECLARE_READ8_MEMBER( cia2_pb_r );
DECLARE_WRITE8_MEMBER( cia2_pb_w );
@@ -409,7 +409,7 @@ enum
};
-QUICKLOAD_LOAD_MEMBER( c64_state, cbm_c64 )
+QUICKLOAD_LOAD_MEMBER(c64_state::quickload_c64)
{
return general_cbm_loadsnap(image, file_type, quickload_size, m_maincpu->space(AS_PROGRAM), 0, cbm_quick_sethiaddress);
}
@@ -1536,8 +1536,7 @@ void c64_state::ntsc(machine_config &config)
m_user->pl_handler().set(FUNC(c64_state::write_user_pb7));
m_user->pm_handler().set(FUNC(c64_state::write_user_pa2));
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(c64_state, cbm_c64), this), "p00,prg,t64", CBM_QUICKLOAD_DELAY);
+ QUICKLOAD(config, "quickload", "p00,prg,t64", CBM_QUICKLOAD_DELAY).set_load_callback(FUNC(c64_state::quickload_c64), this);
// software list
SOFTWARE_LIST(config, "cart_list_vic10").set_original("vic10");
@@ -1713,8 +1712,7 @@ void c64_state::pal(machine_config &config)
m_user->pl_handler().set(FUNC(c64_state::write_user_pb7));
m_user->pm_handler().set(FUNC(c64_state::write_user_pa2));
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(c64_state, cbm_c64), this), "p00,prg,t64", CBM_QUICKLOAD_DELAY);
+ QUICKLOAD(config, "quickload", "p00,prg,t64", CBM_QUICKLOAD_DELAY).set_load_callback(FUNC(c64_state::quickload_c64), this);
// software list
SOFTWARE_LIST(config, "cart_list_vic10").set_original("vic10");
@@ -1864,8 +1862,7 @@ void c64gs_state::pal_gs(machine_config &config)
m_user->pl_handler().set(FUNC(c64_state::write_user_pb7));
m_user->pm_handler().set(FUNC(c64_state::write_user_pa2));
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(c64_state, cbm_c64), this), "p00,prg,t64", CBM_QUICKLOAD_DELAY);
+ QUICKLOAD(config, "quickload", "p00,prg,t64", CBM_QUICKLOAD_DELAY).set_load_callback(FUNC(c64_state::quickload_c64), this);
// software list
SOFTWARE_LIST(config, "cart_list_vic10").set_original("vic10");
diff --git a/src/mame/drivers/cbm2.cpp b/src/mame/drivers/cbm2.cpp
index 069ee861e7e..badd0e6cad2 100644
--- a/src/mame/drivers/cbm2.cpp
+++ b/src/mame/drivers/cbm2.cpp
@@ -191,7 +191,7 @@ public:
MC6845_UPDATE_ROW( crtc_update_row );
- DECLARE_QUICKLOAD_LOAD_MEMBER( cbmb );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cbmb);
// memory state
int m_dramon;
int m_busen1;
@@ -300,7 +300,7 @@ public:
DECLARE_READ8_MEMBER( tpi2_pc_r );
DECLARE_WRITE8_MEMBER( tpi2_pc_w );
- DECLARE_QUICKLOAD_LOAD_MEMBER( p500 );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_p500);
// video state
int m_statvid;
int m_vicdotsel;
@@ -339,12 +339,12 @@ static void cbmb_quick_sethiaddress(address_space &space, uint16_t hiaddress)
space.write_byte(0xf0047, hiaddress >> 8);
}
-QUICKLOAD_LOAD_MEMBER( cbm2_state, cbmb )
+QUICKLOAD_LOAD_MEMBER(cbm2_state::quickload_cbmb)
{
return general_cbm_loadsnap(image, file_type, quickload_size, m_maincpu->space(AS_PROGRAM), 0x10000, cbmb_quick_sethiaddress);
}
-QUICKLOAD_LOAD_MEMBER( p500_state, p500 )
+QUICKLOAD_LOAD_MEMBER(p500_state::quickload_p500)
{
return general_cbm_loadsnap(image, file_type, quickload_size, m_maincpu->space(AS_PROGRAM), 0, cbmb_quick_sethiaddress);
}
@@ -2361,8 +2361,7 @@ void p500_state::p500_ntsc(machine_config &config)
rs232.dsr_handler().set(m_acia, FUNC(mos6551_device::write_dsr));
rs232.cts_handler().set(m_acia, FUNC(mos6551_device::write_cts));
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(p500_state, p500), this), "p00,prg", CBM_QUICKLOAD_DELAY);
+ QUICKLOAD(config, "quickload", "p00,prg", CBM_QUICKLOAD_DELAY).set_load_callback(FUNC(p500_state::quickload_p500), this);
// internal ram
_128k(config);
@@ -2495,8 +2494,7 @@ void p500_state::p500_pal(machine_config &config)
rs232.dsr_handler().set(m_acia, FUNC(mos6551_device::write_dsr));
rs232.cts_handler().set(m_acia, FUNC(mos6551_device::write_cts));
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(p500_state, p500), this), "p00,prg", CBM_QUICKLOAD_DELAY);
+ QUICKLOAD(config, "quickload", "p00,prg", CBM_QUICKLOAD_DELAY).set_load_callback(FUNC(p500_state::quickload_p500), this);
// internal ram
_128k(config);
@@ -2628,8 +2626,7 @@ void cbm2_state::cbm2lp_ntsc(machine_config &config)
rs232.dsr_handler().set(m_acia, FUNC(mos6551_device::write_dsr));
rs232.cts_handler().set(m_acia, FUNC(mos6551_device::write_cts));
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(cbm2_state, cbmb), this), "p00,prg,t64", CBM_QUICKLOAD_DELAY);
+ QUICKLOAD(config, "quickload", "p00,prg,t64", CBM_QUICKLOAD_DELAY).set_load_callback(FUNC(cbm2_state::quickload_cbmb), this);
// software list
SOFTWARE_LIST(config, "cart_list").set_original("cbm2_cart");
diff --git a/src/mame/drivers/cd2650.cpp b/src/mame/drivers/cd2650.cpp
index 8edeb68acba..b1d337e9fb5 100644
--- a/src/mame/drivers/cd2650.cpp
+++ b/src/mame/drivers/cd2650.cpp
@@ -85,7 +85,7 @@ private:
DECLARE_READ_LINE_MEMBER(cass_r);
TIMER_DEVICE_CALLBACK_MEMBER(kansas_w);
TIMER_DEVICE_CALLBACK_MEMBER(kansas_r);
- DECLARE_QUICKLOAD_LOAD_MEMBER(cd2650);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint8_t m_term_data;
bool m_cassbit;
@@ -245,7 +245,7 @@ void cd2650_state::kbd_put(u8 data)
m_term_data = data;
}
-QUICKLOAD_LOAD_MEMBER( cd2650_state, cd2650 )
+QUICKLOAD_LOAD_MEMBER(cd2650_state::quickload_cb)
{
int i;
image_init_result result = image_init_result::FAIL;
@@ -342,8 +342,7 @@ void cd2650_state::cd2650(machine_config &config)
PALETTE(config, "palette", palette_device::MONOCHROME);
/* quickload */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(cd2650_state, cd2650), this), "pgm", attotime::from_seconds(1));
+ QUICKLOAD(config, "quickload", "pgm", attotime::from_seconds(1)).set_load_callback(FUNC(cd2650_state::quickload_cb), this);
/* Sound */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/comx35.cpp b/src/mame/drivers/comx35.cpp
index 20a22c67c93..017317c3bd2 100644
--- a/src/mame/drivers/comx35.cpp
+++ b/src/mame/drivers/comx35.cpp
@@ -56,7 +56,7 @@ void comx35_state::image_fread_memory(device_image_interface &image, uint16_t ad
QUICKLOAD_LOAD_MEMBER( comx35_state, comx )
-------------------------------------------------*/
-QUICKLOAD_LOAD_MEMBER( comx35_state, comx )
+QUICKLOAD_LOAD_MEMBER(comx35_state::quickload_cb)
{
address_space &program = m_maincpu->space(AS_PROGRAM);
@@ -630,8 +630,7 @@ void comx35_state::base(machine_config &config, const XTAL clock)
m_kbe->d11_callback().set_ioport("D11");
m_kbe->da_callback().set_inputline(m_maincpu, COSMAC_INPUT_LINE_EF3);
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(comx35_state, comx), this), "comx");
+ QUICKLOAD(config, "quickload", "comx").set_load_callback(FUNC(comx35_state::quickload_cb), this);
CASSETTE(config, m_cassette).set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
diff --git a/src/mame/drivers/cosmicos.cpp b/src/mame/drivers/cosmicos.cpp
index 9f03936e5e1..095a679193e 100644
--- a/src/mame/drivers/cosmicos.cpp
+++ b/src/mame/drivers/cosmicos.cpp
@@ -497,7 +497,7 @@ void cosmicos_state::machine_reset()
/* Quickload */
-QUICKLOAD_LOAD_MEMBER( cosmicos_state, cosmicos )
+QUICKLOAD_LOAD_MEMBER(cosmicos_state::quickload_cb)
{
uint8_t *ptr = m_rom->base();
int size = image.length();
@@ -510,7 +510,8 @@ QUICKLOAD_LOAD_MEMBER( cosmicos_state, cosmicos )
/* Machine Driver */
-MACHINE_CONFIG_START(cosmicos_state::cosmicos)
+void cosmicos_state::cosmicos(machine_config &config)
+{
/* basic machine hardware */
CDP1802(config, m_maincpu, 1.75_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &cosmicos_state::cosmicos_mem);
@@ -550,13 +551,13 @@ MACHINE_CONFIG_START(cosmicos_state::cosmicos)
m_cti->add_route(ALL_OUTPUTS, "mono", 0.25);
/* devices */
- MCFG_QUICKLOAD_ADD("quickload", cosmicos_state, cosmicos, "bin")
+ QUICKLOAD(config, "quickload", "bin").set_load_callback(FUNC(cosmicos_state::quickload_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
/* internal ram */
RAM(config, RAM_TAG).set_default_size("256").set_extra_options("4K,48K");
-MACHINE_CONFIG_END
+}
/* ROMs */
diff --git a/src/mame/drivers/cp1.cpp b/src/mame/drivers/cp1.cpp
index 6ef27bd6fd0..93ea49cf299 100644
--- a/src/mame/drivers/cp1.cpp
+++ b/src/mame/drivers/cp1.cpp
@@ -46,7 +46,7 @@ private:
DECLARE_READ8_MEMBER(port2_r);
DECLARE_WRITE8_MEMBER(port1_w);
DECLARE_WRITE8_MEMBER(port2_w);
- DECLARE_QUICKLOAD_LOAD_MEMBER(quickload);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
DECLARE_READ8_MEMBER(i8155_read);
DECLARE_WRITE8_MEMBER(i8155_write);
@@ -244,7 +244,7 @@ void cp1_state::machine_reset()
m_cassette->change_state(CASSETTE_STOPPED, CASSETTE_MASK_UISTATE);
}
-QUICKLOAD_LOAD_MEMBER( cp1_state, quickload )
+QUICKLOAD_LOAD_MEMBER(cp1_state::quickload_cb)
{
char line[0x10];
int addr = 0;
@@ -294,7 +294,7 @@ void cp1_state::cp1(machine_config &config)
SPEAKER(config, "mono").front_center();
WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.50);
- QUICKLOAD(config, "quickload").set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(cp1_state, quickload), this), "obj", attotime::from_seconds(1));
+ QUICKLOAD(config, "quickload", "obj", attotime::from_seconds(1)).set_load_callback(FUNC(cp1_state::quickload_cb), this);
}
/* ROM definition */
diff --git a/src/mame/drivers/cybiko.cpp b/src/mame/drivers/cybiko.cpp
index 4b5fa470899..f3e574e30c2 100644
--- a/src/mame/drivers/cybiko.cpp
+++ b/src/mame/drivers/cybiko.cpp
@@ -426,8 +426,7 @@ void cybiko_state::cybikov1_base(machine_config &config)
m_debug_serial->set_option_device_input_defaults("pty", DEVICE_INPUT_DEFAULTS_NAME(debug_serial));
// quickload
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(cybiko_state, cybiko), this), "bin,nv");
+ QUICKLOAD(config, "quickload", "bin,nv").set_load_callback(FUNC(cybiko_state::quickload_cybiko), this);
}
void cybiko_state::cybikov1_flash(machine_config &config)
@@ -498,8 +497,7 @@ void cybiko_state::cybikoxt(machine_config &config)
subdevice<h8_sci_device>("maincpu:sci2")->tx_handler().set("debug_serial", FUNC(rs232_port_device::write_txd));
// quickload
- quickload_image_device &quickload(QUICKLOAD(config.replace(), "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(cybiko_state, cybikoxt), this), "bin,nv");
+ QUICKLOAD(config.replace(), "quickload", "bin,nb").set_load_callback(FUNC(cybiko_state::quickload_cybikoxt), this);
}
/////////
diff --git a/src/mame/drivers/d6800.cpp b/src/mame/drivers/d6800.cpp
index 2429fe91ec1..25c41796498 100644
--- a/src/mame/drivers/d6800.cpp
+++ b/src/mame/drivers/d6800.cpp
@@ -92,7 +92,7 @@ private:
uint32_t screen_update_d6800(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(kansas_w);
TIMER_DEVICE_CALLBACK_MEMBER(kansas_r);
- DECLARE_QUICKLOAD_LOAD_MEMBER( d6800 );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void d6800_map(address_map &map);
@@ -367,7 +367,7 @@ void d6800_state::machine_reset()
/* Machine Drivers */
-QUICKLOAD_LOAD_MEMBER( d6800_state, d6800 )
+QUICKLOAD_LOAD_MEMBER(d6800_state::quickload_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
int i;
@@ -407,7 +407,8 @@ QUICKLOAD_LOAD_MEMBER( d6800_state, d6800 )
return result;
}
-MACHINE_CONFIG_START(d6800_state::d6800)
+void d6800_state::d6800(machine_config &config)
+{
/* basic machine hardware */
M6800(config, m_maincpu, XTAL(4'000'000)/4);
m_maincpu->set_addrmap(AS_PROGRAM, &d6800_state::d6800_map);
@@ -445,8 +446,8 @@ MACHINE_CONFIG_START(d6800_state::d6800)
TIMER(config, "kansas_r").configure_periodic(FUNC(d6800_state::kansas_r), attotime::from_hz(40000));
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", d6800_state, d6800, "bin,c8,ch8", attotime::from_seconds(1))
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "bin,c8,ch8", attotime::from_seconds(1)).set_load_callback(FUNC(d6800_state::quickload_cb), this);
+}
/* ROMs */
diff --git a/src/mame/drivers/dmv.cpp b/src/mame/drivers/dmv.cpp
index 3a168b63b7a..fabbe4a5635 100644
--- a/src/mame/drivers/dmv.cpp
+++ b/src/mame/drivers/dmv.cpp
@@ -125,7 +125,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(irq7a_w) { update_irqs(7, state); }
DECLARE_FLOPPY_FORMATS( floppy_formats );
- DECLARE_QUICKLOAD_LOAD_MEMBER(dmv);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
uint8_t program_read(int cas, offs_t offset);
void program_write(int cas, offs_t offset, uint8_t data);
@@ -393,7 +393,7 @@ UPD7220_DRAW_TEXT_LINE_MEMBER( dmv_state::hgdc_draw_text )
************************************************************/
-QUICKLOAD_LOAD_MEMBER( dmv_state, dmv )
+QUICKLOAD_LOAD_MEMBER(dmv_state::quickload_cb)
{
/* Avoid loading a program if CP/M-80 is not in memory */
if ((m_ram->base()[0] != 0xc3) || (m_ram->base()[5] != 0xc3))
@@ -878,8 +878,7 @@ void dmv_state::dmv(machine_config &config)
SOFTWARE_LIST(config, "flop_list").set_original("dmv");
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(dmv_state, dmv), this), "com,cpm", attotime::from_seconds(3));
+ QUICKLOAD(config, "quickload", "com,cpm", attotime::from_seconds(3)).set_load_callback(FUNC(dmv_state::quickload_cb), this);
}
/* ROM definition */
diff --git a/src/mame/drivers/elf.cpp b/src/mame/drivers/elf.cpp
index 0c60ba07db6..6d613f679c0 100644
--- a/src/mame/drivers/elf.cpp
+++ b/src/mame/drivers/elf.cpp
@@ -224,7 +224,7 @@ void elf2_state::machine_start()
/* Machine Driver */
-QUICKLOAD_LOAD_MEMBER( elf2_state, elf )
+QUICKLOAD_LOAD_MEMBER(elf2_state::quickload_cb)
{
int size = image.length();
@@ -279,7 +279,7 @@ void elf2_state::elf2(machine_config &config)
SPEAKER(config, "mono").front_center();
WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
- QUICKLOAD(config, "quickload").set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(elf2_state, elf), this), "bin");
+ QUICKLOAD(config, "quickload", "bin").set_load_callback(FUNC(elf2_state::quickload_cb), this);
/* internal ram */
RAM(config, RAM_TAG).set_default_size("256");
diff --git a/src/mame/drivers/eti660.cpp b/src/mame/drivers/eti660.cpp
index 3fba90f23c3..9f39600f668 100644
--- a/src/mame/drivers/eti660.cpp
+++ b/src/mame/drivers/eti660.cpp
@@ -254,7 +254,7 @@ void eti660_state::machine_start()
save_item(NAME(m_resetcnt));
}
-QUICKLOAD_LOAD_MEMBER( eti660_state, eti660 )
+QUICKLOAD_LOAD_MEMBER(eti660_state::quickload_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
int i;
@@ -292,7 +292,8 @@ QUICKLOAD_LOAD_MEMBER( eti660_state, eti660 )
/* Machine Drivers */
-MACHINE_CONFIG_START(eti660_state::eti660)
+void eti660_state::eti660(machine_config &config)
+{
/* basic machine hardware */
CDP1802(config, m_maincpu, XTAL(8'867'238)/5);
m_maincpu->set_addrmap(AS_PROGRAM, &eti660_state::mem_map);
@@ -336,8 +337,8 @@ MACHINE_CONFIG_START(eti660_state::eti660)
RAM(config, RAM_TAG).set_default_size("3K");
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", eti660_state, eti660, "bin,c8,ch8", attotime::from_seconds(2))
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "bin,c8,ch8", attotime::from_seconds(2)).set_load_callback(FUNC(eti660_state::quickload_cb), this);
+}
/* ROMs */
diff --git a/src/mame/drivers/galaxy.cpp b/src/mame/drivers/galaxy.cpp
index 340c771da9e..01a0b41274b 100644
--- a/src/mame/drivers/galaxy.cpp
+++ b/src/mame/drivers/galaxy.cpp
@@ -176,7 +176,8 @@ static GFXDECODE_START( gfx_galaxy )
GFXDECODE_END
-MACHINE_CONFIG_START(galaxy_state::galaxy)
+void galaxy_state::galaxy(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, XTAL / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &galaxy_state::galaxy_mem);
@@ -197,7 +198,7 @@ MACHINE_CONFIG_START(galaxy_state::galaxy)
PALETTE(config, "palette", palette_device::MONOCHROME);
/* snapshot */
- MCFG_SNAPSHOT_ADD("snapshot", galaxy_state, galaxy, "gal")
+ SNAPSHOT(config, "snapshot", "gal").set_load_callback(FUNC(galaxy_state::snapshot_cb), this);
SPEAKER(config, "mono").front_center();
WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
@@ -211,9 +212,10 @@ MACHINE_CONFIG_START(galaxy_state::galaxy)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("6K").set_extra_options("2K,22K,38K,54K");
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(galaxy_state::galaxyp)
+void galaxy_state::galaxyp(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, XTAL / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &galaxy_state::galaxyp_mem);
@@ -235,7 +237,7 @@ MACHINE_CONFIG_START(galaxy_state::galaxyp)
/* snapshot */
- MCFG_SNAPSHOT_ADD("snapshot", galaxy_state, galaxy, "gal")
+ SNAPSHOT(config, "snapshot", "gal").set_load_callback(FUNC(galaxy_state::snapshot_cb), this);
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -251,7 +253,7 @@ MACHINE_CONFIG_START(galaxy_state::galaxyp)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("38K");
-MACHINE_CONFIG_END
+}
ROM_START (galaxy)
ROM_REGION (0x10000, "maincpu", ROMREGION_ERASEFF)
diff --git a/src/mame/drivers/gizmondo.cpp b/src/mame/drivers/gizmondo.cpp
index 4a2d253795c..ac854a5b745 100644
--- a/src/mame/drivers/gizmondo.cpp
+++ b/src/mame/drivers/gizmondo.cpp
@@ -138,15 +138,15 @@ WRITE32_MEMBER(gizmondo_state::s3c2440_gpio_port_w)
INPUT_CHANGED_MEMBER(gizmondo_state::port_changed)
{
- m_s3c2440->s3c2440_request_eint( 4);
- //m_s3c2440->s3c2440_request_irq( S3C2440_INT_EINT1);
+ m_s3c2440->s3c2440_request_eint(4);
+ //m_s3c2440->s3c2440_request_irq(S3C2440_INT_EINT1);
}
#if 0
-QUICKLOAD_LOAD_MEMBER( gizmondo_state, gizmondo )
+QUICKLOAD_LOAD_MEMBER(gizmondo_state::quickload_cb)
{
- return gizmondo_quickload( image, file_type, quickload_size, 0x3000E000); // eboot
- //return gizmondo_quickload( image, file_type, quickload_size, 0x30400000); // wince
+ return gizmondo_quickload(image, file_type, quickload_size, 0x3000E000); // eboot
+ //return gizmondo_quickload(image, file_type, quickload_size, 0x30400000); // wince
}
#endif
@@ -214,7 +214,7 @@ void gizmondo_state::gizmondo(machine_config &config)
DISKONCHIP_G3(config, "diskonchip", 64);
#if 0
- MCFG_QUICKLOAD_ADD("quickload", gizmondo_state, wince, "bin", 0)
+ QUICKLOAD(config, "quickload", "bin", 0).set_load_callback(FUNC(gizmondo_state::quickload_cb), this);
#endif
}
diff --git a/src/mame/drivers/homelab.cpp b/src/mame/drivers/homelab.cpp
index b94affa65d9..cb7b5a5c15b 100644
--- a/src/mame/drivers/homelab.cpp
+++ b/src/mame/drivers/homelab.cpp
@@ -80,7 +80,7 @@ private:
DECLARE_MACHINE_RESET(brailab4);
DECLARE_VIDEO_START(brailab4);
INTERRUPT_GEN_MEMBER(homelab_frame);
- DECLARE_QUICKLOAD_LOAD_MEMBER(homelab);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
uint32_t screen_update_homelab2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_homelab3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -663,7 +663,7 @@ static GFXDECODE_START( gfx_homelab )
GFXDECODE_ENTRY( "chargen", 0x0000, homelab_charlayout, 0, 1 )
GFXDECODE_END
-QUICKLOAD_LOAD_MEMBER( homelab_state,homelab)
+QUICKLOAD_LOAD_MEMBER(homelab_state::quickload_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
int i=0;
@@ -750,7 +750,8 @@ QUICKLOAD_LOAD_MEMBER( homelab_state,homelab)
}
/* Machine driver */
-MACHINE_CONFIG_START(homelab_state::homelab)
+void homelab_state::homelab(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, XTAL(8'000'000) / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &homelab_state::homelab2_mem);
@@ -779,10 +780,11 @@ MACHINE_CONFIG_START(homelab_state::homelab)
WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "speaker", 0.05);
CASSETTE(config, m_cass);
- MCFG_QUICKLOAD_ADD("quickload", homelab_state, homelab, "htp", attotime::from_seconds(2))
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "htp", attotime::from_seconds(2)).set_load_callback(FUNC(homelab_state::quickload_cb), this);
+}
-MACHINE_CONFIG_START(homelab_state::homelab3)
+void homelab_state::homelab3(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, XTAL(12'000'000) / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &homelab_state::homelab3_mem);
@@ -812,10 +814,11 @@ MACHINE_CONFIG_START(homelab_state::homelab3)
WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "speaker", 0.05);
CASSETTE(config, m_cass);
- MCFG_QUICKLOAD_ADD("quickload", homelab_state, homelab, "htp", attotime::from_seconds(2))
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "htp", attotime::from_seconds(2)).set_load_callback(FUNC(homelab_state::quickload_cb), this);
+}
-MACHINE_CONFIG_START(homelab_state::brailab4)
+void homelab_state::brailab4(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, XTAL(12'000'000) / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &homelab_state::brailab4_mem);
@@ -847,8 +850,8 @@ MACHINE_CONFIG_START(homelab_state::brailab4)
MEA8000(config, "mea8000", 3840000).add_route(ALL_OUTPUTS, "speaker", 1.0);
CASSETTE(config, m_cass);
- MCFG_QUICKLOAD_ADD("quickload", homelab_state, homelab, "htp", attotime::from_seconds(18))
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "htp", attotime::from_seconds(18)).set_load_callback(FUNC(homelab_state::quickload_cb), this);
+}
void homelab_state::init_brailab4()
{
diff --git a/src/mame/drivers/instruct.cpp b/src/mame/drivers/instruct.cpp
index 55d10da4141..8a4b74a8c79 100644
--- a/src/mame/drivers/instruct.cpp
+++ b/src/mame/drivers/instruct.cpp
@@ -80,7 +80,7 @@ private:
DECLARE_WRITE8_MEMBER(portf8_w);
DECLARE_WRITE8_MEMBER(portf9_w);
DECLARE_WRITE8_MEMBER(portfa_w);
- DECLARE_QUICKLOAD_LOAD_MEMBER(instruct);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
INTERRUPT_GEN_MEMBER(t2l_int);
void data_map(address_map &map);
void io_map(address_map &map);
@@ -340,7 +340,7 @@ void instruct_state::machine_reset()
m_maincpu->set_state_int(S2650_PC, 0x1800);
}
-QUICKLOAD_LOAD_MEMBER( instruct_state, instruct )
+QUICKLOAD_LOAD_MEMBER(instruct_state::quickload_cb)
{
uint16_t i, exec_addr, quick_length, read_;
image_init_result result = image_init_result::FAIL;
@@ -436,8 +436,7 @@ void instruct_state::instruct(machine_config &config)
config.set_default_layout(layout_instruct);
/* quickload */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(instruct_state, instruct), this), "pgm", attotime::from_seconds(1));
+ QUICKLOAD(config, "quickload", "pgm", attotime::from_seconds(1)).set_load_callback(FUNC(instruct_state::quickload_cb), this);
/* cassette */
CASSETTE(config, m_cass);
diff --git a/src/mame/drivers/jaguar.cpp b/src/mame/drivers/jaguar.cpp
index d694515eb42..6ee2b225399 100644
--- a/src/mame/drivers/jaguar.cpp
+++ b/src/mame/drivers/jaguar.cpp
@@ -1920,8 +1920,7 @@ void jaguar_state::jaguar(machine_config &config)
vref.add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT);
/* quickload */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(jaguar_state, jaguar), this), "abs,bin,cof,jag,prg");
+ QUICKLOAD(config, "quickload", "abs,bin,cof,jag,prg").set_load_callback(FUNC(jaguar_state::quickload_cb), this);
/* cartridge */
generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "jaguar_cart", "j64,rom,bin"));
@@ -2009,12 +2008,7 @@ void jaguar_state::init_jaguarcd()
}
}
-QUICKLOAD_LOAD_MEMBER( jaguar_state, jaguar )
-{
- return quickload(image, file_type, quickload_size);
-}
-
-image_init_result jaguar_state::quickload(device_image_interface &image, const char *file_type, int quickload_size)
+image_init_result jaguar_state::quickload_cb(device_image_interface &image, const char *file_type, int quickload_size)
{
offs_t quickload_begin = 0x4000, start = quickload_begin, skip = 0;
diff --git a/src/mame/drivers/jr100.cpp b/src/mame/drivers/jr100.cpp
index 9ac27c88829..a6850b4e0d8 100644
--- a/src/mame/drivers/jr100.cpp
+++ b/src/mame/drivers/jr100.cpp
@@ -94,8 +94,7 @@ private:
DECLARE_WRITE8_MEMBER(pb_w);
DECLARE_WRITE_LINE_MEMBER(cb2_w);
uint32_t readByLittleEndian(uint8_t *buf,int pos);
- DECLARE_QUICKLOAD_LOAD_MEMBER(jr100);
-
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void mem_map(address_map &map);
@@ -321,7 +320,7 @@ uint32_t jr100_state::readByLittleEndian(uint8_t *buf,int pos)
return buf[pos] + (buf[pos+1] << 8) + (buf[pos+2] << 16) + (buf[pos+3] << 24);
}
-QUICKLOAD_LOAD_MEMBER( jr100_state,jr100)
+QUICKLOAD_LOAD_MEMBER(jr100_state::quickload_cb)
{
int quick_length;
uint8_t buf[0x10000];
@@ -403,8 +402,7 @@ void jr100_state::jr100(machine_config &config)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
/* quickload */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(jr100_state, jr100), this), "prg", attotime::from_seconds(2));
+ QUICKLOAD(config, "quickload", "prg", attotime::from_seconds(2)).set_load_callback(FUNC(jr100_state::quickload_cb), this);
}
diff --git a/src/mame/drivers/jtc.cpp b/src/mame/drivers/jtc.cpp
index 5e9c9bcdb39..7df3d16c23b 100644
--- a/src/mame/drivers/jtc.cpp
+++ b/src/mame/drivers/jtc.cpp
@@ -56,7 +56,7 @@ public:
DECLARE_READ8_MEMBER( p3_r );
DECLARE_WRITE8_MEMBER( p3_w );
void es40_palette(palette_device &palette) const;
- DECLARE_QUICKLOAD_LOAD_MEMBER( jtc );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
int m_centronics_busy;
DECLARE_WRITE_LINE_MEMBER(write_centronics_busy);
@@ -590,7 +590,7 @@ static INPUT_PORTS_START( jtces40 )
PORT_START("Y15")
INPUT_PORTS_END
-QUICKLOAD_LOAD_MEMBER( jtc_state, jtc )
+QUICKLOAD_LOAD_MEMBER(jtc_state::quickload_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
u16 i, quick_addr, quick_length;
@@ -809,7 +809,8 @@ static GFXDECODE_START( gfx_jtces40 )
GFXDECODE_ENTRY( UB8830D_TAG, 0x1000, jtces40_charlayout, 0, 8 )
GFXDECODE_END
-MACHINE_CONFIG_START(jtc_state::basic)
+void jtc_state::basic(machine_config &config)
+{
/* basic machine hardware */
UB8830D(config, m_maincpu, XTAL(8'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &jtc_state::jtc_mem);
@@ -831,8 +832,8 @@ MACHINE_CONFIG_START(jtc_state::basic)
m_centronics->busy_handler().set(FUNC(jtc_state::write_centronics_busy));
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", jtc_state, jtc, "jtc,bin", attotime::from_seconds(2))
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "jtc,bin", attotime::from_seconds(2)).set_load_callback(FUNC(jtc_state::quickload_cb), this);
+}
void jtc_state::jtc(machine_config &config)
{
diff --git a/src/mame/drivers/jupace.cpp b/src/mame/drivers/jupace.cpp
index 0c8e8c8103c..ac4aef5e746 100644
--- a/src/mame/drivers/jupace.cpp
+++ b/src/mame/drivers/jupace.cpp
@@ -130,7 +130,7 @@ private:
DECLARE_WRITE8_MEMBER(pio_bc_w);
DECLARE_READ8_MEMBER(sby_r);
DECLARE_WRITE8_MEMBER(ald_w);
- DECLARE_SNAPSHOT_LOAD_MEMBER( ace );
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
void ace_io(address_map &map);
void ace_mem(address_map &map);
@@ -169,7 +169,7 @@ private:
Snapshot Handling
******************************************************************************/
-SNAPSHOT_LOAD_MEMBER( ace_state, ace )
+SNAPSHOT_LOAD_MEMBER(ace_state::snapshot_cb)
{
cpu_device *cpu = m_maincpu;
uint8_t *RAM = memregion(cpu->tag())->base();
@@ -790,7 +790,7 @@ MACHINE_CONFIG_START(ace_state::ace)
m_cassette->set_default_state(CASSETTE_STOPPED);
m_cassette->set_interface("jupace_cass");
- MCFG_SNAPSHOT_ADD("snapshot", ace_state, ace, "ace", attotime::from_seconds(1))
+ SNAPSHOT(config, "snapshot", "ace", attotime::from_seconds(1)).set_load_callback(FUNC(ace_state::snapshot_cb), this);
I8255A(config, m_ppi);
m_ppi->in_pb_callback().set(FUNC(ace_state::sby_r));
diff --git a/src/mame/drivers/kaypro.cpp b/src/mame/drivers/kaypro.cpp
index 76fad038721..4927826a32d 100644
--- a/src/mame/drivers/kaypro.cpp
+++ b/src/mame/drivers/kaypro.cpp
@@ -195,7 +195,8 @@ static void kaypro_floppies(device_slot_interface &device)
}
-MACHINE_CONFIG_START(kaypro_state::kayproii)
+void kaypro_state::kayproii(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 20_MHz_XTAL / 8);
m_maincpu->set_addrmap(AS_PROGRAM, &kaypro_state::kaypro_map);
@@ -224,7 +225,7 @@ MACHINE_CONFIG_START(kaypro_state::kayproii)
BEEP(config, m_beep, 950).add_route(ALL_OUTPUTS, "mono", 1.00); /* piezo-device needs to be measured */
/* devices */
- MCFG_QUICKLOAD_ADD("quickload", kaypro_state, kaypro, "com,cpm", attotime::from_seconds(3))
+ QUICKLOAD(config, "quickload", "com,cpm", attotime::from_seconds(3)).set_load_callback(FUNC(kaypro_state::quickload_cb), this);
kaypro_10_keyboard_device &kbd(KAYPRO_10_KEYBOARD(config, "kbd"));
kbd.rxd_cb().set("sio", FUNC(z80sio_device::rxb_w));
@@ -270,7 +271,7 @@ MACHINE_CONFIG_START(kaypro_state::kayproii)
FLOPPY_CONNECTOR(config, "fdc:0", kaypro_floppies, "525ssdd", floppy_image_device::default_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:1", kaypro_floppies, "525ssdd", floppy_image_device::default_floppy_formats).enable_sound(true);
SOFTWARE_LIST(config, "flop_list").set_original("kayproii");
-MACHINE_CONFIG_END
+}
void kaypro_state::kayproiv(machine_config &config)
{
@@ -283,7 +284,8 @@ void kaypro_state::kayproiv(machine_config &config)
FLOPPY_CONNECTOR(config, "fdc:1", kaypro_floppies, "525dd", floppy_image_device::default_floppy_formats);
}
-MACHINE_CONFIG_START(kaypro_state::kaypro484)
+void kaypro_state::kaypro484(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 16_MHz_XTAL / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &kaypro_state::kaypro_map);
@@ -316,7 +318,7 @@ MACHINE_CONFIG_START(kaypro_state::kaypro484)
m_crtc->set_char_width(7);
m_crtc->set_update_row_callback(FUNC(kaypro_state::kaypro484_update_row), this);
- MCFG_QUICKLOAD_ADD("quickload", kaypro_state, kaypro, "com,cpm", attotime::from_seconds(3))
+ QUICKLOAD(config, "quickload", "com,cpm", attotime::from_seconds(3)).set_load_callback(FUNC(kaypro_state::quickload_cb), this);
kaypro_10_keyboard_device &kbd(KAYPRO_10_KEYBOARD(config, "kbd"));
kbd.rxd_cb().set("sio_1", FUNC(z80sio_device::rxb_w));
@@ -364,7 +366,7 @@ MACHINE_CONFIG_START(kaypro_state::kaypro484)
m_fdc->set_force_ready(true);
FLOPPY_CONNECTOR(config, "fdc:0", kaypro_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:1", kaypro_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
-MACHINE_CONFIG_END
+}
void kaypro_state::kaypro10(machine_config &config)
{
diff --git a/src/mame/drivers/kc.cpp b/src/mame/drivers/kc.cpp
index 8130cf9ca4b..a8c751d85d4 100644
--- a/src/mame/drivers/kc.cpp
+++ b/src/mame/drivers/kc.cpp
@@ -139,8 +139,7 @@ void kc_state::kc85_3(machine_config &config)
SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.50);
/* devices */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload", 0));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(kc_state, kc), this), "kcc", attotime::from_seconds(2));
+ QUICKLOAD(config, "quickload", "kcc", attotime::from_seconds(2)).set_load_callback(FUNC(kc_state::quickload_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_formats(kc_cassette_formats);
@@ -218,8 +217,7 @@ void kc85_4_state::kc85_4(machine_config &config)
SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.50);
/* devices */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(kc_state, kc), this), "kcc", attotime::from_seconds(2));
+ QUICKLOAD(config, "quickload", "kcc", attotime::from_seconds(2)).set_load_callback(FUNC(kc_state::quickload_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_formats(kc_cassette_formats);
diff --git a/src/mame/drivers/lviv.cpp b/src/mame/drivers/lviv.cpp
index 948b77be8ba..eb2f8c69330 100644
--- a/src/mame/drivers/lviv.cpp
+++ b/src/mame/drivers/lviv.cpp
@@ -421,7 +421,8 @@ INPUT_PORTS_END
/* machine definition */
-MACHINE_CONFIG_START(lviv_state::lviv)
+void lviv_state::lviv(machine_config &config)
+{
/* basic machine hardware */
I8080(config, m_maincpu, 2500000);
m_maincpu->set_addrmap(AS_PROGRAM, &lviv_state::mem_map);
@@ -461,7 +462,7 @@ MACHINE_CONFIG_START(lviv_state::lviv)
SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.50);
/* snapshot */
- MCFG_SNAPSHOT_ADD("snapshot", lviv_state, lviv, "sav")
+ SNAPSHOT(config, "snapshot", "sav").set_load_callback(FUNC(lviv_state::snapshot_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_formats(lviv_lvt_format);
@@ -472,7 +473,7 @@ MACHINE_CONFIG_START(lviv_state::lviv)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K");
-MACHINE_CONFIG_END
+}
ROM_START(lviv)
diff --git a/src/mame/drivers/lynx.cpp b/src/mame/drivers/lynx.cpp
index 89c207682bf..10d413dadba 100644
--- a/src/mame/drivers/lynx.cpp
+++ b/src/mame/drivers/lynx.cpp
@@ -101,7 +101,7 @@ MACHINE_CONFIG_START(lynx_state::lynx)
m_sound->add_route(ALL_OUTPUTS, "mono", 0.50);
/* devices */
- MCFG_QUICKLOAD_ADD("quickload", lynx_state, lynx, "o");
+ QUICKLOAD(config, "quickload", "o").set_load_callback(FUNC(lynx_state::quickload_cb), this);
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "lynx_cart")
MCFG_GENERIC_EXTENSIONS("lnx,lyx")
@@ -155,7 +155,7 @@ ROM_END
#endif
-QUICKLOAD_LOAD_MEMBER( lynx_state, lynx )
+QUICKLOAD_LOAD_MEMBER(lynx_state::quickload_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
std::vector<uint8_t> data;
diff --git a/src/mame/drivers/m5.cpp b/src/mame/drivers/m5.cpp
index a4231a7c30c..70eb5ce1b16 100644
--- a/src/mame/drivers/m5.cpp
+++ b/src/mame/drivers/m5.cpp
@@ -1527,7 +1527,7 @@ void brno_state::brno(machine_config &config)
// only one floppy drive
//config.device_remove(WD2797_TAG":1");
- //MCFG_SNAPSHOT_ADD("snapshot", brno_state, brno, "rmd", 0)
+ //SNAPSHOT(config, "snapshot", "rmd", 0).set_load_callback(brno_state::snapshot_cb), this);
// software list
SOFTWARE_LIST(config, "flop_list").set_original("m5_flop");
diff --git a/src/mame/drivers/mbee.cpp b/src/mame/drivers/mbee.cpp
index 0d7d36c9a6c..755fba72681 100644
--- a/src/mame/drivers/mbee.cpp
+++ b/src/mame/drivers/mbee.cpp
@@ -643,7 +643,8 @@ static void mbee_floppies(device_slot_interface &device)
}
-MACHINE_CONFIG_START(mbee_state::mbee)
+void mbee_state::mbee(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 12_MHz_XTAL / 6); /* 2 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &mbee_state::mbee_mem);
@@ -686,8 +687,8 @@ MACHINE_CONFIG_START(mbee_state::mbee)
m_crtc->set_on_update_addr_change_callback(FUNC(mbee_state::crtc_update_addr), this);
m_crtc->out_vsync_callback().set(FUNC(mbee_state::crtc_vs));
- MCFG_QUICKLOAD_ADD("quickload", mbee_state, mbee, "mwb,com,bee", attotime::from_seconds(3))
- MCFG_QUICKLOAD_ADD("quickload2", mbee_state, mbee_z80bin, "bin", attotime::from_seconds(3))
+ QUICKLOAD(config, "quickload", "mwb,com,bee", attotime::from_seconds(3)).set_load_callback(FUNC(mbee_state::quickload_bee), this);
+ QUICKLOAD(config, "quickload2", "bin", attotime::from_seconds(3)).set_load_callback(FUNC(mbee_state::quickload_bin), this);
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->ack_handler().set(m_pio, FUNC(z80pio_device::strobe_a));
@@ -698,10 +699,11 @@ MACHINE_CONFIG_START(mbee_state::mbee)
CASSETTE(config, m_cassette);
m_cassette->set_formats(mbee_cassette_formats);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(mbee_state::mbeeic)
+void mbee_state::mbeeic(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 13.5_MHz_XTAL / 4); /* 3.37500 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &mbee_state::mbeeic_mem);
@@ -744,8 +746,8 @@ MACHINE_CONFIG_START(mbee_state::mbeeic)
m_crtc->set_on_update_addr_change_callback(FUNC(mbee_state::crtc_update_addr), this);
m_crtc->out_vsync_callback().set(FUNC(mbee_state::crtc_vs));
- MCFG_QUICKLOAD_ADD("quickload", mbee_state, mbee, "mwb,com,bee", attotime::from_seconds(2))
- MCFG_QUICKLOAD_ADD("quickload2", mbee_state, mbee_z80bin, "bin", attotime::from_seconds(2))
+ QUICKLOAD(config, "quickload", "mwb,com,bee", attotime::from_seconds(2)).set_load_callback(FUNC(mbee_state::quickload_bee), this);
+ QUICKLOAD(config, "quickload2", "bin", attotime::from_seconds(2)).set_load_callback(FUNC(mbee_state::quickload_bin), this);
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->ack_handler().set(m_pio, FUNC(z80pio_device::strobe_a));
@@ -756,7 +758,7 @@ MACHINE_CONFIG_START(mbee_state::mbeeic)
CASSETTE(config, m_cassette);
m_cassette->set_formats(mbee_cassette_formats);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
-MACHINE_CONFIG_END
+}
void mbee_state::mbeepc(machine_config &config)
{
diff --git a/src/mame/drivers/mekd2.cpp b/src/mame/drivers/mekd2.cpp
index 35f1080980a..60546c60f84 100644
--- a/src/mame/drivers/mekd2.cpp
+++ b/src/mame/drivers/mekd2.cpp
@@ -113,7 +113,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(mekd2_nmi_w);
DECLARE_WRITE8_MEMBER(mekd2_digit_w);
DECLARE_WRITE8_MEMBER(mekd2_segment_w);
- DECLARE_QUICKLOAD_LOAD_MEMBER(mekd2_quik);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
TIMER_DEVICE_CALLBACK_MEMBER(kansas_w);
TIMER_DEVICE_CALLBACK_MEMBER(kansas_r);
@@ -303,7 +303,7 @@ WRITE8_MEMBER( mekd2_state::mekd2_digit_w )
************************************************************/
-QUICKLOAD_LOAD_MEMBER( mekd2_state, mekd2_quik )
+QUICKLOAD_LOAD_MEMBER(mekd2_state::quickload_cb)
{
static const char magic[] = "MEK6800D2";
char buff[9];
@@ -409,7 +409,7 @@ void mekd2_state::mekd2(machine_config &config)
TIMER(config, "kansas_w").configure_periodic(FUNC(mekd2_state::kansas_w), attotime::from_hz(4800));
TIMER(config, "kansas_r").configure_periodic(FUNC(mekd2_state::kansas_r), attotime::from_hz(40000));
- QUICKLOAD(config, "quickload").set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(mekd2_state, mekd2_quik), this), "d2", attotime::from_seconds(1));
+ QUICKLOAD(config, "quickload", "d2", attotime::from_seconds(1)).set_load_callback(FUNC(mekd2_state::quickload_cb), this);
}
/***********************************************************
diff --git a/src/mame/drivers/meritum.cpp b/src/mame/drivers/meritum.cpp
index 7c15230f9e3..3d589ce3bda 100644
--- a/src/mame/drivers/meritum.cpp
+++ b/src/mame/drivers/meritum.cpp
@@ -73,7 +73,7 @@ private:
DECLARE_READ8_MEMBER(keyboard_r);
TIMER_CALLBACK_MEMBER(cassette_data_callback);
- DECLARE_QUICKLOAD_LOAD_MEMBER(trs80_cmd);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
uint32_t screen_update_meritum(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void mem_map(address_map &map);
@@ -319,7 +319,7 @@ void meritum_state::machine_reset()
IMPLEMENTATION
***************************************************************************/
-QUICKLOAD_LOAD_MEMBER( meritum_state, trs80_cmd )
+QUICKLOAD_LOAD_MEMBER(meritum_state::quickload_cb)
{
address_space &program = m_maincpu->space(AS_PROGRAM);
@@ -393,7 +393,8 @@ GFXDECODE_END
-MACHINE_CONFIG_START(meritum_state::meritum)
+void meritum_state::meritum(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 10_MHz_XTAL / 4); // U880D @ 2.5 MHz or 1.67 MHz by jumper selection
m_maincpu->set_addrmap(AS_PROGRAM, &meritum_state::mem_map);
@@ -439,8 +440,8 @@ MACHINE_CONFIG_START(meritum_state::meritum)
/* devices */
CASSETTE(config, m_cassette);
- MCFG_QUICKLOAD_ADD("quickload", meritum_state, trs80_cmd, "cmd", attotime::from_seconds(1))
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "cmd", attotime::from_seconds(1)).set_load_callback(FUNC(meritum_state::quickload_cb), this);
+}
/***************************************************************************
diff --git a/src/mame/drivers/microtan.cpp b/src/mame/drivers/microtan.cpp
index 76f11b2246e..8fd5e5d92e2 100644
--- a/src/mame/drivers/microtan.cpp
+++ b/src/mame/drivers/microtan.cpp
@@ -252,11 +252,10 @@ void microtan_state::microtan(machine_config &config)
AY8910(config, m_ay8910[1], 1000000).add_route(ALL_OUTPUTS, "speaker", 0.5);
/* snapshot/quickload */
- snapshot_image_device &snapshot(SNAPSHOT(config, "snapshot"));
- snapshot.set_handler(snapquick_load_delegate(&SNAPSHOT_LOAD_NAME(microtan_state, microtan), this), "dmp,m65");
+ snapshot_image_device &snapshot(SNAPSHOT(config, "snapshot", "dmp,m65"));
+ snapshot.set_load_callback(FUNC(microtan_state::snapshot_cb), this);
snapshot.set_interface("mt65_snap");
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(microtan_state, microtan), this), "hex");
+ QUICKLOAD(config, "quickload", "hex").set_load_callback(FUNC(microtan_state::quickload_cb), this);
/* cassette */
CASSETTE(config, m_cassette);
diff --git a/src/mame/drivers/mtx.cpp b/src/mame/drivers/mtx.cpp
index a62e17814fd..5b12a18ce40 100644
--- a/src/mame/drivers/mtx.cpp
+++ b/src/mame/drivers/mtx.cpp
@@ -322,10 +322,8 @@ void mtx_state::mtx512(machine_config &config)
output_latch_device &cent_data_out(OUTPUT_LATCH(config, "cent_data_out"));
m_centronics->set_output_latch(cent_data_out);
- snapshot_image_device &snapshot(SNAPSHOT(config, "snapshot"));
- snapshot.set_handler(snapquick_load_delegate(&SNAPSHOT_LOAD_NAME(mtx_state, mtx), this), "mtx", attotime::from_seconds(1));
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(mtx_state, mtx), this), "run", attotime::from_seconds(1));
+ SNAPSHOT(config, "snapshot", "mtx", attotime::from_seconds(1)).set_load_callback(FUNC(mtx_state::snapshot_cb), this);
+ QUICKLOAD(config, "quickload", "run", attotime::from_seconds(1)).set_load_callback(FUNC(mtx_state::quickload_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED);
diff --git a/src/mame/drivers/nascom1.cpp b/src/mame/drivers/nascom1.cpp
index 22b51c5110e..b3c2a944923 100644
--- a/src/mame/drivers/nascom1.cpp
+++ b/src/mame/drivers/nascom1.cpp
@@ -107,7 +107,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(kansas_w);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( nascom1_cassette );
DECLARE_DEVICE_IMAGE_UNLOAD_MEMBER( nascom1_cassette );
- template<int Dest> DECLARE_SNAPSHOT_LOAD_MEMBER( nascom );
+ template<int Dest> DECLARE_SNAPSHOT_LOAD_MEMBER( snapshot_cb );
};
class nascom1_state : public nascom_state
@@ -291,7 +291,7 @@ DEVICE_IMAGE_UNLOAD_MEMBER( nascom_state, nascom1_cassette )
//**************************************************************************
template<int Dest>
-SNAPSHOT_LOAD_MEMBER( nascom_state, nascom )
+SNAPSHOT_LOAD_MEMBER(nascom_state::snapshot_cb)
{
uint8_t line[29];
@@ -749,11 +749,11 @@ void nascom_state::nascom(machine_config &config)
RAM(config, m_ram).set_default_size("48K").set_extra_options("8K,16K,32K");
// devices
- snapshot_image_device &snapshot(SNAPSHOT(config, "snapshot"));
- snapshot.set_handler(snapquick_load_delegate(&SNAPSHOT_LOAD_NAME(nascom_state, nascom<0>), this), "nas", attotime::from_msec(500));
+ snapshot_image_device &snapshot(SNAPSHOT(config, "snapshot", "nas", attotime::from_msec(500)));
+ snapshot.set_load_callback(FUNC(nascom_state::snapshot_cb<0>), this);
snapshot.set_interface("nascom_snap");
- snapshot_image_device &snapchar(SNAPSHOT(config, "snapchar"));
- snapchar.set_handler(snapquick_load_delegate(&SNAPSHOT_LOAD_NAME(nascom_state, nascom<1>), this), "chr", attotime::from_msec(500));
+ snapshot_image_device &snapchar(SNAPSHOT(config, "snapchar", "chr", attotime::from_msec(500)));
+ snapchar.set_load_callback(FUNC(nascom_state::snapshot_cb<1>), this);
snapchar.set_interface("nascom_char");
}
diff --git a/src/mame/drivers/pet.cpp b/src/mame/drivers/pet.cpp
index 720cbc68e01..75e07cb0b84 100644
--- a/src/mame/drivers/pet.cpp
+++ b/src/mame/drivers/pet.cpp
@@ -262,7 +262,7 @@ public:
TIMER_CALLBACK_MEMBER( sync_tick );
- DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_pet );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_pet);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
@@ -464,7 +464,7 @@ static void cbm_pet_quick_sethiaddress( address_space &space, uint16_t hiaddress
space.write_byte(0x2b, hiaddress >> 8);
}
-QUICKLOAD_LOAD_MEMBER( pet_state, cbm_pet )
+QUICKLOAD_LOAD_MEMBER(pet_state::quickload_pet)
{
return general_cbm_loadsnap(image, file_type, quickload_size, m_maincpu->space(AS_PROGRAM), 0, cbm_pet_quick_sethiaddress);
}
@@ -1713,8 +1713,8 @@ void pet_state::base_pet_devices(machine_config &config, const char *default_dri
m_user->pl_handler().set(m_via, FUNC(via6522_device::write_pa7));
m_user->pm_handler().set(m_via, FUNC(via6522_device::write_cb2));
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(pet_state, cbm_pet), this), "p00,prg", CBM_QUICKLOAD_DELAY);
+ quickload_image_device &quickload(QUICKLOAD(config, "quickload", "p00,prg", CBM_QUICKLOAD_DELAY));
+ quickload.set_load_callback(FUNC(pet_state::quickload_pet), this);
quickload.set_interface("cbm_quik");
SOFTWARE_LIST(config, "cass_list").set_original("pet_cass");
diff --git a/src/mame/drivers/phunsy.cpp b/src/mame/drivers/phunsy.cpp
index 9a9b9906e5f..c199888ccfe 100644
--- a/src/mame/drivers/phunsy.cpp
+++ b/src/mame/drivers/phunsy.cpp
@@ -64,7 +64,7 @@ private:
void kbd_put(u8 data);
DECLARE_READ_LINE_MEMBER(cass_r);
DECLARE_WRITE_LINE_MEMBER(cass_w);
- DECLARE_QUICKLOAD_LOAD_MEMBER(phunsy);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void phunsy_palette(palette_device &palette) const;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -282,7 +282,7 @@ static GFXDECODE_START( gfx_phunsy )
GFXDECODE_END
// quickloads can start from various addresses, and the files have no header.
-QUICKLOAD_LOAD_MEMBER( phunsy_state, phunsy )
+QUICKLOAD_LOAD_MEMBER(phunsy_state::quickload_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
uint16_t i;
@@ -373,8 +373,7 @@ void phunsy_state::phunsy(machine_config &config)
CASSETTE(config, m_cass);
/* quickload */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(phunsy_state, phunsy), this), "bin", attotime::from_seconds(2));
+ QUICKLOAD(config, "quickload", "bin", attotime::from_seconds(2)).set_load_callback(FUNC(phunsy_state::quickload_cb), this);
}
diff --git a/src/mame/drivers/pipbug.cpp b/src/mame/drivers/pipbug.cpp
index b045abfa294..510c367f760 100644
--- a/src/mame/drivers/pipbug.cpp
+++ b/src/mame/drivers/pipbug.cpp
@@ -60,7 +60,7 @@ private:
DECLARE_WRITE8_MEMBER(pipbug_ctrl_w);
required_device<rs232_port_device> m_rs232;
required_device<s2650_device> m_maincpu;
- DECLARE_QUICKLOAD_LOAD_MEMBER(pipbug);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void pipbug_data(address_map &map);
void pipbug_mem(address_map &map);
};
@@ -96,7 +96,7 @@ static DEVICE_INPUT_DEFAULTS_START( terminal )
DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_1 )
DEVICE_INPUT_DEFAULTS_END
-QUICKLOAD_LOAD_MEMBER( pipbug_state, pipbug )
+QUICKLOAD_LOAD_MEMBER(pipbug_state::quickload_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
int i;
@@ -174,8 +174,7 @@ void pipbug_state::pipbug(machine_config &config)
m_rs232->set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal));
/* quickload */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(pipbug_state, pipbug), this), "pgm", attotime::from_seconds(1));
+ QUICKLOAD(config, "quickload", "pgm", attotime::from_seconds(1)).set_load_callback(FUNC(pipbug_state::quickload_cb), this);
}
diff --git a/src/mame/drivers/plus4.cpp b/src/mame/drivers/plus4.cpp
index 95fc4a8b922..256116d6133 100644
--- a/src/mame/drivers/plus4.cpp
+++ b/src/mame/drivers/plus4.cpp
@@ -122,7 +122,7 @@ protected:
DECLARE_WRITE_LINE_MEMBER( write_kb6 ) { if (state) m_kb |= 64; else m_kb &= ~64; }
DECLARE_WRITE_LINE_MEMBER( write_kb7 ) { if (state) m_kb |= 128; else m_kb &= ~128; }
- DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_c16 );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_c16);
enum
{
@@ -190,7 +190,7 @@ private:
-QUICKLOAD_LOAD_MEMBER( plus4_state, cbm_c16 )
+QUICKLOAD_LOAD_MEMBER(plus4_state::quickload_c16)
{
return general_cbm_loadsnap(image, file_type, quickload_size, m_maincpu->space(AS_PROGRAM), 0, cbm_quick_sethiaddress);
}
@@ -930,8 +930,7 @@ void plus4_state::plus4(machine_config &config)
m_exp->cd_wr_callback().set(FUNC(plus4_state::write));
m_exp->aec_wr_callback().set_inputline(MOS7501_TAG, INPUT_LINE_HALT);
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(plus4_state, cbm_c16), this), "p00,prg", CBM_QUICKLOAD_DELAY);
+ QUICKLOAD(config, "quickload", "p00,prg", CBM_QUICKLOAD_DELAY).set_load_callback(FUNC(plus4_state::quickload_c16), this);
// internal ram
RAM(config, m_ram).set_default_size("64K");
diff --git a/src/mame/drivers/poly88.cpp b/src/mame/drivers/poly88.cpp
index 6ad88435e9c..f4f28a7201c 100644
--- a/src/mame/drivers/poly88.cpp
+++ b/src/mame/drivers/poly88.cpp
@@ -199,7 +199,8 @@ static GFXDECODE_START( gfx_poly88 )
GFXDECODE_ENTRY( "chargen", 0x0000, poly88_charlayout, 0, 1 )
GFXDECODE_END
-MACHINE_CONFIG_START(poly88_state::poly88)
+void poly88_state::poly88(machine_config &config)
+{
/* basic machine hardware */
I8080A(config, m_maincpu, 16.5888_MHz_XTAL / 9); // uses 8224 clock generator
m_maincpu->set_addrmap(AS_PROGRAM, &poly88_state::poly88_mem);
@@ -238,8 +239,8 @@ MACHINE_CONFIG_START(poly88_state::poly88)
m_brg->output_cb().set(FUNC(poly88_state::cassette_txc_rxc_w));
/* snapshot */
- MCFG_SNAPSHOT_ADD("snapshot", poly88_state, poly88, "img", attotime::from_seconds(2))
-MACHINE_CONFIG_END
+ SNAPSHOT(config, "snapshot", "img", attotime::from_seconds(2)).set_load_callback(FUNC(poly88_state::snapshot_cb), this);
+}
void poly88_state::poly8813(machine_config &config)
{
diff --git a/src/mame/drivers/primo.cpp b/src/mame/drivers/primo.cpp
index 383c6c4bb61..0b12a2c6813 100644
--- a/src/mame/drivers/primo.cpp
+++ b/src/mame/drivers/primo.cpp
@@ -246,7 +246,8 @@ static const struct CassetteOptions primo_cassette_options = {
22050 /* sample frequency */
};
-MACHINE_CONFIG_START(primo_state::primoa32)
+void primo_state::primoa32(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 2500000);
m_maincpu->set_addrmap(AS_PROGRAM, &primo_state::primo32_mem);
@@ -270,8 +271,8 @@ MACHINE_CONFIG_START(primo_state::primoa32)
SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.50);
/* snapshot/quickload */
- MCFG_SNAPSHOT_ADD("snapshot", primo_state, primo, "pss")
- MCFG_QUICKLOAD_ADD("quickload", primo_state, primo, "pp")
+ SNAPSHOT(config, "snapshot", "pss").set_load_callback(FUNC(primo_state::snapshot_cb), this);
+ QUICKLOAD(config, "quickload", "pp").set_load_callback(FUNC(primo_state::quickload_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_formats(primo_ptp_format);
@@ -284,7 +285,7 @@ MACHINE_CONFIG_START(primo_state::primoa32)
/* cartridge */
GENERIC_CARTSLOT(config, m_cart1, generic_plain_slot, nullptr, "bin,rom");
GENERIC_CARTSLOT(config, m_cart2, generic_plain_slot, nullptr, "bin,rom");
-MACHINE_CONFIG_END
+}
void primo_state::primoa48(machine_config &config)
{
diff --git a/src/mame/drivers/psx.cpp b/src/mame/drivers/psx.cpp
index e5e313c67b6..145e3c969d1 100644
--- a/src/mame/drivers/psx.cpp
+++ b/src/mame/drivers/psx.cpp
@@ -66,7 +66,7 @@ protected:
int load_psf(std::vector<uint8_t> buffer);
DECLARE_READ16_MEMBER(parallel_r);
DECLARE_WRITE16_MEMBER(parallel_w);
- DECLARE_QUICKLOAD_LOAD_MEMBER(psx_exe_load);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_exe);
void cd_dma_read( uint32_t *p_n_psxram, uint32_t n_address, int32_t n_size );
void cd_dma_write( uint32_t *p_n_psxram, uint32_t n_address, int32_t n_size );
required_device<psxcpu_device> m_maincpu;
@@ -482,7 +482,7 @@ WRITE16_MEMBER(psx1_state::parallel_w)
}
}
-QUICKLOAD_LOAD_MEMBER(psx1_state, psx_exe_load)
+QUICKLOAD_LOAD_MEMBER(psx1_state::quickload_exe)
{
m_exe_buffer.resize(quickload_size);
@@ -543,8 +543,7 @@ void psx1_state::psx_base(machine_config &config)
spu.add_route(0, "lspeaker", 1.00);
spu.add_route(1, "rspeaker", 1.00);
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(psx1_state, psx_exe_load), this), "cpe,exe,psf,psx");
+ QUICKLOAD(config, "quickload", "cpe,exe,psf,psx").set_load_callback(FUNC(psx1_state::quickload_exe), this);
PSX_PARALLEL_SLOT(config, "parallel", psx_parallel_devices, nullptr);
diff --git a/src/mame/drivers/qx10.cpp b/src/mame/drivers/qx10.cpp
index 7a90afdfec6..78a11534e6f 100644
--- a/src/mame/drivers/qx10.cpp
+++ b/src/mame/drivers/qx10.cpp
@@ -123,7 +123,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(keyboard_clk);
DECLARE_WRITE_LINE_MEMBER(keyboard_irq);
- DECLARE_QUICKLOAD_LOAD_MEMBER(qx10);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void qx10_palette(palette_device &palette) const;
DECLARE_WRITE_LINE_MEMBER(dma_hrq_changed);
@@ -337,7 +337,7 @@ WRITE8_MEMBER( qx10_state::cmos_sel_w )
************************************************************/
-QUICKLOAD_LOAD_MEMBER( qx10_state, qx10 )
+QUICKLOAD_LOAD_MEMBER(qx10_state::quickload_cb)
{
address_space& prog_space = m_maincpu->space(AS_PROGRAM);
@@ -721,7 +721,8 @@ static void keyboard(device_slot_interface &device)
device.option_add("qx10", QX10_KEYBOARD);
}
-MACHINE_CONFIG_START(qx10_state::qx10)
+void qx10_state::qx10(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, MAIN_CLK / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &qx10_state::qx10_mem);
@@ -826,9 +827,8 @@ MACHINE_CONFIG_START(qx10_state::qx10)
// software lists
SOFTWARE_LIST(config, "flop_list").set_original("qx10_flop");
- MCFG_QUICKLOAD_ADD("quickload", qx10_state, qx10, "com,cpm", attotime::from_seconds(3))
-
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "com,cpm", attotime::from_seconds(3)).set_load_callback(FUNC(qx10_state::quickload_cb), this);
+}
/* ROM definition */
ROM_START( qx10 )
diff --git a/src/mame/drivers/ravens.cpp b/src/mame/drivers/ravens.cpp
index b564fd76a0b..3e07e6080ea 100644
--- a/src/mame/drivers/ravens.cpp
+++ b/src/mame/drivers/ravens.cpp
@@ -106,7 +106,7 @@ private:
DECLARE_MACHINE_RESET(ravens2);
DECLARE_READ_LINE_MEMBER(cass_r);
DECLARE_WRITE_LINE_MEMBER(cass_w);
- DECLARE_QUICKLOAD_LOAD_MEMBER( ravens );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void ravens2_io(address_map &map);
void ravens_io(address_map &map);
@@ -274,7 +274,7 @@ void ravens_state::kbd_put(u8 data)
m_term_data = data;
}
-QUICKLOAD_LOAD_MEMBER( ravens_state, ravens )
+QUICKLOAD_LOAD_MEMBER(ravens_state::quickload_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
int i;
@@ -351,8 +351,7 @@ void ravens_state::ravens(machine_config &config)
config.set_default_layout(layout_ravens);
/* quickload */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(ravens_state, ravens), this), "pgm", attotime::from_seconds(1));
+ QUICKLOAD(config, "quickload", "pgm", attotime::from_seconds(1)).set_load_callback(FUNC(ravens_state::quickload_cb), this);
/* cassette */
CASSETTE(config, m_cass);
@@ -376,8 +375,7 @@ void ravens_state::ravens2(machine_config &config)
m_terminal->set_keyboard_callback(FUNC(ravens_state::kbd_put));
/* quickload */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(ravens_state, ravens), this), "pgm", attotime::from_seconds(1));
+ QUICKLOAD(config, "quickload", "pgm", attotime::from_seconds(1)).set_load_callback(FUNC(ravens_state::quickload_cb), this);
/* cassette */
CASSETTE(config, m_cass);
diff --git a/src/mame/drivers/rex6000.cpp b/src/mame/drivers/rex6000.cpp
index e97c01ba358..1a0eb1f5a8e 100644
--- a/src/mame/drivers/rex6000.cpp
+++ b/src/mame/drivers/rex6000.cpp
@@ -79,7 +79,7 @@ public:
void rex6000(machine_config &config);
void rex6000_palettte(palette_device &palette) const;
- DECLARE_QUICKLOAD_LOAD_MEMBER(rex6000);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_rex6000);
DECLARE_INPUT_CHANGED_MEMBER(trigger_irq);
DECLARE_WRITE_LINE_MEMBER(serial_irq);
DECLARE_WRITE_LINE_MEMBER(alarm_irq);
@@ -157,7 +157,7 @@ public:
DECLARE_READ8_MEMBER( kb_data_r );
DECLARE_WRITE8_MEMBER( kb_mask_w );
DECLARE_INPUT_CHANGED_MEMBER(trigger_on_irq);
- DECLARE_QUICKLOAD_LOAD_MEMBER(oz750);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_oz750);
virtual void machine_reset() override;
uint32_t screen_update_oz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -728,7 +728,7 @@ void rex6000_state::rex6000_palettte(palette_device &palette) const
palette.set_pen_color(1, rgb_t(92, 83, 88));
}
-QUICKLOAD_LOAD_MEMBER( rex6000_state,rex6000)
+QUICKLOAD_LOAD_MEMBER(rex6000_state::quickload_rex6000)
{
static const char magic[] = "ApplicationName:Addin";
uint32_t img_start = 0;
@@ -780,7 +780,7 @@ int oz750_state::oz_wzd_extract_tag(const std::vector<uint8_t> &data, const char
return img_start;
}
-QUICKLOAD_LOAD_MEMBER(oz750_state,oz750)
+QUICKLOAD_LOAD_MEMBER(oz750_state::quickload_oz750)
{
address_space* flash = &m_flash0a->memory().space(0);
std::vector<uint8_t> data(image.length());
@@ -895,7 +895,8 @@ static GFXDECODE_START( gfx_rex6000 )
GFXDECODE_END
-MACHINE_CONFIG_START(rex6000_state::rex6000)
+void rex6000_state::rex6000(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, XTAL(4'000'000)); //Toshiba microprocessor Z80 compatible at 4.3MHz
m_maincpu->set_addrmap(AS_PROGRAM, &rex6000_state::rex6000_mem);
@@ -934,7 +935,7 @@ MACHINE_CONFIG_START(rex6000_state::rex6000)
serport.cts_handler().set(m_uart, FUNC(ins8250_uart_device::cts_w));
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", rex6000_state, rex6000, "rex,ds2")
+ QUICKLOAD(config, "quickload", "rex,ds2").set_load_callback(FUNC(rex6000_state::quickload_rex6000), this);
tc8521_device &rtc(TC8521(config, TC8521_TAG, XTAL(32'768)));
rtc.out_alarm_callback().set(FUNC(rex6000_state::alarm_irq));
@@ -957,9 +958,10 @@ MACHINE_CONFIG_START(rex6000_state::rex6000)
/* sound hardware */
SPEAKER(config, "mono").front_center();
BEEP(config, m_beep, 0).add_route(ALL_OUTPUTS, "mono", 1.00);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(oz750_state::oz750)
+void oz750_state::oz750(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, XTAL(9'830'400)); //Toshiba microprocessor Z80 compatible at 9.8MHz
m_maincpu->set_addrmap(AS_PROGRAM, &oz750_state::rex6000_mem);
@@ -997,7 +999,7 @@ MACHINE_CONFIG_START(oz750_state::oz750)
ADDRESS_MAP_BANK(config, "bank1").set_map(&oz750_state::oz750_banked_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x2000);
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", oz750_state, oz750, "wzd")
+ QUICKLOAD(config, "quickload", "wzd").set_load_callback(FUNC(oz750_state::quickload_oz750), this);
tc8521_device &rtc(TC8521(config, TC8521_TAG, XTAL(32'768)));
rtc.out_alarm_callback().set(FUNC(rex6000_state::alarm_irq));
@@ -1011,7 +1013,7 @@ MACHINE_CONFIG_START(oz750_state::oz750)
/* sound hardware */
SPEAKER(config, "mono").front_center();
BEEP(config, m_beep, 0).add_route(ALL_OUTPUTS, "mono", 1.00);
-MACHINE_CONFIG_END
+}
/* ROM definition */
ROM_START( rex6000 )
diff --git a/src/mame/drivers/smc777.cpp b/src/mame/drivers/smc777.cpp
index 9f45f31ca5b..b92788c46c6 100644
--- a/src/mame/drivers/smc777.cpp
+++ b/src/mame/drivers/smc777.cpp
@@ -112,7 +112,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
- DECLARE_QUICKLOAD_LOAD_MEMBER(smc777);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void smc777_io(address_map &map);
void smc777_mem(address_map &map);
@@ -413,7 +413,7 @@ WRITE8_MEMBER(smc777_state::fbuf_w)
************************************************************/
-QUICKLOAD_LOAD_MEMBER( smc777_state, smc777 )
+QUICKLOAD_LOAD_MEMBER(smc777_state::quickload_cb)
{
address_space& prog_space = m_maincpu->space(AS_PROGRAM);
@@ -1108,7 +1108,8 @@ static void smc777_floppies(device_slot_interface &device)
}
-MACHINE_CONFIG_START(smc777_state::smc777)
+void smc777_state::smc777(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, MASTER_CLOCK);
m_maincpu->set_addrmap(AS_PROGRAM, &smc777_state::smc777_mem);
@@ -1143,7 +1144,7 @@ MACHINE_CONFIG_START(smc777_state::smc777)
FLOPPY_CONNECTOR(config, "fdc:1", smc777_floppies, "ssdd", floppy_image_device::default_floppy_formats);
SOFTWARE_LIST(config, "flop_list").set_original("smc777");
- MCFG_QUICKLOAD_ADD("quickload", smc777_state, smc777, "com,cpm", attotime::from_seconds(3))
+ QUICKLOAD(config, "quickload", "com,cpm", attotime::from_seconds(3)).set_load_callback(FUNC(smc777_state::quickload_cb), this);
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1154,7 +1155,7 @@ MACHINE_CONFIG_START(smc777_state::smc777)
m_beeper->add_route(ALL_OUTPUTS, "mono", 0.50);
TIMER(config, "keyboard_timer").configure_periodic(FUNC(smc777_state::keyboard_callback), attotime::from_hz(240/32));
-MACHINE_CONFIG_END
+}
/* ROM definition */
ROM_START( smc777 )
diff --git a/src/mame/drivers/sorcerer.cpp b/src/mame/drivers/sorcerer.cpp
index a18bd44d42f..e8fada889bd 100644
--- a/src/mame/drivers/sorcerer.cpp
+++ b/src/mame/drivers/sorcerer.cpp
@@ -406,7 +406,8 @@ static DEVICE_INPUT_DEFAULTS_START( terminal )
DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_2 )
DEVICE_INPUT_DEFAULTS_END
-MACHINE_CONFIG_START(sorcerer_state::sorcerer)
+void sorcerer_state::sorcerer(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, ES_CPU_CLOCK);
m_maincpu->set_addrmap(AS_PROGRAM, &sorcerer_state::sorcerer_mem);
@@ -447,8 +448,8 @@ MACHINE_CONFIG_START(sorcerer_state::sorcerer)
INPUT_BUFFER(config, "cent_status_in");
/* quickload */
- MCFG_SNAPSHOT_ADD("snapshot", sorcerer_state, sorcerer, "snp", attotime::from_seconds(2))
- MCFG_QUICKLOAD_ADD("quickload", sorcerer_state, sorcerer, "bin", attotime::from_seconds(3))
+ SNAPSHOT(config, "snapshot", "snp", attotime::from_seconds(2)).set_load_callback(FUNC(sorcerer_state::snapshot_cb), this);
+ QUICKLOAD(config, "quickload", "bin", attotime::from_seconds(3)).set_load_callback(FUNC(sorcerer_state::quickload_cb), this);
CASSETTE(config, m_cassette1);
m_cassette1->set_formats(sorcerer_cassette_formats);
@@ -469,7 +470,7 @@ MACHINE_CONFIG_START(sorcerer_state::sorcerer)
// internal ram
RAM(config, RAM_TAG).set_default_size("48K").set_extra_options("8K,16K,32K");
-MACHINE_CONFIG_END
+}
static void floppies(device_slot_interface &device)
{
diff --git a/src/mame/drivers/spectrum.cpp b/src/mame/drivers/spectrum.cpp
index 26d8263160f..89b75d16749 100644
--- a/src/mame/drivers/spectrum.cpp
+++ b/src/mame/drivers/spectrum.cpp
@@ -715,10 +715,8 @@ void spectrum_state::spectrum_common(machine_config &config)
m_exp->nmi_handler().set_inputline(m_maincpu, INPUT_LINE_NMI);
/* devices */
- snapshot_image_device &snapshot(SNAPSHOT(config, "snapshot"));
- snapshot.set_handler(snapquick_load_delegate(&SNAPSHOT_LOAD_NAME(spectrum_state, spectrum), this), "ach,frz,plusd,prg,sem,sit,sna,snp,snx,sp,z80,zx");
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(spectrum_state, spectrum), this), "raw,scr", attotime::from_seconds(2)); // The delay prevents the screen from being cleared by the RAM test at boot
+ SNAPSHOT(config, "snapshot", "ach,frz,plusd,prg,sem,sit,sna,snp,snx,sp,z80,zx").set_load_callback(FUNC(spectrum_state::snapshot_cb), this);
+ QUICKLOAD(config, "quickload", "raw,scr", attotime::from_seconds(2)).set_load_callback(FUNC(spectrum_state::quickload_cb), this); // The delay prevents the screen from being cleared by the RAM test at boot
CASSETTE(config, m_cassette);
m_cassette->set_formats(tzx_cassette_formats);
diff --git a/src/mame/drivers/ssem.cpp b/src/mame/drivers/ssem.cpp
index ce1b398f9ab..1058b5255aa 100644
--- a/src/mame/drivers/ssem.cpp
+++ b/src/mame/drivers/ssem.cpp
@@ -32,7 +32,7 @@ private:
virtual void machine_start() override;
virtual void machine_reset() override;
uint32_t screen_update_ssem(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- DECLARE_QUICKLOAD_LOAD_MEMBER(ssem_store);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
inline uint32_t reverse(uint32_t v);
void strlower(char *buf);
@@ -535,7 +535,7 @@ void ssem_state::strlower(char *buf)
* Image loading *
\****************************************************/
-QUICKLOAD_LOAD_MEMBER(ssem_state, ssem_store)
+QUICKLOAD_LOAD_MEMBER(ssem_state::quickload_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
char image_line[100] = { 0 };
@@ -632,7 +632,8 @@ void ssem_state::machine_reset()
m_store_line = 0;
}
-MACHINE_CONFIG_START(ssem_state::ssem)
+void ssem_state::ssem(machine_config &config)
+{
/* basic machine hardware */
SSEMCPU(config, m_maincpu, 700);
m_maincpu->set_addrmap(AS_PROGRAM, &ssem_state::ssem_map);
@@ -647,8 +648,8 @@ MACHINE_CONFIG_START(ssem_state::ssem)
PALETTE(config, "palette", palette_device::MONOCHROME);
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", ssem_state, ssem_store, "snp,asm", attotime::from_seconds(1))
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "snp,asm").set_load_callback(FUNC(ssem_state::quickload_cb), this);
+}
ROM_START( ssem )
diff --git a/src/mame/drivers/sun4.cpp b/src/mame/drivers/sun4.cpp
index 60b6973f541..7f13ed74617 100644
--- a/src/mame/drivers/sun4.cpp
+++ b/src/mame/drivers/sun4.cpp
@@ -2007,12 +2007,12 @@ void sun4_state::sun4c(machine_config &config)
NSCSI_BUS(config, "scsibus");
NSCSI_CONNECTOR(config, "scsibus:0", sun_scsi_devices, "harddisk");
- NSCSI_CONNECTOR(config, "scsibus:1", sun_scsi_devices, "cdrom");
+ NSCSI_CONNECTOR(config, "scsibus:1", sun_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsibus:2", sun_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsibus:3", sun_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsibus:4", sun_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsibus:5", sun_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:6", sun_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsibus:6", sun_scsi_devices, "cdrom");
NSCSI_CONNECTOR(config, "scsibus:7", sun_scsi_devices, "ncr53c90a", true).set_option_machine_config("ncr53c90a", [this] (device_t *device) { ncr53c90a(device); });
// SBus
diff --git a/src/mame/drivers/super80.cpp b/src/mame/drivers/super80.cpp
index ca32b7da608..54cb5293b82 100644
--- a/src/mame/drivers/super80.cpp
+++ b/src/mame/drivers/super80.cpp
@@ -751,8 +751,7 @@ void super80_state::super80(machine_config &config)
INPUT_BUFFER(config, "cent_status_in", 0);
/* quickload */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(super80_state, super80), this), "bin", attotime::from_seconds(3));
+ QUICKLOAD(config, "quickload", "bin", attotime::from_seconds(3)).set_load_callback(FUNC(super80_state::quickload_cb), this);
/* cassette */
CASSETTE(config, m_cassette);
@@ -845,8 +844,7 @@ void super80_state::super80v(machine_config &config)
INPUT_BUFFER(config, "cent_status_in", 0);
/* quickload */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(super80_state, super80), this), "bin", attotime::from_seconds(3));
+ QUICKLOAD(config, "quickload", "bin", attotime::from_seconds(3)).set_load_callback(FUNC(super80_state::quickload_cb), this);
/* cassette */
CASSETTE(config, m_cassette);
diff --git a/src/mame/drivers/svmu.cpp b/src/mame/drivers/svmu.cpp
index 468315ccc5d..aa2548f9547 100644
--- a/src/mame/drivers/svmu.cpp
+++ b/src/mame/drivers/svmu.cpp
@@ -53,7 +53,7 @@ private:
DECLARE_READ8_MEMBER(p1_r);
DECLARE_WRITE8_MEMBER(p1_w);
DECLARE_READ8_MEMBER(p7_r);
- DECLARE_QUICKLOAD_LOAD_MEMBER( svmu );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void svmu_io_mem(address_map &map);
void svmu_mem(address_map &map);
@@ -209,7 +209,7 @@ inline void vmufat_write_word(uint8_t* flash, uint8_t block, offs_t offset, uint
flash[(block * 512) + offset + 1] = (data>>8) & 0xff;
}
-QUICKLOAD_LOAD_MEMBER( svmu_state, svmu )
+QUICKLOAD_LOAD_MEMBER(svmu_state::quickload_cb)
{
uint32_t size = image.length();
uint8_t *flash = m_flash->base();
@@ -341,8 +341,8 @@ void svmu_state::svmu(machine_config &config)
/* devices */
ATMEL_29C010(config, m_flash);
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(svmu_state, svmu), this), "vms,bin");
+ quickload_image_device &quickload(QUICKLOAD(config, "quickload", "vms,bin"));
+ quickload.set_load_callback(FUNC(svmu_state::quickload_cb), this);
quickload.set_interface("svmu_quik");
/* Software lists */
diff --git a/src/mame/drivers/ti85.cpp b/src/mame/drivers/ti85.cpp
index 26a777a1e2c..f62980288a4 100644
--- a/src/mame/drivers/ti85.cpp
+++ b/src/mame/drivers/ti85.cpp
@@ -615,11 +615,12 @@ void ti85_state::ti85(machine_config &config)
}
-MACHINE_CONFIG_START(ti85_state::ti85d)
+void ti85_state::ti85d(machine_config &config)
+{
ti85(config);
- MCFG_SNAPSHOT_ADD("snapshot", ti85_state, ti8x, "sav")
+ SNAPSHOT(config, "snapshot", "sav").set_load_callback(FUNC(ti85_state::snapshot_cb), this);
//TI85SERIAL(config, "tiserial");
-MACHINE_CONFIG_END
+}
void ti85_state::ti82(machine_config &config)
@@ -662,16 +663,17 @@ void ti85_state::ti83(machine_config &config)
T6A04(config, "t6a04", 0).set_size(96, 64);
}
-MACHINE_CONFIG_START(ti85_state::ti86)
+void ti85_state::ti86(machine_config &config)
+{
ti85(config);
m_maincpu->set_addrmap(AS_PROGRAM, &ti85_state::ti86_mem);
m_maincpu->set_addrmap(AS_IO, &ti85_state::ti86_io);
- MCFG_MACHINE_START_OVERRIDE(ti85_state, ti86 )
- MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 )
+ MCFG_MACHINE_START_OVERRIDE(ti85_state, ti86)
+ MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85)
- MCFG_SNAPSHOT_ADD("snapshot", ti85_state, ti8x, "sav")
-MACHINE_CONFIG_END
+ SNAPSHOT(config, "snapshot", "sav").set_load_callback(FUNC(ti85_state::snapshot_cb), this);
+}
void ti85_state::ti83p(machine_config &config)
{
diff --git a/src/mame/drivers/tmc1800.cpp b/src/mame/drivers/tmc1800.cpp
index 06473213ce8..e4ed0b987b4 100644
--- a/src/mame/drivers/tmc1800.cpp
+++ b/src/mame/drivers/tmc1800.cpp
@@ -764,7 +764,7 @@ void nano_state::machine_reset()
/* Machine Drivers */
-QUICKLOAD_LOAD_MEMBER( tmc1800_base_state, tmc1800 )
+QUICKLOAD_LOAD_MEMBER(tmc1800_base_state::quickload_cb)
{
uint8_t *ptr = m_rom->base();
int size = image.length();
@@ -779,7 +779,8 @@ QUICKLOAD_LOAD_MEMBER( tmc1800_base_state, tmc1800 )
return image_init_result::PASS;
}
-MACHINE_CONFIG_START(tmc1800_state::tmc1800)
+void tmc1800_state::tmc1800(machine_config &config)
+{
// basic system hardware
CDP1802(config, m_maincpu, 1.75_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &tmc1800_state::tmc1800_map);
@@ -800,15 +801,16 @@ MACHINE_CONFIG_START(tmc1800_state::tmc1800)
BEEP(config, m_beeper, 0).add_route(ALL_OUTPUTS, "mono", 0.25);
// devices
- MCFG_QUICKLOAD_ADD("quickload", tmc1800_base_state, tmc1800, "bin")
+ QUICKLOAD(config, "quickload", "bin").set_load_callback(FUNC(tmc1800_base_state::quickload_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
// internal ram
RAM(config, RAM_TAG).set_default_size("2K").set_extra_options("4K");
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(osc1000b_state::osc1000b)
+void osc1000b_state::osc1000b(machine_config &config)
+{
// basic system hardware
CDP1802(config, m_maincpu, 1.75_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &osc1000b_state::osc1000b_map);
@@ -828,15 +830,16 @@ MACHINE_CONFIG_START(osc1000b_state::osc1000b)
BEEP(config, m_beeper, 0).add_route(ALL_OUTPUTS, "mono", 0.25);
// devices
- MCFG_QUICKLOAD_ADD("quickload", tmc1800_base_state, tmc1800, "bin")
+ QUICKLOAD(config, "quickload", "bin").set_load_callback(FUNC(tmc1800_base_state::quickload_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
// internal ram
RAM(config, RAM_TAG).set_default_size("2K").set_extra_options("4K");
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(tmc2000_state::tmc2000)
+void tmc2000_state::tmc2000(machine_config &config)
+{
// basic system hardware
CDP1802(config, m_maincpu, 1.75_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &tmc2000_state::tmc2000_map);
@@ -852,15 +855,16 @@ MACHINE_CONFIG_START(tmc2000_state::tmc2000)
tmc2000_video(config);
// devices
- MCFG_QUICKLOAD_ADD("quickload", tmc1800_base_state, tmc1800, "bin")
+ QUICKLOAD(config, "quickload", "bin").set_load_callback(FUNC(tmc1800_base_state::quickload_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
// internal ram
RAM(config, RAM_TAG).set_default_size("4K").set_extra_options("16K,32K");
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(nano_state::nano)
+void nano_state::nano(machine_config &config)
+{
// basic system hardware
CDP1802(config, m_maincpu, 1.75_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &nano_state::nano_map);
@@ -876,13 +880,13 @@ MACHINE_CONFIG_START(nano_state::nano)
nano_video(config);
// devices
- MCFG_QUICKLOAD_ADD("quickload", tmc1800_base_state, tmc1800, "bin")
+ QUICKLOAD(config, "quickload", "bin").set_load_callback(FUNC(tmc1800_base_state::quickload_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
// internal ram
RAM(config, RAM_TAG).set_default_size("4K");
-MACHINE_CONFIG_END
+}
/* ROMs */
diff --git a/src/mame/drivers/trs80.cpp b/src/mame/drivers/trs80.cpp
index 9d1d20c9c66..fee0761731a 100644
--- a/src/mame/drivers/trs80.cpp
+++ b/src/mame/drivers/trs80.cpp
@@ -527,7 +527,8 @@ void trs80_state::trs80(machine_config &config) // the original model I, l
CASSETTE(config, m_cassette);
}
-MACHINE_CONFIG_START(trs80_state::model1) // model I, level II
+void trs80_state::model1(machine_config &config) // model I, level II
+{
trs80(config);
m_maincpu->set_addrmap(AS_PROGRAM, &trs80_state::m1_mem);
@@ -538,7 +539,7 @@ MACHINE_CONFIG_START(trs80_state::model1) // model I, level II
m_cassette->set_formats(trs80l2_cassette_formats);
m_cassette->set_default_state(CASSETTE_PLAY);
- MCFG_QUICKLOAD_ADD("quickload", trs80_state, trs80_cmd, "cmd", attotime::from_seconds(1))
+ QUICKLOAD(config, "quickload", "cmd", attotime::from_seconds(1)).set_load_callback(FUNC(trs80_state::quickload_cb), this);
FD1793(config, m_fdc, 4_MHz_XTAL / 4); // todo: should be fd1771
m_fdc->intrq_wr_callback().set(FUNC(trs80_state::intrq_w));
@@ -569,7 +570,7 @@ MACHINE_CONFIG_START(trs80_state::model1) // model I, level II
//MCFG_AY31015_WRITE_DAV_CB(WRITELINE( , , ))
m_uart->set_auto_rdav(true);
RS232_PORT(config, "rs232", default_rs232_devices, nullptr);
-MACHINE_CONFIG_END
+}
void trs80_state::sys80(machine_config &config)
{
diff --git a/src/mame/drivers/trs80m3.cpp b/src/mame/drivers/trs80m3.cpp
index 953b16f98b2..9236d82d1aa 100644
--- a/src/mame/drivers/trs80m3.cpp
+++ b/src/mame/drivers/trs80m3.cpp
@@ -333,7 +333,8 @@ static void trs80_floppies(device_slot_interface &device)
}
-MACHINE_CONFIG_START(trs80m3_state::model3)
+void trs80m3_state::model3(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 20.2752_MHz_XTAL / 10); // FIXME: actual Model III XTAL is 10.1376 MHz
m_maincpu->set_addrmap(AS_PROGRAM, &trs80m3_state::m3_mem);
@@ -359,7 +360,7 @@ MACHINE_CONFIG_START(trs80m3_state::model3)
m_cassette->set_formats(trs80l2_cassette_formats);
m_cassette->set_default_state(CASSETTE_PLAY);
- MCFG_QUICKLOAD_ADD("quickload", trs80m3_state, trs80_cmd, "cmd", attotime::from_seconds(1))
+ QUICKLOAD(config, "quickload", "cmd", attotime::from_seconds(1)).set_load_callback(FUNC(trs80m3_state::quickload_cb), this);
FD1793(config, m_fdc, 4_MHz_XTAL / 4);
m_fdc->intrq_wr_callback().set(FUNC(trs80m3_state::intrq_w));
@@ -390,7 +391,7 @@ MACHINE_CONFIG_START(trs80m3_state::model3)
//MCFG_AY31015_WRITE_DAV_CB(WRITELINE( , , ))
m_uart->set_auto_rdav(true);
RS232_PORT(config, "rs232", default_rs232_devices, nullptr);
-MACHINE_CONFIG_END
+}
void trs80m3_state::model4(machine_config &config)
{
diff --git a/src/mame/drivers/tvc.cpp b/src/mame/drivers/tvc.cpp
index 87ceb62c42f..1c9ce01e734 100644
--- a/src/mame/drivers/tvc.cpp
+++ b/src/mame/drivers/tvc.cpp
@@ -110,7 +110,7 @@ private:
DECLARE_READ8_MEMBER(exp_id_r);
DECLARE_WRITE8_MEMBER(expint_ack_w);
- DECLARE_QUICKLOAD_LOAD_MEMBER( tvc64);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
MC6845_UPDATE_ROW(crtc_update_row);
@@ -742,7 +742,7 @@ WRITE_LINE_MEMBER(tvc_state::centronics_ack)
m_centronics_ff = 1;
}
-QUICKLOAD_LOAD_MEMBER( tvc_state, tvc64)
+QUICKLOAD_LOAD_MEMBER(tvc_state::quickload_cb)
{
uint8_t first_byte;
@@ -766,7 +766,8 @@ void tvc_exp(device_slot_interface &device)
}
-MACHINE_CONFIG_START(tvc_state::tvc)
+void tvc_state::tvc(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 3125000);
m_maincpu->set_addrmap(AS_PROGRAM, &tvc_state::tvc_mem);
@@ -828,13 +829,13 @@ MACHINE_CONFIG_START(tvc_state::tvc)
m_cassette->set_interface("tvc_cass");
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", tvc_state, tvc64, "cas", attotime::from_seconds(6))
+ QUICKLOAD(config, "quickload", "cas", attotime::from_seconds(6)).set_load_callback(FUNC(tvc_state::quickload_cb), this);
/* Software lists */
SOFTWARE_LIST(config, "cart_list").set_original("tvc_cart");
SOFTWARE_LIST(config, "cass_list").set_original("tvc_cass");
SOFTWARE_LIST(config, "flop_list").set_original("tvc_flop");
-MACHINE_CONFIG_END
+}
/* ROM definition */
ROM_START( tvc64 )
diff --git a/src/mame/drivers/vc4000.cpp b/src/mame/drivers/vc4000.cpp
index 07a31603836..7348158c552 100644
--- a/src/mame/drivers/vc4000.cpp
+++ b/src/mame/drivers/vc4000.cpp
@@ -395,7 +395,7 @@ void vc4000_state::machine_start()
}
-QUICKLOAD_LOAD_MEMBER( vc4000_state,vc4000)
+QUICKLOAD_LOAD_MEMBER(vc4000_state::quickload_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
int i;
@@ -550,8 +550,7 @@ void vc4000_state::vc4000(machine_config &config)
VC4000_SND(config, m_custom, 0).add_route(ALL_OUTPUTS, "mono", 0.50);
/* quickload */
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(vc4000_state, vc4000), this), "pgm,tvc");
+ QUICKLOAD(config, "quickload", "pgm,tvc").set_load_callback(FUNC(vc4000_state::quickload_cb), this);
/* cartridge */
VC4000_CART_SLOT(config, "cartslot", vc4000_cart, nullptr);
diff --git a/src/mame/drivers/vgmplay.cpp b/src/mame/drivers/vgmplay.cpp
index f36b527146a..3a82c7fe699 100644
--- a/src/mame/drivers/vgmplay.cpp
+++ b/src/mame/drivers/vgmplay.cpp
@@ -2639,7 +2639,7 @@ static const c140_device::C140_TYPE c140_bank_type(uint8_t vgm_type)
}
}
-QUICKLOAD_LOAD_MEMBER(vgmplay_state, load_file)
+QUICKLOAD_LOAD_MEMBER(vgmplay_state::load_file)
{
m_vgmplay->stop();
@@ -3448,14 +3448,16 @@ void vgmplay_state::rf5c164_map(address_map &map)
map(0, 0xffff).ram().share("rf5c164_ram");
}
-MACHINE_CONFIG_START(vgmplay_state::vgmplay)
+void vgmplay_state::vgmplay(machine_config &config)
+{
VGMPLAY(config, m_vgmplay, 44100);
m_vgmplay->set_addrmap(AS_PROGRAM, &vgmplay_state::file_map);
m_vgmplay->set_addrmap(AS_IO, &vgmplay_state::soundchips_map);
m_vgmplay->set_addrmap(AS_IO16, &vgmplay_state::soundchips16_map);
- MCFG_QUICKLOAD_ADD("quickload", vgmplay_state, load_file, "vgm,vgz")
- MCFG_QUICKLOAD_INTERFACE("vgm_quik")
+ quickload_image_device &quickload(QUICKLOAD(config, "quickload", "vgm,vgz"));
+ quickload.set_load_callback(FUNC(vgmplay_state::load_file), this);
+ quickload.set_interface("vgm_quik");
SOFTWARE_LIST(config, "vgm_list").set_original("vgmplay");
@@ -3878,7 +3880,7 @@ MACHINE_CONFIG_START(vgmplay_state::vgmplay)
SPEAKER(config, m_lspeaker).front_left();
SPEAKER(config, m_rspeaker).front_right();
-MACHINE_CONFIG_END
+}
ROM_START( vgmplay )
// TODO: split up 32x to remove dependencies
diff --git a/src/mame/drivers/vic20.cpp b/src/mame/drivers/vic20.cpp
index 003cab1cb09..86424ecf5c2 100644
--- a/src/mame/drivers/vic20.cpp
+++ b/src/mame/drivers/vic20.cpp
@@ -112,7 +112,7 @@ private:
DECLARE_WRITE_LINE_MEMBER( exp_reset_w );
- DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_vc20 );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_vc20);
// keyboard state
int m_key_col;
int m_light_pen;
@@ -162,7 +162,7 @@ private:
};
-QUICKLOAD_LOAD_MEMBER( vic20_state, cbm_vc20 )
+QUICKLOAD_LOAD_MEMBER(vic20_state::quickload_vc20)
{
return general_cbm_loadsnap(image, file_type, quickload_size, m_maincpu->space(AS_PROGRAM), 0, cbm_quick_sethiaddress);
}
@@ -844,8 +844,7 @@ void vic20_state::vic20(machine_config &config, const char* softlist_filter)
m_user->pl_handler().set(m_via1, FUNC(via6522_device::write_pb7));
m_user->pm_handler().set(m_via1, FUNC(via6522_device::write_cb2));
- quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
- quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(vic20_state, cbm_vc20), this), "p00,prg", CBM_QUICKLOAD_DELAY);
+ QUICKLOAD(config, "quickload", "p00,prg", CBM_QUICKLOAD_DELAY).set_load_callback(FUNC(vic20_state::quickload_vc20), this);
SOFTWARE_LIST(config, "cart_list").set_type("vic1001_cart", SOFTWARE_LIST_ORIGINAL_SYSTEM).set_filter(softlist_filter);
SOFTWARE_LIST(config, "cass_list").set_type("vic1001_cass", SOFTWARE_LIST_ORIGINAL_SYSTEM).set_filter(softlist_filter);
diff --git a/src/mame/drivers/vip.cpp b/src/mame/drivers/vip.cpp
index 0d647146aa5..78cd0761a3d 100644
--- a/src/mame/drivers/vip.cpp
+++ b/src/mame/drivers/vip.cpp
@@ -663,7 +663,7 @@ void vip_state::machine_reset()
// QUICKLOAD_LOAD_MEMBER( vip_state, vip )
//-------------------------------------------------
-QUICKLOAD_LOAD_MEMBER( vip_state, vip )
+QUICKLOAD_LOAD_MEMBER(vip_state::quickload_cb)
{
uint8_t *ram = m_ram->pointer();
uint8_t *chip8_ptr = nullptr;
@@ -710,7 +710,8 @@ QUICKLOAD_LOAD_MEMBER( vip_state, vip )
// machine_config( vip )
//-------------------------------------------------
-MACHINE_CONFIG_START(vip_state::vip)
+void vip_state::vip(machine_config &config)
+{
// basic machine hardware
CDP1802(config, m_maincpu, 3.52128_MHz_XTAL / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &vip_state::vip_mem);
@@ -751,7 +752,7 @@ MACHINE_CONFIG_START(vip_state::vip)
m_exp->dma_in_wr_callback().set(FUNC(vip_state::exp_dma_in_w));
// devices
- MCFG_QUICKLOAD_ADD("quickload", vip_state, vip, "bin,c8,c8x")
+ QUICKLOAD(config, "quickload", "bin,c8,c8x").set_load_callback(FUNC(vip_state::quickload_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
m_cassette->set_interface("vip_cass");
@@ -761,7 +762,7 @@ MACHINE_CONFIG_START(vip_state::vip)
// internal ram
RAM(config, m_ram).set_default_size("2K").set_extra_options("4K");
-MACHINE_CONFIG_END
+}
//-------------------------------------------------
diff --git a/src/mame/drivers/vtech1.cpp b/src/mame/drivers/vtech1.cpp
index 18f74981b8e..bd03f12bd08 100644
--- a/src/mame/drivers/vtech1.cpp
+++ b/src/mame/drivers/vtech1.cpp
@@ -93,7 +93,7 @@ private:
DECLARE_WRITE8_MEMBER(vtech1_video_bank_w);
DECLARE_READ8_MEMBER(mc6847_videoram_r);
- DECLARE_SNAPSHOT_LOAD_MEMBER( vtech1 );
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
void laser110_mem(address_map &map);
void laser210_mem(address_map &map);
@@ -119,7 +119,7 @@ private:
SNAPSHOT LOADING
***************************************************************************/
-SNAPSHOT_LOAD_MEMBER( vtech1_state, vtech1 )
+SNAPSHOT_LOAD_MEMBER(vtech1_state::snapshot_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
uint8_t header[24];
@@ -459,8 +459,7 @@ void vtech1_state::laser110(machine_config &config)
m_memexp->set_io_space(m_maincpu, AS_IO);
// snapshot
- snapshot_image_device &snapshot(SNAPSHOT(config, "snapshot", 0));
- snapshot.set_handler(snapquick_load_delegate(&SNAPSHOT_LOAD_NAME(vtech1_state, vtech1), this), "vz", attotime::from_double(1.5));
+ SNAPSHOT(config, "snapshot", "vz", attotime::from_double(1.5)).set_load_callback(FUNC(vtech1_state::snapshot_cb), this);
CASSETTE(config, m_cassette);
m_cassette->set_formats(vtech1_cassette_formats);
diff --git a/src/mame/drivers/xerox820.cpp b/src/mame/drivers/xerox820.cpp
index 5aef2816bc6..02225265c18 100644
--- a/src/mame/drivers/xerox820.cpp
+++ b/src/mame/drivers/xerox820.cpp
@@ -405,7 +405,7 @@ static const z80_daisy_config xerox820_daisy_chain[] =
************************************************************/
-QUICKLOAD_LOAD_MEMBER( xerox820_state, xerox820 )
+QUICKLOAD_LOAD_MEMBER(xerox820_state::quickload_cb)
{
address_space& prog_space = m_maincpu->space(AS_PROGRAM);
@@ -601,7 +601,8 @@ GFXDECODE_END
/* Machine Drivers */
-MACHINE_CONFIG_START(xerox820_state::xerox820)
+void xerox820_state::xerox820(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 20_MHz_XTAL / 8);
m_maincpu->set_addrmap(AS_PROGRAM, &xerox820_state::xerox820_mem);
@@ -666,8 +667,8 @@ MACHINE_CONFIG_START(xerox820_state::xerox820)
// software lists
SOFTWARE_LIST(config, "flop_list").set_original("xerox820");
- MCFG_QUICKLOAD_ADD("quickload", xerox820_state, xerox820, "com,cpm", attotime::from_seconds(3))
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "com,cpm", attotime::from_seconds(3)).set_load_callback(FUNC(xerox820_state::quickload_cb), this);
+}
void bigboard_state::bigboard(machine_config &config)
{
@@ -677,7 +678,8 @@ void bigboard_state::bigboard(machine_config &config)
BEEP(config, m_beeper, 950).add_route(ALL_OUTPUTS, "mono", 1.00); /* bigboard only */
}
-MACHINE_CONFIG_START(xerox820ii_state::xerox820ii)
+void xerox820ii_state::xerox820ii(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 16_MHz_XTAL / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &xerox820ii_state::xerox820ii_mem);
@@ -769,8 +771,8 @@ MACHINE_CONFIG_START(xerox820ii_state::xerox820ii)
// software lists
SOFTWARE_LIST(config, "flop_list").set_original("xerox820ii");
- MCFG_QUICKLOAD_ADD("quickload", xerox820_state, xerox820, "com,cpm", attotime::from_seconds(3))
-MACHINE_CONFIG_END
+ QUICKLOAD(config, "quickload", "com,cpm", attotime::from_seconds(3)).set_load_callback(FUNC(xerox820_state::quickload_cb), this);
+}
void xerox820ii_state::xerox168(machine_config &config)
{
diff --git a/src/mame/drivers/xtom3d.cpp b/src/mame/drivers/xtom3d.cpp
index 34137b1c654..a0a54f06372 100644
--- a/src/mame/drivers/xtom3d.cpp
+++ b/src/mame/drivers/xtom3d.cpp
@@ -54,7 +54,9 @@ class xtom3d_state : public pcat_base_state
public:
xtom3d_state(const machine_config &mconfig, device_type type, const char *tag)
: pcat_base_state(mconfig, type, tag)
- { }
+ , m_pcibus(*this, "pcibus")
+ {
+ }
void xtom3d(machine_config &config);
@@ -93,6 +95,8 @@ private:
void piix4_config_w(int function, int reg, uint8_t data);
uint32_t intel82371ab_pci_r(int function, int reg, uint32_t mem_mask);
void intel82371ab_pci_w(int function, int reg, uint32_t data, uint32_t mem_mask);
+
+ required_device<pci_bus_legacy_device> m_pcibus;
};
// Intel 82439TX System Controller (MTXC)
@@ -407,7 +411,8 @@ void xtom3d_state::machine_reset()
membank("video_bank2")->set_base(memregion("video_bios")->base() + 0x4000);
}
-MACHINE_CONFIG_START(xtom3d_state::xtom3d)
+void xtom3d_state::xtom3d(machine_config &config)
+{
PENTIUM2(config, m_maincpu, 450000000/16); // actually Pentium II 450
m_maincpu->set_addrmap(AS_PROGRAM, &xtom3d_state::xtom3d_map);
m_maincpu->set_addrmap(AS_IO, &xtom3d_state::xtom3d_io);
@@ -416,13 +421,18 @@ MACHINE_CONFIG_START(xtom3d_state::xtom3d)
pcat_common(config);
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, xtom3d_state, intel82439tx_pci_r, intel82439tx_pci_w)
- MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, xtom3d_state, intel82371ab_pci_r, intel82371ab_pci_w)
+ PCI_BUS_LEGACY(config, m_pcibus, 0);
+ m_pcibus->set_busnum(0);
+ m_pcibus->set_device(0,
+ pci_bus_legacy_read_delegate(&xtom3d_state::intel82439tx_pci_r, "xtom3d_state::intel82439tx_pci_r", DEVICE_SELF, (xtom3d_state *)0),
+ pci_bus_legacy_write_delegate(&xtom3d_state::intel82439tx_pci_w, "xtom3d_state::intel82439tx_pci_w", DEVICE_SELF, (xtom3d_state *)0));
+ m_pcibus->set_device(7,
+ pci_bus_legacy_read_delegate(&xtom3d_state::intel82371ab_pci_r, "xtom3d_state::intel82371ab_pci_r", DEVICE_SELF, (xtom3d_state *)0),
+ pci_bus_legacy_write_delegate(&xtom3d_state::intel82371ab_pci_w, "xtom3d_state::intel82371ab_pci_w", DEVICE_SELF, (xtom3d_state *)0));
/* video hardware */
pcvideo_vga(config);
-MACHINE_CONFIG_END
+}
ROM_START( xtom3d )
diff --git a/src/mame/drivers/z1013.cpp b/src/mame/drivers/z1013.cpp
index cd8e157d5b9..b14b5fd19b9 100644
--- a/src/mame/drivers/z1013.cpp
+++ b/src/mame/drivers/z1013.cpp
@@ -79,7 +79,7 @@ private:
DECLARE_READ8_MEMBER(port_b_r);
DECLARE_WRITE8_MEMBER(port_b_w);
DECLARE_READ8_MEMBER(k7659_port_b_r);
- DECLARE_SNAPSHOT_LOAD_MEMBER(z1013);
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
uint32_t screen_update_z1013(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void z1013_io(address_map &map);
@@ -307,7 +307,7 @@ READ8_MEMBER( z1013_state::k7659_port_b_r )
return 0xff;
}
-SNAPSHOT_LOAD_MEMBER( z1013_state, z1013 )
+SNAPSHOT_LOAD_MEMBER(z1013_state::snapshot_cb)
{
/* header layout
0000,0001 - load address
@@ -371,7 +371,8 @@ static GFXDECODE_START( gfx_z1013 )
GFXDECODE_END
/* Machine driver */
-MACHINE_CONFIG_START(z1013_state::z1013)
+void z1013_state::z1013(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, XTAL(1'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &z1013_state::z1013_mem);
@@ -401,8 +402,8 @@ MACHINE_CONFIG_START(z1013_state::z1013)
CASSETTE(config, m_cass);
m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
- MCFG_SNAPSHOT_ADD("snapshot", z1013_state, z1013, "z80")
-MACHINE_CONFIG_END
+ SNAPSHOT(config, "snapshot", "z80").set_load_callback(FUNC(z1013_state::snapshot_cb), this);
+}
void z1013_state::z1013k76(machine_config &config)
{
diff --git a/src/mame/includes/abc80.h b/src/mame/includes/abc80.h
index 3c3e3ba1f4f..a89d3a9f2ad 100644
--- a/src/mame/includes/abc80.h
+++ b/src/mame/includes/abc80.h
@@ -151,7 +151,7 @@ public:
void kbd_w(u8 data);
DECLARE_WRITE8_MEMBER( csg_w );
- DECLARE_QUICKLOAD_LOAD_MEMBER( bac );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
enum
{
diff --git a/src/mame/includes/abc80x.h b/src/mame/includes/abc80x.h
index 10ae7ca0d8f..1d1509817df 100644
--- a/src/mame/includes/abc80x.h
+++ b/src/mame/includes/abc80x.h
@@ -129,7 +129,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER( ctc_tick );
TIMER_DEVICE_CALLBACK_MEMBER( cassette_input_tick );
- DECLARE_QUICKLOAD_LOAD_MEMBER( bac );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
// memory state
bool m_fetch_charram; // opcode fetched from character RAM region (0x7800-0x7fff)
diff --git a/src/mame/includes/amstrad.h b/src/mame/includes/amstrad.h
index 55799d9f58f..b14adeb368e 100644
--- a/src/mame/includes/amstrad.h
+++ b/src/mame/includes/amstrad.h
@@ -245,7 +245,7 @@ public:
void amstrad_handle_snapshot(unsigned char *pSnapshot);
void amstrad_rethinkMemory();
- DECLARE_SNAPSHOT_LOAD_MEMBER( amstrad );
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
DECLARE_WRITE_LINE_MEMBER(write_centronics_busy);
diff --git a/src/mame/includes/atom.h b/src/mame/includes/atom.h
index b7a341000b2..f32cbb04441 100644
--- a/src/mame/includes/atom.h
+++ b/src/mame/includes/atom.h
@@ -117,7 +117,7 @@ public:
image_init_result load_cart(device_image_interface &image, generic_slot_device &slot);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cart_load) { return load_cart(image, *m_cart); }
- DECLARE_QUICKLOAD_LOAD_MEMBER(atom_atm);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void atombb(machine_config &config);
void atom(machine_config &config);
void atom_mem(address_map &map);
diff --git a/src/mame/includes/aussiebyte.h b/src/mame/includes/aussiebyte.h
index bd4b51aba70..1de0934b549 100644
--- a/src/mame/includes/aussiebyte.h
+++ b/src/mame/includes/aussiebyte.h
@@ -67,7 +67,7 @@ public:
void aussiebyte(machine_config &config);
- DECLARE_QUICKLOAD_LOAD_MEMBER(aussiebyte);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
protected:
DECLARE_READ8_MEMBER(memory_read_byte);
diff --git a/src/mame/includes/avigo.h b/src/mame/includes/avigo.h
index d78d81965d0..3462ebd91cb 100644
--- a/src/mame/includes/avigo.h
+++ b/src/mame/includes/avigo.h
@@ -87,7 +87,7 @@ protected:
TIMER_DEVICE_CALLBACK_MEMBER(avigo_scan_timer);
TIMER_DEVICE_CALLBACK_MEMBER(avigo_1hz_timer);
- DECLARE_QUICKLOAD_LOAD_MEMBER( avigo);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void avigo_banked_map(address_map &map);
void avigo_io(address_map &map);
void avigo_mem(address_map &map);
diff --git a/src/mame/includes/comx35.h b/src/mame/includes/comx35.h
index 8cd0106baa7..a8b4dbca0e7 100644
--- a/src/mame/includes/comx35.h
+++ b/src/mame/includes/comx35.h
@@ -81,7 +81,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( irq_w );
DECLARE_WRITE_LINE_MEMBER( prd_w );
DECLARE_INPUT_CHANGED_MEMBER( trigger_reset );
- DECLARE_QUICKLOAD_LOAD_MEMBER( comx );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( quickload_cb );
void image_fread_memory(device_image_interface &image, uint16_t addr, uint32_t count);
CDP1869_CHAR_RAM_READ_MEMBER(comx35_charram_r);
CDP1869_CHAR_RAM_WRITE_MEMBER(comx35_charram_w);
diff --git a/src/mame/includes/cosmicos.h b/src/mame/includes/cosmicos.h
index 51128234557..3359c0173d5 100644
--- a/src/mame/includes/cosmicos.h
+++ b/src/mame/includes/cosmicos.h
@@ -92,7 +92,7 @@ public:
DECLARE_INPUT_CHANGED_MEMBER( memory_protect );
DECLARE_INPUT_CHANGED_MEMBER( memory_disable );
- DECLARE_QUICKLOAD_LOAD_MEMBER( cosmicos );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void init_cosmicos();
TIMER_DEVICE_CALLBACK_MEMBER(digit_tick);
TIMER_DEVICE_CALLBACK_MEMBER(int_tick);
diff --git a/src/mame/includes/cybiko.h b/src/mame/includes/cybiko.h
index 6f34ede8423..d3328dbed76 100644
--- a/src/mame/includes/cybiko.h
+++ b/src/mame/includes/cybiko.h
@@ -82,8 +82,8 @@ public:
void init_cybiko();
virtual void machine_start() override;
virtual void machine_reset() override;
- DECLARE_QUICKLOAD_LOAD_MEMBER( cybiko );
- DECLARE_QUICKLOAD_LOAD_MEMBER( cybikoxt );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cybiko);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cybikoxt);
void cybikov1_base(machine_config &config);
void cybikov1_flash(machine_config &config);
diff --git a/src/mame/includes/elf.h b/src/mame/includes/elf.h
index 97264b016b5..1c7991fd80a 100644
--- a/src/mame/includes/elf.h
+++ b/src/mame/includes/elf.h
@@ -57,7 +57,7 @@ private:
DECLARE_WRITE_LINE_MEMBER( da_w );
template <unsigned N> DECLARE_WRITE8_MEMBER( digit_w ) { m_7segs[N] = data; }
- DECLARE_QUICKLOAD_LOAD_MEMBER( elf );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( quickload_cb );
void elf2_io(address_map &map);
void elf2_mem(address_map &map);
diff --git a/src/mame/includes/eti660.h b/src/mame/includes/eti660.h
index c2040fbe500..9a2b96ec2a3 100644
--- a/src/mame/includes/eti660.h
+++ b/src/mame/includes/eti660.h
@@ -53,7 +53,7 @@ private:
DECLARE_WRITE8_MEMBER( dma_w );
DECLARE_READ8_MEMBER( pia_pa_r );
DECLARE_WRITE8_MEMBER( pia_pa_w );
- DECLARE_QUICKLOAD_LOAD_MEMBER( eti660 );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
required_shared_ptr<uint8_t> m_p_videoram;
void io_map(address_map &map);
diff --git a/src/mame/includes/galaxy.h b/src/mame/includes/galaxy.h
index 362ab4abca9..b751effcdc9 100644
--- a/src/mame/includes/galaxy.h
+++ b/src/mame/includes/galaxy.h
@@ -46,7 +46,7 @@ private:
IRQ_CALLBACK_MEMBER(galaxy_irq_callback);
void galaxy_set_timer();
void galaxy_setup_snapshot (const uint8_t * data, uint32_t size);
- DECLARE_SNAPSHOT_LOAD_MEMBER( galaxy );
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
void galaxy_mem(address_map &map);
void galaxyp_io(address_map &map);
void galaxyp_mem(address_map &map);
diff --git a/src/mame/includes/jaguar.h b/src/mame/includes/jaguar.h
index a4478bdaa1b..3fe3f12f868 100644
--- a/src/mame/includes/jaguar.h
+++ b/src/mame/includes/jaguar.h
@@ -272,10 +272,9 @@ private:
DECLARE_WRITE_LINE_MEMBER( dsp_cpu_int );
DECLARE_WRITE_LINE_MEMBER( external_int );
- image_init_result quickload(device_image_interface &image, const char *file_type, int quickload_size);
+ image_init_result quickload_cb(device_image_interface &image, const char *file_type, int quickload_size);
void cart_start();
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( jaguar_cart );
- DECLARE_QUICKLOAD_LOAD_MEMBER( jaguar );
void cpu_space_map(address_map &map);
void dsp_map(address_map &map);
void dsp_rom_map(address_map &map);
diff --git a/src/mame/includes/kaypro.h b/src/mame/includes/kaypro.h
index d344e6d40a1..aa676b26fb6 100644
--- a/src/mame/includes/kaypro.h
+++ b/src/mame/includes/kaypro.h
@@ -66,7 +66,7 @@ public:
uint32_t screen_update_kaypro484(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_omni2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
MC6845_UPDATE_ROW(kaypro484_update_row);
- DECLARE_QUICKLOAD_LOAD_MEMBER(kaypro);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void omni2(machine_config &config);
void kayproiv(machine_config &config);
diff --git a/src/mame/includes/kc.h b/src/mame/includes/kc.h
index 0f26350c78f..d8ba4d0cd46 100644
--- a/src/mame/includes/kc.h
+++ b/src/mame/includes/kc.h
@@ -156,7 +156,7 @@ public:
TIMER_CALLBACK_MEMBER(kc_cassette_timer_callback);
TIMER_DEVICE_CALLBACK_MEMBER(kc_scanline);
- DECLARE_QUICKLOAD_LOAD_MEMBER( kc );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void kc85_3(machine_config &config);
void kc85_3_io(address_map &map);
void kc85_3_mem(address_map &map);
diff --git a/src/mame/includes/lviv.h b/src/mame/includes/lviv.h
index 90d9d6a8dac..4ec63dab2f3 100644
--- a/src/mame/includes/lviv.h
+++ b/src/mame/includes/lviv.h
@@ -63,7 +63,7 @@ private:
DECLARE_WRITE8_MEMBER(ppi_1_portb_w);
DECLARE_WRITE8_MEMBER(ppi_1_portc_w);
- DECLARE_SNAPSHOT_LOAD_MEMBER(lviv);
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
void update_palette(uint8_t pal);
diff --git a/src/mame/includes/lynx.h b/src/mame/includes/lynx.h
index fa0efe6b004..7c5966c7a01 100644
--- a/src/mame/includes/lynx.h
+++ b/src/mame/includes/lynx.h
@@ -204,7 +204,7 @@ private:
uint32_t lynx_time_factor(int val);
void lynx_uart_reset();
image_verify_result lynx_verify_cart(char *header, int kind);
- DECLARE_QUICKLOAD_LOAD_MEMBER( lynx );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
};
diff --git a/src/mame/includes/mbee.h b/src/mame/includes/mbee.h
index 29bf255e9c5..ca597ea221e 100644
--- a/src/mame/includes/mbee.h
+++ b/src/mame/includes/mbee.h
@@ -128,8 +128,8 @@ private:
DECLARE_MACHINE_RESET(mbeett);
uint32_t screen_update_mbee(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(timer_newkb);
- DECLARE_QUICKLOAD_LOAD_MEMBER(mbee);
- DECLARE_QUICKLOAD_LOAD_MEMBER(mbee_z80bin);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_bee);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_bin);
WRITE_LINE_MEMBER(rtc_irq_w);
WRITE_LINE_MEMBER(fdc_intrq_w);
WRITE_LINE_MEMBER(fdc_drq_w);
diff --git a/src/mame/includes/microtan.h b/src/mame/includes/microtan.h
index 9292355f168..83cab523b76 100644
--- a/src/mame/includes/microtan.h
+++ b/src/mame/includes/microtan.h
@@ -109,8 +109,8 @@ private:
image_init_result parse_zillion_hex(uint8_t *snapshot_buff, char *src);
void set_cpu_regs(const uint8_t *snapshot_buff, int base);
void snapshot_copy(uint8_t *snapshot_buff, int snapshot_size);
- DECLARE_SNAPSHOT_LOAD_MEMBER( microtan );
- DECLARE_QUICKLOAD_LOAD_MEMBER( microtan );
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void main_map(address_map &map);
};
diff --git a/src/mame/includes/mtx.h b/src/mame/includes/mtx.h
index 98142043f14..d35126493e5 100644
--- a/src/mame/includes/mtx.h
+++ b/src/mame/includes/mtx.h
@@ -109,8 +109,8 @@ private:
void bankswitch(uint8_t data);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(extrom_load);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rompak_load);
- DECLARE_QUICKLOAD_LOAD_MEMBER(mtx);
- DECLARE_SNAPSHOT_LOAD_MEMBER(mtx);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
void mtx_io(address_map &map);
void mtx_mem(address_map &map);
diff --git a/src/mame/includes/poly88.h b/src/mame/includes/poly88.h
index 77480419d12..6619b3b9ca7 100644
--- a/src/mame/includes/poly88.h
+++ b/src/mame/includes/poly88.h
@@ -69,7 +69,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(write_cas_tx);
DECLARE_WRITE_LINE_MEMBER(poly88_usart_rxready);
IRQ_CALLBACK_MEMBER(poly88_irq_callback);
- DECLARE_SNAPSHOT_LOAD_MEMBER( poly88 );
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
void poly8813_io(address_map &map);
void poly8813_mem(address_map &map);
diff --git a/src/mame/includes/primo.h b/src/mame/includes/primo.h
index 24015e70dec..26967283ad3 100644
--- a/src/mame/includes/primo.h
+++ b/src/mame/includes/primo.h
@@ -65,8 +65,8 @@ private:
void primo_common_machine_init();
void primo_setup_pss(uint8_t* snapshot_data, uint32_t snapshot_size);
void primo_setup_pp(uint8_t* quickload_data, uint32_t quickload_size);
- DECLARE_SNAPSHOT_LOAD_MEMBER( primo );
- DECLARE_QUICKLOAD_LOAD_MEMBER( primo );
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void primo32_mem(address_map &map);
void primo48_mem(address_map &map);
diff --git a/src/mame/includes/sorcerer.h b/src/mame/includes/sorcerer.h
index 87a9fe95b3d..92ca3fda99a 100644
--- a/src/mame/includes/sorcerer.h
+++ b/src/mame/includes/sorcerer.h
@@ -95,8 +95,8 @@ private:
TIMER_CALLBACK_MEMBER(cassette_tc);
TIMER_CALLBACK_MEMBER(serial_tc);
TIMER_CALLBACK_MEMBER(sorcerer_reset);
- DECLARE_SNAPSHOT_LOAD_MEMBER( sorcerer );
- DECLARE_QUICKLOAD_LOAD_MEMBER( sorcerer);
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void sorcerer_io(address_map &map);
diff --git a/src/mame/includes/spectrum.h b/src/mame/includes/spectrum.h
index 4f936da6bab..13a05db3348 100644
--- a/src/mame/includes/spectrum.h
+++ b/src/mame/includes/spectrum.h
@@ -166,8 +166,8 @@ protected:
virtual void plus3_update_memory() { }
virtual void ts2068_update_memory() { }
- DECLARE_SNAPSHOT_LOAD_MEMBER(spectrum);
- DECLARE_QUICKLOAD_LOAD_MEMBER(spectrum);
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
diff --git a/src/mame/includes/super80.h b/src/mame/includes/super80.h
index 0201db16ff8..75068b1f01d 100644
--- a/src/mame/includes/super80.h
+++ b/src/mame/includes/super80.h
@@ -97,7 +97,7 @@ private:
DECLARE_MACHINE_RESET(super80r);
DECLARE_VIDEO_START(super80);
void super80m_palette(palette_device &palette) const;
- DECLARE_QUICKLOAD_LOAD_MEMBER(super80);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
MC6845_UPDATE_ROW(crtc_update_row);
uint32_t screen_update_super80(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_super80v(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/ti85.h b/src/mame/includes/ti85.h
index ff2cdf841ce..a2555c44840 100644
--- a/src/mame/includes/ti85.h
+++ b/src/mame/includes/ti85.h
@@ -231,7 +231,7 @@ private:
void ti8x_snapshot_setup_registers(uint8_t *data);
void ti85_setup_snapshot(uint8_t *data);
void ti86_setup_snapshot(uint8_t *data);
- DECLARE_SNAPSHOT_LOAD_MEMBER(ti8x);
+ DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
ti83pse_timer m_ctimer[3];
diff --git a/src/mame/includes/tmc1800.h b/src/mame/includes/tmc1800.h
index 2bb8755a23c..ef11c1be1c0 100644
--- a/src/mame/includes/tmc1800.h
+++ b/src/mame/includes/tmc1800.h
@@ -35,7 +35,7 @@ public:
, m_beeper(*this, "beeper")
{ }
- DECLARE_QUICKLOAD_LOAD_MEMBER( tmc1800 );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
protected:
required_device<cosmac_device> m_maincpu;
diff --git a/src/mame/includes/trs80.h b/src/mame/includes/trs80.h
index d3576b45f36..2ce657535ae 100644
--- a/src/mame/includes/trs80.h
+++ b/src/mame/includes/trs80.h
@@ -95,7 +95,7 @@ private:
INTERRUPT_GEN_MEMBER(fdc_interrupt);
TIMER_CALLBACK_MEMBER(cassette_data_callback);
DECLARE_WRITE_LINE_MEMBER(intrq_w);
- DECLARE_QUICKLOAD_LOAD_MEMBER( trs80_cmd );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
DECLARE_MACHINE_RESET(lnw80);
void lnw80_palette(palette_device &palette) const;
uint32_t screen_update_trs80(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/trs80m3.h b/src/mame/includes/trs80m3.h
index 4ac196022e9..4c4434e8339 100644
--- a/src/mame/includes/trs80m3.h
+++ b/src/mame/includes/trs80m3.h
@@ -99,7 +99,7 @@ private:
TIMER_CALLBACK_MEMBER(cassette_data_callback);
DECLARE_WRITE_LINE_MEMBER(intrq_w);
DECLARE_WRITE_LINE_MEMBER(drq_w);
- DECLARE_QUICKLOAD_LOAD_MEMBER(trs80_cmd);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
uint32_t screen_update_trs80m3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void cp500_io(address_map &map);
diff --git a/src/mame/includes/vc4000.h b/src/mame/includes/vc4000.h
index 58a96fc63e3..b436892e739 100644
--- a/src/mame/includes/vc4000.h
+++ b/src/mame/includes/vc4000.h
@@ -136,7 +136,7 @@ private:
void vc4000_palette(palette_device &palette) const;
uint32_t screen_update_vc4000(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(vc4000_video_line);
- DECLARE_QUICKLOAD_LOAD_MEMBER(vc4000);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void elektor_mem(address_map &map);
void vc4000_mem(address_map &map);
diff --git a/src/mame/includes/vip.h b/src/mame/includes/vip.h
index df8436fff58..87721cb623c 100644
--- a/src/mame/includes/vip.h
+++ b/src/mame/includes/vip.h
@@ -86,7 +86,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(exp_dma_out_w);
DECLARE_WRITE_LINE_MEMBER(exp_dma_in_w);
- DECLARE_QUICKLOAD_LOAD_MEMBER( vip );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void vip_io(address_map &map);
void vip_mem(address_map &map);
diff --git a/src/mame/includes/xerox820.h b/src/mame/includes/xerox820.h
index e99c0d3de69..20ec0f5258f 100644
--- a/src/mame/includes/xerox820.h
+++ b/src/mame/includes/xerox820.h
@@ -73,7 +73,7 @@ public:
void mk83(machine_config &config);
void xerox820(machine_config &config);
- DECLARE_QUICKLOAD_LOAD_MEMBER(xerox820);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
DECLARE_READ8_MEMBER( fdc_r );
DECLARE_WRITE8_MEMBER( fdc_w );
diff --git a/src/mame/machine/amstrad.cpp b/src/mame/machine/amstrad.cpp
index 8e7909e62ca..2efe4883872 100644
--- a/src/mame/machine/amstrad.cpp
+++ b/src/mame/machine/amstrad.cpp
@@ -3240,7 +3240,7 @@ MACHINE_RESET_MEMBER(amstrad_state,aleste)
/* load snapshot */
-SNAPSHOT_LOAD_MEMBER( amstrad_state,amstrad)
+SNAPSHOT_LOAD_MEMBER(amstrad_state::snapshot_cb)
{
std::vector<uint8_t> snapshot;
diff --git a/src/mame/machine/cybiko.cpp b/src/mame/machine/cybiko.cpp
index 9c267e25146..9cba1120f76 100644
--- a/src/mame/machine/cybiko.cpp
+++ b/src/mame/machine/cybiko.cpp
@@ -37,14 +37,14 @@ void cybiko_state::init_cybikoxt()
m_maincpu->space(AS_PROGRAM).install_ram(0x400000, 0x400000 + m_ram->size() - 1, m_ram->pointer());
}
-QUICKLOAD_LOAD_MEMBER( cybiko_state, cybiko )
+QUICKLOAD_LOAD_MEMBER(cybiko_state::quickload_cybiko)
{
image.fread(m_flash1->get_ptr(), std::min(image.length(), uint64_t(0x84000)));
return image_init_result::PASS;
}
-QUICKLOAD_LOAD_MEMBER( cybiko_state, cybikoxt )
+QUICKLOAD_LOAD_MEMBER(cybiko_state::quickload_cybikoxt)
{
address_space &dest = m_maincpu->space(AS_PROGRAM);
uint32_t size = std::min(image.length(), uint64_t(RAMDISK_SIZE));
diff --git a/src/mame/machine/galaxy.cpp b/src/mame/machine/galaxy.cpp
index e5c01dc1f44..d690b9eebb7 100644
--- a/src/mame/machine/galaxy.cpp
+++ b/src/mame/machine/galaxy.cpp
@@ -62,7 +62,7 @@ IRQ_CALLBACK_MEMBER(galaxy_state::galaxy_irq_callback)
#define GALAXY_SNAPSHOT_V1_SIZE 8268
#define GALAXY_SNAPSHOT_V2_SIZE 8244
-void galaxy_state::galaxy_setup_snapshot (const uint8_t * data, uint32_t size)
+void galaxy_state::galaxy_setup_snapshot(const uint8_t * data, uint32_t size)
{
switch (size)
{
@@ -122,7 +122,7 @@ void galaxy_state::galaxy_setup_snapshot (const uint8_t * data, uint32_t size)
m_maincpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
}
-SNAPSHOT_LOAD_MEMBER( galaxy_state, galaxy )
+SNAPSHOT_LOAD_MEMBER(galaxy_state::snapshot_cb)
{
uint8_t* snapshot_data;
diff --git a/src/mame/machine/kaypro.cpp b/src/mame/machine/kaypro.cpp
index cd93253abc8..a2159d3212a 100644
--- a/src/mame/machine/kaypro.cpp
+++ b/src/mame/machine/kaypro.cpp
@@ -249,7 +249,7 @@ MACHINE_RESET_MEMBER( kaypro_state,kaypro )
************************************************************/
-QUICKLOAD_LOAD_MEMBER( kaypro_state, kaypro )
+QUICKLOAD_LOAD_MEMBER(kaypro_state::quickload_cb)
{
uint8_t *RAM = memregion("rambank")->base();
diff --git a/src/mame/machine/kc.cpp b/src/mame/machine/kc.cpp
index 60b119e9524..0d1af0d94b7 100644
--- a/src/mame/machine/kc.cpp
+++ b/src/mame/machine/kc.cpp
@@ -26,7 +26,7 @@ struct kcc_header
/* now type name that has appeared! */
/* load snapshot */
-QUICKLOAD_LOAD_MEMBER( kc_state,kc)
+QUICKLOAD_LOAD_MEMBER(kc_state::quickload_cb)
{
struct kcc_header *header;
uint16_t addr;
diff --git a/src/mame/machine/lviv.cpp b/src/mame/machine/lviv.cpp
index 8b418cb166e..72eea7d8365 100644
--- a/src/mame/machine/lviv.cpp
+++ b/src/mame/machine/lviv.cpp
@@ -287,7 +287,7 @@ image_verify_result lviv_state::verify_snapshot(uint8_t * data, uint32_t size)
return image_verify_result::PASS;
}
-SNAPSHOT_LOAD_MEMBER(lviv_state, lviv)
+SNAPSHOT_LOAD_MEMBER(lviv_state::snapshot_cb)
{
std::vector<uint8_t> snapshot_data(LVIV_SNAPSHOT_SIZE);
diff --git a/src/mame/machine/mbee.cpp b/src/mame/machine/mbee.cpp
index 774676ec75d..35f338a8e2f 100644
--- a/src/mame/machine/mbee.cpp
+++ b/src/mame/machine/mbee.cpp
@@ -622,7 +622,7 @@ void mbee_state::init_mbeett()
************************************************************/
-QUICKLOAD_LOAD_MEMBER( mbee_state, mbee )
+QUICKLOAD_LOAD_MEMBER(mbee_state::quickload_bee)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
uint16_t i, j;
@@ -712,10 +712,10 @@ QUICKLOAD_LOAD_MEMBER( mbee_state, mbee )
/*-------------------------------------------------
- QUICKLOAD_LOAD_MEMBER( mbee_state, mbee_z80bin )
+ QUICKLOAD_LOAD_MEMBER( mbee_state::quickload_bin )
-------------------------------------------------*/
-QUICKLOAD_LOAD_MEMBER( mbee_state, mbee_z80bin )
+QUICKLOAD_LOAD_MEMBER(mbee_state::quickload_bin)
{
uint16_t execute_address, start_addr, end_addr;
int autorun;
diff --git a/src/mame/machine/microtan.cpp b/src/mame/machine/microtan.cpp
index f09bab1299a..4b17f844d87 100644
--- a/src/mame/machine/microtan.cpp
+++ b/src/mame/machine/microtan.cpp
@@ -749,7 +749,7 @@ void microtan_state::snapshot_copy(uint8_t *snapshot_buff, int snapshot_size)
}
}
-SNAPSHOT_LOAD_MEMBER( microtan_state, microtan )
+SNAPSHOT_LOAD_MEMBER(microtan_state::snapshot_cb)
{
uint8_t *snapshot_buff = (uint8_t*)image.ptr();
if (!snapshot_buff)
@@ -762,7 +762,7 @@ SNAPSHOT_LOAD_MEMBER( microtan_state, microtan )
return image_init_result::PASS;
}
-QUICKLOAD_LOAD_MEMBER( microtan_state, microtan )
+QUICKLOAD_LOAD_MEMBER(microtan_state::quickload_cb)
{
int snapshot_size = 8263; /* magic size */
std::vector<uint8_t> snapshot_buff(snapshot_size, 0);
diff --git a/src/mame/machine/mtx.cpp b/src/mame/machine/mtx.cpp
index ae717521d76..c4e23092dee 100644
--- a/src/mame/machine/mtx.cpp
+++ b/src/mame/machine/mtx.cpp
@@ -441,7 +441,7 @@ DEVICE_IMAGE_LOAD_MEMBER( mtx_state, rompak_load )
// this only works for some of the files, nothing which tries to load
// more data from tape. todo: tapes which autorun after loading
-SNAPSHOT_LOAD_MEMBER( mtx_state, mtx )
+SNAPSHOT_LOAD_MEMBER(mtx_state::snapshot_cb)
{
address_space &program = m_maincpu->space(AS_PROGRAM);
uint8_t *data = (uint8_t*)image.ptr();
@@ -489,7 +489,7 @@ SNAPSHOT_LOAD_MEMBER( mtx_state, mtx )
QUICKLOAD
***************************************************************************/
-QUICKLOAD_LOAD_MEMBER(mtx_state, mtx)
+QUICKLOAD_LOAD_MEMBER(mtx_state::quickload_cb)
{
address_space &program = m_maincpu->space(AS_PROGRAM);
uint8_t *data = (uint8_t*)image.ptr();
diff --git a/src/mame/machine/poly88.cpp b/src/mame/machine/poly88.cpp
index e4e945d1566..2eb167a8796 100644
--- a/src/mame/machine/poly88.cpp
+++ b/src/mame/machine/poly88.cpp
@@ -254,7 +254,7 @@ void poly88_state::intr_w(uint8_t data)
m_maincpu->set_input_line(0, CLEAR_LINE);
}
-SNAPSHOT_LOAD_MEMBER( poly88_state, poly88 )
+SNAPSHOT_LOAD_MEMBER(poly88_state::snapshot_cb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
uint8_t* data= auto_alloc_array(machine(), uint8_t, snapshot_size);
diff --git a/src/mame/machine/primo.cpp b/src/mame/machine/primo.cpp
index 089f4e34db6..3166b3eb954 100644
--- a/src/mame/machine/primo.cpp
+++ b/src/mame/machine/primo.cpp
@@ -296,7 +296,7 @@ void primo_state::primo_setup_pss (uint8_t* snapshot_data, uint32_t snapshot_siz
m_maincpu->space(AS_PROGRAM).write_byte(i + 0x4000, snapshot_data[i + 38]);
}
-SNAPSHOT_LOAD_MEMBER( primo_state, primo )
+SNAPSHOT_LOAD_MEMBER(primo_state::snapshot_cb)
{
std::vector<uint8_t> snapshot_data(snapshot_size);
@@ -338,7 +338,7 @@ void primo_state::primo_setup_pp(uint8_t* quickload_data, uint32_t quickload_siz
logerror ("Quickload .pp l: %04x r: %04x s: %04x\n", load_addr, start_addr, quickload_size-4);
}
-QUICKLOAD_LOAD_MEMBER( primo_state, primo )
+QUICKLOAD_LOAD_MEMBER(primo_state::quickload_cb)
{
std::vector<uint8_t> quickload_data(quickload_size);
diff --git a/src/mame/machine/sorcerer.cpp b/src/mame/machine/sorcerer.cpp
index 5ccd9e792e0..f925521d964 100644
--- a/src/mame/machine/sorcerer.cpp
+++ b/src/mame/machine/sorcerer.cpp
@@ -344,7 +344,7 @@ READ8_MEMBER(sorcerer_state::port_fe_r)
Snapshot Handling
******************************************************************************/
-SNAPSHOT_LOAD_MEMBER( sorcerer_state,sorcerer)
+SNAPSHOT_LOAD_MEMBER(sorcerer_state::snapshot_cb)
{
uint8_t *RAM = memregion(m_maincpu->tag())->base();
address_space &space = m_maincpu->space(AS_PROGRAM);
@@ -474,7 +474,7 @@ void sorcerer_state::machine_reset()
QUICKLOAD_LOAD_MEMBER( sorcerer_state, sorcerer )
-------------------------------------------------*/
-QUICKLOAD_LOAD_MEMBER( sorcerer_state, sorcerer )
+QUICKLOAD_LOAD_MEMBER(sorcerer_state::quickload_cb)
{
uint16_t execute_address, start_address, end_address;
int autorun;
diff --git a/src/mame/machine/spec_snqk.cpp b/src/mame/machine/spec_snqk.cpp
index f68a46f0597..1b419a08c5f 100644
--- a/src/mame/machine/spec_snqk.cpp
+++ b/src/mame/machine/spec_snqk.cpp
@@ -108,7 +108,7 @@ void spectrum_state::page_basicrom()
}
-SNAPSHOT_LOAD_MEMBER( spectrum_state,spectrum)
+SNAPSHOT_LOAD_MEMBER(spectrum_state::snapshot_cb)
{
std::vector<uint8_t> snapshot_data(snapshot_size);
@@ -2415,7 +2415,7 @@ void spectrum_state::setup_z80(uint8_t *snapdata, uint32_t snapsize)
}
}
-QUICKLOAD_LOAD_MEMBER( spectrum_state,spectrum)
+QUICKLOAD_LOAD_MEMBER(spectrum_state::quickload_cb)
{
std::vector<uint8_t> quickload_data(quickload_size);
diff --git a/src/mame/machine/super80.cpp b/src/mame/machine/super80.cpp
index 6879c1f99e4..6774d1cc1cd 100644
--- a/src/mame/machine/super80.cpp
+++ b/src/mame/machine/super80.cpp
@@ -237,7 +237,7 @@ void super80_state::init_super80()
QUICKLOAD_LOAD_MEMBER( super80_state, super80 )
-------------------------------------------------*/
-QUICKLOAD_LOAD_MEMBER( super80_state, super80 )
+QUICKLOAD_LOAD_MEMBER(super80_state::quickload_cb)
{
uint16_t exec_addr, start_addr, end_addr;
diff --git a/src/mame/machine/ti85.cpp b/src/mame/machine/ti85.cpp
index dd8e23dc6bd..9bba11de994 100644
--- a/src/mame/machine/ti85.cpp
+++ b/src/mame/machine/ti85.cpp
@@ -1216,7 +1216,7 @@ void ti85_state::ti86_setup_snapshot (uint8_t * data)
m_interrupt_speed = 0x03;
}
-SNAPSHOT_LOAD_MEMBER( ti85_state, ti8x )
+SNAPSHOT_LOAD_MEMBER(ti85_state::snapshot_cb)
{
int expected_snapshot_size = 0;
std::vector<uint8_t> ti8x_snapshot_data;
diff --git a/src/mame/machine/trs80.cpp b/src/mame/machine/trs80.cpp
index 42a49a0cfcc..4603a976a81 100644
--- a/src/mame/machine/trs80.cpp
+++ b/src/mame/machine/trs80.cpp
@@ -394,7 +394,7 @@ MACHINE_RESET_MEMBER(trs80_state,lnw80)
IMPLEMENTATION
***************************************************************************/
-QUICKLOAD_LOAD_MEMBER( trs80_state, trs80_cmd )
+QUICKLOAD_LOAD_MEMBER(trs80_state::quickload_cb)
{
address_space &program = m_maincpu->space(AS_PROGRAM);
diff --git a/src/mame/machine/trs80m3.cpp b/src/mame/machine/trs80m3.cpp
index ff02d8a32f0..4c68d07e4de 100644
--- a/src/mame/machine/trs80m3.cpp
+++ b/src/mame/machine/trs80m3.cpp
@@ -620,7 +620,7 @@ void trs80m3_state::machine_reset()
IMPLEMENTATION
***************************************************************************/
-QUICKLOAD_LOAD_MEMBER( trs80m3_state, trs80_cmd )
+QUICKLOAD_LOAD_MEMBER(trs80m3_state::quickload_cb)
{
address_space &program = m_maincpu->space(AS_PROGRAM);