diff options
Diffstat (limited to 'src/mess/drivers')
51 files changed, 137 insertions, 128 deletions
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 ) |