summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2020-06-01 19:57:25 +0200
committer couriersud <couriersud@gmx.org>2020-06-01 19:59:51 +0200
commit215aa82cec996af4f2c1cef16f15e63e1ad22572 (patch)
tree22647145913da1d06aa92f6389c5315909c8f931
parentc00dc878303e85ebcc933415e52b7200a6b9f6e6 (diff)
netlist: Change use of NETLIB_DELEGATE macro. (nw)
The macro now has only one parameter, the local name of the delegate.
-rw-r--r--src/lib/netlist/devices/nld_4013.cpp2
-rw-r--r--src/lib/netlist/devices/nld_74107.cpp2
-rw-r--r--src/lib/netlist/devices/nld_74125.cpp4
-rw-r--r--src/lib/netlist/devices/nld_74153.cpp4
-rw-r--r--src/lib/netlist/devices/nld_74174.cpp2
-rw-r--r--src/lib/netlist/devices/nld_74175.cpp2
-rw-r--r--src/lib/netlist/devices/nld_74192.cpp8
-rw-r--r--src/lib/netlist/devices/nld_7474.cpp2
-rw-r--r--src/lib/netlist/devices/nld_7483.cpp16
-rw-r--r--src/lib/netlist/devices/nld_7493.cpp4
-rw-r--r--src/lib/netlist/devices/nld_7497.cpp8
-rw-r--r--src/lib/netlist/devices/nld_82S16.cpp8
-rw-r--r--src/lib/netlist/devices/nld_9316_base.hxx4
-rw-r--r--src/lib/netlist/devices/nld_roms.cpp8
-rw-r--r--src/lib/netlist/devices/nld_system.cpp5
-rw-r--r--src/lib/netlist/nl_base.h14
16 files changed, 48 insertions, 45 deletions
diff --git a/src/lib/netlist/devices/nld_4013.cpp b/src/lib/netlist/devices/nld_4013.cpp
index 85f39753470..63330cf24d3 100644
--- a/src/lib/netlist/devices/nld_4013.cpp
+++ b/src/lib/netlist/devices/nld_4013.cpp
@@ -19,7 +19,7 @@ namespace netlist
, m_D(*this, "DATA")
, m_RESET(*this, "RESET")
, m_SET(*this, "SET")
- , m_CLK(*this, "CLOCK", NETLIB_DELEGATE(CD4013, clk))
+ , m_CLK(*this, "CLOCK", NETLIB_DELEGATE(clk))
, m_Q(*this, "Q")
, m_QQ(*this, "QQ")
, m_nextD(*this, "m_nextD", 0)
diff --git a/src/lib/netlist/devices/nld_74107.cpp b/src/lib/netlist/devices/nld_74107.cpp
index 362489d07cc..08a69600456 100644
--- a/src/lib/netlist/devices/nld_74107.cpp
+++ b/src/lib/netlist/devices/nld_74107.cpp
@@ -19,7 +19,7 @@ namespace netlist
NETLIB_OBJECT(74107A)
{
NETLIB_CONSTRUCTOR(74107A)
- , m_clk(*this, "CLK", NETLIB_DELEGATE(74107A, clk))
+ , m_clk(*this, "CLK", NETLIB_DELEGATE(clk))
, m_Q(*this, "Q")
, m_QQ(*this, "QQ")
, m_J(*this, "J")
diff --git a/src/lib/netlist/devices/nld_74125.cpp b/src/lib/netlist/devices/nld_74125.cpp
index 244ff1d1fc1..ed0bcc5fd4d 100644
--- a/src/lib/netlist/devices/nld_74125.cpp
+++ b/src/lib/netlist/devices/nld_74125.cpp
@@ -36,8 +36,8 @@ namespace netlist
{
NETLIB_CONSTRUCTOR(74125_base)
, m_TE(*this, "FORCE_TRISTATE_LOGIC", 0)
- , m_A(*this, "A", NETLIB_DELEGATE(74125_base, A))
- , m_G(*this, pstring(D::invert_g::value ? "GQ" : "G"), NETLIB_DELEGATE(74125_base, G))
+ , m_A(*this, "A", NETLIB_DELEGATE(A))
+ , m_G(*this, pstring(D::invert_g::value ? "GQ" : "G"), NETLIB_DELEGATE(G))
, m_Y(*this, "Y", m_TE())
//, m_Y(*this, "Y")
, m_power_pins(*this)
diff --git a/src/lib/netlist/devices/nld_74153.cpp b/src/lib/netlist/devices/nld_74153.cpp
index 6fa8fad4cb7..ce6f6536364 100644
--- a/src/lib/netlist/devices/nld_74153.cpp
+++ b/src/lib/netlist/devices/nld_74153.cpp
@@ -21,8 +21,8 @@ namespace devices
NETLIB_OBJECT(74153)
{
NETLIB_CONSTRUCTOR(74153)
- , m_C(*this, {"C0", "C1", "C2", "C3"}, NETLIB_DELEGATE(74153, sub))
- , m_G(*this, "G", NETLIB_DELEGATE(74153, sub))
+ , m_C(*this, {"C0", "C1", "C2", "C3"}, NETLIB_DELEGATE(sub))
+ , m_G(*this, "G", NETLIB_DELEGATE(sub))
, m_Y(*this, "AY") //FIXME: Change netlists
, m_chan(*this, "m_chan", 0)
, m_A(*this, "A")
diff --git a/src/lib/netlist/devices/nld_74174.cpp b/src/lib/netlist/devices/nld_74174.cpp
index a95b5ca967c..3775eb54a76 100644
--- a/src/lib/netlist/devices/nld_74174.cpp
+++ b/src/lib/netlist/devices/nld_74174.cpp
@@ -15,7 +15,7 @@ namespace devices
NETLIB_OBJECT(74174)
{
NETLIB_CONSTRUCTOR(74174)
- , m_CLK(*this, "CLK", NETLIB_DELEGATE(74174, sub))
+ , m_CLK(*this, "CLK", NETLIB_DELEGATE(sub))
, m_Q(*this, {"Q1", "Q2", "Q3", "Q4", "Q5", "Q6"})
, m_clrq(*this, "m_clr", 0)
, m_data(*this, "m_data", 0)
diff --git a/src/lib/netlist/devices/nld_74175.cpp b/src/lib/netlist/devices/nld_74175.cpp
index 9d84128fc31..736fab7f5cb 100644
--- a/src/lib/netlist/devices/nld_74175.cpp
+++ b/src/lib/netlist/devices/nld_74175.cpp
@@ -18,7 +18,7 @@ namespace netlist
NETLIB_CONSTRUCTOR(74175)
, m_D(*this, {"D1", "D2", "D3", "D4"})
, m_CLRQ(*this, "CLRQ")
- , m_CLK(*this, "CLK", NETLIB_DELEGATE(74175, clk))
+ , m_CLK(*this, "CLK", NETLIB_DELEGATE(clk))
, m_Q(*this, {"Q1", "Q2", "Q3", "Q4"})
, m_QQ(*this, {"Q1Q", "Q2Q", "Q3Q", "Q4Q"})
, m_data(*this, "m_data", 0)
diff --git a/src/lib/netlist/devices/nld_74192.cpp b/src/lib/netlist/devices/nld_74192.cpp
index 36c1426ee37..464312b3ff0 100644
--- a/src/lib/netlist/devices/nld_74192.cpp
+++ b/src/lib/netlist/devices/nld_74192.cpp
@@ -28,10 +28,10 @@ namespace netlist
, m_Q(*this, {"QA", "QB", "QC", "QD"})
, m_BORROWQ(*this, "BORROWQ")
, m_CARRYQ(*this, "CARRYQ")
- , m_A(*this, "A", NETLIB_DELEGATE(74192, sub))
- , m_B(*this, "B", NETLIB_DELEGATE(74192, sub))
- , m_C(*this, "C", NETLIB_DELEGATE(74192, sub))
- , m_D(*this, "D", NETLIB_DELEGATE(74192, sub))
+ , m_A(*this, "A", NETLIB_DELEGATE(sub))
+ , m_B(*this, "B", NETLIB_DELEGATE(sub))
+ , m_C(*this, "C", NETLIB_DELEGATE(sub))
+ , m_D(*this, "D", NETLIB_DELEGATE(sub))
, m_power_pins(*this)
{
}
diff --git a/src/lib/netlist/devices/nld_7474.cpp b/src/lib/netlist/devices/nld_7474.cpp
index 5d56d1708d4..abbe0c467c6 100644
--- a/src/lib/netlist/devices/nld_7474.cpp
+++ b/src/lib/netlist/devices/nld_7474.cpp
@@ -22,7 +22,7 @@ namespace netlist
, m_D(*this, "D")
, m_CLRQ(*this, "CLRQ")
, m_PREQ(*this, "PREQ")
- , m_CLK(*this, "CLK", NETLIB_DELEGATE(7474, clk))
+ , m_CLK(*this, "CLK", NETLIB_DELEGATE(clk))
, m_Q(*this, "Q")
, m_QQ(*this, "QQ")
, m_nextD(*this, "m_nextD", 0)
diff --git a/src/lib/netlist/devices/nld_7483.cpp b/src/lib/netlist/devices/nld_7483.cpp
index 265b9a9cc16..2822fc0c656 100644
--- a/src/lib/netlist/devices/nld_7483.cpp
+++ b/src/lib/netlist/devices/nld_7483.cpp
@@ -16,14 +16,14 @@ namespace netlist
{
NETLIB_CONSTRUCTOR(7483)
, m_C0(*this, "C0")
- , m_A1(*this, "A1", NETLIB_DELEGATE(7483, upd_a))
- , m_A2(*this, "A2", NETLIB_DELEGATE(7483, upd_a))
- , m_A3(*this, "A3", NETLIB_DELEGATE(7483, upd_a))
- , m_A4(*this, "A4", NETLIB_DELEGATE(7483, upd_a))
- , m_B1(*this, "B1", NETLIB_DELEGATE(7483, upd_b))
- , m_B2(*this, "B2", NETLIB_DELEGATE(7483, upd_b))
- , m_B3(*this, "B3", NETLIB_DELEGATE(7483, upd_b))
- , m_B4(*this, "B4", NETLIB_DELEGATE(7483, upd_b))
+ , m_A1(*this, "A1", NETLIB_DELEGATE(upd_a))
+ , m_A2(*this, "A2", NETLIB_DELEGATE(upd_a))
+ , m_A3(*this, "A3", NETLIB_DELEGATE(upd_a))
+ , m_A4(*this, "A4", NETLIB_DELEGATE(upd_a))
+ , m_B1(*this, "B1", NETLIB_DELEGATE(upd_b))
+ , m_B2(*this, "B2", NETLIB_DELEGATE(upd_b))
+ , m_B3(*this, "B3", NETLIB_DELEGATE(upd_b))
+ , m_B4(*this, "B4", NETLIB_DELEGATE(upd_b))
, m_a(*this, "m_a", 0)
, m_b(*this, "m_b", 0)
, m_lastr(*this, "m_lastr", 0)
diff --git a/src/lib/netlist/devices/nld_7493.cpp b/src/lib/netlist/devices/nld_7493.cpp
index 87fe2b2bdc7..a2315dc6a8a 100644
--- a/src/lib/netlist/devices/nld_7493.cpp
+++ b/src/lib/netlist/devices/nld_7493.cpp
@@ -86,8 +86,8 @@ namespace netlist
, m_a(*this, "_m_a", 0)
, m_bcd(*this, "_m_b", 0)
, m_r(*this, "_m_r", 0)
- , m_CLKA(*this, "CLKA", NETLIB_DELEGATE(7493, updA))
- , m_CLKB(*this, "CLKB", NETLIB_DELEGATE(7493, updB))
+ , m_CLKA(*this, "CLKA", NETLIB_DELEGATE(updA))
+ , m_CLKB(*this, "CLKB", NETLIB_DELEGATE(updB))
, m_QA(*this, "QA")
, m_QB(*this, {"QB", "QC", "QD"})
, m_power_pins(*this)
diff --git a/src/lib/netlist/devices/nld_7497.cpp b/src/lib/netlist/devices/nld_7497.cpp
index bbc4502aa9e..5c81af09850 100644
--- a/src/lib/netlist/devices/nld_7497.cpp
+++ b/src/lib/netlist/devices/nld_7497.cpp
@@ -24,11 +24,11 @@ namespace netlist
{
NETLIB_CONSTRUCTOR(7497)
, m_B(*this, {"B5", "B4", "B3", "B2", "B1", "B0"})
- , m_CLK(*this, "CLK", NETLIB_DELEGATE(7497, clk_strb))
- , m_STRBQ(*this, "STRBQ", NETLIB_DELEGATE(7497, clk_strb))
+ , m_CLK(*this, "CLK", NETLIB_DELEGATE(clk_strb))
+ , m_STRBQ(*this, "STRBQ", NETLIB_DELEGATE(clk_strb))
, m_ENQ(*this, "ENQ")
- , m_UNITYQ(*this, "UNITYQ", NETLIB_DELEGATE(7497, unity))
- , m_CLR(*this, "CLR", NETLIB_DELEGATE(7497, clr))
+ , m_UNITYQ(*this, "UNITYQ", NETLIB_DELEGATE(unity))
+ , m_CLR(*this, "CLR", NETLIB_DELEGATE(clr))
, m_Y(*this, "Y")
, m_ZQ(*this, "ZQ")
, m_ENOUTQ(*this, "ENOUTQ")
diff --git a/src/lib/netlist/devices/nld_82S16.cpp b/src/lib/netlist/devices/nld_82S16.cpp
index afe0b557203..8e9f858edec 100644
--- a/src/lib/netlist/devices/nld_82S16.cpp
+++ b/src/lib/netlist/devices/nld_82S16.cpp
@@ -15,10 +15,10 @@ namespace netlist
NETLIB_OBJECT(82S16)
{
NETLIB_CONSTRUCTOR(82S16)
- , m_A(*this, {"A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7"}, NETLIB_DELEGATE(82S16, addr))
- , m_CE1Q(*this, "CE1Q", NETLIB_DELEGATE(82S16, enq))
- , m_CE2Q(*this, "CE2Q", NETLIB_DELEGATE(82S16, enq))
- , m_CE3Q(*this, "CE3Q", NETLIB_DELEGATE(82S16, enq))
+ , m_A(*this, {"A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7"}, NETLIB_DELEGATE(addr))
+ , m_CE1Q(*this, "CE1Q", NETLIB_DELEGATE(enq))
+ , m_CE2Q(*this, "CE2Q", NETLIB_DELEGATE(enq))
+ , m_CE3Q(*this, "CE3Q", NETLIB_DELEGATE(enq))
, m_WEQ(*this, "WEQ")
, m_DIN(*this, "DIN")
, m_DOUTQ(*this, "DOUTQ")
diff --git a/src/lib/netlist/devices/nld_9316_base.hxx b/src/lib/netlist/devices/nld_9316_base.hxx
index 0f6d22dd79b..e87c1dbf1ce 100644
--- a/src/lib/netlist/devices/nld_9316_base.hxx
+++ b/src/lib/netlist/devices/nld_9316_base.hxx
@@ -23,13 +23,13 @@ namespace netlist
NETLIB_OBJECT(9316_base)
{
NETLIB_CONSTRUCTOR(9316_base)
- , m_CLK(*this, "CLK", NETLIB_DELEGATE(9316_base, clk))
+ , m_CLK(*this, "CLK", NETLIB_DELEGATE(clk))
, m_ENT(*this, "ENT")
, m_RC(*this, "RC")
, m_LOADQ(*this, "LOADQ")
, m_ENP(*this, "ENP")
, m_CLRQ(*this, "CLRQ")
- , m_ABCD(*this, {"A", "B", "C", "D"}, NETLIB_DELEGATE(9316_base, abcd))
+ , m_ABCD(*this, {"A", "B", "C", "D"}, NETLIB_DELEGATE(abcd))
, m_Q(*this, { "QA", "QB", "QC", "QD" })
, m_cnt(*this, "m_cnt", 0)
, m_abcd(*this, "m_abcd", 0)
diff --git a/src/lib/netlist/devices/nld_roms.cpp b/src/lib/netlist/devices/nld_roms.cpp
index f82480e91e2..a921c932aa2 100644
--- a/src/lib/netlist/devices/nld_roms.cpp
+++ b/src/lib/netlist/devices/nld_roms.cpp
@@ -31,12 +31,12 @@ namespace netlist
NETLIB_CONSTRUCTOR(generic_prom)
, m_enabled(*this, "m_enabled", true)
, m_TE(*this, "FORCE_TRISTATE_LOGIC", 0)
- , m_A(*this, 0, "A{}", NETLIB_DELEGATE(generic_prom, addr))
+ , m_A(*this, 0, "A{}", NETLIB_DELEGATE(addr))
, m_CEQ(*this, 1,
D::chip_enable_mask::value ^ static_cast<size_t>(0xffff), pstring("CE{}"),
- std::array<nldelegate, 3>{ NETLIB_DELEGATE(generic_prom, ce<0>),
- NETLIB_DELEGATE(generic_prom, ce<1>),
- NETLIB_DELEGATE(generic_prom, ce<2>)})
+ std::array<nldelegate, 3>{ NETLIB_DELEGATE(ce<0>),
+ NETLIB_DELEGATE(ce<1>),
+ NETLIB_DELEGATE(ce<2>)})
, m_O(*this, D::data_name_offset::value, "O{}", m_TE())
, m_ROM(*this, "ROM")
, m_power_pins(*this)
diff --git a/src/lib/netlist/devices/nld_system.cpp b/src/lib/netlist/devices/nld_system.cpp
index 20592f9f46d..547581ec590 100644
--- a/src/lib/netlist/devices/nld_system.cpp
+++ b/src/lib/netlist/devices/nld_system.cpp
@@ -26,10 +26,7 @@ namespace devices
{
m_cnt = 0;
m_off = netlist_time::from_fp<decltype(m_offset())>(m_offset());
- m_feedback.set_delegate(NETLIB_DELEGATE(extclock, update));
-
- //m_feedback.m_delegate .set(&NETLIB_NAME(extclock)::update, this);
- //m_Q.initial(0);
+ m_feedback.set_delegate(NETLIB_DELEGATE(update));
}
NETLIB_HANDLER(extclock, clk2)
diff --git a/src/lib/netlist/nl_base.h b/src/lib/netlist/nl_base.h
index 857f1be10e3..ffb1b564f69 100644
--- a/src/lib/netlist/nl_base.h
+++ b/src/lib/netlist/nl_base.h
@@ -79,7 +79,8 @@ class NETLIB_NAME(name) : public delegator_t<NETLIB_NAME(pclass)>
#define NETLIB_BASE_OBJECT(name) \
class NETLIB_NAME(name) : public delegator_t<base_device_t>
-#define NETLIB_CONSTRUCTOR_PASS(cname, ...) \
+#define NETLIB_CONSTRUCTOR_PASS(cname, ...) \
+ using this_type = NETLIB_NAME(cname); \
public: template <class CLASS> NETLIB_NAME(cname)(CLASS &owner, const pstring &name) \
: base_type(owner, name, __VA_ARGS__)
@@ -88,6 +89,7 @@ class NETLIB_NAME(name) : public delegator_t<base_device_t>
/// Use this to define the constructor of a netlist device. Please refer to
/// #NETLIB_OBJECT for an example.
#define NETLIB_CONSTRUCTOR(cname) \
+ using this_type = NETLIB_NAME(cname); \
public: template <class CLASS> NETLIB_NAME(cname)(CLASS &owner, const pstring &name) \
: base_type(owner, name)
@@ -101,6 +103,7 @@ class NETLIB_NAME(name) : public delegator_t<base_device_t>
/// };
///
#define NETLIB_CONSTRUCTOR_MODEL(cname, cmodel) \
+ using this_type = NETLIB_NAME(cname); \
public: template <class CLASS> NETLIB_NAME(cname)(CLASS &owner, const pstring &name) \
: base_type(owner, name, cmodel)
@@ -108,6 +111,7 @@ class NETLIB_NAME(name) : public delegator_t<base_device_t>
/// The macro allows to add further parameters to a device constructor. This is
/// normally used for sub-devices and system devices only.
#define NETLIB_CONSTRUCTOR_EX(cname, ...) \
+ using this_type = NETLIB_NAME(cname); \
public: template <class CLASS> NETLIB_NAME(cname)(CLASS &owner, const pstring &name, __VA_ARGS__) \
: base_type(owner, name)
@@ -173,7 +177,7 @@ class NETLIB_NAME(name) : public delegator_t<base_device_t>
#define NETLIB_TIMESTEP(cname) \
void NETLIB_NAME(cname) :: timestep(nl_fptype step) noexcept
-#define NETLIB_DELEGATE(chip, name) nldelegate(&NETLIB_NAME(chip) :: name, this)
+#define NETLIB_DELEGATE(name) nldelegate(&this_type :: name, this)
#define NETLIB_UPDATE_TERMINALSI() virtual void update_terminals() noexcept override
#define NETLIB_HANDLERI(name) void name() noexcept
@@ -2169,10 +2173,12 @@ namespace netlist
class nld_power_pins
{
public:
+ using this_type = nld_power_pins;
+
explicit nld_power_pins(device_t &owner, const pstring &sVCC = sPowerVCC,
const pstring &sGND = sPowerGND)
- : m_VCC(owner, sVCC, NETLIB_DELEGATE(power_pins, noop))
- , m_GND(owner, sGND, NETLIB_DELEGATE(power_pins, noop))
+ : m_VCC(owner, sVCC, NETLIB_DELEGATE(noop))
+ , m_GND(owner, sGND, NETLIB_DELEGATE(noop))
{
}