summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2013-04-19 14:47:35 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2013-04-19 14:47:35 +0000
commitbe5e1248c44af7616e0c5bbfc6d625622c285768 (patch)
treea3fdec8a735cbeb66f4c8c15905fda5f01502c9e /src
parent1cf6d1965d49a46e2f5930a652c0ce56194cb194 (diff)
SNAPSHOT_LOAD and QUICKLOAD_LOAD made members, still need to cleanup (nw)
Diffstat (limited to 'src')
-rw-r--r--src/emu/imagedev/snapquik.h33
-rw-r--r--src/mame/drivers/jaguar.c8
-rw-r--r--src/mame/includes/jaguar.h2
-rw-r--r--src/mess/drivers/ace.c8
-rw-r--r--src/mess/drivers/altair.c10
-rw-r--r--src/mess/drivers/amstrad.c4
-rw-r--r--src/mess/drivers/apple1.c2
-rw-r--r--src/mess/drivers/atom.c12
-rw-r--r--src/mess/drivers/avigo.c4
-rw-r--r--src/mess/drivers/binbug.c5
-rw-r--r--src/mess/drivers/c128.c6
-rw-r--r--src/mess/drivers/c64.c8
-rw-r--r--src/mess/drivers/c65.c4
-rw-r--r--src/mess/drivers/cbm2.c10
-rw-r--r--src/mess/drivers/cd2650.c5
-rw-r--r--src/mess/drivers/cgenie.c2
-rw-r--r--src/mess/drivers/comx35.c10
-rw-r--r--src/mess/drivers/cosmicos.c4
-rw-r--r--src/mess/drivers/cybiko.c4
-rw-r--r--src/mess/drivers/d6800.c5
-rw-r--r--src/mess/drivers/elf.c4
-rw-r--r--src/mess/drivers/galaxy.c4
-rw-r--r--src/mess/drivers/gizmondo.c4
-rw-r--r--src/mess/drivers/homelab.c9
-rw-r--r--src/mess/drivers/instruct.c5
-rw-r--r--src/mess/drivers/jr100.c6
-rw-r--r--src/mess/drivers/kaypro.c4
-rw-r--r--src/mess/drivers/kc.c4
-rw-r--r--src/mess/drivers/lviv.c2
-rw-r--r--src/mess/drivers/lynx.c6
-rw-r--r--src/mess/drivers/mbee.c8
-rw-r--r--src/mess/drivers/microtan.c4
-rw-r--r--src/mess/drivers/mtx.c2
-rw-r--r--src/mess/drivers/nascom1.c2
-rw-r--r--src/mess/drivers/pet.c6
-rw-r--r--src/mess/drivers/pipbug.c5
-rw-r--r--src/mess/drivers/plus4.c6
-rw-r--r--src/mess/drivers/poly88.c2
-rw-r--r--src/mess/drivers/primo.c4
-rw-r--r--src/mess/drivers/psx.c7
-rw-r--r--src/mess/drivers/rex6000.c5
-rw-r--r--src/mess/drivers/sorcerer.c4
-rw-r--r--src/mess/drivers/spectrum.c4
-rw-r--r--src/mess/drivers/super80.c4
-rw-r--r--src/mess/drivers/svmu.c5
-rw-r--r--src/mess/drivers/ti85.c4
-rw-r--r--src/mess/drivers/tmc1800.c10
-rw-r--r--src/mess/drivers/trs80.c2
-rw-r--r--src/mess/drivers/tvc.c4
-rw-r--r--src/mess/drivers/vc4000.c6
-rw-r--r--src/mess/drivers/vic20.c4
-rw-r--r--src/mess/drivers/vip.c6
-rw-r--r--src/mess/drivers/vtech1.c5
-rw-r--r--src/mess/drivers/z1013.c5
-rw-r--r--src/mess/includes/ace.h1
-rw-r--r--src/mess/includes/amstrad.h2
-rw-r--r--src/mess/includes/apple1.h2
-rw-r--r--src/mess/includes/atom.h2
-rw-r--r--src/mess/includes/avigo.h2
-rw-r--r--src/mess/includes/c128.h3
-rw-r--r--src/mess/includes/c64.h2
-rw-r--r--src/mess/includes/c65.h3
-rw-r--r--src/mess/includes/cbm2.h2
-rw-r--r--src/mess/includes/comx35.h1
-rw-r--r--src/mess/includes/cosmicos.h2
-rw-r--r--src/mess/includes/cybiko.h4
-rw-r--r--src/mess/includes/elf.h1
-rw-r--r--src/mess/includes/galaxy.h4
-rw-r--r--src/mess/includes/kaypro.h6
-rw-r--r--src/mess/includes/kc.h7
-rw-r--r--src/mess/includes/lviv.h3
-rw-r--r--src/mess/includes/lynx.h3
-rw-r--r--src/mess/includes/mbee.h5
-rw-r--r--src/mess/includes/microtan.h5
-rw-r--r--src/mess/includes/mtx.h5
-rw-r--r--src/mess/includes/nascom1.h3
-rw-r--r--src/mess/includes/pet.h4
-rw-r--r--src/mess/includes/plus4.h2
-rw-r--r--src/mess/includes/poly88.h3
-rw-r--r--src/mess/includes/primo.h8
-rw-r--r--src/mess/includes/sorcerer.h7
-rw-r--r--src/mess/includes/spectrum.h4
-rw-r--r--src/mess/includes/super80.h2
-rw-r--r--src/mess/includes/ti85.h3
-rw-r--r--src/mess/includes/tmc1800.h2
-rw-r--r--src/mess/includes/trs80.h3
-rw-r--r--src/mess/includes/tvc.h2
-rw-r--r--src/mess/includes/vc4000.h1
-rw-r--r--src/mess/includes/vic20.h1
-rw-r--r--src/mess/includes/vip.h1
-rw-r--r--src/mess/machine/amstrad.c2
-rw-r--r--src/mess/machine/apple1.c2
-rw-r--r--src/mess/machine/cybiko.c4
-rw-r--r--src/mess/machine/galaxy.c2
-rw-r--r--src/mess/machine/kaypro.c4
-rw-r--r--src/mess/machine/kc.c2
-rw-r--r--src/mess/machine/lviv.c2
-rw-r--r--src/mess/machine/mbee.c6
-rw-r--r--src/mess/machine/microtan.c4
-rw-r--r--src/mess/machine/mtx.c2
-rw-r--r--src/mess/machine/nascom1.c2
-rw-r--r--src/mess/machine/poly88.c2
-rw-r--r--src/mess/machine/primo.c4
-rw-r--r--src/mess/machine/sorcerer.c10
-rw-r--r--src/mess/machine/spec_snqk.c4
-rw-r--r--src/mess/machine/spec_snqk.h3
-rw-r--r--src/mess/machine/super80.c6
-rw-r--r--src/mess/machine/ti85.c2
-rw-r--r--src/mess/machine/trs80.c6
109 files changed, 254 insertions, 234 deletions
diff --git a/src/emu/imagedev/snapquik.h b/src/emu/imagedev/snapquik.h
index 0f6df79e037..adde197320b 100644
--- a/src/emu/imagedev/snapquik.h
+++ b/src/emu/imagedev/snapquik.h
@@ -9,7 +9,7 @@
#ifndef __SNAPQUIK_H__
#define __SNAPQUIK_H__
-typedef int (*snapquick_load_func)(device_image_interface &image, const char *file_type, int file_size);
+typedef delegate<int (device_image_interface &,const char *, int)> snapquick_load_delegate;
// ======================> snapshot_image_device
class snapshot_image_device : public device_t,
@@ -36,14 +36,14 @@ public:
virtual const option_guide *create_option_guide() const { return NULL; }
void timer_callback();
- void set_handler(snapquick_load_func load, const char *ext, seconds_t sec) { m_load = load; m_file_extensions = ext; m_delay_seconds = sec; };
+ void set_handler(snapquick_load_delegate load, const char *ext, seconds_t sec) { m_load = load; m_file_extensions = ext; m_delay_seconds = sec; };
void set_interface(const char *_interface) { m_interface = _interface; }
protected:
// device-level overrides
virtual void device_config_complete();
virtual void device_start();
- snapquick_load_func m_load; /* loading function */
+ snapquick_load_delegate m_load; /* loading function */
const char * m_file_extensions; /* file extensions */
const char * m_interface;
seconds_t m_delay_seconds; /* loading delay (seconds) */
@@ -71,23 +71,28 @@ extern const device_type QUICKLOAD;
/***************************************************************************
DEVICE CONFIGURATION MACROS
***************************************************************************/
-#define SNAPSHOT_LOAD_NAME(name) snapshot_load_##name
-#define SNAPSHOT_LOAD(name) int SNAPSHOT_LOAD_NAME(name)(device_image_interface &image, const char *file_type, int snapshot_size)
-
-#define QUICKLOAD_LOAD_NAME(name) quickload_load_##name
-#define QUICKLOAD_LOAD(name) int QUICKLOAD_LOAD_NAME(name)(device_image_interface &image, const char *file_type, int quickload_size)
-
-
-#define MCFG_SNAPSHOT_ADD(_tag, _load, _file_extensions, _delay) \
+#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) int SNAPSHOT_LOAD_MEMBER_NAME(_name)(device_image_interface &image, const char *file_type, int snapshot_size)
+#define SNAPSHOT_LOAD_MEMBER(_class,_name) int 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),#_class "::snapshot_load_" #_name, downcast<_class *>(device->owner()))
+
+#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) int QUICKLOAD_LOAD_MEMBER_NAME(_name)(device_image_interface &image, const char *file_type, int quickload_size)
+#define QUICKLOAD_LOAD_MEMBER(_class,_name) int 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),#_class "::quickload_load_" #_name, downcast<_class *>(device->owner()))
+
+#define MCFG_SNAPSHOT_ADD(_tag, _class, _load, _file_extensions, _delay) \
MCFG_DEVICE_ADD(_tag, SNAPSHOT, 0) \
- static_cast<snapshot_image_device *>(device)->set_handler(SNAPSHOT_LOAD_NAME(_load), _file_extensions, _delay);
+ static_cast<snapshot_image_device *>(device)->set_handler(SNAPSHOT_LOAD_DELEGATE(_class,_load), _file_extensions, _delay);
#define MCFG_SNAPSHOT_INTERFACE(_interface) \
static_cast<snapshot_image_device *>(device)->set_interface(_interface);
-#define MCFG_QUICKLOAD_ADD(_tag, _load, _file_extensions, _delay) \
+#define MCFG_QUICKLOAD_ADD(_tag, _class, _load, _file_extensions, _delay) \
MCFG_DEVICE_ADD(_tag, QUICKLOAD, 0) \
- static_cast<quickload_image_device *>(device)->set_handler(QUICKLOAD_LOAD_NAME(_load), _file_extensions, _delay);
+ static_cast<quickload_image_device *>(device)->set_handler(QUICKLOAD_LOAD_DELEGATE(_class,_load), _file_extensions, _delay);
#define MCFG_QUICKLOAD_INTERFACE(_interface) \
static_cast<quickload_image_device *>(device)->set_interface(_interface);
diff --git a/src/mame/drivers/jaguar.c b/src/mame/drivers/jaguar.c
index 4c97ab7587b..64197034daf 100644
--- a/src/mame/drivers/jaguar.c
+++ b/src/mame/drivers/jaguar.c
@@ -347,8 +347,6 @@ Notes:
#define R3000_CLOCK XTAL_40MHz
#define M68K_CLOCK XTAL_50MHz
-static QUICKLOAD_LOAD( jaguar );
-
/*************************************
*
@@ -1615,7 +1613,7 @@ static MACHINE_CONFIG_START( jaguar, jaguar_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", jaguar, "abs,bin,cof,jag,prg", 2)
+ MCFG_QUICKLOAD_ADD("quickload", jaguar_state, jaguar, "abs,bin,cof,jag,prg", 2)
/* cartridge */
MCFG_CARTSLOT_ADD("cart")
@@ -1673,9 +1671,9 @@ DRIVER_INIT_MEMBER(jaguar_state,jaguar)
}
}
-QUICKLOAD_LOAD( jaguar )
+QUICKLOAD_LOAD_MEMBER( jaguar_state, jaguar )
{
- return image.device().machine().driver_data<jaguar_state>()->quickload(image, file_type, quickload_size);
+ return quickload(image, file_type, quickload_size);
}
int jaguar_state::quickload(device_image_interface &image, const char *file_type, int quickload_size)
diff --git a/src/mame/includes/jaguar.h b/src/mame/includes/jaguar.h
index 88f5af67bfb..78240e9bd0d 100644
--- a/src/mame/includes/jaguar.h
+++ b/src/mame/includes/jaguar.h
@@ -8,6 +8,7 @@
#include "machine/nvram.h"
#include "sound/dac.h"
#include "machine/eeprom.h"
+#include "imagedev/snapquik.h"
#ifndef ENABLE_SPEEDUP_HACKS
#define ENABLE_SPEEDUP_HACKS 1
@@ -218,6 +219,7 @@ public:
int cart_load(device_image_interface &image);
IRQ_CALLBACK_MEMBER(jaguar_irq_callback);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( jaguar_cart );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( jaguar );
protected:
// timer IDs
enum
diff --git a/src/mess/drivers/ace.c b/src/mess/drivers/ace.c
index e592c652622..5e94fc6f7e6 100644
--- a/src/mess/drivers/ace.c
+++ b/src/mess/drivers/ace.c
@@ -68,10 +68,10 @@ Ports:
Snapshot Handling
******************************************************************************/
-SNAPSHOT_LOAD( ace )
+SNAPSHOT_LOAD_MEMBER( ace_state, ace )
{
- cpu_device *cpu = image.device().machine().firstcpu;
- UINT8 *RAM = image.device().machine().root_device().memregion(cpu->tag())->base();
+ cpu_device *cpu = m_maincpu;
+ UINT8 *RAM = memregion(cpu->tag())->base();
address_space &space = cpu->space(AS_PROGRAM);
unsigned char ace_repeat, ace_byte, loop;
int done=0, ace_index=0x2000;
@@ -765,7 +765,7 @@ static MACHINE_CONFIG_START( ace, ace_state )
// devices
MCFG_CASSETTE_ADD("cassette", ace_cassette_interface)
- MCFG_SNAPSHOT_ADD("snapshot", ace, "ace", 1)
+ MCFG_SNAPSHOT_ADD("snapshot", ace_state, ace, "ace", 1)
MCFG_I8255A_ADD(I8255_TAG, ppi_intf)
MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_6_5MHz/2, pio_intf)
MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
diff --git a/src/mess/drivers/altair.c b/src/mess/drivers/altair.c
index f781e7a30fc..6fbc4ff5402 100644
--- a/src/mess/drivers/altair.c
+++ b/src/mess/drivers/altair.c
@@ -28,9 +28,8 @@ public:
altair_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
- m_terminal(*this, TERMINAL_TAG)
- ,
- m_ram(*this, "ram"){ }
+ m_terminal(*this, TERMINAL_TAG),
+ m_ram(*this, "ram"){ }
required_device<cpu_device> m_maincpu;
required_device<generic_terminal_device> m_terminal;
@@ -42,6 +41,7 @@ public:
UINT8 m_term_data;
required_shared_ptr<UINT8> m_ram;
virtual void machine_reset();
+ DECLARE_QUICKLOAD_LOAD_MEMBER(altair);
};
@@ -87,7 +87,7 @@ static INPUT_PORTS_START( altair )
INPUT_PORTS_END
-QUICKLOAD_LOAD(altair)
+QUICKLOAD_LOAD_MEMBER( altair_state,altair)
{
altair_state *state = image.device().machine().driver_data<altair_state>();
int quick_length;
@@ -132,7 +132,7 @@ static MACHINE_CONFIG_START( altair, altair_state )
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", altair, "bin", 0)
+ MCFG_QUICKLOAD_ADD("quickload", altair_state, altair, "bin", 0)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/amstrad.c b/src/mess/drivers/amstrad.c
index eb5b8360209..5656e141a9f 100644
--- a/src/mess/drivers/amstrad.c
+++ b/src/mess/drivers/amstrad.c
@@ -872,7 +872,7 @@ static MACHINE_CONFIG_START( amstrad_nofdc, amstrad_state )
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
/* snapshot */
- MCFG_SNAPSHOT_ADD("snapshot", amstrad, "sna", 0)
+ MCFG_SNAPSHOT_ADD("snapshot", amstrad_state, amstrad, "sna", 0)
MCFG_CASSETTE_ADD( "cassette", amstrad_cassette_interface )
MCFG_SOFTWARE_LIST_ADD("cass_list","cpc_cass")
@@ -946,7 +946,7 @@ static MACHINE_CONFIG_START( cpcplus, amstrad_state )
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
/* snapshot */
- MCFG_SNAPSHOT_ADD("snapshot", amstrad, "sna", 0)
+ MCFG_SNAPSHOT_ADD("snapshot", amstrad_state, amstrad, "sna", 0)
MCFG_CASSETTE_ADD( "cassette", amstrad_cassette_interface )
diff --git a/src/mess/drivers/apple1.c b/src/mess/drivers/apple1.c
index c097a1eed1f..01bfb7f69d3 100644
--- a/src/mess/drivers/apple1.c
+++ b/src/mess/drivers/apple1.c
@@ -308,7 +308,7 @@ static MACHINE_CONFIG_START( apple1, apple1_state )
MCFG_PIA6821_ADD( "pia", apple1_pia0 )
/* snapshot */
- MCFG_SNAPSHOT_ADD("snapshot", apple1, "snp", 0)
+ MCFG_SNAPSHOT_ADD("snapshot", apple1_state, apple1, "snp", 0)
MCFG_CASSETTE_ADD("cassette", apple1_cassette_interface)
MCFG_SOFTWARE_LIST_ADD("cass_list","apple1")
diff --git a/src/mess/drivers/atom.c b/src/mess/drivers/atom.c
index d9f847a8561..ca18f1b923e 100644
--- a/src/mess/drivers/atom.c
+++ b/src/mess/drivers/atom.c
@@ -128,18 +128,18 @@ Hardware: PPIA 8255
image_fread_memory - read image to memory
-------------------------------------------------*/
-static void image_fread_memory(device_image_interface &image, UINT16 addr, UINT32 count)
+void atom_state::image_fread_memory(device_image_interface &image, UINT16 addr, UINT32 count)
{
- void *ptr = image.device().machine().firstcpu->space(AS_PROGRAM).get_write_ptr(addr);
+ void *ptr = m_maincpu->space(AS_PROGRAM).get_write_ptr(addr);
image.fread( ptr, count);
}
/*-------------------------------------------------
- QUICKLOAD_LOAD( atom_atm )
+ QUICKLOAD_LOAD_MEMBER( atom_state, atom_atm )
-------------------------------------------------*/
-QUICKLOAD_LOAD( atom_atm )
+QUICKLOAD_LOAD_MEMBER( atom_state, atom_atm )
{
/*
@@ -174,7 +174,7 @@ QUICKLOAD_LOAD( atom_atm )
image_fread_memory(image, start_address, size);
- image.device().machine().firstcpu->set_pc(run_address);
+ m_maincpu->set_pc(run_address);
return IMAGE_INIT_PASS;
}
@@ -877,7 +877,7 @@ static MACHINE_CONFIG_START( atom, atom_state )
MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(atom_floppy_interface)
MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, atom_centronics_config)
MCFG_CASSETTE_ADD("cassette", atom_cassette_interface)
- MCFG_QUICKLOAD_ADD("quickload", atom_atm, "atm", 0)
+ MCFG_QUICKLOAD_ADD("quickload", atom_state, atom_atm, "atm", 0)
/* cartridge */
MCFG_ATOM_CARTSLOT_ADD("cart")
diff --git a/src/mess/drivers/avigo.c b/src/mess/drivers/avigo.c
index e04f9e92edd..fbf297670a9 100644
--- a/src/mess/drivers/avigo.c
+++ b/src/mess/drivers/avigo.c
@@ -823,7 +823,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(avigo_state::avigo_1hz_timer)
refresh_ints();
}
-static QUICKLOAD_LOAD(avigo)
+QUICKLOAD_LOAD_MEMBER( avigo_state,avigo)
{
avigo_state *state = image.device().machine().driver_data<avigo_state>();
address_space& flash1 = state->m_flashes[1]->space(0);
@@ -932,7 +932,7 @@ static MACHINE_CONFIG_START( avigo, avigo_state )
MCFG_TIMER_DRIVER_ADD_PERIODIC("1hz_timer", avigo_state, avigo_1hz_timer, attotime::from_hz(1))
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", avigo, "app", 0)
+ MCFG_QUICKLOAD_ADD("quickload", avigo_state, avigo, "app", 0)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/binbug.c b/src/mess/drivers/binbug.c
index 7196d767cc0..2e40a6d7a60 100644
--- a/src/mess/drivers/binbug.c
+++ b/src/mess/drivers/binbug.c
@@ -79,6 +79,7 @@ public:
required_shared_ptr<const UINT8> m_p_videoram;
required_shared_ptr<const UINT8> m_p_attribram;
required_device<cpu_device> m_maincpu;
+ DECLARE_QUICKLOAD_LOAD_MEMBER( binbug );
};
WRITE8_MEMBER( binbug_state::binbug_ctrl_w )
@@ -217,7 +218,7 @@ static GFXDECODE_START( dg640 )
GFXDECODE_ENTRY( "chargen", 0x0000, dg640_charlayout, 0, 1 )
GFXDECODE_END
-QUICKLOAD_LOAD( binbug )
+QUICKLOAD_LOAD_MEMBER( binbug_state, binbug )
{
address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
@@ -314,7 +315,7 @@ static MACHINE_CONFIG_START( binbug, binbug_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", binbug, "pgm", 1)
+ MCFG_QUICKLOAD_ADD("quickload", binbug_state, binbug, "pgm", 1)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/c128.c b/src/mess/drivers/c128.c
index 34822a06e21..80bedb649fc 100644
--- a/src/mess/drivers/c128.c
+++ b/src/mess/drivers/c128.c
@@ -27,7 +27,7 @@
-static QUICKLOAD_LOAD( cbm_c64 )
+QUICKLOAD_LOAD_MEMBER( c128_state, cbm_c64 )
{
return general_cbm_loadsnap(image, file_type, quickload_size, 0, cbm_quick_sethiaddress);
}
@@ -1454,7 +1454,7 @@ static MACHINE_CONFIG_START( ntsc, c128_state )
MCFG_C64_USER_PORT_ADD(C64_USER_PORT_TAG, c64_user_port_cards, NULL, NULL, DEVWRITELINE(DEVICE_SELF, c128_state, exp_reset_w))
MCFG_C64_USER_PORT_CIA1_CALLBACKS(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, cnt_w), DEVWRITELINE(MOS6526_1_TAG, mos6526_device, sp_w))
MCFG_C64_USER_PORT_CIA2_CALLBACKS(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, cnt_w), DEVWRITELINE(MOS6526_2_TAG, mos6526_device, sp_w), DEVWRITELINE(MOS6526_2_TAG, mos6526_device, flag_w))
- MCFG_QUICKLOAD_ADD("quickload", cbm_c64, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", c128_state, cbm_c64, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
// software list
MCFG_SOFTWARE_LIST_ADD("cart_list_vic10", "vic10")
@@ -1577,7 +1577,7 @@ static MACHINE_CONFIG_START( pal, c128_state )
MCFG_C64_USER_PORT_ADD(C64_USER_PORT_TAG, c64_user_port_cards, NULL, NULL, DEVWRITELINE(DEVICE_SELF, c128_state, exp_reset_w))
MCFG_C64_USER_PORT_CIA1_CALLBACKS(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, cnt_w), DEVWRITELINE(MOS6526_1_TAG, mos6526_device, sp_w))
MCFG_C64_USER_PORT_CIA2_CALLBACKS(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, cnt_w), DEVWRITELINE(MOS6526_2_TAG, mos6526_device, sp_w), DEVWRITELINE(MOS6526_2_TAG, mos6526_device, flag_w))
- MCFG_QUICKLOAD_ADD("quickload", cbm_c64, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", c128_state, cbm_c64, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
// software list
MCFG_SOFTWARE_LIST_ADD("cart_list_vic10", "vic10")
diff --git a/src/mess/drivers/c64.c b/src/mess/drivers/c64.c
index 19680f25b35..0692d72328b 100644
--- a/src/mess/drivers/c64.c
+++ b/src/mess/drivers/c64.c
@@ -28,7 +28,7 @@
#define VA13 BIT(va, 13)
#define VA12 BIT(va, 12)
-static QUICKLOAD_LOAD( cbm_c64 )
+QUICKLOAD_LOAD_MEMBER( c64_state, cbm_c64 )
{
return general_cbm_loadsnap(image, file_type, quickload_size, 0, cbm_quick_sethiaddress);
}
@@ -1090,7 +1090,7 @@ static MACHINE_CONFIG_START( ntsc, c64_state )
MCFG_C64_USER_PORT_ADD(C64_USER_PORT_TAG, c64_user_port_cards, NULL, NULL, DEVWRITELINE(DEVICE_SELF, c64_state, exp_reset_w))
MCFG_C64_USER_PORT_CIA1_CALLBACKS(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, cnt_w), DEVWRITELINE(MOS6526_1_TAG, mos6526_device, sp_w))
MCFG_C64_USER_PORT_CIA2_CALLBACKS(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, cnt_w), DEVWRITELINE(MOS6526_2_TAG, mos6526_device, sp_w), DEVWRITELINE(MOS6526_2_TAG, mos6526_device, flag_w))
- MCFG_QUICKLOAD_ADD("quickload", cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", c64_state, cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS)
// software list
MCFG_SOFTWARE_LIST_ADD("cart_list_vic10", "vic10")
@@ -1203,7 +1203,7 @@ static MACHINE_CONFIG_START( pal, c64_state )
MCFG_C64_USER_PORT_ADD(C64_USER_PORT_TAG, c64_user_port_cards, NULL, NULL, DEVWRITELINE(DEVICE_SELF, c64_state, exp_reset_w))
MCFG_C64_USER_PORT_CIA1_CALLBACKS(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, cnt_w), DEVWRITELINE(MOS6526_1_TAG, mos6526_device, sp_w))
MCFG_C64_USER_PORT_CIA2_CALLBACKS(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, cnt_w), DEVWRITELINE(MOS6526_2_TAG, mos6526_device, sp_w), DEVWRITELINE(MOS6526_2_TAG, mos6526_device, flag_w))
- MCFG_QUICKLOAD_ADD("quickload", cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", c64_state, cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS)
// software list
MCFG_SOFTWARE_LIST_ADD("cart_list_vic10", "vic10")
@@ -1294,7 +1294,7 @@ static MACHINE_CONFIG_START( pal_gs, c64gs_state )
MCFG_C64_USER_PORT_ADD(C64_USER_PORT_TAG, c64_user_port_cards, NULL, NULL, DEVWRITELINE(DEVICE_SELF, c64_state, exp_reset_w))
MCFG_C64_USER_PORT_CIA1_CALLBACKS(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, cnt_w), DEVWRITELINE(MOS6526_1_TAG, mos6526_device, sp_w))
MCFG_C64_USER_PORT_CIA2_CALLBACKS(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, cnt_w), DEVWRITELINE(MOS6526_2_TAG, mos6526_device, sp_w), DEVWRITELINE(MOS6526_2_TAG, mos6526_device, flag_w))
- MCFG_QUICKLOAD_ADD("quickload", cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", c64_state, cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS)
// software list
MCFG_SOFTWARE_LIST_ADD("cart_list_vic10", "vic10")
diff --git a/src/mess/drivers/c65.c b/src/mess/drivers/c65.c
index a94fb3662fc..fa16680d63e 100644
--- a/src/mess/drivers/c65.c
+++ b/src/mess/drivers/c65.c
@@ -70,7 +70,7 @@ static void cbm_c65_quick_sethiaddress( running_machine &machine, UINT16 hiaddre
space.write_byte(0x83, hiaddress >> 8);
}
-static QUICKLOAD_LOAD( cbm_c65 )
+QUICKLOAD_LOAD_MEMBER( c65_state, cbm_c65 )
{
return general_cbm_loadsnap(image, file_type, quickload_size, 0, cbm_c65_quick_sethiaddress);
}
@@ -435,7 +435,7 @@ static MACHINE_CONFIG_START( c65, c65_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", cbm_c65, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", c65_state, cbm_c65, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
/* cia */
MCFG_LEGACY_MOS6526R1_ADD("cia_0", 3500000, 60, c65_cia0)
diff --git a/src/mess/drivers/cbm2.c b/src/mess/drivers/cbm2.c
index cc95d7c300b..9acd5c1f9d7 100644
--- a/src/mess/drivers/cbm2.c
+++ b/src/mess/drivers/cbm2.c
@@ -37,12 +37,12 @@ static void cbmb_quick_sethiaddress(running_machine &machine, UINT16 hiaddress)
space.write_byte(0xf0047, hiaddress >> 8);
}
-static QUICKLOAD_LOAD( cbmb )
+QUICKLOAD_LOAD_MEMBER( cbm2_state, cbmb )
{
return general_cbm_loadsnap(image, file_type, quickload_size, 0x10000, cbmb_quick_sethiaddress);
}
-static QUICKLOAD_LOAD( p500 )
+QUICKLOAD_LOAD_MEMBER( p500_state, p500 )
{
return general_cbm_loadsnap(image, file_type, quickload_size, 0, cbmb_quick_sethiaddress);
}
@@ -2211,7 +2211,7 @@ static MACHINE_CONFIG_START( p500_ntsc, p500_state )
MCFG_CBM2_EXPANSION_SLOT_ADD(CBM2_EXPANSION_SLOT_TAG, VIC6567_CLOCK, cbm2_expansion_cards, NULL, NULL)
MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, p500_user_intf, cbm2_user_port_cards, NULL, NULL)
MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL, NULL)
- MCFG_QUICKLOAD_ADD("quickload", p500, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", p500_state, p500, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
// internal ram
MCFG_FRAGMENT_ADD(128k)
@@ -2268,7 +2268,7 @@ static MACHINE_CONFIG_START( p500_pal, p500_state )
MCFG_CBM2_EXPANSION_SLOT_ADD(CBM2_EXPANSION_SLOT_TAG, VIC6569_CLOCK, cbm2_expansion_cards, NULL, NULL)
MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, p500_user_intf, cbm2_user_port_cards, NULL, NULL)
MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL, NULL)
- MCFG_QUICKLOAD_ADD("quickload", p500, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", p500_state, p500, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
// internal ram
MCFG_FRAGMENT_ADD(128k)
@@ -2331,7 +2331,7 @@ static MACHINE_CONFIG_START( cbm2lp_ntsc, cbm2_state )
MCFG_CBM2_EXPANSION_SLOT_ADD(CBM2_EXPANSION_SLOT_TAG, XTAL_18MHz/9, cbm2_expansion_cards, NULL, NULL)
MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, user_intf, cbm2_user_port_cards, NULL, NULL)
MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL, NULL)
- MCFG_QUICKLOAD_ADD("quickload", cbmb, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", cbm2_state, cbmb, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS)
// software list
MCFG_SOFTWARE_LIST_ADD("cart_list", "cbm2_cart")
diff --git a/src/mess/drivers/cd2650.c b/src/mess/drivers/cd2650.c
index 98d438dafb2..98141166b0d 100644
--- a/src/mess/drivers/cd2650.c
+++ b/src/mess/drivers/cd2650.c
@@ -44,6 +44,7 @@ public:
DECLARE_WRITE8_MEMBER(kbd_put);
DECLARE_READ8_MEMBER(cass_r);
DECLARE_WRITE8_MEMBER(cass_w);
+ DECLARE_QUICKLOAD_LOAD_MEMBER( cd2650 );
const UINT8 *m_p_chargen;
UINT8 m_term_data;
virtual void machine_reset();
@@ -164,7 +165,7 @@ static ASCII_KEYBOARD_INTERFACE( keyboard_intf )
DEVCB_DRIVER_MEMBER(cd2650_state, kbd_put)
};
-QUICKLOAD_LOAD( cd2650 )
+QUICKLOAD_LOAD_MEMBER( cd2650_state, cd2650 )
{
address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
@@ -267,7 +268,7 @@ static MACHINE_CONFIG_START( cd2650, cd2650_state )
MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", cd2650, "pgm", 1)
+ MCFG_QUICKLOAD_ADD("quickload", cd2650_state, cd2650, "pgm", 1)
/* cassette */
MCFG_CASSETTE_ADD( "cassette", default_cassette_interface )
diff --git a/src/mess/drivers/cgenie.c b/src/mess/drivers/cgenie.c
index 76c012bdf6b..477fba30215 100644
--- a/src/mess/drivers/cgenie.c
+++ b/src/mess/drivers/cgenie.c
@@ -707,7 +707,7 @@ DEVICE_IMAGE_LOAD( cgenie_floppy )
spt = pd_list[i].SPT / heads;
dir_sector = pd_list[i].DDSL * pd_list[i].GATM * pd_list[i].GPL + pd_list[i].SPT;
dir_length = pd_list[i].DDGA * pd_list[i].GPL;
- memcpy(image.device().machine().root_device().memregion("maincpu")->base() + 0x5A71 + floppy_get_drive(image) * sizeof(PDRIVE), &pd_list[i], sizeof(PDRIVE));
+ memcpy(memregion("maincpu")->base() + 0x5A71 + floppy_get_drive(image) * sizeof(PDRIVE), &pd_list[i], sizeof(PDRIVE));
break;
}
}
diff --git a/src/mess/drivers/comx35.c b/src/mess/drivers/comx35.c
index 1d993dcf91e..d8874d5de17 100644
--- a/src/mess/drivers/comx35.c
+++ b/src/mess/drivers/comx35.c
@@ -45,12 +45,12 @@ static void image_fread_memory(device_image_interface &image, UINT16 addr, UINT3
}
/*-------------------------------------------------
- QUICKLOAD_LOAD( comx35_comx )
+ QUICKLOAD_LOAD_MEMBER( comx35_state, comx35_comx )
-------------------------------------------------*/
-QUICKLOAD_LOAD( comx35_comx )
+QUICKLOAD_LOAD_MEMBER( comx35_state, comx35_comx )
{
- address_space &program = image.device().machine().firstcpu->space(AS_PROGRAM);
+ address_space &program = m_maincpu->space(AS_PROGRAM);
UINT8 header[16] = {0};
int size = image.length();
@@ -691,7 +691,7 @@ static MACHINE_CONFIG_START( pal, comx35_state )
// peripheral hardware
MCFG_CDP1871_ADD(CDP1871_TAG, kbc_intf, CDP1869_CPU_CLK_PAL / 8)
- MCFG_QUICKLOAD_ADD("quickload", comx35_comx, "comx", 0)
+ MCFG_QUICKLOAD_ADD("quickload", comx35_state, comx35_comx, "comx", 0)
MCFG_CASSETTE_ADD("cassette", cassette_intf)
// expansion bus
@@ -722,7 +722,7 @@ static MACHINE_CONFIG_START( ntsc, comx35_state )
// peripheral hardware
MCFG_CDP1871_ADD(CDP1871_TAG, kbc_intf, CDP1869_CPU_CLK_NTSC / 8)
- MCFG_QUICKLOAD_ADD("quickload", comx35_comx, "comx", 0)
+ MCFG_QUICKLOAD_ADD("quickload", comx35_state, comx35_comx, "comx", 0)
MCFG_CASSETTE_ADD("cassette", cassette_intf)
// expansion bus
diff --git a/src/mess/drivers/cosmicos.c b/src/mess/drivers/cosmicos.c
index f34eb436dd4..57c12222717 100644
--- a/src/mess/drivers/cosmicos.c
+++ b/src/mess/drivers/cosmicos.c
@@ -531,7 +531,7 @@ void cosmicos_state::machine_reset()
/* Quickload */
-static QUICKLOAD_LOAD( cosmicos )
+QUICKLOAD_LOAD_MEMBER( cosmicos_state, cosmicos )
{
cosmicos_state *state = image.device().machine().driver_data<cosmicos_state>();
UINT8 *ptr = state->m_rom->base();
@@ -587,7 +587,7 @@ static MACHINE_CONFIG_START( cosmicos, cosmicos_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
/* devices */
- MCFG_QUICKLOAD_ADD("quickload", cosmicos, "bin", 0)
+ MCFG_QUICKLOAD_ADD("quickload", cosmicos_state, cosmicos, "bin", 0)
MCFG_CASSETTE_ADD("cassette", cosmicos_cassette_interface)
/* internal ram */
diff --git a/src/mess/drivers/cybiko.c b/src/mess/drivers/cybiko.c
index ebcd100f5a0..f313b3a7da7 100644
--- a/src/mess/drivers/cybiko.c
+++ b/src/mess/drivers/cybiko.c
@@ -330,7 +330,7 @@ static MACHINE_CONFIG_START( cybikov1, cybiko_state )
MCFG_RAM_EXTRA_OPTIONS("1M")
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", cybiko, "bin,nv", 0)
+ MCFG_QUICKLOAD_ADD("quickload", cybiko_state, cybiko, "bin,nv", 0)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cybikov2, cybikov1)
@@ -364,7 +364,7 @@ static MACHINE_CONFIG_DERIVED( cybikoxt, cybikov1)
/* quickload */
MCFG_DEVICE_REMOVE("quickload")
- MCFG_QUICKLOAD_ADD("quickload", cybikoxt, "bin,nv", 0)
+ MCFG_QUICKLOAD_ADD("quickload", cybiko_state, cybikoxt, "bin,nv", 0)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/d6800.c b/src/mess/drivers/d6800.c
index 285eebefebf..0b4826d62b1 100644
--- a/src/mess/drivers/d6800.c
+++ b/src/mess/drivers/d6800.c
@@ -77,6 +77,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( d6800_screen_w );
UINT32 screen_update_d6800(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(d6800_p);
+ DECLARE_QUICKLOAD_LOAD_MEMBER( d6800 );
protected:
required_device<cpu_device> m_maincpu;
required_device<cassette_image_device> m_cass;
@@ -333,7 +334,7 @@ static const cassette_interface d6800_cassette_interface =
NULL
};
-static QUICKLOAD_LOAD( d6800 )
+QUICKLOAD_LOAD_MEMBER( d6800_state, d6800 )
{
address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
@@ -401,7 +402,7 @@ static MACHINE_CONFIG_START( d6800, d6800_state )
MCFG_TIMER_DRIVER_ADD_PERIODIC("d6800_p", d6800_state, d6800_p, attotime::from_hz(40000))
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", d6800, "ch8", 1)
+ MCFG_QUICKLOAD_ADD("quickload", d6800_state, d6800, "ch8", 1)
MACHINE_CONFIG_END
/* ROMs */
diff --git a/src/mess/drivers/elf.c b/src/mess/drivers/elf.c
index 71dbb322d05..1f9a1e16c58 100644
--- a/src/mess/drivers/elf.c
+++ b/src/mess/drivers/elf.c
@@ -277,7 +277,7 @@ static DM9368_INTERFACE( led_l_intf )
DEVCB_NULL
};
-static QUICKLOAD_LOAD( elf )
+QUICKLOAD_LOAD_MEMBER( elf2_state, elf )
{
elf2_state *state = image.device().machine().driver_data<elf2_state>();
@@ -314,7 +314,7 @@ static MACHINE_CONFIG_START( elf2, elf2_state )
/* devices */
MCFG_CASSETTE_ADD("cassette", elf_cassette_interface)
- MCFG_QUICKLOAD_ADD("quickload", elf, "bin", 0)
+ MCFG_QUICKLOAD_ADD("quickload", elf2_state, elf, "bin", 0)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mess/drivers/galaxy.c b/src/mess/drivers/galaxy.c
index 51307d941d6..1c275ca4d21 100644
--- a/src/mess/drivers/galaxy.c
+++ b/src/mess/drivers/galaxy.c
@@ -204,7 +204,7 @@ static MACHINE_CONFIG_START( galaxy, galaxy_state )
/* snapshot */
- MCFG_SNAPSHOT_ADD("snapshot", galaxy, "gal", 0)
+ MCFG_SNAPSHOT_ADD("snapshot", galaxy_state, galaxy, "gal", 0)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
@@ -240,7 +240,7 @@ static MACHINE_CONFIG_START( galaxyp, galaxy_state )
/* snapshot */
- MCFG_SNAPSHOT_ADD("snapshot", galaxy, "gal", 0)
+ MCFG_SNAPSHOT_ADD("snapshot", galaxy_state, galaxy, "gal", 0)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/gizmondo.c b/src/mess/drivers/gizmondo.c
index 69a9422f3ef..610d7ef7804 100644
--- a/src/mess/drivers/gizmondo.c
+++ b/src/mess/drivers/gizmondo.c
@@ -129,7 +129,7 @@ INPUT_CHANGED_MEMBER(gizmondo_state::port_changed)
}
#if 0
-static QUICKLOAD_LOAD( gizmondo )
+QUICKLOAD_LOAD_MEMBER( gizmondo_state, gizmondo )
{
return gizmondo_quickload( image, file_type, quickload_size, 0x3000E000); // eboot
//return gizmondo_quickload( image, file_type, quickload_size, 0x30400000); // wince
@@ -216,7 +216,7 @@ static MACHINE_CONFIG_START( gizmondo, gizmondo_state )
MCFG_DISKONCHIP_G3_ADD("diskonchip", 64)
#if 0
- MCFG_QUICKLOAD_ADD("quickload", wince, "bin", 0)
+ MCFG_QUICKLOAD_ADD("quickload", gizmondo_state, wince, "bin", 0)
#endif
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/homelab.c b/src/mess/drivers/homelab.c
index f2229760fb1..0cffb0586d3 100644
--- a/src/mess/drivers/homelab.c
+++ b/src/mess/drivers/homelab.c
@@ -74,6 +74,7 @@ public:
UINT32 screen_update_homelab2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
UINT32 screen_update_homelab3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(homelab_frame);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(homelab);
};
INTERRUPT_GEN_MEMBER(homelab_state::homelab_frame)
@@ -641,7 +642,7 @@ GFXDECODE_END
static const mea8000_interface brailab4_speech_intf = { "speech", DEVCB_NULL };
-static QUICKLOAD_LOAD(homelab)
+QUICKLOAD_LOAD_MEMBER( homelab_state,homelab)
{
address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM);
int i=0;
@@ -760,7 +761,7 @@ static MACHINE_CONFIG_START( homelab, homelab_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MCFG_CASSETTE_ADD( "cassette", default_cassette_interface )
- MCFG_QUICKLOAD_ADD("quickload", homelab, "htp", 2)
+ MCFG_QUICKLOAD_ADD("quickload", homelab_state, homelab, "htp", 2)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( homelab3, homelab_state )
@@ -790,7 +791,7 @@ static MACHINE_CONFIG_START( homelab3, homelab_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MCFG_CASSETTE_ADD( "cassette", default_cassette_interface )
- MCFG_QUICKLOAD_ADD("quickload", homelab, "htp", 2)
+ MCFG_QUICKLOAD_ADD("quickload", homelab_state, homelab, "htp", 2)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( brailab4, homelab_state )
@@ -823,7 +824,7 @@ static MACHINE_CONFIG_START( brailab4, homelab_state )
MCFG_CASSETTE_ADD( "cassette", default_cassette_interface )
MCFG_MEA8000_ADD("mea8000", brailab4_speech_intf)
- MCFG_QUICKLOAD_ADD("quickload", homelab, "htp", 18)
+ MCFG_QUICKLOAD_ADD("quickload", homelab_state, homelab, "htp", 18)
MACHINE_CONFIG_END
DRIVER_INIT_MEMBER(homelab_state,brailab4)
diff --git a/src/mess/drivers/instruct.c b/src/mess/drivers/instruct.c
index fe00f887276..22214616d31 100644
--- a/src/mess/drivers/instruct.c
+++ b/src/mess/drivers/instruct.c
@@ -70,6 +70,7 @@ public:
DECLARE_WRITE8_MEMBER(portf8_w);
DECLARE_WRITE8_MEMBER(portf9_w);
DECLARE_WRITE8_MEMBER(portfa_w);
+ DECLARE_QUICKLOAD_LOAD_MEMBER( instruct );
virtual void machine_reset();
UINT8 m_digit;
bool m_valid_digit;
@@ -216,7 +217,7 @@ void instruct_state::machine_reset()
memcpy(m_p_ram, ROM+0x1800, 0x0200);
}
-QUICKLOAD_LOAD( instruct )
+QUICKLOAD_LOAD_MEMBER( instruct_state, instruct )
{
address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
@@ -296,7 +297,7 @@ static MACHINE_CONFIG_START( instruct, instruct_state )
MCFG_DEFAULT_LAYOUT(layout_instruct)
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", instruct, "pgm", 1)
+ MCFG_QUICKLOAD_ADD("quickload", instruct_state, instruct, "pgm", 1)
/* cassette */
MCFG_CASSETTE_ADD( "cassette", default_cassette_interface )
diff --git a/src/mess/drivers/jr100.c b/src/mess/drivers/jr100.c
index 51d920267c5..40742e31eca 100644
--- a/src/mess/drivers/jr100.c
+++ b/src/mess/drivers/jr100.c
@@ -64,6 +64,8 @@ public:
DECLARE_WRITE8_MEMBER(jr100_via_write_b);
DECLARE_WRITE_LINE_MEMBER(jr100_via_write_cb2);
UINT32 readByLittleEndian(UINT8 *buf,int pos);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(jr100);
+
protected:
required_device<via6522_device> m_via;
@@ -336,7 +338,7 @@ UINT32 jr100_state::readByLittleEndian(UINT8 *buf,int pos)
return buf[pos] + (buf[pos+1] << 8) + (buf[pos+2] << 16) + (buf[pos+3] << 24);
}
-static QUICKLOAD_LOAD(jr100)
+QUICKLOAD_LOAD_MEMBER( jr100_state,jr100)
{
jr100_state *state = image.device().machine().driver_data<jr100_state>();
int quick_length;
@@ -420,7 +422,7 @@ static MACHINE_CONFIG_START( jr100, jr100_state )
MCFG_TIMER_DRIVER_ADD_PERIODIC("sound_tick", jr100_state, sound_tick, attotime::from_hz(XTAL_14_31818MHz / 16))
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", jr100, "prg", 2)
+ MCFG_QUICKLOAD_ADD("quickload", jr100_state, jr100, "prg", 2)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/kaypro.c b/src/mess/drivers/kaypro.c
index 5711f7ddcb0..e81cecf1f89 100644
--- a/src/mess/drivers/kaypro.c
+++ b/src/mess/drivers/kaypro.c
@@ -267,7 +267,7 @@ static MACHINE_CONFIG_START( kayproii, kaypro_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
/* devices */
- MCFG_QUICKLOAD_ADD("quickload", kayproii, "com,cpm", 3)
+ MCFG_QUICKLOAD_ADD("quickload", kaypro_state, kayproii, "com,cpm", 3)
MCFG_FD1793_ADD("wd1793", kaypro_wd1793_interface )
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
MCFG_COM8116_ADD("brg", XTAL_5_0688MHz, kayproii_brg_intf) // WD1943, SMC8116
@@ -313,7 +313,7 @@ static MACHINE_CONFIG_START( kaypro2x, kaypro_state )
/* devices */
MCFG_MC6845_ADD("crtc", MC6845, 2000000, kaypro2x_crtc) /* comes out of ULA - needs to be measured */
- MCFG_QUICKLOAD_ADD("quickload", kaypro2x, "com,cpm", 3)
+ MCFG_QUICKLOAD_ADD("quickload", kaypro_state, kaypro2x, "com,cpm", 3)
MCFG_FD1793_ADD("wd1793", kaypro_wd1793_interface )
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
MCFG_COM8116_ADD("brg", XTAL_5_0688MHz, kaypro2x_brg_intf) // WD1943, SMC8116
diff --git a/src/mess/drivers/kc.c b/src/mess/drivers/kc.c
index 47d896b0f15..a2c10891a92 100644
--- a/src/mess/drivers/kc.c
+++ b/src/mess/drivers/kc.c
@@ -155,7 +155,7 @@ static MACHINE_CONFIG_START( kc85_3, kc_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
/* devices */
- MCFG_QUICKLOAD_ADD("quickload", kc, "kcc", 2)
+ MCFG_QUICKLOAD_ADD("quickload", kc_state, kc, "kcc", 2)
MCFG_CASSETTE_ADD( "cassette", kc_cassette_interface )
@@ -207,7 +207,7 @@ static MACHINE_CONFIG_START( kc85_4, kc85_4_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
/* devices */
- MCFG_QUICKLOAD_ADD("quickload", kc, "kcc", 2)
+ MCFG_QUICKLOAD_ADD("quickload", kc_state, kc, "kcc", 2)
MCFG_CASSETTE_ADD( "cassette", kc_cassette_interface )
diff --git a/src/mess/drivers/lviv.c b/src/mess/drivers/lviv.c
index 6038e43e94c..db170dcccee 100644
--- a/src/mess/drivers/lviv.c
+++ b/src/mess/drivers/lviv.c
@@ -458,7 +458,7 @@ static MACHINE_CONFIG_START( lviv, lviv_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
/* snapshot */
- MCFG_SNAPSHOT_ADD("snapshot", lviv, "sav", 0)
+ MCFG_SNAPSHOT_ADD("snapshot", lviv_state, lviv, "sav", 0)
MCFG_CASSETTE_ADD( "cassette", lviv_cassette_interface )
MCFG_SOFTWARE_LIST_ADD("cass_list","lviv")
diff --git a/src/mess/drivers/lynx.c b/src/mess/drivers/lynx.c
index 3e86b94f974..204ec5b443c 100644
--- a/src/mess/drivers/lynx.c
+++ b/src/mess/drivers/lynx.c
@@ -13,8 +13,6 @@
#include "imagedev/snapquik.h"
#include "lynx.lh"
-static QUICKLOAD_LOAD( lynx );
-
static ADDRESS_MAP_START( lynx_mem , AS_PROGRAM, 8, lynx_state )
AM_RANGE(0x0000, 0xfbff) AM_RAM AM_SHARE("mem_0000")
AM_RANGE(0xfc00, 0xfcff) AM_RAM AM_SHARE("mem_fc00")
@@ -89,7 +87,7 @@ static MACHINE_CONFIG_START( lynx, lynx_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
/* devices */
- MCFG_QUICKLOAD_ADD("quickload", lynx, "o", 0)
+ MCFG_QUICKLOAD_ADD("quickload", lynx_state, lynx, "o", 0)
MCFG_FRAGMENT_ADD(lynx_cartslot)
MACHINE_CONFIG_END
@@ -135,7 +133,7 @@ ROM_START(lynx2)
ROM_END
-static QUICKLOAD_LOAD( lynx )
+QUICKLOAD_LOAD_MEMBER( lynx_state, lynx )
{
lynx_state *state = image.device().machine().driver_data<lynx_state>();
address_space &space = state->m_maincpu->space(AS_PROGRAM);
diff --git a/src/mess/drivers/mbee.c b/src/mess/drivers/mbee.c
index f6dd2e431d4..27bd149844f 100644
--- a/src/mess/drivers/mbee.c
+++ b/src/mess/drivers/mbee.c
@@ -708,8 +708,8 @@ static MACHINE_CONFIG_START( mbee, mbee_state )
/* devices */
MCFG_MC6845_ADD("crtc", SY6545_1, XTAL_12MHz / 8, mbee_crtc)
- MCFG_QUICKLOAD_ADD("quickload", mbee, "mwb,com", 2)
- MCFG_QUICKLOAD_ADD("quickload2", mbee_z80bin, "bin", 2)
+ MCFG_QUICKLOAD_ADD("quickload", mbee_state, mbee, "mwb,com", 2)
+ MCFG_QUICKLOAD_ADD("quickload2", mbee_state, mbee_z80bin, "bin", 2)
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
MCFG_CASSETTE_ADD( "cassette", default_cassette_interface )
MACHINE_CONFIG_END
@@ -749,8 +749,8 @@ static MACHINE_CONFIG_START( mbeeic, mbee_state )
/* devices */
MCFG_MC6845_ADD("crtc", SY6545_1, XTAL_13_5MHz / 8, mbeeic_crtc)
- MCFG_QUICKLOAD_ADD("quickload", mbee, "mwb,com", 2)
- MCFG_QUICKLOAD_ADD("quickload2", mbee_z80bin, "bin", 2)
+ MCFG_QUICKLOAD_ADD("quickload", mbee_state, mbee, "mwb,com", 2)
+ MCFG_QUICKLOAD_ADD("quickload2", mbee_state, mbee_z80bin, "bin", 2)
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
MCFG_CASSETTE_ADD( "cassette", default_cassette_interface )
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/microtan.c b/src/mess/drivers/microtan.c
index a0561696bcb..4bbaaa77a15 100644
--- a/src/mess/drivers/microtan.c
+++ b/src/mess/drivers/microtan.c
@@ -248,8 +248,8 @@ static MACHINE_CONFIG_START( microtan, microtan_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
/* snapshot/quickload */
- MCFG_SNAPSHOT_ADD("snapshot", microtan, "m65", 0.5)
- MCFG_QUICKLOAD_ADD("quickload", microtan, "hex", 0.5)
+ MCFG_SNAPSHOT_ADD("snapshot", microtan_state, microtan, "m65", 0.5)
+ MCFG_QUICKLOAD_ADD("quickload", microtan_state, microtan, "hex", 0.5)
/* cassette */
MCFG_CASSETTE_ADD( "cassette", default_cassette_interface )
diff --git a/src/mess/drivers/mtx.c b/src/mess/drivers/mtx.c
index 420c7292d2a..b36089c9516 100644
--- a/src/mess/drivers/mtx.c
+++ b/src/mess/drivers/mtx.c
@@ -372,7 +372,7 @@ static MACHINE_CONFIG_START( mtx512, mtx_state )
MCFG_Z80CTC_ADD(Z80CTC_TAG, XTAL_4MHz, ctc_intf )
MCFG_TIMER_DRIVER_ADD_PERIODIC("z80ctc_timer", mtx_state, ctc_tick, attotime::from_hz(XTAL_4MHz/13))
MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
- MCFG_SNAPSHOT_ADD("snapshot", mtx, "mtb", 0.5)
+ MCFG_SNAPSHOT_ADD("snapshot", mtx_state, mtx, "mtb", 0.5)
MCFG_CASSETTE_ADD("cassette", mtx_cassette_interface)
MCFG_TIMER_DRIVER_ADD_PERIODIC("cassette_timer", mtx_state, cassette_tick, attotime::from_hz(44100))
diff --git a/src/mess/drivers/nascom1.c b/src/mess/drivers/nascom1.c
index a3361c577b6..ea2032bf129 100644
--- a/src/mess/drivers/nascom1.c
+++ b/src/mess/drivers/nascom1.c
@@ -299,7 +299,7 @@ static MACHINE_CONFIG_START( nascom1, nascom1_state )
MCFG_Z80PIO_ADD( "z80pio", XTAL_16MHz/8, nascom1_z80pio_intf )
/* devices */
- MCFG_SNAPSHOT_ADD("snapshot", nascom1, "nas", 0.5)
+ MCFG_SNAPSHOT_ADD("snapshot", nascom1_state, nascom1, "nas", 0.5)
MCFG_CASSETTE_ADD( "cassette", default_cassette_interface )
diff --git a/src/mess/drivers/pet.c b/src/mess/drivers/pet.c
index bcc8142f298..84220e1fbce 100644
--- a/src/mess/drivers/pet.c
+++ b/src/mess/drivers/pet.c
@@ -163,7 +163,7 @@ static void cbm_pet_quick_sethiaddress( running_machine &machine, UINT16 hiaddre
space.write_byte(0x2b, hiaddress >> 8);
}
-static QUICKLOAD_LOAD( cbm_pet )
+QUICKLOAD_LOAD_MEMBER( pet_state, cbm_pet )
{
return general_cbm_loadsnap(image, file_type, quickload_size, 0, cbm_pet_quick_sethiaddress);
}
@@ -1463,7 +1463,7 @@ static MACHINE_CONFIG_START( pet, pet_state )
MCFG_PET_EXPANSION_SLOT_ADD(PET_EXPANSION_SLOT_TAG, XTAL_8MHz/8, pet_expansion_cards, NULL, NULL)
MCFG_PET_EXPANSION_SLOT_DMA_CALLBACKS(READ8(pet_state, read), WRITE8(pet_state, write))
MCFG_PET_USER_PORT_ADD(PET_USER_PORT_TAG, user_intf, pet_user_port_cards, NULL, NULL)
- MCFG_QUICKLOAD_ADD("quickload", cbm_pet, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", pet_state, cbm_pet, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
// software lists
MCFG_SOFTWARE_LIST_ADD("cass_list", "pet_cass")
@@ -1742,7 +1742,7 @@ static MACHINE_CONFIG_START( pet80, pet80_state )
MCFG_PET_EXPANSION_SLOT_ADD(PET_EXPANSION_SLOT_TAG, XTAL_16MHz/16, pet_expansion_cards, NULL, NULL)
MCFG_PET_EXPANSION_SLOT_DMA_CALLBACKS(READ8(pet_state, read), WRITE8(pet_state, write))
MCFG_PET_USER_PORT_ADD(PET_USER_PORT_TAG, user_intf, pet_user_port_cards, NULL, NULL)
- MCFG_QUICKLOAD_ADD("quickload", cbm_pet, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", pet_state, cbm_pet, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
// software lists
MCFG_SOFTWARE_LIST_ADD("cass_list", "pet_cass")
diff --git a/src/mess/drivers/pipbug.c b/src/mess/drivers/pipbug.c
index b86654291fc..226178082ed 100644
--- a/src/mess/drivers/pipbug.c
+++ b/src/mess/drivers/pipbug.c
@@ -54,6 +54,7 @@ public:
DECLARE_WRITE8_MEMBER(pipbug_serial_w);
required_device<serial_terminal_device> m_terminal;
required_device<cpu_device> m_maincpu;
+ DECLARE_QUICKLOAD_LOAD_MEMBER( pipbug );
};
WRITE8_MEMBER( pipbug_state::pipbug_ctrl_w )
@@ -92,7 +93,7 @@ static const serial_terminal_interface terminal_intf =
DEVCB_NULL
};
-QUICKLOAD_LOAD( pipbug )
+QUICKLOAD_LOAD_MEMBER( pipbug_state, pipbug )
{
address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
@@ -172,7 +173,7 @@ static MACHINE_CONFIG_START( pipbug, pipbug_state )
MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 110)
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", pipbug, "pgm", 1)
+ MCFG_QUICKLOAD_ADD("quickload", pipbug_state, pipbug, "pgm", 1)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/plus4.c b/src/mess/drivers/plus4.c
index ec397d13a25..3990665d0b3 100644
--- a/src/mess/drivers/plus4.c
+++ b/src/mess/drivers/plus4.c
@@ -33,7 +33,7 @@
-static QUICKLOAD_LOAD( cbm_c16 )
+QUICKLOAD_LOAD_MEMBER( plus4_state, cbm_c16 )
{
return general_cbm_loadsnap(image, file_type, quickload_size, 0, cbm_quick_sethiaddress);
}
@@ -744,7 +744,7 @@ static MACHINE_CONFIG_START( ntsc, plus4_state )
MCFG_PLUS4_EXPANSION_SLOT_ADD(PLUS4_EXPANSION_SLOT_TAG, XTAL_14_31818MHz/16, plus4_expansion_cards, "c1551", NULL, DEVWRITELINE(DEVICE_SELF, plus4_state, exp_irq_w))
MCFG_PLUS4_EXPANSION_SLOT_DMA_CALLBACKS(DEVREAD8(DEVICE_SELF, plus4_state, read), DEVWRITE8(DEVICE_SELF, plus4_state, write), INPUTLINE(MOS7501_TAG, INPUT_LINE_HALT))
MCFG_PLUS4_USER_PORT_ADD(PLUS4_USER_PORT_TAG, plus4_user_port_cards, NULL, NULL)
- MCFG_QUICKLOAD_ADD("quickload", cbm_c16, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", plus4_state, cbm_c16, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
// internal ram
MCFG_RAM_ADD(RAM_TAG)
@@ -790,7 +790,7 @@ static MACHINE_CONFIG_START( pal, plus4_state )
MCFG_PLUS4_EXPANSION_SLOT_ADD(PLUS4_EXPANSION_SLOT_TAG, XTAL_17_73447MHz/20, plus4_expansion_cards, "c1551", NULL, DEVWRITELINE(DEVICE_SELF, plus4_state, exp_irq_w))
MCFG_PLUS4_EXPANSION_SLOT_DMA_CALLBACKS(DEVREAD8(DEVICE_SELF, plus4_state, read), DEVWRITE8(DEVICE_SELF, plus4_state, write), INPUTLINE(MOS7501_TAG, INPUT_LINE_HALT))
MCFG_PLUS4_USER_PORT_ADD(PLUS4_USER_PORT_TAG, plus4_user_port_cards, NULL, NULL)
- MCFG_QUICKLOAD_ADD("quickload", cbm_c16, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", plus4_state, cbm_c16, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
// internal ram
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mess/drivers/poly88.c b/src/mess/drivers/poly88.c
index ad014fa7c6e..137159f62bd 100644
--- a/src/mess/drivers/poly88.c
+++ b/src/mess/drivers/poly88.c
@@ -198,7 +198,7 @@ static MACHINE_CONFIG_START( poly88, poly88_state )
MCFG_SERIAL_SOURCE_ADD("sercas")
/* snapshot */
- MCFG_SNAPSHOT_ADD("snapshot", poly88, "img", 0)
+ MCFG_SNAPSHOT_ADD("snapshot", poly88_state, poly88, "img", 0)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( poly8813, poly88 )
diff --git a/src/mess/drivers/primo.c b/src/mess/drivers/primo.c
index afc6a3f2f13..b5d0c0b9bef 100644
--- a/src/mess/drivers/primo.c
+++ b/src/mess/drivers/primo.c
@@ -275,8 +275,8 @@ static MACHINE_CONFIG_START( primoa32, primo_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
/* snapshot/quickload */
- MCFG_SNAPSHOT_ADD("snapshot", primo, "pss", 0)
- MCFG_QUICKLOAD_ADD("quickload", primo, "pp", 0)
+ MCFG_SNAPSHOT_ADD("snapshot", primo_state, primo, "pss", 0)
+ MCFG_QUICKLOAD_ADD("quickload", primo_state, primo, "pp", 0)
MCFG_CASSETTE_ADD( "cassette", primo_cassette_interface )
diff --git a/src/mess/drivers/psx.c b/src/mess/drivers/psx.c
index f3b6dcf4b24..957998b8222 100644
--- a/src/mess/drivers/psx.c
+++ b/src/mess/drivers/psx.c
@@ -50,6 +50,7 @@ public:
int load_psf( cpu_device *cpu, unsigned char *p_n_file, int n_len );
void cd_dma_read( UINT32 *p_n_psxram, UINT32 n_address, INT32 n_size );
void cd_dma_write( UINT32 *p_n_psxram, UINT32 n_address, INT32 n_size );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( psx_exe_load );
required_device<cpu_device> m_maincpu;
};
@@ -448,7 +449,7 @@ DIRECT_UPDATE_MEMBER(psx1_state::psx_setopbase)
return address;
}
-static QUICKLOAD_LOAD( psx_exe_load )
+QUICKLOAD_LOAD_MEMBER( psx1_state, psx_exe_load )
{
psx1_state *state = image.device().machine().driver_data<psx1_state>();
address_space &space = state->m_maincpu->space( AS_PROGRAM );
@@ -517,7 +518,7 @@ static MACHINE_CONFIG_START( psxntsc, psx1_state )
MCFG_SOUND_ROUTE( 1, "rspeaker", 1.00 )
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", psx_exe_load, "cpe,exe,psf,psx", 0)
+ MCFG_QUICKLOAD_ADD("quickload", psx1_state, psx_exe_load, "cpe,exe,psf,psx", 0)
MCFG_SOFTWARE_LIST_ADD("cd_list","psx")
@@ -551,7 +552,7 @@ static MACHINE_CONFIG_START( psxpal, psx1_state )
MCFG_SOUND_ROUTE( 1, "rspeaker", 1.00 )
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", psx_exe_load, "cpe,exe,psf,psx", 0)
+ MCFG_QUICKLOAD_ADD("quickload", psx1_state, psx_exe_load, "cpe,exe,psf,psx", 0)
MCFG_SOFTWARE_LIST_ADD("cd_list","psx")
diff --git a/src/mess/drivers/rex6000.c b/src/mess/drivers/rex6000.c
index ca80675a11a..dfd40299054 100644
--- a/src/mess/drivers/rex6000.c
+++ b/src/mess/drivers/rex6000.c
@@ -119,6 +119,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(irq_timer1);
TIMER_DEVICE_CALLBACK_MEMBER(irq_timer2);
TIMER_DEVICE_CALLBACK_MEMBER(sec_timer);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(rex6000);
};
@@ -561,7 +562,7 @@ void rex6000_state::palette_init()
palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
-static QUICKLOAD_LOAD(rex6000)
+QUICKLOAD_LOAD_MEMBER( rex6000_state,rex6000)
{
static const char magic[] = "ApplicationName:Addin";
running_machine &machine = image.device().machine();
@@ -662,7 +663,7 @@ static MACHINE_CONFIG_START( rex6000, rex6000_state )
MCFG_GFXDECODE(rex6000)
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", rex6000, "rex,ds2", 0)
+ MCFG_QUICKLOAD_ADD("quickload", rex6000_state, rex6000, "rex,ds2", 0)
MCFG_RP5C01_ADD(TC8521_TAG, XTAL_32_768kHz, rtc_intf)
diff --git a/src/mess/drivers/sorcerer.c b/src/mess/drivers/sorcerer.c
index c4a322897a9..f6e517e76b3 100644
--- a/src/mess/drivers/sorcerer.c
+++ b/src/mess/drivers/sorcerer.c
@@ -451,8 +451,8 @@ static MACHINE_CONFIG_START( sorcerer, sorcerer_state )
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
/* quickload */
- MCFG_SNAPSHOT_ADD("snapshot", sorcerer, "snp", 2)
- MCFG_QUICKLOAD_ADD("quickload", sorcerer, "bin", 3)
+ MCFG_SNAPSHOT_ADD("snapshot", sorcerer_state, sorcerer, "snp", 2)
+ MCFG_QUICKLOAD_ADD("quickload", sorcerer_state, sorcerer, "bin", 3)
MCFG_CASSETTE_ADD( "cassette", sorcerer_cassette_interface )
MCFG_CASSETTE_ADD( "cassette2", sorcerer_cassette_interface )
diff --git a/src/mess/drivers/spectrum.c b/src/mess/drivers/spectrum.c
index 7e8e49dbe54..cd0f87dd9e8 100644
--- a/src/mess/drivers/spectrum.c
+++ b/src/mess/drivers/spectrum.c
@@ -717,8 +717,8 @@ MACHINE_CONFIG_START( spectrum_common, spectrum_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
/* devices */
- MCFG_SNAPSHOT_ADD("snapshot", spectrum, "ach,frz,plusd,prg,sem,sit,sna,snp,snx,sp,z80,zx", 0)
- MCFG_QUICKLOAD_ADD("quickload", spectrum, "raw,scr", 2) // The delay prevents the screen from being cleared by the RAM test at boot
+ MCFG_SNAPSHOT_ADD("snapshot", spectrum_state, spectrum, "ach,frz,plusd,prg,sem,sit,sna,snp,snx,sp,z80,zx", 0)
+ MCFG_QUICKLOAD_ADD("quickload", spectrum_state, spectrum, "raw,scr", 2) // The delay prevents the screen from being cleared by the RAM test at boot
MCFG_CASSETTE_ADD( "cassette", spectrum_cassette_interface )
MCFG_SOFTWARE_LIST_ADD("cass_list","spectrum_cass")
diff --git a/src/mess/drivers/super80.c b/src/mess/drivers/super80.c
index e59dbbb0651..80094164f10 100644
--- a/src/mess/drivers/super80.c
+++ b/src/mess/drivers/super80.c
@@ -661,7 +661,7 @@ static MACHINE_CONFIG_START( super80, super80_state )
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", super80, "bin", 3)
+ MCFG_QUICKLOAD_ADD("quickload", super80_state, super80, "bin", 3)
/* cassette */
MCFG_CASSETTE_ADD( "cassette", super80_cassette_interface )
@@ -730,7 +730,7 @@ static MACHINE_CONFIG_START( super80v, super80_state )
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", super80, "bin", 3)
+ MCFG_QUICKLOAD_ADD("quickload", super80_state, super80, "bin", 3)
/* cassette */
MCFG_CASSETTE_ADD( "cassette", super80_cassette_interface )
diff --git a/src/mess/drivers/svmu.c b/src/mess/drivers/svmu.c
index 94914339ace..e206bfa2854 100644
--- a/src/mess/drivers/svmu.c
+++ b/src/mess/drivers/svmu.c
@@ -43,6 +43,7 @@ public:
DECLARE_READ8_MEMBER(p1_r);
DECLARE_WRITE8_MEMBER(p1_w);
DECLARE_READ8_MEMBER(p7_r);
+ DECLARE_QUICKLOAD_LOAD_MEMBER( svmu );
private:
UINT8 * m_bios;
@@ -191,7 +192,7 @@ inline void vmufat_write_word(UINT8* flash, UINT8 block, offs_t offset, UINT16 d
flash[(block * 512) + offset + 1] = (data>>8) & 0xff;
}
-static QUICKLOAD_LOAD( svmu )
+QUICKLOAD_LOAD_MEMBER( svmu_state, svmu )
{
running_machine &machine = image.device().machine();
svmu_state *state = machine.driver_data<svmu_state>();
@@ -322,7 +323,7 @@ static MACHINE_CONFIG_START( svmu, svmu_state )
/* devices */
MCFG_ATMEL_29C010_ADD("flash")
- MCFG_QUICKLOAD_ADD("quickload", svmu, "vms,bin", 0)
+ MCFG_QUICKLOAD_ADD("quickload", svmu_state, svmu, "vms,bin", 0)
MCFG_QUICKLOAD_INTERFACE("svmu_quik")
/* Software lists */
diff --git a/src/mess/drivers/ti85.c b/src/mess/drivers/ti85.c
index 6e274d44684..cb2f705153b 100644
--- a/src/mess/drivers/ti85.c
+++ b/src/mess/drivers/ti85.c
@@ -529,7 +529,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ti85d, ti85 )
- MCFG_SNAPSHOT_ADD("snapshot", ti8x, "sav", 0)
+ MCFG_SNAPSHOT_ADD("snapshot", ti85_state, ti8x, "sav", 0)
//MCFG_TI85SERIAL_ADD( "tiserial" )
MACHINE_CONFIG_END
@@ -594,7 +594,7 @@ static MACHINE_CONFIG_DERIVED( ti86, ti85 )
MCFG_DEVICE_REMOVE("nvram")
MCFG_NVRAM_HANDLER( ti86 )
- MCFG_SNAPSHOT_ADD("snapshot", ti8x, "sav", 0)
+ MCFG_SNAPSHOT_ADD("snapshot", ti85_state, ti8x, "sav", 0)
//MCFG_TI86SERIAL_ADD( "tiserial" )
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/tmc1800.c b/src/mess/drivers/tmc1800.c
index 13c0131413f..75afc90f656 100644
--- a/src/mess/drivers/tmc1800.c
+++ b/src/mess/drivers/tmc1800.c
@@ -766,7 +766,7 @@ static const cassette_interface tmc1800_cassette_interface =
NULL
};
-static QUICKLOAD_LOAD( tmc1800 )
+QUICKLOAD_LOAD_MEMBER( tmc1800_state, tmc1800 )
{
tmc1800_state *state = image.device().machine().driver_data<tmc1800_state>();
UINT8 *ptr = state->m_rom->base();
@@ -799,7 +799,7 @@ static MACHINE_CONFIG_START( tmc1800, tmc1800_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
// devices
- MCFG_QUICKLOAD_ADD("quickload", tmc1800, "bin", 0)
+ MCFG_QUICKLOAD_ADD("quickload", tmc1800_state, tmc1800, "bin", 0)
MCFG_CASSETTE_ADD( "cassette", tmc1800_cassette_interface )
// internal ram
@@ -825,7 +825,7 @@ static MACHINE_CONFIG_START( osc1000b, osc1000b_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
// devices
- MCFG_QUICKLOAD_ADD("quickload", tmc1800, "bin", 0)
+ MCFG_QUICKLOAD_ADD("quickload", tmc1800_state, tmc1800, "bin", 0)
MCFG_CASSETTE_ADD( "cassette", tmc1800_cassette_interface )
// internal ram
@@ -845,7 +845,7 @@ static MACHINE_CONFIG_START( tmc2000, tmc2000_state )
MCFG_FRAGMENT_ADD(tmc2000_video)
// devices
- MCFG_QUICKLOAD_ADD("quickload", tmc1800, "bin", 0)
+ MCFG_QUICKLOAD_ADD("quickload", tmc1800_state, tmc1800, "bin", 0)
MCFG_CASSETTE_ADD( "cassette", tmc1800_cassette_interface )
// internal ram
@@ -865,7 +865,7 @@ static MACHINE_CONFIG_START( nano, nano_state )
MCFG_FRAGMENT_ADD(nano_video)
// devices
- MCFG_QUICKLOAD_ADD("quickload", tmc1800, "bin", 0)
+ MCFG_QUICKLOAD_ADD("quickload", tmc1800_state, tmc1800, "bin", 0)
MCFG_CASSETTE_ADD( "cassette", tmc1800_cassette_interface )
// internal ram
diff --git a/src/mess/drivers/trs80.c b/src/mess/drivers/trs80.c
index 266e4654f02..4859d4db050 100644
--- a/src/mess/drivers/trs80.c
+++ b/src/mess/drivers/trs80.c
@@ -614,7 +614,7 @@ static MACHINE_CONFIG_DERIVED( model1, trs80 ) // model I, level II
/* devices */
MCFG_CASSETTE_MODIFY( "cassette", trs80l2_cassette_interface )
- MCFG_QUICKLOAD_ADD("quickload", trs80_cmd, "cmd", 0.5)
+ MCFG_QUICKLOAD_ADD("quickload", trs80_state, trs80_cmd, "cmd", 0.5)
MCFG_FD1793_ADD("wd179x", trs80_wd17xx_interface ) // should be FD1771 or FD1791 but inverted data lines are too tricky to fix now
MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(trs80_floppy_interface)
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
diff --git a/src/mess/drivers/tvc.c b/src/mess/drivers/tvc.c
index 7864731ee8a..fcf04c054f5 100644
--- a/src/mess/drivers/tvc.c
+++ b/src/mess/drivers/tvc.c
@@ -613,7 +613,7 @@ WRITE_LINE_MEMBER(tvc_state::tvc_centronics_ack)
m_centronics_ff = 1;
}
-static QUICKLOAD_LOAD(tvc64)
+QUICKLOAD_LOAD_MEMBER( tvc_state,tvc64)
{
running_machine &machine = image.device().machine();
UINT8 first_byte;
@@ -726,7 +726,7 @@ static MACHINE_CONFIG_START( tvc, tvc_state )
MCFG_CASSETTE_ADD( "cassette", tvc_cassette_interface )
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", tvc64, "cas", 6)
+ MCFG_QUICKLOAD_ADD("quickload", tvc_state, tvc64, "cas", 6)
/* Software lists */
MCFG_SOFTWARE_LIST_ADD("cart_list", "tvc_cart")
diff --git a/src/mess/drivers/vc4000.c b/src/mess/drivers/vc4000.c
index 493495187d1..a7f776bae68 100644
--- a/src/mess/drivers/vc4000.c
+++ b/src/mess/drivers/vc4000.c
@@ -106,8 +106,6 @@ to work on the vc4000 as well. Procedure:
#include "includes/vc4000.h"
-static QUICKLOAD_LOAD( vc4000 );
-
READ8_MEMBER( vc4000_state::vc4000_key_r )
{
UINT8 data=0;
@@ -408,7 +406,7 @@ static MACHINE_CONFIG_START( vc4000, vc4000_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", vc4000, "pgm,tvc", 0)
+ MCFG_QUICKLOAD_ADD("quickload", vc4000_state, vc4000, "pgm,tvc", 0)
/* cartridge */
MCFG_CARTSLOT_ADD("cart")
@@ -526,7 +524,7 @@ ROM_START( elektor )
ROM_LOAD( "elektor.rom", 0x0000, 0x0800, CRC(e6ef1ee1) SHA1(6823b5a22582344016415f2a37f9f3a2dc75d2a7))
ROM_END
-QUICKLOAD_LOAD(vc4000)
+QUICKLOAD_LOAD_MEMBER( vc4000_state,vc4000)
{
address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
diff --git a/src/mess/drivers/vic20.c b/src/mess/drivers/vic20.c
index 10517a72835..4269b003604 100644
--- a/src/mess/drivers/vic20.c
+++ b/src/mess/drivers/vic20.c
@@ -11,7 +11,7 @@
-static QUICKLOAD_LOAD( cbm_vc20 )
+QUICKLOAD_LOAD_MEMBER( vic20_state, cbm_vc20 )
{
return general_cbm_loadsnap(image, file_type, quickload_size, 0, cbm_quick_sethiaddress);
}
@@ -672,7 +672,7 @@ static MACHINE_CONFIG_START( vic20, vic20_state )
MCFG_CBM_IEC_ADD("c1541")
MCFG_CBM_IEC_BUS_SRQ_CALLBACK(DEVWRITELINE(M6522_2_TAG, via6522_device, write_cb1))
MCFG_VIC20_USER_PORT_ADD(VIC20_USER_PORT_TAG, user_intf, vic20_user_port_cards, NULL, NULL)
- MCFG_QUICKLOAD_ADD("quickload", cbm_vc20, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
+ MCFG_QUICKLOAD_ADD("quickload", vic20_state, cbm_vc20, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
// software lists
MCFG_SOFTWARE_LIST_ADD("cart_list", "vic1001_cart")
diff --git a/src/mess/drivers/vip.c b/src/mess/drivers/vip.c
index bb0acefd16c..48e4c4769be 100644
--- a/src/mess/drivers/vip.c
+++ b/src/mess/drivers/vip.c
@@ -712,10 +712,10 @@ void vip_state::machine_reset()
//-------------------------------------------------
-// QUICKLOAD_LOAD( vip )
+// QUICKLOAD_LOAD_MEMBER( vip_state, vip )
//-------------------------------------------------
-static QUICKLOAD_LOAD( vip )
+QUICKLOAD_LOAD_MEMBER( vip_state, vip )
{
vip_state *state = image.device().machine().driver_data<vip_state>();
UINT8 *ram = state->m_ram->pointer();
@@ -787,7 +787,7 @@ static MACHINE_CONFIG_START( vip, vip_state )
MCFG_VIP_EXPANSION_SLOT_ADD(VIP_EXPANSION_SLOT_TAG, XTAL_3_52128MHz/2, expansion_intf, vip_expansion_cards, NULL, NULL)
// devices
- MCFG_QUICKLOAD_ADD("quickload", vip, "bin,c8,c8x", 0)
+ MCFG_QUICKLOAD_ADD("quickload", vip_state, vip, "bin,c8,c8x", 0)
MCFG_CASSETTE_ADD("cassette", vip_cassette_interface)
// software lists
diff --git a/src/mess/drivers/vtech1.c b/src/mess/drivers/vtech1.c
index b8624e69471..dd0c869c8e5 100644
--- a/src/mess/drivers/vtech1.c
+++ b/src/mess/drivers/vtech1.c
@@ -200,6 +200,7 @@ public:
DECLARE_READ8_MEMBER(vtech1_printer_r);
DECLARE_WRITE8_MEMBER(vtech1_strobe_w);
DECLARE_READ8_MEMBER(vtech1_mc6847_videoram_r);
+ DECLARE_SNAPSHOT_LOAD_MEMBER( vtech1 );
void vtech1_get_track();
void vtech1_put_track();
required_device<cpu_device> m_maincpu;
@@ -210,7 +211,7 @@ public:
SNAPSHOT LOADING
***************************************************************************/
-static SNAPSHOT_LOAD( vtech1 )
+SNAPSHOT_LOAD_MEMBER( vtech1_state, vtech1 )
{
vtech1_state *vtech1 = image.device().machine().driver_data<vtech1_state>();
address_space &space = vtech1->m_maincpu->space(AS_PROGRAM);
@@ -985,7 +986,7 @@ static MACHINE_CONFIG_START( laser110, vtech1_state )
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
/* snapshot/quickload */
- MCFG_SNAPSHOT_ADD("snapshot", vtech1, "vz", 1.5)
+ MCFG_SNAPSHOT_ADD("snapshot", vtech1_state, vtech1, "vz", 1.5)
MCFG_CASSETTE_ADD( "cassette", laser_cassette_interface )
diff --git a/src/mess/drivers/z1013.c b/src/mess/drivers/z1013.c
index dc1dc11a217..a5e1f5ebf3e 100644
--- a/src/mess/drivers/z1013.c
+++ b/src/mess/drivers/z1013.c
@@ -77,6 +77,7 @@ public:
virtual void machine_reset();
virtual void video_start();
UINT32 screen_update_z1013(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ DECLARE_SNAPSHOT_LOAD_MEMBER( z1013 );
};
@@ -317,7 +318,7 @@ const z80pio_interface z1013k7659_z80pio_intf =
DEVCB_NULL
};
-SNAPSHOT_LOAD( z1013 )
+SNAPSHOT_LOAD_MEMBER( z1013_state, z1013 )
{
/* header layout
0000,0001 - load address
@@ -417,7 +418,7 @@ static MACHINE_CONFIG_START( z1013, z1013_state )
/* Devices */
MCFG_Z80PIO_ADD( "z80pio", XTAL_1MHz, z1013_z80pio_intf )
MCFG_CASSETTE_ADD( "cassette", z1013_cassette_interface )
- MCFG_SNAPSHOT_ADD("snapshot", z1013, "z80", 0)
+ MCFG_SNAPSHOT_ADD("snapshot", z1013_state, z1013, "z80", 0)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( z1013k76, z1013 )
diff --git a/src/mess/includes/ace.h b/src/mess/includes/ace.h
index 03cf2de6935..55c30db153d 100644
--- a/src/mess/includes/ace.h
+++ b/src/mess/includes/ace.h
@@ -70,6 +70,7 @@ public:
DECLARE_WRITE8_MEMBER(pio_bc_w);
DECLARE_READ8_MEMBER(sby_r);
DECLARE_WRITE8_MEMBER(ald_w);
+ DECLARE_SNAPSHOT_LOAD_MEMBER( ace );
};
#endif /* ACE_H_ */
diff --git a/src/mess/includes/amstrad.h b/src/mess/includes/amstrad.h
index 8e75aa36252..99233903264 100644
--- a/src/mess/includes/amstrad.h
+++ b/src/mess/includes/amstrad.h
@@ -230,6 +230,7 @@ public:
void amstrad_handle_snapshot(unsigned char *pSnapshot);
void amstrad_rethinkMemory();
+ DECLARE_SNAPSHOT_LOAD_MEMBER( amstrad );
protected:
required_memory_region m_region_maincpu;
@@ -300,7 +301,6 @@ WRITE_LINE_DEVICE_HANDLER( cpc_nmi_w );
WRITE_LINE_DEVICE_HANDLER( cpc_romdis );
WRITE_LINE_DEVICE_HANDLER( cpc_romen );
-SNAPSHOT_LOAD( amstrad );
extern const mc6845_interface amstrad_mc6845_intf;
extern const mc6845_interface amstrad_plus_mc6845_intf;
diff --git a/src/mess/includes/apple1.h b/src/mess/includes/apple1.h
index 0f9b050d0c1..1b69c40104f 100644
--- a/src/mess/includes/apple1.h
+++ b/src/mess/includes/apple1.h
@@ -79,13 +79,13 @@ public:
void cassette_toggle_output();
terminal_t *terminal_create(int gfx, int blank_char, int char_bits,int (*getcursorcode)(int original_code),int num_cols, int num_rows);
attotime apple1_vh_dsp_time_to_ready();
+ DECLARE_SNAPSHOT_LOAD_MEMBER( apple1 );
};
/*----------- defined in machine/apple1.c -----------*/
extern const pia6821_interface apple1_pia0;
-SNAPSHOT_LOAD( apple1 );
/*----------- defined in drivers/apple1.c -----------*/
diff --git a/src/mess/includes/atom.h b/src/mess/includes/atom.h
index 7fa552f334e..e9fba6dfa7f 100644
--- a/src/mess/includes/atom.h
+++ b/src/mess/includes/atom.h
@@ -117,6 +117,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(cassette_output_tick);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( atom_cart );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(atom_atm);
+ void image_fread_memory(device_image_interface &image, UINT16 addr, UINT32 count);
};
class atomeb_state : public atom_state
diff --git a/src/mess/includes/avigo.h b/src/mess/includes/avigo.h
index a7a34d06ed1..1f2e41f368e 100644
--- a/src/mess/includes/avigo.h
+++ b/src/mess/includes/avigo.h
@@ -107,5 +107,7 @@ public:
virtual void palette_init();
TIMER_DEVICE_CALLBACK_MEMBER(avigo_scan_timer);
TIMER_DEVICE_CALLBACK_MEMBER(avigo_1hz_timer);
+
+ DECLARE_QUICKLOAD_LOAD_MEMBER( avigo);
};
#endif /* AVIGO_H_ */
diff --git a/src/mess/includes/c128.h b/src/mess/includes/c128.h
index d4d84e1d494..9b9dd03fc51 100644
--- a/src/mess/includes/c128.h
+++ b/src/mess/includes/c128.h
@@ -193,7 +193,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER( restore );
DECLARE_INPUT_CHANGED_MEMBER( caps_lock );
-
+
+ DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_c64 );
// memory state
int m_z80en;
int m_loram;
diff --git a/src/mess/includes/c64.h b/src/mess/includes/c64.h
index 4faaedada50..042bb1a980e 100644
--- a/src/mess/includes/c64.h
+++ b/src/mess/includes/c64.h
@@ -137,6 +137,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( exp_dma_w );
DECLARE_WRITE_LINE_MEMBER( exp_reset_w );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_c64 );
+
// memory state
int m_loram;
int m_hiram;
diff --git a/src/mess/includes/c65.h b/src/mess/includes/c65.h
index f1318c5b23d..e068b846734 100644
--- a/src/mess/includes/c65.h
+++ b/src/mess/includes/c65.h
@@ -10,6 +10,7 @@
#include "machine/6526cia.h"
#include "machine/cbmiec.h"
#include "imagedev/cartslot.h"
+#include "imagedev/snapquik.h"
#define C64_MAX_ROMBANK 64 // .crt files contain multiple 'CHIPs', i.e. rom banks (of variable size) with headers. Known carts have at most 64 'CHIPs'.
@@ -158,6 +159,8 @@ public:
DECLARE_WRITE8_MEMBER( c65_write_io_dc00 );
DECLARE_READ8_MEMBER( c65_read_io );
DECLARE_READ8_MEMBER( c65_read_io_dc00 );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_c65 );
+
int c64_paddle_read( device_t *device, address_space &space, int which );
void c65_nmi( );
void c65_irq( int level );
diff --git a/src/mess/includes/cbm2.h b/src/mess/includes/cbm2.h
index 0145fc7d801..9bcd842afc4 100644
--- a/src/mess/includes/cbm2.h
+++ b/src/mess/includes/cbm2.h
@@ -215,6 +215,7 @@ public:
IRQ_CALLBACK_MEMBER( pic_irq_callback );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( cbmb );
// memory state
int m_dramon;
int m_busen1;
@@ -312,6 +313,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( user_irq_w );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( p500 );
// video state
int m_statvid;
int m_vicdotsel;
diff --git a/src/mess/includes/comx35.h b/src/mess/includes/comx35.h
index 3a590400b39..c83ee50d6f5 100644
--- a/src/mess/includes/comx35.h
+++ b/src/mess/includes/comx35.h
@@ -91,6 +91,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( int_w );
DECLARE_WRITE_LINE_MEMBER( prd_w );
DECLARE_INPUT_CHANGED_MEMBER( trigger_reset );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( comx35_comx );
// processor state
int m_clear; // CPU mode
diff --git a/src/mess/includes/cosmicos.h b/src/mess/includes/cosmicos.h
index 93bfc4e669f..5ec6b9892ee 100644
--- a/src/mess/includes/cosmicos.h
+++ b/src/mess/includes/cosmicos.h
@@ -109,6 +109,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER( memory_disable );
DECLARE_DIRECT_UPDATE_MEMBER(cosmicos_direct_update_handler);
+ DECLARE_QUICKLOAD_LOAD_MEMBER( cosmicos );
+
void set_cdp1802_mode(int mode);
void clear_input_data();
void set_ram_mode();
diff --git a/src/mess/includes/cybiko.h b/src/mess/includes/cybiko.h
index 0aaeb8eb68e..c5a7e6dede1 100644
--- a/src/mess/includes/cybiko.h
+++ b/src/mess/includes/cybiko.h
@@ -90,10 +90,10 @@ public:
virtual void machine_reset();
virtual void palette_init();
void machine_stop_cybiko();
+ DECLARE_QUICKLOAD_LOAD_MEMBER( cybiko );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( cybikoxt );
};
NVRAM_HANDLER( cybikoxt );
-QUICKLOAD_LOAD( cybiko );
-QUICKLOAD_LOAD( cybikoxt );
#endif /* CYBIKO_H_ */
diff --git a/src/mess/includes/elf.h b/src/mess/includes/elf.h
index f4700d996e9..70a391333c6 100644
--- a/src/mess/includes/elf.h
+++ b/src/mess/includes/elf.h
@@ -59,6 +59,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( da_w );
DECLARE_INPUT_CHANGED_MEMBER( input_w );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( elf );
// display state
UINT8 m_data;
};
diff --git a/src/mess/includes/galaxy.h b/src/mess/includes/galaxy.h
index 31e73e4d09a..ac5480cab83 100644
--- a/src/mess/includes/galaxy.h
+++ b/src/mess/includes/galaxy.h
@@ -44,6 +44,7 @@ public:
void galaxy_set_timer();
void galaxy_setup_snapshot (const UINT8 * data, UINT32 size);
required_device<cpu_device> m_maincpu;
+ DECLARE_SNAPSHOT_LOAD_MEMBER( galaxy );
protected:
required_device<cassette_image_device> m_cassette;
required_device<ram_device> m_ram;
@@ -52,7 +53,4 @@ protected:
};
-/*----------- defined in machine/galaxy.c -----------*/
-SNAPSHOT_LOAD( galaxy );
-
#endif /* GALAXY_H_ */
diff --git a/src/mess/includes/kaypro.h b/src/mess/includes/kaypro.h
index 47e68dd9c0b..d594148e5ae 100644
--- a/src/mess/includes/kaypro.h
+++ b/src/mess/includes/kaypro.h
@@ -83,6 +83,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(kaypro_interrupt);
DECLARE_READ8_MEMBER(kaypro_sio_r);
DECLARE_WRITE8_MEMBER(kaypro_sio_w);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(kayproii );
+ DECLARE_QUICKLOAD_LOAD_MEMBER(kaypro2x );
};
@@ -103,10 +105,6 @@ extern const z80pio_interface kaypro4_pio_s_intf;
extern const z80sio_interface kaypro_sio_intf;
extern const wd17xx_interface kaypro_wd1793_interface;
-
-QUICKLOAD_LOAD( kayproii );
-QUICKLOAD_LOAD( kaypro2x );
-
/*----------- defined in video/kaypro.c -----------*/
MC6845_UPDATE_ROW( kaypro2x_update_row );
diff --git a/src/mess/includes/kc.h b/src/mess/includes/kc.h
index 7907d63bd89..7b4ce9eb3d5 100644
--- a/src/mess/includes/kc.h
+++ b/src/mess/includes/kc.h
@@ -149,6 +149,8 @@ public:
TIMER_CALLBACK_MEMBER(kc_cassette_oneshot_timer);
TIMER_CALLBACK_MEMBER(kc_cassette_timer_callback);
TIMER_DEVICE_CALLBACK_MEMBER(kc_scanline);
+
+ DECLARE_QUICKLOAD_LOAD_MEMBER( kc );
};
@@ -182,9 +184,4 @@ public:
UINT8 * m_display_video_ram;
};
-
-/*----------- defined in machine/kc.c -----------*/
-
-QUICKLOAD_LOAD( kc );
-
#endif /* KC_H_ */
diff --git a/src/mess/includes/lviv.h b/src/mess/includes/lviv.h
index 0f5a31d7d80..0686d421a1a 100644
--- a/src/mess/includes/lviv.h
+++ b/src/mess/includes/lviv.h
@@ -53,6 +53,7 @@ public:
void lviv_setup_snapshot (UINT8 * data);
void dump_registers();
int lviv_verify_snapshot (UINT8 * data, UINT32 size);
+ DECLARE_SNAPSHOT_LOAD_MEMBER( lviv );
};
@@ -62,8 +63,6 @@ extern const i8255_interface lviv_ppi8255_interface_0;
extern const i8255_interface lviv_ppi8255_interface_1;
-SNAPSHOT_LOAD( lviv );
-
/*----------- defined in video/lviv.c -----------*/
extern const unsigned char lviv_palette[8*3];
diff --git a/src/mess/includes/lynx.h b/src/mess/includes/lynx.h
index 47f7233c1b5..8372a15a9bb 100644
--- a/src/mess/includes/lynx.h
+++ b/src/mess/includes/lynx.h
@@ -8,7 +8,7 @@
#define LYNX_H_
#include "imagedev/cartslot.h"
-
+#include "imagedev/snapquik.h"
#define LYNX_CART 0
#define LYNX_QUICKLOAD 1
@@ -163,6 +163,7 @@ public:
UINT32 lynx_time_factor(int val);
void lynx_uart_reset();
int lynx_verify_cart (char *header, int kind);
+ DECLARE_QUICKLOAD_LOAD_MEMBER( lynx );
};
diff --git a/src/mess/includes/mbee.h b/src/mess/includes/mbee.h
index 904771a5174..1f2e0f58974 100644
--- a/src/mess/includes/mbee.h
+++ b/src/mess/includes/mbee.h
@@ -173,6 +173,8 @@ public:
TIMER_CALLBACK_MEMBER(mbee256_kbd);
TIMER_CALLBACK_MEMBER(mbee_rtc_irq);
TIMER_CALLBACK_MEMBER(mbee_reset);
+ DECLARE_QUICKLOAD_LOAD_MEMBER( mbee );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( mbee_z80bin );
protected:
required_memory_bank m_boot;
@@ -214,9 +216,6 @@ protected:
extern const wd17xx_interface mbee_wd17xx_interface;
extern const z80pio_interface mbee_z80pio_intf;
-QUICKLOAD_LOAD( mbee );
-QUICKLOAD_LOAD( mbee_z80bin );
-
/*----------- defined in video/mbee.c -----------*/
MC6845_UPDATE_ROW( mbee_update_row );
diff --git a/src/mess/includes/microtan.h b/src/mess/includes/microtan.h
index d5ebd15da90..a78dcaf0f1b 100644
--- a/src/mess/includes/microtan.h
+++ b/src/mess/includes/microtan.h
@@ -89,6 +89,8 @@ public:
int parse_zillion_hex(UINT8 *snapshot_buff, char *src);
void microtan_set_cpu_regs(const UINT8 *snapshot_buff, int base);
void microtan_snapshot_copy(UINT8 *snapshot_buff, int snapshot_size);
+ DECLARE_SNAPSHOT_LOAD_MEMBER( microtan );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( microtan );
};
@@ -96,7 +98,4 @@ public:
extern const via6522_interface microtan_via6522_0;
extern const via6522_interface microtan_via6522_1;
-
-SNAPSHOT_LOAD( microtan );
-QUICKLOAD_LOAD( microtan );
#endif /* MICROTAN_H_ */
diff --git a/src/mess/includes/mtx.h b/src/mess/includes/mtx.h
index 486171837bf..43b25fd1576 100644
--- a/src/mess/includes/mtx.h
+++ b/src/mess/includes/mtx.h
@@ -77,10 +77,7 @@ public:
DECLARE_WRITE8_MEMBER(mtx_cst_w);
DECLARE_READ8_MEMBER(mtx_prt_r);
void bankswitch(UINT8 data);
+ DECLARE_SNAPSHOT_LOAD_MEMBER( mtx );
};
-/*----------- defined in machine/mtx.c -----------*/
-
-SNAPSHOT_LOAD( mtx );
-
#endif /* __MTX_H__ */
diff --git a/src/mess/includes/nascom1.h b/src/mess/includes/nascom1.h
index bd836c72ff9..1134f1698b4 100644
--- a/src/mess/includes/nascom1.h
+++ b/src/mess/includes/nascom1.h
@@ -61,12 +61,11 @@ public:
DECLARE_DEVICE_IMAGE_UNLOAD_MEMBER( nascom1_cassette );
required_device<cpu_device> m_maincpu;
required_device<cassette_image_device> m_cassette;
+ DECLARE_SNAPSHOT_LOAD_MEMBER( nascom1 );
};
/*----------- defined in machine/nascom1.c -----------*/
extern const wd17xx_interface nascom2_wd17xx_interface;
-
-SNAPSHOT_LOAD( nascom1 );
#endif /* NASCOM1_H_ */
diff --git a/src/mess/includes/pet.h b/src/mess/includes/pet.h
index 25262879949..97f268f0c39 100644
--- a/src/mess/includes/pet.h
+++ b/src/mess/includes/pet.h
@@ -128,7 +128,9 @@ public:
DECLARE_WRITE_LINE_MEMBER( pia2_irqb_w );
TIMER_DEVICE_CALLBACK_MEMBER( sync_tick );
-
+
+ DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_pet );
+
enum
{
SEL0 = 0,
diff --git a/src/mess/includes/plus4.h b/src/mess/includes/plus4.h
index 7486d0fd21d..92618223736 100644
--- a/src/mess/includes/plus4.h
+++ b/src/mess/includes/plus4.h
@@ -120,6 +120,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
DECLARE_WRITE_LINE_MEMBER( exp_irq_w );
+
+ DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_c16 );
enum
{
diff --git a/src/mess/includes/poly88.h b/src/mess/includes/poly88.h
index 0685f301925..0c36d90cfdc 100644
--- a/src/mess/includes/poly88.h
+++ b/src/mess/includes/poly88.h
@@ -54,7 +54,7 @@ public:
TIMER_CALLBACK_MEMBER(setup_machine_state);
DECLARE_WRITE_LINE_MEMBER(poly88_usart_rxready);
IRQ_CALLBACK_MEMBER(poly88_irq_callback);
-
+ DECLARE_SNAPSHOT_LOAD_MEMBER( poly88 );
protected:
required_device<cpu_device> m_maincpu;
required_device<i8251_device> m_uart;
@@ -75,6 +75,5 @@ protected:
/*----------- defined in machine/poly88.c -----------*/
extern const i8251_interface poly88_usart_interface;
-extern SNAPSHOT_LOAD( poly88 );
#endif /* POLY88_H_ */
diff --git a/src/mess/includes/primo.h b/src/mess/includes/primo.h
index 9eeb01a0a16..7f0e7c39dce 100644
--- a/src/mess/includes/primo.h
+++ b/src/mess/includes/primo.h
@@ -48,13 +48,9 @@ public:
void primo_common_machine_init ();
void primo_setup_pss (UINT8* snapshot_data, UINT32 snapshot_size);
void primo_setup_pp (UINT8* quickload_data, UINT32 quickload_size);
+ DECLARE_SNAPSHOT_LOAD_MEMBER( primo );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( primo );
};
-/*----------- defined in machine/primo.c -----------*/
-
-extern SNAPSHOT_LOAD( primo );
-extern QUICKLOAD_LOAD( primo );
-
-
#endif /* PRIMO_H_ */
diff --git a/src/mess/includes/sorcerer.h b/src/mess/includes/sorcerer.h
index d51a544267f..f01ce54b356 100644
--- a/src/mess/includes/sorcerer.h
+++ b/src/mess/includes/sorcerer.h
@@ -89,11 +89,8 @@ public:
TIMER_CALLBACK_MEMBER(sorcerer_serial_tc);
TIMER_CALLBACK_MEMBER(sorcerer_cassette_tc);
TIMER_CALLBACK_MEMBER(sorcerer_reset);
+ DECLARE_SNAPSHOT_LOAD_MEMBER( sorcerer );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( sorcerer);
};
-
-/*----------- defined in machine/sorcerer.c -----------*/
-SNAPSHOT_LOAD( sorcerer );
-QUICKLOAD_LOAD(sorcerer);
-
#endif /* SORCERER_H_ */
diff --git a/src/mess/includes/spectrum.h b/src/mess/includes/spectrum.h
index 856a1b59c06..6e7ecb94074 100644
--- a/src/mess/includes/spectrum.h
+++ b/src/mess/includes/spectrum.h
@@ -180,6 +180,10 @@ public:
void spectrum_plus3_update_memory();
void ts2068_update_memory();
+ DECLARE_SNAPSHOT_LOAD_MEMBER( spectrum );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( spectrum );
+
+
protected:
required_device<cpu_device> m_maincpu;
required_device<cassette_image_device> m_cassette;
diff --git a/src/mess/includes/super80.h b/src/mess/includes/super80.h
index 8e4035bd239..0d11d2df066 100644
--- a/src/mess/includes/super80.h
+++ b/src/mess/includes/super80.h
@@ -114,6 +114,7 @@ public:
void palette_set_colors_rgb(const UINT8 *colors);
void super80_cassette_motor( UINT8 data );
void driver_init_common( );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( super80 );
};
@@ -123,4 +124,3 @@ MC6845_UPDATE_ROW( super80v_update_row );
/*----------- defined in machine/super80.c -----------*/
extern const z80pio_interface super80_pio_intf;
-QUICKLOAD_LOAD( super80 );
diff --git a/src/mess/includes/ti85.h b/src/mess/includes/ti85.h
index 1eaa364bdfe..0f89eb982ee 100644
--- a/src/mess/includes/ti85.h
+++ b/src/mess/includes/ti85.h
@@ -109,6 +109,7 @@ public:
void ti8x_snapshot_setup_registers (UINT8 * data);
void ti85_setup_snapshot (UINT8 * data);
void ti86_setup_snapshot (UINT8 * data);
+ DECLARE_SNAPSHOT_LOAD_MEMBER( ti8x );
};
@@ -116,7 +117,5 @@ public:
NVRAM_HANDLER( ti83p );
NVRAM_HANDLER( ti86 );
-SNAPSHOT_LOAD( ti8x );
-
#endif /* TI85_H_ */
diff --git a/src/mess/includes/tmc1800.h b/src/mess/includes/tmc1800.h
index 9061321c2cf..4a5495bdaf5 100644
--- a/src/mess/includes/tmc1800.h
+++ b/src/mess/includes/tmc1800.h
@@ -55,6 +55,8 @@ public:
int m_keylatch; /* key latch */
DECLARE_DRIVER_INIT(tmc1800);
TIMER_CALLBACK_MEMBER(setup_beep);
+
+ DECLARE_QUICKLOAD_LOAD_MEMBER( tmc1800 );
};
class osc1000b_state : public driver_device
diff --git a/src/mess/includes/trs80.h b/src/mess/includes/trs80.h
index 0b56f459de4..f53f6fd7f3b 100644
--- a/src/mess/includes/trs80.h
+++ b/src/mess/includes/trs80.h
@@ -152,6 +152,7 @@ public:
INTERRUPT_GEN_MEMBER(trs80_fdc_interrupt);
TIMER_CALLBACK_MEMBER(cassette_data_callback);
DECLARE_WRITE_LINE_MEMBER(trs80_fdc_intrq_w);
+ DECLARE_QUICKLOAD_LOAD_MEMBER( trs80_cmd );
protected:
required_memory_region m_region_maincpu;
@@ -191,6 +192,4 @@ protected:
extern const wd17xx_interface trs80_wd17xx_interface;
-QUICKLOAD_LOAD( trs80_cmd );
-
#endif /* TRS80_H_ */
diff --git a/src/mess/includes/tvc.h b/src/mess/includes/tvc.h
index f9a67594b2d..67ff580b283 100644
--- a/src/mess/includes/tvc.h
+++ b/src/mess/includes/tvc.h
@@ -116,6 +116,8 @@ public:
DECLARE_READ8_MEMBER(tvc_expansion_r);
DECLARE_READ8_MEMBER(tvc_exp_id_r);
DECLARE_WRITE8_MEMBER(tvc_expint_ack_w);
+
+ DECLARE_QUICKLOAD_LOAD_MEMBER( tvc64);
tvcexp_slot_device * m_expansions[4];
UINT8 m_video_mode;
diff --git a/src/mess/includes/vc4000.h b/src/mess/includes/vc4000.h
index 110d030990f..40163a5f60d 100644
--- a/src/mess/includes/vc4000.h
+++ b/src/mess/includes/vc4000.h
@@ -115,6 +115,7 @@ public:
UINT32 screen_update_vc4000(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(vc4000_video_line);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(vc4000_cart);
+ DECLARE_QUICKLOAD_LOAD_MEMBER(vc4000);
protected:
required_device<cpu_device> m_maincpu;
diff --git a/src/mess/includes/vic20.h b/src/mess/includes/vic20.h
index a99500e1d91..d682218fa19 100644
--- a/src/mess/includes/vic20.h
+++ b/src/mess/includes/vic20.h
@@ -108,6 +108,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( exp_reset_w );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_vc20 );
// keyboard state
int m_key_col;
diff --git a/src/mess/includes/vip.h b/src/mess/includes/vip.h
index ea8798dad5e..fbf83db2f9e 100644
--- a/src/mess/includes/vip.h
+++ b/src/mess/includes/vip.h
@@ -99,6 +99,7 @@ public:
DECLARE_INPUT_CHANGED_MEMBER( reset_w );
DECLARE_INPUT_CHANGED_MEMBER( beeper_w );
+ DECLARE_QUICKLOAD_LOAD_MEMBER( vip );
// memory state
int m_8000;
diff --git a/src/mess/machine/amstrad.c b/src/mess/machine/amstrad.c
index 917c1f87796..450fea311e4 100644
--- a/src/mess/machine/amstrad.c
+++ b/src/mess/machine/amstrad.c
@@ -3093,7 +3093,7 @@ MACHINE_RESET_MEMBER(amstrad_state,aleste)
/* load snapshot */
-SNAPSHOT_LOAD(amstrad)
+SNAPSHOT_LOAD_MEMBER( amstrad_state,amstrad)
{
UINT8 *snapshot;
diff --git a/src/mess/machine/apple1.c b/src/mess/machine/apple1.c
index df529d34b7c..a6ce16d2ba2 100644
--- a/src/mess/machine/apple1.c
+++ b/src/mess/machine/apple1.c
@@ -203,7 +203,7 @@ int apple1_state::apple1_verify_header (UINT8 *data)
** The image can be of arbitrary length, but it must fit in available
** memory.
*****************************************************************************/
-SNAPSHOT_LOAD(apple1)
+SNAPSHOT_LOAD_MEMBER( apple1_state,apple1)
{
apple1_state *state = image.device().machine().driver_data<apple1_state>();
UINT64 filesize, datasize;
diff --git a/src/mess/machine/cybiko.c b/src/mess/machine/cybiko.c
index badf03d29ec..63de668dc3e 100644
--- a/src/mess/machine/cybiko.c
+++ b/src/mess/machine/cybiko.c
@@ -34,7 +34,7 @@ DRIVER_INIT_MEMBER(cybiko_state,cybikoxt)
m_maincpu->space(AS_PROGRAM).install_ram(0x400000, 0x400000 + m_ram->size() - 1, 0, 0x200000 - m_ram->size(), m_ram->pointer());
}
-QUICKLOAD_LOAD( cybiko )
+QUICKLOAD_LOAD_MEMBER( cybiko_state, cybiko )
{
running_machine &machine = image.device().machine();
cybiko_state *state = machine.driver_data<cybiko_state>();
@@ -44,7 +44,7 @@ QUICKLOAD_LOAD( cybiko )
return IMAGE_INIT_PASS;
}
-QUICKLOAD_LOAD( cybikoxt )
+QUICKLOAD_LOAD_MEMBER( cybiko_state, cybikoxt )
{
running_machine &machine = image.device().machine();
cybiko_state *state = machine.driver_data<cybiko_state>();
diff --git a/src/mess/machine/galaxy.c b/src/mess/machine/galaxy.c
index a4fc34546c9..20ec09434ba 100644
--- a/src/mess/machine/galaxy.c
+++ b/src/mess/machine/galaxy.c
@@ -121,7 +121,7 @@ void galaxy_state::galaxy_setup_snapshot (const UINT8 * data, UINT32 size)
m_maincpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
}
-SNAPSHOT_LOAD( galaxy )
+SNAPSHOT_LOAD_MEMBER( galaxy_state, galaxy )
{
UINT8* snapshot_data;
diff --git a/src/mess/machine/kaypro.c b/src/mess/machine/kaypro.c
index 3b729ed402a..989757eef69 100644
--- a/src/mess/machine/kaypro.c
+++ b/src/mess/machine/kaypro.c
@@ -343,7 +343,7 @@ MACHINE_RESET_MEMBER(kaypro_state,kaypro2x)
************************************************************/
-QUICKLOAD_LOAD( kayproii )
+QUICKLOAD_LOAD_MEMBER( kaypro_state, kayproii )
{
kaypro_state *state = image.device().machine().driver_data<kaypro_state>();
address_space &space = state->m_maincpu->space(AS_PROGRAM);
@@ -366,7 +366,7 @@ QUICKLOAD_LOAD( kayproii )
return IMAGE_INIT_PASS;
}
-QUICKLOAD_LOAD( kaypro2x )
+QUICKLOAD_LOAD_MEMBER( kaypro_state, kaypro2x )
{
kaypro_state *state = image.device().machine().driver_data<kaypro_state>();
address_space &space = state->m_maincpu->space(AS_PROGRAM);
diff --git a/src/mess/machine/kc.c b/src/mess/machine/kc.c
index 3fb642e2f73..b9dc221a0a2 100644
--- a/src/mess/machine/kc.c
+++ b/src/mess/machine/kc.c
@@ -24,7 +24,7 @@ struct kcc_header
/* now type name that has appeared! */
/* load snapshot */
-QUICKLOAD_LOAD(kc)
+QUICKLOAD_LOAD_MEMBER( kc_state,kc)
{
kc_state *state = image.device().machine().driver_data<kc_state>();
UINT8 *data;
diff --git a/src/mess/machine/lviv.c b/src/mess/machine/lviv.c
index a23d3f23c69..af3575d556f 100644
--- a/src/mess/machine/lviv.c
+++ b/src/mess/machine/lviv.c
@@ -328,7 +328,7 @@ int lviv_state::lviv_verify_snapshot (UINT8 * data, UINT32 size)
return IMAGE_VERIFY_PASS;
}
-SNAPSHOT_LOAD( lviv )
+SNAPSHOT_LOAD_MEMBER( lviv_state, lviv )
{
UINT8 *lviv_snapshot_data;
lviv_state *state = image.device().machine().driver_data<lviv_state>();
diff --git a/src/mess/machine/mbee.c b/src/mess/machine/mbee.c
index e94dfbcd9f5..ff05ea4bc4f 100644
--- a/src/mess/machine/mbee.c
+++ b/src/mess/machine/mbee.c
@@ -750,7 +750,7 @@ DRIVER_INIT_MEMBER(mbee_state,mbeett)
************************************************************/
-QUICKLOAD_LOAD( mbee )
+QUICKLOAD_LOAD_MEMBER( mbee_state, mbee )
{
mbee_state *state = image.device().machine().driver_data<mbee_state>();
address_space &space = state->m_maincpu->space(AS_PROGRAM);
@@ -817,10 +817,10 @@ QUICKLOAD_LOAD( mbee )
/*-------------------------------------------------
- QUICKLOAD_LOAD( mbee_z80bin )
+ QUICKLOAD_LOAD_MEMBER( mbee_state, mbee_z80bin )
-------------------------------------------------*/
-QUICKLOAD_LOAD( mbee_z80bin )
+QUICKLOAD_LOAD_MEMBER( mbee_state, mbee_z80bin )
{
mbee_state *state = image.device().machine().driver_data<mbee_state>();
UINT16 execute_address, start_addr, end_addr;
diff --git a/src/mess/machine/microtan.c b/src/mess/machine/microtan.c
index dc653c148ef..ab750c407ff 100644
--- a/src/mess/machine/microtan.c
+++ b/src/mess/machine/microtan.c
@@ -871,7 +871,7 @@ void microtan_state::microtan_snapshot_copy(UINT8 *snapshot_buff, int snapshot_s
}
}
-SNAPSHOT_LOAD( microtan )
+SNAPSHOT_LOAD_MEMBER( microtan_state, microtan )
{
microtan_state *state = image.device().machine().driver_data<microtan_state>();
UINT8 *snapshot_buff;
@@ -887,7 +887,7 @@ SNAPSHOT_LOAD( microtan )
return IMAGE_INIT_PASS;
}
-QUICKLOAD_LOAD( microtan )
+QUICKLOAD_LOAD_MEMBER( microtan_state, microtan )
{
microtan_state *state = image.device().machine().driver_data<microtan_state>();
int snapshot_size;
diff --git a/src/mess/machine/mtx.c b/src/mess/machine/mtx.c
index 0485d7506de..04e8cf8abab 100644
--- a/src/mess/machine/mtx.c
+++ b/src/mess/machine/mtx.c
@@ -323,7 +323,7 @@ WRITE8_MEMBER(mtx_state::hrx_attr_w)
SNAPSHOT
***************************************************************************/
-SNAPSHOT_LOAD( mtx )
+SNAPSHOT_LOAD_MEMBER( mtx_state, mtx )
{
address_space &program = image.device().machine().device(Z80_TAG)->memory().space(AS_PROGRAM);
diff --git a/src/mess/machine/nascom1.c b/src/mess/machine/nascom1.c
index d13d64088d5..f6b0b42b88b 100644
--- a/src/mess/machine/nascom1.c
+++ b/src/mess/machine/nascom1.c
@@ -206,7 +206,7 @@ DEVICE_IMAGE_UNLOAD_MEMBER( nascom1_state,nascom1_cassette )
*
*************************************/
-SNAPSHOT_LOAD( nascom1 )
+SNAPSHOT_LOAD_MEMBER( nascom1_state, nascom1 )
{
UINT8 line[35];
diff --git a/src/mess/machine/poly88.c b/src/mess/machine/poly88.c
index ea7de3da342..40bea79a1f9 100644
--- a/src/mess/machine/poly88.c
+++ b/src/mess/machine/poly88.c
@@ -252,7 +252,7 @@ WRITE8_MEMBER(poly88_state::poly88_intr_w)
m_maincpu->set_input_line(0, CLEAR_LINE);
}
-SNAPSHOT_LOAD( poly88 )
+SNAPSHOT_LOAD_MEMBER( poly88_state, poly88 )
{
address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM);
UINT8* data= auto_alloc_array(image.device().machine(), UINT8, snapshot_size);
diff --git a/src/mess/machine/primo.c b/src/mess/machine/primo.c
index b3c9eaf25ef..38df4c04620 100644
--- a/src/mess/machine/primo.c
+++ b/src/mess/machine/primo.c
@@ -297,7 +297,7 @@ void primo_state::primo_setup_pss (UINT8* snapshot_data, UINT32 snapshot_size)
m_maincpu->space(AS_PROGRAM).write_byte( i+0x4000, snapshot_data[i+38]);
}
-SNAPSHOT_LOAD( primo )
+SNAPSHOT_LOAD_MEMBER( primo_state, primo )
{
UINT8 *snapshot_data;
primo_state *state = image.device().machine().driver_data<primo_state>();
@@ -349,7 +349,7 @@ void primo_state::primo_setup_pp (UINT8* quickload_data, UINT32 quickload_size)
logerror ("Quickload .pp l: %04x r: %04x s: %04x\n", load_addr, start_addr, quickload_size-4);
}
-QUICKLOAD_LOAD( primo )
+QUICKLOAD_LOAD_MEMBER( primo_state, primo )
{
UINT8 *quickload_data;
primo_state *state = image.device().machine().driver_data<primo_state>();
diff --git a/src/mess/machine/sorcerer.c b/src/mess/machine/sorcerer.c
index 60e1ab6a767..9651d09a70b 100644
--- a/src/mess/machine/sorcerer.c
+++ b/src/mess/machine/sorcerer.c
@@ -288,10 +288,10 @@ READ8_MEMBER(sorcerer_state::sorcerer_ff_r)
Snapshot Handling
******************************************************************************/
-SNAPSHOT_LOAD(sorcerer)
+SNAPSHOT_LOAD_MEMBER( sorcerer_state,sorcerer)
{
device_t *cpu = image.device().machine().device("maincpu");
- UINT8 *RAM = image.device().machine().root_device().memregion(cpu->tag())->base();
+ UINT8 *RAM = memregion(cpu->tag())->base();
address_space &space = cpu->memory().space(AS_PROGRAM);
UINT8 header[28];
unsigned char s_byte;
@@ -410,10 +410,10 @@ void sorcerer_state::machine_reset()
/*-------------------------------------------------
- QUICKLOAD_LOAD( sorcerer )
+ QUICKLOAD_LOAD_MEMBER( sorcerer_state, sorcerer )
-------------------------------------------------*/
-QUICKLOAD_LOAD( sorcerer )
+QUICKLOAD_LOAD_MEMBER( sorcerer_state, sorcerer )
{
UINT16 execute_address, start_address, end_address;
int autorun;
@@ -425,7 +425,7 @@ QUICKLOAD_LOAD( sorcerer )
if (execute_address != 0xffff)
{
/* check to see if autorun is on (I hate how this works) */
- autorun = image.device().machine().root_device().ioport("CONFIG")->read_safe(0xFF) & 1;
+ autorun = ioport("CONFIG")->read_safe(0xFF) & 1;
address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM);
diff --git a/src/mess/machine/spec_snqk.c b/src/mess/machine/spec_snqk.c
index 88f514d0b65..3a5aa8ceb7f 100644
--- a/src/mess/machine/spec_snqk.c
+++ b/src/mess/machine/spec_snqk.c
@@ -110,7 +110,7 @@ static void spectrum_page_basicrom(running_machine &machine)
}
-SNAPSHOT_LOAD(spectrum)
+SNAPSHOT_LOAD_MEMBER( spectrum_state,spectrum)
{
UINT8 *snapshot_data = NULL;
@@ -2451,7 +2451,7 @@ void spectrum_setup_z80(running_machine &machine, UINT8 *snapdata, UINT32 snapsi
}
}
-QUICKLOAD_LOAD(spectrum)
+QUICKLOAD_LOAD_MEMBER( spectrum_state,spectrum)
{
UINT8 *quickload_data = NULL;
diff --git a/src/mess/machine/spec_snqk.h b/src/mess/machine/spec_snqk.h
index 7a0c156c788..d16e20a392a 100644
--- a/src/mess/machine/spec_snqk.h
+++ b/src/mess/machine/spec_snqk.h
@@ -177,7 +177,4 @@ enum SPECTRUM_Z80_SNAPSHOT_TYPE {
#define RAW_HDR 9
#define RAW_SIZE (RAW_HDR + 3*SPECTRUM_BANK)
-SNAPSHOT_LOAD( spectrum );
-QUICKLOAD_LOAD( spectrum );
-
#endif /* __SPEC_SNQK_H__ */
diff --git a/src/mess/machine/super80.c b/src/mess/machine/super80.c
index dae9af12f21..813398ebd88 100644
--- a/src/mess/machine/super80.c
+++ b/src/mess/machine/super80.c
@@ -228,10 +228,10 @@ DRIVER_INIT_MEMBER(super80_state,super80v)
}
/*-------------------------------------------------
- QUICKLOAD_LOAD( super80 )
+ QUICKLOAD_LOAD_MEMBER( super80_state, super80 )
-------------------------------------------------*/
-QUICKLOAD_LOAD( super80 )
+QUICKLOAD_LOAD_MEMBER( super80_state, super80 )
{
UINT16 exec_addr, start_addr, end_addr;
int autorun;
@@ -244,7 +244,7 @@ QUICKLOAD_LOAD( super80 )
if (exec_addr != 0xffff)
{
/* check to see if autorun is on (I hate how this works) */
- autorun = image.device().machine().root_device().ioport("CONFIG")->read_safe(0xFF) & 1;
+ autorun = ioport("CONFIG")->read_safe(0xFF) & 1;
if (autorun)
image.device().machine().device("maincpu")->state().set_pc(exec_addr);
diff --git a/src/mess/machine/ti85.c b/src/mess/machine/ti85.c
index 0c16679e0f3..128d3a7858a 100644
--- a/src/mess/machine/ti85.c
+++ b/src/mess/machine/ti85.c
@@ -676,7 +676,7 @@ void ti85_state::ti86_setup_snapshot (UINT8 * data)
m_interrupt_speed = 0x03;
}
-SNAPSHOT_LOAD( ti8x )
+SNAPSHOT_LOAD_MEMBER( ti85_state, ti8x )
{
int expected_snapshot_size = 0;
UINT8 *ti8x_snapshot_data;
diff --git a/src/mess/machine/trs80.c b/src/mess/machine/trs80.c
index 623a79a88ec..c94d12ad327 100644
--- a/src/mess/machine/trs80.c
+++ b/src/mess/machine/trs80.c
@@ -935,9 +935,9 @@ MACHINE_RESET_MEMBER(trs80_state,lnw80)
IMPLEMENTATION
***************************************************************************/
-QUICKLOAD_LOAD( trs80_cmd )
+QUICKLOAD_LOAD_MEMBER( trs80_state, trs80_cmd )
{
- address_space &program = image.device().machine().firstcpu->space(AS_PROGRAM);
+ address_space &program = m_maincpu->space(AS_PROGRAM);
UINT8 type, length;
UINT8 data[0x100];
@@ -969,7 +969,7 @@ QUICKLOAD_LOAD( trs80_cmd )
image.fread( &addr, 2);
UINT16 address = (addr[1] << 8) | addr[0];
if (LOG) logerror("/CMD transfer address %04x\n", address);
- image.device().machine().firstcpu->set_state_int(Z80_PC, address);
+ m_maincpu->set_state_int(Z80_PC, address);
}
break;