summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2014-05-13 11:26:13 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2014-05-13 11:26:13 +0000
commitf24db3d1ec3e6c0e0a4e68eea30b72bfcc81067f (patch)
tree5869b8db615731ba44fc57227c819d85e03f5eb0 /src
parent22373a3aa627af2bc8093e370a7c83bfec9c422c (diff)
cococart to devcb2 (nw)
Diffstat (limited to 'src')
-rw-r--r--src/emu/bus/coco/coco_multi.c33
-rw-r--r--src/emu/bus/coco/cococart.c33
-rw-r--r--src/emu/bus/coco/cococart.h34
-rw-r--r--src/mess/drivers/coco12.c22
-rw-r--r--src/mess/drivers/coco3.c6
-rw-r--r--src/mess/drivers/dragon.c25
-rw-r--r--src/mess/includes/coco.h4
-rw-r--r--src/mess/machine/coco.c13
8 files changed, 94 insertions, 76 deletions
diff --git a/src/emu/bus/coco/coco_multi.c b/src/emu/bus/coco/coco_multi.c
index 0f71766b516..b3e86ede9cc 100644
--- a/src/emu/bus/coco/coco_multi.c
+++ b/src/emu/bus/coco/coco_multi.c
@@ -85,33 +85,38 @@ SLOT_INTERFACE_END
WRITE_LINE_MEMBER(coco_multipak_device::multi_cart_w)
{
cococart_slot_device *cart = dynamic_cast<cococart_slot_device *>(owner());
- cart->m_cart_callback.writeline(this,state);
+ cart->m_cart_callback(state);
}
WRITE_LINE_MEMBER(coco_multipak_device::multi_nmi_w)
{
cococart_slot_device *cart = dynamic_cast<cococart_slot_device *>(owner());
- cart->m_nmi_callback.writeline(this,state);
+ cart->m_nmi_callback(state);
}
WRITE_LINE_MEMBER(coco_multipak_device::multi_halt_w)
{
cococart_slot_device *cart = dynamic_cast<cococart_slot_device *>(owner());
- cart->m_halt_callback.writeline(this,state);
+ cart->m_halt_callback(state);
}
-static const cococart_interface multi_cococart_interface =
-{
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, coco_multipak_device, multi_cart_w),
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, coco_multipak_device, multi_nmi_w),
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, coco_multipak_device, multi_halt_w)
-};
-
static MACHINE_CONFIG_FRAGMENT(coco_multi)
- MCFG_COCO_CARTRIDGE_ADD(SLOT1_TAG, multi_cococart_interface, coco_cart_slot1_3, NULL)
- MCFG_COCO_CARTRIDGE_ADD(SLOT2_TAG, multi_cococart_interface, coco_cart_slot1_3, NULL)
- MCFG_COCO_CARTRIDGE_ADD(SLOT3_TAG, multi_cococart_interface, coco_cart_slot1_3, NULL)
- MCFG_COCO_CARTRIDGE_ADD(SLOT4_TAG, multi_cococart_interface, coco_cart_slot4, "fdcv11")
+ MCFG_COCO_CARTRIDGE_ADD(SLOT1_TAG, coco_cart_slot1_3, NULL)
+ MCFG_COCO_CARTRIDGE_CART_CB(DEVWRITELINE(DEVICE_SELF_OWNER, coco_multipak_device, multi_cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(DEVWRITELINE(DEVICE_SELF_OWNER, coco_multipak_device, multi_nmi_w))
+ MCFG_COCO_CARTRIDGE_HALT_CB(DEVWRITELINE(DEVICE_SELF_OWNER, coco_multipak_device, multi_halt_w))
+ MCFG_COCO_CARTRIDGE_ADD(SLOT2_TAG, coco_cart_slot1_3, NULL)
+ MCFG_COCO_CARTRIDGE_CART_CB(DEVWRITELINE(DEVICE_SELF_OWNER, coco_multipak_device, multi_cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(DEVWRITELINE(DEVICE_SELF_OWNER, coco_multipak_device, multi_nmi_w))
+ MCFG_COCO_CARTRIDGE_HALT_CB(DEVWRITELINE(DEVICE_SELF_OWNER, coco_multipak_device, multi_halt_w))
+ MCFG_COCO_CARTRIDGE_ADD(SLOT3_TAG, coco_cart_slot1_3, NULL)
+ MCFG_COCO_CARTRIDGE_CART_CB(DEVWRITELINE(DEVICE_SELF_OWNER, coco_multipak_device, multi_cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(DEVWRITELINE(DEVICE_SELF_OWNER, coco_multipak_device, multi_nmi_w))
+ MCFG_COCO_CARTRIDGE_HALT_CB(DEVWRITELINE(DEVICE_SELF_OWNER, coco_multipak_device, multi_halt_w))
+ MCFG_COCO_CARTRIDGE_ADD(SLOT4_TAG, coco_cart_slot4, "fdcv11")
+ MCFG_COCO_CARTRIDGE_CART_CB(DEVWRITELINE(DEVICE_SELF_OWNER, coco_multipak_device, multi_cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(DEVWRITELINE(DEVICE_SELF_OWNER, coco_multipak_device, multi_nmi_w))
+ MCFG_COCO_CARTRIDGE_HALT_CB(DEVWRITELINE(DEVICE_SELF_OWNER, coco_multipak_device, multi_halt_w))
MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/emu/bus/coco/cococart.c b/src/emu/bus/coco/cococart.c
index 85c8844e0e0..681abb0fdcb 100644
--- a/src/emu/bus/coco/cococart.c
+++ b/src/emu/bus/coco/cococart.c
@@ -36,7 +36,10 @@ const device_type COCOCART_SLOT = &device_creator<cococart_slot_device>;
cococart_slot_device::cococart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, COCOCART_SLOT, "CoCo Cartridge Slot", tag, owner, clock, "cococart_slot", __FILE__),
device_slot_interface(mconfig, *this),
- device_image_interface(mconfig, *this)
+ device_image_interface(mconfig, *this),
+ m_cart_callback(*this),
+ m_nmi_callback(*this),
+ m_halt_callback(*this)
{
}
@@ -60,7 +63,8 @@ void cococart_slot_device::device_start()
m_cart_line.value = COCOCART_LINE_VALUE_CLEAR;
m_cart_line.line = 0;
m_cart_line.q_count = 0;
- m_cart_line.callback.resolve(m_cart_callback, *this);
+ m_cart_callback.resolve();
+ m_cart_line.callback = &m_cart_callback;
m_nmi_line.timer_index = 0;
/* 12 allowed one more instruction to finished after the line is pulled */
@@ -68,7 +72,8 @@ void cococart_slot_device::device_start()
m_nmi_line.value = COCOCART_LINE_VALUE_CLEAR;
m_nmi_line.line = 0;
m_nmi_line.q_count = 0;
- m_nmi_line.callback.resolve(m_nmi_callback, *this);
+ m_nmi_callback.resolve();
+ m_nmi_line.callback = &m_nmi_callback;
m_halt_line.timer_index = 0;
/* 6 allowed one more instruction to finished after the line is pulled */
@@ -76,7 +81,8 @@ void cococart_slot_device::device_start()
m_halt_line.value = COCOCART_LINE_VALUE_CLEAR;
m_halt_line.line = 0;
m_halt_line.q_count = 0;
- m_halt_line.callback.resolve(m_halt_callback, *this);
+ m_halt_callback.resolve();
+ m_halt_line.callback = &m_halt_callback;
m_cart = dynamic_cast<device_cococart_interface *>(get_card_device());
}
@@ -91,21 +97,6 @@ void cococart_slot_device::device_start()
void cococart_slot_device::device_config_complete()
{
- // inherit a copy of the static data
- const cococart_interface *intf = reinterpret_cast<const cococart_interface *>(static_config());
- if (intf != NULL)
- {
- *static_cast<cococart_interface *>(this) = *intf;
- }
-
- // or initialize to defaults if none provided
- else
- {
- memset(&m_cart_callback, 0, sizeof(m_cart_callback));
- memset(&m_nmi_callback, 0, sizeof(m_nmi_callback));
- memset(&m_halt_callback, 0, sizeof(m_halt_callback));
- }
-
// set brief and instance name
update_names();
}
@@ -221,8 +212,8 @@ void cococart_slot_device::set_line(const char *line_name, coco_cartridge_line &
}
/* invoke the callback, if present */
- if (!line.callback.isnull())
- line.callback(line.line);
+ if (!(*line.callback).isnull())
+ (*line.callback)(line.line);
}
}
diff --git a/src/emu/bus/coco/cococart.h b/src/emu/bus/coco/cococart.h
index e207ae26068..b5824d925c5 100644
--- a/src/emu/bus/coco/cococart.h
+++ b/src/emu/bus/coco/cococart.h
@@ -46,16 +46,7 @@ struct coco_cartridge_line
cococart_line_value value;
int line;
int q_count;
- devcb_resolved_write_line callback;
-};
-
-// ======================> cococart_interface
-
-struct cococart_interface
-{
- devcb_write_line m_cart_callback;
- devcb_write_line m_nmi_callback;
- devcb_write_line m_halt_callback;
+ devcb2_write_line *callback;
};
// ======================> cococart_base_update_delegate
@@ -63,12 +54,20 @@ struct cococart_interface
// direct region update handler
typedef delegate<void (UINT8 *)> cococart_base_update_delegate;
+#define MCFG_COCO_CARTRIDGE_CART_CB(_devcb) \
+ devcb = &cococart_slot_device::static_set_cart_callback(*device, DEVCB2_##_devcb);
+
+#define MCFG_COCO_CARTRIDGE_NMI_CB(_devcb) \
+ devcb = &cococart_slot_device::static_set_nmi_callback(*device, DEVCB2_##_devcb);
+
+#define MCFG_COCO_CARTRIDGE_HALT_CB(_devcb) \
+ devcb = &cococart_slot_device::static_set_halt_callback(*device, DEVCB2_##_devcb);
+
// ======================> cococart_slot_device
class device_cococart_interface;
class cococart_slot_device : public device_t,
- public cococart_interface,
public device_slot_interface,
public device_image_interface
{
@@ -76,6 +75,10 @@ public:
// construction/destruction
cococart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ template<class _Object> static devcb2_base &static_set_cart_callback(device_t &device, _Object object) { return downcast<cococart_slot_device &>(device).m_cart_callback.set_callback(object); }
+ template<class _Object> static devcb2_base &static_set_nmi_callback(device_t &device, _Object object) { return downcast<cococart_slot_device &>(device).m_nmi_callback.set_callback(object); }
+ template<class _Object> static devcb2_base &static_set_halt_callback(device_t &device, _Object object) { return downcast<cococart_slot_device &>(device).m_halt_callback.set_callback(object); }
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete();
@@ -125,7 +128,11 @@ private:
coco_cartridge_line m_cart_line;
coco_cartridge_line m_nmi_line;
coco_cartridge_line m_halt_line;
-
+public:
+ devcb2_write_line m_cart_callback;
+ devcb2_write_line m_nmi_callback;
+ devcb2_write_line m_halt_callback;
+private:
// cartridge
device_cococart_interface *m_cart;
@@ -164,9 +171,8 @@ private:
DEVICE CONFIGURATION MACROS
***************************************************************************/
-#define MCFG_COCO_CARTRIDGE_ADD(_tag,_config,_slot_intf,_def_slot) \
+#define MCFG_COCO_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
MCFG_DEVICE_ADD(_tag, COCOCART_SLOT, 0) \
- MCFG_DEVICE_CONFIG(_config) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
#define MCFG_COCO_CARTRIDGE_REMOVE(_tag) \
diff --git a/src/mess/drivers/coco12.c b/src/mess/drivers/coco12.c
index 4c64822d0de..fa8e5e7dc47 100644
--- a/src/mess/drivers/coco12.c
+++ b/src/mess/drivers/coco12.c
@@ -307,8 +307,11 @@ static MACHINE_CONFIG_START( coco, coco12_state )
MCFG_RS232_DCD_HANDLER(DEVWRITELINE(PIA1_TAG, pia6821_device, ca1_w))
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("printer", printer)
- MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_state::cartridge_config, coco_cart, "pak")
-
+ MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "pak")
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_NMI))
+ MCFG_COCO_CARTRIDGE_HALT_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_HALT))
+
// video hardware
MCFG_SCREEN_MC6847_NTSC_ADD(SCREEN_TAG, VDG_TAG)
MCFG_MC6847_ADD(VDG_TAG, MC6847_NTSC, XTAL_3_579545MHz, coco12_state::mc6847_config)
@@ -329,14 +332,20 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cocoe, coco )
MCFG_COCO_CARTRIDGE_REMOVE(CARTRIDGE_TAG)
- MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco12_state::cartridge_config, coco_cart, "fdc")
+ MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "fdc")
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_NMI))
+ MCFG_COCO_CARTRIDGE_HALT_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_HALT))
MCFG_COCO_VHD_ADD(VHD0_TAG)
MCFG_COCO_VHD_ADD(VHD1_TAG)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( coco2, coco )
MCFG_COCO_CARTRIDGE_REMOVE(CARTRIDGE_TAG)
- MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco12_state::cartridge_config, coco_cart, "fdcv11")
+ MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "fdcv11")
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_NMI))
+ MCFG_COCO_CARTRIDGE_HALT_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_HALT))
MCFG_COCO_VHD_ADD(VHD0_TAG)
MCFG_COCO_VHD_ADD(VHD1_TAG)
MACHINE_CONFIG_END
@@ -350,7 +359,10 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cp400, coco )
MCFG_COCO_CARTRIDGE_REMOVE(CARTRIDGE_TAG)
- MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco12_state::cartridge_config, coco_cart, "cp400_fdc")
+ MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "cp400_fdc")
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_NMI))
+ MCFG_COCO_CARTRIDGE_HALT_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_HALT))
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/coco3.c b/src/mess/drivers/coco3.c
index d522cace297..e1a5d539561 100644
--- a/src/mess/drivers/coco3.c
+++ b/src/mess/drivers/coco3.c
@@ -278,7 +278,11 @@ static MACHINE_CONFIG_START( coco3, coco3_state )
MCFG_RS232_DCD_HANDLER(DEVWRITELINE(PIA1_TAG, pia6821_device, ca1_w))
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("printer", printer)
- MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_state::cartridge_config, coco_cart, "fdcv11")
+ MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "fdcv11")
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_NMI))
+ MCFG_COCO_CARTRIDGE_HALT_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_HALT))
+
MCFG_COCO_VHD_ADD(VHD0_TAG)
MCFG_COCO_VHD_ADD(VHD1_TAG)
diff --git a/src/mess/drivers/dragon.c b/src/mess/drivers/dragon.c
index e1b922dc1ea..9e87f8413b4 100644
--- a/src/mess/drivers/dragon.c
+++ b/src/mess/drivers/dragon.c
@@ -178,7 +178,10 @@ static MACHINE_CONFIG_DERIVED( dragon32, dragon_base )
MCFG_RAM_EXTRA_OPTIONS("64K")
// cartridge
- MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_state::cartridge_config, dragon_cart, "dragon_fdc")
+ MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_cart, "dragon_fdc")
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_NMI))
+ MCFG_COCO_CARTRIDGE_HALT_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_HALT))
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED_CLASS( dragon64, dragon_base, dragon64_state )
@@ -187,7 +190,10 @@ static MACHINE_CONFIG_DERIVED_CLASS( dragon64, dragon_base, dragon64_state )
MCFG_RAM_DEFAULT_SIZE("64K")
// cartridge
- MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_state::cartridge_config, dragon_cart, "dragon_fdc")
+ MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_cart, "dragon_fdc")
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_NMI))
+ MCFG_COCO_CARTRIDGE_HALT_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_HALT))
// acia
MCFG_DEVICE_ADD("acia", MOS6551, 0)
@@ -200,7 +206,10 @@ static MACHINE_CONFIG_DERIVED_CLASS( d64plus, dragon_base, dragon64_state )
MCFG_RAM_DEFAULT_SIZE("128K")
// cartridge
- MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_state::cartridge_config, dragon_cart, "dragon_fdc")
+ MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_cart, "dragon_fdc")
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_NMI))
+ MCFG_COCO_CARTRIDGE_HALT_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_HALT))
// acia
MCFG_DEVICE_ADD("acia", MOS6551, 0)
@@ -213,7 +222,10 @@ static MACHINE_CONFIG_DERIVED_CLASS( dgnalpha, dragon_base, dragon_alpha_state )
MCFG_RAM_DEFAULT_SIZE("64K")
// cartridge
- MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_alpha_state::cartridge_config, dragon_cart, NULL)
+ MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_cart, NULL)
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_NMI))
+ MCFG_COCO_CARTRIDGE_HALT_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_HALT))
// acia
MCFG_DEVICE_ADD("acia", MOS6551, 0)
@@ -244,7 +256,10 @@ static MACHINE_CONFIG_DERIVED( tanodr64, dragon_base )
MCFG_RAM_DEFAULT_SIZE("64K")
// cartridge
- MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_state::cartridge_config, dragon_cart, "sdtandy_fdc")
+ MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_cart, "sdtandy_fdc")
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_NMI))
+ MCFG_COCO_CARTRIDGE_HALT_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_HALT))
MACHINE_CONFIG_END
diff --git a/src/mess/includes/coco.h b/src/mess/includes/coco.h
index 7e8ed6ba347..3c5c13eab71 100644
--- a/src/mess/includes/coco.h
+++ b/src/mess/includes/coco.h
@@ -96,8 +96,6 @@ public:
optional_device<coco_vhd_image_device> m_vhd_0;
optional_device<coco_vhd_image_device> m_vhd_1;
- static const cococart_interface cartridge_config;
-
// driver update handlers
DECLARE_INPUT_CHANGED_MEMBER(keyboard_changed);
DECLARE_INPUT_CHANGED_MEMBER(joystick_mode_changed);
@@ -133,6 +131,7 @@ public:
// floating bus
DECLARE_READ8_MEMBER( floating_bus_read ) { return floating_bus_read(); }
+ DECLARE_WRITE_LINE_MEMBER( cart_w ) { cart_w((bool) state); }
protected:
// device-level overrides
virtual void device_start();
@@ -152,7 +151,6 @@ protected:
// miscellaneous
virtual void update_keyboard_input(UINT8 value, UINT8 z);
virtual void cart_w(bool state);
- DECLARE_WRITE_LINE_MEMBER( cart_w ) { cart_w((bool) state); }
virtual void update_cart_base(UINT8 *cart_base) = 0;
private:
diff --git a/src/mess/machine/coco.c b/src/mess/machine/coco.c
index 19fa5fd1b12..0f215d22ea0 100644
--- a/src/mess/machine/coco.c
+++ b/src/mess/machine/coco.c
@@ -1186,19 +1186,6 @@ void coco_state::cart_w(bool state)
-//-------------------------------------------------
-// cartridge_config
-//-------------------------------------------------
-
-const cococart_interface coco_state::cartridge_config =
-{
- DEVCB_DRIVER_LINE_MEMBER(coco_state, cart_w), // coco_cart_w,
- DEVCB_CPU_INPUT_LINE(MAINCPU_TAG, INPUT_LINE_NMI), // coco_nmi_w,
- DEVCB_CPU_INPUT_LINE(MAINCPU_TAG, INPUT_LINE_HALT) // coco_halt_w
-};
-
-
-
/***************************************************************************
DISASSEMBLY OVERRIDE (OS9 syscalls)
***************************************************************************/