diff --git a/src/devices/imagedev/snapquik.cpp b/src/devices/imagedev/snapquik.cpp index 4126077513c..811910c1422 100644 --- a/src/devices/imagedev/snapquik.cpp +++ b/src/devices/imagedev/snapquik.cpp @@ -23,12 +23,13 @@ snapshot_image_device::snapshot_image_device(const machine_config &mconfig, cons { } -snapshot_image_device::snapshot_image_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : - device_t(mconfig, type, tag, owner, clock), - device_image_interface(mconfig, *this), - m_file_extensions(nullptr), - m_interface(nullptr), - m_timer(nullptr) +snapshot_image_device::snapshot_image_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) + : device_t(mconfig, type, tag, owner, clock) + , device_image_interface(mconfig, *this) + , m_file_extensions(nullptr) + , m_interface(nullptr) + , m_delay(attotime::zero) + , m_timer(nullptr) { } //------------------------------------------------- @@ -65,7 +66,7 @@ void snapshot_image_device::device_start() image_init_result snapshot_image_device::call_load() { /* adjust the timer */ - m_timer->adjust(m_delay,0); + m_timer->adjust(m_delay, 0); return image_init_result::PASS; } diff --git a/src/devices/imagedev/snapquik.h b/src/devices/imagedev/snapquik.h index 35873ad93e9..ef662b4b77d 100644 --- a/src/devices/imagedev/snapquik.h +++ b/src/devices/imagedev/snapquik.h @@ -22,8 +22,16 @@ class snapshot_image_device : public device_t, public device_image_interface { public: + typedef device_delegate load_delegate; + // construction/destruction - snapshot_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0U); + snapshot_image_device(const machine_config &mconfig, const char *tag, device_t *owner, const char* extensions, attotime delay = attotime::zero) + : snapshot_image_device(mconfig, tag, owner, 0U) + { + set_extensions(extensions); + set_delay(delay); + } + snapshot_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual ~snapshot_image_device(); void set_interface(const char *interface) { m_interface = interface; } @@ -41,7 +49,9 @@ public: virtual const char *image_interface() const override { return m_interface; } virtual const char *file_extensions() const override { return m_file_extensions; } - void set_handler(snapquick_load_delegate load, const char *ext, attotime delay = attotime::from_seconds(0)) { m_load = load; m_file_extensions = ext; m_delay = delay; }; + void set_extensions(const char *ext) { m_file_extensions = ext; } + void set_delay(attotime delay) { m_delay = delay; } + template void set_load_callback(T &&... args) { m_load = load_delegate(std::forward(args)...); } protected: snapshot_image_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); @@ -51,11 +61,11 @@ protected: TIMER_CALLBACK_MEMBER(process_snapshot_or_quickload); - snapquick_load_delegate m_load; /* loading function */ - const char * m_file_extensions; /* file extensions */ - const char * m_interface; - attotime m_delay; /* loading delay */ - emu_timer *m_timer; + load_delegate m_load; /* loading function */ + const char * m_file_extensions; /* file extensions */ + const char * m_interface; + attotime m_delay; /* loading delay */ + emu_timer *m_timer; }; // device type definition @@ -67,6 +77,12 @@ class quickload_image_device : public snapshot_image_device { public: // construction/destruction + quickload_image_device(const machine_config &mconfig, const char *tag, device_t *owner, const char* extensions, attotime delay = attotime::zero) + : quickload_image_device(mconfig, tag, owner, 0U) + { + set_extensions(extensions); + set_delay(delay); + } quickload_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0U); virtual iodevice_t image_type() const override { return IO_QUICKLOAD; } @@ -78,30 +94,10 @@ DECLARE_DEVICE_TYPE(QUICKLOAD, quickload_image_device) /*************************************************************************** DEVICE CONFIGURATION MACROS ***************************************************************************/ -#define SNAPSHOT_LOAD_MEMBER_NAME(_name) snapshot_load_##_name -#define SNAPSHOT_LOAD_NAME(_class,_name) _class::SNAPSHOT_LOAD_MEMBER_NAME(_name) -#define DECLARE_SNAPSHOT_LOAD_MEMBER(_name) image_init_result SNAPSHOT_LOAD_MEMBER_NAME(_name)(device_image_interface &image, const char *file_type, int snapshot_size) -#define SNAPSHOT_LOAD_MEMBER(_class,_name) image_init_result SNAPSHOT_LOAD_NAME(_class,_name)(device_image_interface &image, const char *file_type, int snapshot_size) -#define SNAPSHOT_LOAD_DELEGATE(_class,_name) snapquick_load_delegate(&SNAPSHOT_LOAD_NAME(_class,_name), downcast<_class *>(device->owner())) +#define SNAPSHOT_LOAD_MEMBER(_name) image_init_result _name(device_image_interface &image, const char *file_type, int snapshot_size) +#define DECLARE_SNAPSHOT_LOAD_MEMBER(_name) SNAPSHOT_LOAD_MEMBER(_name) -#define QUICKLOAD_LOAD_MEMBER_NAME(_name) quickload_load_##_name -#define QUICKLOAD_LOAD_NAME(_class,_name) _class::QUICKLOAD_LOAD_MEMBER_NAME(_name) -#define DECLARE_QUICKLOAD_LOAD_MEMBER(_name) image_init_result QUICKLOAD_LOAD_MEMBER_NAME(_name)(device_image_interface &image, const char *file_type, int quickload_size) -#define QUICKLOAD_LOAD_MEMBER(_class,_name) image_init_result QUICKLOAD_LOAD_NAME(_class,_name)(device_image_interface &image, const char *file_type, int quickload_size) -#define QUICKLOAD_LOAD_DELEGATE(_class,_name) snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(_class,_name), downcast<_class *>(device->owner())) - -#define MCFG_SNAPSHOT_ADD(_tag, _class, _load, ...) \ - MCFG_DEVICE_ADD(_tag, SNAPSHOT, 0) \ - static_cast(device)->set_handler(SNAPSHOT_LOAD_DELEGATE(_class,_load), __VA_ARGS__); - -#define MCFG_SNAPSHOT_INTERFACE(_interface) \ - downcast(*device).set_interface(_interface); - -#define MCFG_QUICKLOAD_ADD(_tag, _class, _load, ...) \ - MCFG_DEVICE_ADD(_tag, QUICKLOAD, 0) \ - static_cast(device)->set_handler(QUICKLOAD_LOAD_DELEGATE(_class,_load), __VA_ARGS__); - -#define MCFG_QUICKLOAD_INTERFACE(_interface) \ - downcast(*device).set_interface(_interface); +#define QUICKLOAD_LOAD_MEMBER(_name) image_init_result _name(device_image_interface &image, const char *file_type, int quickload_size) +#define DECLARE_QUICKLOAD_LOAD_MEMBER(_name) QUICKLOAD_LOAD_MEMBER(_name) #endif // MAME_DEVICES_IMAGEDEV_SNAPQUIK_H 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 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("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 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 ¢_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 DECLARE_SNAPSHOT_LOAD_MEMBER( nascom ); + template 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 -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 m_rs232; required_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 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 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 &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 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 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 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 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 m_maincpu; required_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 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 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 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 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 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 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 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 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 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);