summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author mooglyguy <therealmogminer@gmail.com>2019-02-04 19:51:04 +0100
committer MooglyGuy <therealmogminer@gmail.com>2019-02-04 19:51:28 +0100
commit1290a5d0bbd78bd7a833a0a89c3f98e6d119eb7e (patch)
treea73c0372c6d5ff56eabbb34ce78721d02e2b0b3d
parent759b7c3c88368ce833b59404d1d205dc88606996 (diff)
-devices/bus/cgenie: Removed MCFG macros, nw
-devices/bus/ep64: Removed unused MCFG macros, nw -devices/bus/nasbus: Fixed crash, nw -devices/bus/svi3x8: Fixed potential crash if it were used, nw -cegenie: Removed MACHINE_CONFIG macros, nw
-rw-r--r--src/devices/bus/cgenie/expansion/expansion.h20
-rw-r--r--src/devices/bus/cgenie/parallel/parallel.h23
-rw-r--r--src/devices/bus/ep64/exp.h21
-rw-r--r--src/devices/bus/nasbus/nasbus.cpp13
-rw-r--r--src/devices/bus/nasbus/nasbus.h6
-rw-r--r--src/devices/bus/svi3x8/slot/slot.cpp19
-rw-r--r--src/devices/bus/svi3x8/slot/slot.h11
-rw-r--r--src/mame/drivers/cgenie.cpp23
-rw-r--r--src/mame/drivers/nascom1.cpp2
9 files changed, 58 insertions, 80 deletions
diff --git a/src/devices/bus/cgenie/expansion/expansion.h b/src/devices/bus/cgenie/expansion/expansion.h
index 2dd6f659f5e..d64651d8968 100644
--- a/src/devices/bus/cgenie/expansion/expansion.h
+++ b/src/devices/bus/cgenie/expansion/expansion.h
@@ -39,7 +39,8 @@
#pragma once
-
+// include here so drivers don't need to
+#include "carts.h"
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
@@ -69,6 +70,14 @@ class cg_exp_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
+ cg_exp_slot_device(machine_config const &mconfig, char const *tag, device_t *owner)
+ : cg_exp_slot_device(mconfig, tag, owner, (uint32_t)0)
+ {
+ option_reset();
+ cg_exp_slot_carts(*this);
+ set_default_option(nullptr);
+ set_fixed(false);
+ }
cg_exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~cg_exp_slot_device();
@@ -76,9 +85,9 @@ public:
void set_io_space(address_space *io);
// callbacks
- template <class Object> devcb_base &set_int_handler(Object &&cb) { return m_int_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_nmi_handler(Object &&cb) { return m_nmi_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_reset_handler(Object &&cb) { return m_reset_handler.set_callback(std::forward<Object>(cb)); }
+ auto int_handler() { return m_int_handler.bind(); }
+ auto nmi_handler() { return m_nmi_handler.bind(); }
+ auto reset_handler() { return m_reset_handler.bind(); }
// called from cart device
DECLARE_WRITE_LINE_MEMBER( int_w ) { m_int_handler(state); }
@@ -117,7 +126,4 @@ protected:
// device type definition
DECLARE_DEVICE_TYPE(CG_EXP_SLOT, cg_exp_slot_device)
-// include here so drivers don't need to
-#include "carts.h"
-
#endif // MAME_BUS_CGENIE_EXPANSION_EXPANSION_H
diff --git a/src/devices/bus/cgenie/parallel/parallel.h b/src/devices/bus/cgenie/parallel/parallel.h
index 9bc8d5665c4..b31f8c749f4 100644
--- a/src/devices/bus/cgenie/parallel/parallel.h
+++ b/src/devices/bus/cgenie/parallel/parallel.h
@@ -24,16 +24,8 @@
#pragma once
-
-
-//**************************************************************************
-// INTERFACE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_CG_PARALLEL_SLOT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, CG_PARALLEL_SLOT, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(cg_parallel_slot_carts, nullptr, false)
-
+// include here so drivers don't need to
+#include "carts.h"
//**************************************************************************
// TYPE DEFINITIONS
@@ -45,6 +37,14 @@ class cg_parallel_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
+ cg_parallel_slot_device(machine_config const &mconfig, char const *tag, device_t *owner)
+ : cg_parallel_slot_device(mconfig, tag, owner, (uint32_t)0)
+ {
+ option_reset();
+ cg_parallel_slot_carts(*this);
+ set_default_option(nullptr);
+ set_fixed(false);
+ }
cg_parallel_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~cg_parallel_slot_device();
@@ -86,7 +86,4 @@ protected:
// device type definition
DECLARE_DEVICE_TYPE(CG_PARALLEL_SLOT, cg_parallel_slot_device)
-// include here so drivers don't need to
-#include "carts.h"
-
#endif // MAME_BUS_CGENIE_PARALLEL_PARALLEL_H
diff --git a/src/devices/bus/ep64/exp.h b/src/devices/bus/ep64/exp.h
index cb29bab5049..43e666c1ae1 100644
--- a/src/devices/bus/ep64/exp.h
+++ b/src/devices/bus/ep64/exp.h
@@ -58,27 +58,6 @@ void ep64_expansion_bus_cards(device_slot_interface &device);
#define EP64_EXPANSION_BUS_TAG "exp"
-//**************************************************************************
-// INTERFACE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_EP64_EXPANSION_BUS_SLOT_ADD(_tag, _def_slot) \
- MCFG_DEVICE_ADD(_tag, EP64_EXPANSION_BUS_SLOT, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(ep64_expansion_bus_cards, _def_slot, false)
-
-#define MCFG_EP64_EXPANSION_BUS_SLOT_DAVE(_tag) \
- downcast<ep64_expansion_bus_slot_device &>(*device).set_dave_tag(_tag);
-
-#define MCFG_EP64_EXPANSION_BUS_SLOT_IRQ_CALLBACK(_write) \
- downcast<ep64_expansion_bus_slot_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
-
-#define MCFG_EP64_EXPANSION_BUS_SLOT_NMI_CALLBACK(_write) \
- downcast<ep64_expansion_bus_slot_device &>(*device).set_nmi_wr_callback(DEVCB_##_write);
-
-#define MCFG_EP64_EXPANSION_BUS_SLOT_WAIT_CALLBACK(_write) \
- downcast<ep64_expansion_bus_slot_device &>(*device).set_wait_wr_callback(DEVCB_##_write);
-
-
//**************************************************************************
// TYPE DEFINITIONS
diff --git a/src/devices/bus/nasbus/nasbus.cpp b/src/devices/bus/nasbus/nasbus.cpp
index 585b1043c07..817e486af8f 100644
--- a/src/devices/bus/nasbus/nasbus.cpp
+++ b/src/devices/bus/nasbus/nasbus.cpp
@@ -22,15 +22,14 @@ DEFINE_DEVICE_TYPE(NASBUS_SLOT, nasbus_slot_device, "nasbus_slot", "NASBUS Slot"
// nasbus_slot_device - constructor
//-------------------------------------------------
-nasbus_slot_device::nasbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- nasbus_slot_device(mconfig, NASBUS_SLOT, tag, owner, clock)
+nasbus_slot_device::nasbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : nasbus_slot_device(mconfig, NASBUS_SLOT, tag, owner, clock)
{
}
-nasbus_slot_device::nasbus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, type, tag, owner, clock),
- device_slot_interface(mconfig, *this),
- m_nasbus_tag(nullptr)
+nasbus_slot_device::nasbus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_slot_interface(mconfig, *this)
{
}
@@ -44,7 +43,7 @@ void nasbus_slot_device::device_start()
if (dev)
{
- nasbus_device *m_nasbus = downcast<nasbus_device *>(m_owner->subdevice(m_nasbus_tag));
+ nasbus_device *m_nasbus = downcast<nasbus_device *>(owner()->subdevice(NASBUS_TAG));
m_nasbus->add_card(dev);
}
}
diff --git a/src/devices/bus/nasbus/nasbus.h b/src/devices/bus/nasbus/nasbus.h
index 4968f8d966b..bdeb39a879f 100644
--- a/src/devices/bus/nasbus/nasbus.h
+++ b/src/devices/bus/nasbus/nasbus.h
@@ -122,20 +122,14 @@ public:
opts(*this);
set_default_option(dflt);
set_fixed(false);
- set_nasbus_slot(this, NASBUS_TAG);
}
nasbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // inline configuration
- void set_nasbus_slot(device_t *owner, const char *nasbus_tag) { m_owner = owner; m_nasbus_tag = nasbus_tag; }
protected:
nasbus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
-
- // configuration
- const char *m_nasbus_tag;
};
// device type definition
diff --git a/src/devices/bus/svi3x8/slot/slot.cpp b/src/devices/bus/svi3x8/slot/slot.cpp
index c345d864f4b..ca7f578b17c 100644
--- a/src/devices/bus/svi3x8/slot/slot.cpp
+++ b/src/devices/bus/svi3x8/slot/slot.cpp
@@ -20,11 +20,11 @@ DEFINE_DEVICE_TYPE(SVI_SLOT_BUS, svi_slot_bus_device, "svislotbus", "SVI Slot Bu
// svi_slot_bus_device - constructor
//-------------------------------------------------
-svi_slot_bus_device::svi_slot_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SVI_SLOT_BUS, tag, owner, clock),
- m_int_handler(*this),
- m_romdis_handler(*this),
- m_ramdis_handler(*this)
+svi_slot_bus_device::svi_slot_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, SVI_SLOT_BUS, tag, owner, clock)
+ , m_int_handler(*this)
+ , m_romdis_handler(*this)
+ , m_ramdis_handler(*this)
{
}
@@ -204,10 +204,9 @@ DEFINE_DEVICE_TYPE(SVI_SLOT, svi_slot_device, "svislot", "SVI Slot")
// svi_slot_device - constructor
//-------------------------------------------------
-svi_slot_device::svi_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SVI_SLOT, tag, owner, clock),
- device_slot_interface(mconfig, *this),
- m_bus_tag(nullptr)
+svi_slot_device::svi_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, SVI_SLOT, tag, owner, clock)
+ , device_slot_interface(mconfig, *this)
{
}
@@ -221,7 +220,7 @@ void svi_slot_device::device_start()
if (dev)
{
- svi_slot_bus_device *bus = downcast<svi_slot_bus_device *>(m_owner->subdevice(m_bus_tag));
+ svi_slot_bus_device *bus = downcast<svi_slot_bus_device *>(owner()->subdevice(SVIBUS_TAG));
bus->add_card(dev);
}
}
diff --git a/src/devices/bus/svi3x8/slot/slot.h b/src/devices/bus/svi3x8/slot/slot.h
index 3975624eb5a..f27c023edab 100644
--- a/src/devices/bus/svi3x8/slot/slot.h
+++ b/src/devices/bus/svi3x8/slot/slot.h
@@ -41,6 +41,13 @@
//**************************************************************************
+// CONSTANTS / MACROS
+//**************************************************************************
+
+#define SVIBUS_TAG "slot_bux"
+
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -107,14 +114,10 @@ public:
opts(*this);
set_default_option(dflt);
set_fixed(false);
- set_bus(this, "slot_bus");
}
svi_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // inline configuration
- void set_bus(device_t *owner, const char *bus_tag) { m_owner = owner; m_bus_tag = bus_tag; }
-
protected:
// device-level overrides
virtual void device_start() override;
diff --git a/src/mame/drivers/cgenie.cpp b/src/mame/drivers/cgenie.cpp
index e34a1fe8bfc..6e61298660a 100644
--- a/src/mame/drivers/cgenie.cpp
+++ b/src/mame/drivers/cgenie.cpp
@@ -438,16 +438,17 @@ const rgb_t cgenie_state::m_palette_nz[] =
// MACHINE DEFINTIONS
//**************************************************************************
-MACHINE_CONFIG_START(cgenie_state::cgenie)
+void cgenie_state::cgenie(machine_config &config)
+{
// basic machine hardware
- MCFG_DEVICE_ADD("maincpu", Z80, XTAL(17'734'470) / 8) // 2.2168 MHz
- MCFG_DEVICE_PROGRAM_MAP(cgenie_mem)
- MCFG_DEVICE_IO_MAP(cgenie_io)
+ Z80(config, m_maincpu, XTAL(17'734'470) / 8); // 2.2168 MHz
+ m_maincpu->set_addrmap(AS_PROGRAM, &cgenie_state::cgenie_mem);
+ m_maincpu->set_addrmap(AS_IO, &cgenie_state::cgenie_io);
// video hardware
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(17'734'470) / 2, 568, 32, 416, 312, 28, 284)
- MCFG_SCREEN_UPDATE_DEVICE("crtc", hd6845_device, screen_update)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(17'734'470) / 2, 568, 32, 416, 312, 28, 284);
+ screen.set_screen_update("crtc", FUNC(hd6845_device::screen_update));
HD6845(config, m_crtc, XTAL(17'734'470) / 16);
m_crtc->set_screen("screen");
@@ -478,15 +479,15 @@ MACHINE_CONFIG_START(cgenie_state::cgenie)
rs232.dcd_handler().set(FUNC(cgenie_state::rs232_dcd_w));
// cartridge expansion slot
- MCFG_CG_EXP_SLOT_ADD("exp")
- MCFG_CG_EXP_SLOT_INT_HANDLER(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
+ CG_EXP_SLOT(config, m_exp);
+ m_exp->int_handler().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
// parallel slot
- MCFG_CG_PARALLEL_SLOT_ADD("par")
+ CG_PARALLEL_SLOT(config, "par");
// internal ram
RAM(config, RAM_TAG).set_default_size("16K").set_extra_options("32K");
-MACHINE_CONFIG_END
+}
//**************************************************************************
diff --git a/src/mame/drivers/nascom1.cpp b/src/mame/drivers/nascom1.cpp
index d6264e1087a..58ec62c5a86 100644
--- a/src/mame/drivers/nascom1.cpp
+++ b/src/mame/drivers/nascom1.cpp
@@ -110,7 +110,7 @@ class nascom2_state : public nascom_state
public:
nascom2_state(const machine_config &mconfig, device_type type, const char *tag) :
nascom_state(mconfig, type, tag),
- m_nasbus(*this, "nasbus"),
+ m_nasbus(*this, NASBUS_TAG),
m_socket1(*this, "socket1"),
m_socket2(*this, "socket2"),
m_lsw1(*this, "lsw1")