summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/netlist/devices/nld_system.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/netlist/devices/nld_system.h')
-rw-r--r--src/emu/netlist/devices/nld_system.h256
1 files changed, 128 insertions, 128 deletions
diff --git a/src/emu/netlist/devices/nld_system.h b/src/emu/netlist/devices/nld_system.h
index ca5f9b70316..2c214ed352a 100644
--- a/src/emu/netlist/devices/nld_system.h
+++ b/src/emu/netlist/devices/nld_system.h
@@ -27,14 +27,14 @@
#define MAINCLOCK(_name, _freq) \
NET_REGISTER_DEV(mainclock, _name) \
- PARAM(_name.FREQ, _freq)
+ PARAM(_name.FREQ, _freq)
#define CLOCK(_name, _freq) \
NET_REGISTER_DEV(clock, _name) \
- PARAM(_name.FREQ, _freq)
+ PARAM(_name.FREQ, _freq)
#define GNDA() \
- NET_REGISTER_DEV(gnd, GND)
+ NET_REGISTER_DEV(gnd, GND)
// ----------------------------------------------------------------------------------------
// mainclock
@@ -47,7 +47,7 @@ public:
netlist_param_double_t m_freq;
netlist_time m_inc;
- ATTR_HOT inline static void mc_update(netlist_net_t &net);
+ ATTR_HOT inline static void mc_update(netlist_net_t &net);
);
// ----------------------------------------------------------------------------------------
@@ -76,7 +76,7 @@ NETLIB_DEVICE_WITH_PARAMS(ttl_input,
NETLIB_DEVICE_WITH_PARAMS(analog_input,
netlist_analog_output_t m_Q;
- netlist_param_double_t m_IN;
+ netlist_param_double_t m_IN;
);
// ----------------------------------------------------------------------------------------
@@ -86,29 +86,29 @@ NETLIB_DEVICE_WITH_PARAMS(analog_input,
class nld_gnd : public netlist_device_t
{
public:
- ATTR_COLD nld_gnd()
- : netlist_device_t(GND) { }
+ ATTR_COLD nld_gnd()
+ : netlist_device_t(GND) { }
- ATTR_COLD virtual ~nld_gnd() {}
+ ATTR_COLD virtual ~nld_gnd() {}
protected:
- ATTR_COLD void start()
- {
- register_output("Q", m_Q);
- }
+ ATTR_COLD void start()
+ {
+ register_output("Q", m_Q);
+ }
- ATTR_COLD void reset()
- {
- }
+ ATTR_COLD void reset()
+ {
+ }
- ATTR_HOT ATTR_ALIGN void update()
- {
- OUTANALOG(m_Q, 0.0, NLTIME_IMMEDIATE);
- }
+ ATTR_HOT ATTR_ALIGN void update()
+ {
+ OUTANALOG(m_Q, 0.0, NLTIME_IMMEDIATE);
+ }
private:
- netlist_analog_output_t m_Q;
+ netlist_analog_output_t m_Q;
};
@@ -120,38 +120,38 @@ private:
class nld_a_to_d_proxy : public netlist_device_t
{
public:
- ATTR_COLD nld_a_to_d_proxy(netlist_input_t &in_proxied)
- : netlist_device_t()
- {
- assert(in_proxied.family() == LOGIC);
- m_I.m_family_desc = in_proxied.m_family_desc;
- }
+ ATTR_COLD nld_a_to_d_proxy(netlist_input_t &in_proxied)
+ : netlist_device_t()
+ {
+ assert(in_proxied.family() == LOGIC);
+ m_I.m_family_desc = in_proxied.m_family_desc;
+ }
- ATTR_COLD virtual ~nld_a_to_d_proxy() {}
+ ATTR_COLD virtual ~nld_a_to_d_proxy() {}
- netlist_analog_input_t m_I;
- netlist_ttl_output_t m_Q;
+ netlist_analog_input_t m_I;
+ netlist_ttl_output_t m_Q;
protected:
- ATTR_COLD void start()
- {
- register_input("I", m_I);
- register_output("Q", m_Q);
- }
-
- ATTR_COLD void reset()
- {
- }
-
- ATTR_HOT ATTR_ALIGN void update()
- {
- if (m_I.Q_Analog() > m_I.m_family_desc->m_high_thresh_V)
- OUTLOGIC(m_Q, 1, NLTIME_FROM_NS(1));
- else if (m_I.Q_Analog() < m_I.m_family_desc->m_low_thresh_V)
- OUTLOGIC(m_Q, 0, NLTIME_FROM_NS(1));
- //else
- // OUTLOGIC(m_Q, m_Q.net().last_Q(), NLTIME_FROM_NS(1));
- }
+ ATTR_COLD void start()
+ {
+ register_input("I", m_I);
+ register_output("Q", m_Q);
+ }
+
+ ATTR_COLD void reset()
+ {
+ }
+
+ ATTR_HOT ATTR_ALIGN void update()
+ {
+ if (m_I.Q_Analog() > m_I.m_family_desc->m_high_thresh_V)
+ OUTLOGIC(m_Q, 1, NLTIME_FROM_NS(1));
+ else if (m_I.Q_Analog() < m_I.m_family_desc->m_low_thresh_V)
+ OUTLOGIC(m_Q, 0, NLTIME_FROM_NS(1));
+ //else
+ // OUTLOGIC(m_Q, m_Q.net().last_Q(), NLTIME_FROM_NS(1));
+ }
};
@@ -162,24 +162,24 @@ protected:
class nld_base_d_to_a_proxy : public netlist_device_t
{
public:
- ATTR_COLD nld_base_d_to_a_proxy(netlist_output_t &out_proxied)
- : netlist_device_t()
- {
- assert(out_proxied.family() == LOGIC);
- m_family_desc = out_proxied.m_family_desc;
- }
+ ATTR_COLD nld_base_d_to_a_proxy(netlist_output_t &out_proxied)
+ : netlist_device_t()
+ {
+ assert(out_proxied.family() == LOGIC);
+ m_family_desc = out_proxied.m_family_desc;
+ }
- ATTR_COLD virtual ~nld_base_d_to_a_proxy() {}
+ ATTR_COLD virtual ~nld_base_d_to_a_proxy() {}
- ATTR_COLD virtual netlist_core_terminal_t &out() = 0;
+ ATTR_COLD virtual netlist_core_terminal_t &out() = 0;
- netlist_ttl_input_t m_I;
+ netlist_ttl_input_t m_I;
protected:
- ATTR_COLD void start()
- {
- register_input("I", m_I);
- }
+ ATTR_COLD void start()
+ {
+ register_input("I", m_I);
+ }
private:
};
@@ -188,88 +188,88 @@ private:
class nld_d_to_a_proxy : public nld_base_d_to_a_proxy
{
public:
- ATTR_COLD nld_d_to_a_proxy(netlist_output_t &out_proxied)
- : nld_base_d_to_a_proxy(out_proxied)
- {
- }
+ ATTR_COLD nld_d_to_a_proxy(netlist_output_t &out_proxied)
+ : nld_base_d_to_a_proxy(out_proxied)
+ {
+ }
- ATTR_COLD virtual ~nld_d_to_a_proxy() {}
+ ATTR_COLD virtual ~nld_d_to_a_proxy() {}
protected:
- ATTR_COLD void start()
- {
- nld_base_d_to_a_proxy::start();
- register_output("Q", m_Q);
- }
-
- ATTR_COLD void reset()
- {
- //m_Q.initial(0);
- }
-
- ATTR_COLD virtual netlist_core_terminal_t &out()
- {
- return m_Q;
- }
-
- ATTR_HOT ATTR_ALIGN void update()
- {
- OUTANALOG(m_Q, INPLOGIC(m_I) ? m_family_desc->m_high_V : m_family_desc->m_low_V, NLTIME_FROM_NS(1));
- }
+ ATTR_COLD void start()
+ {
+ nld_base_d_to_a_proxy::start();
+ register_output("Q", m_Q);
+ }
+
+ ATTR_COLD void reset()
+ {
+ //m_Q.initial(0);
+ }
+
+ ATTR_COLD virtual netlist_core_terminal_t &out()
+ {
+ return m_Q;
+ }
+
+ ATTR_HOT ATTR_ALIGN void update()
+ {
+ OUTANALOG(m_Q, INPLOGIC(m_I) ? m_family_desc->m_high_V : m_family_desc->m_low_V, NLTIME_FROM_NS(1));
+ }
private:
- netlist_analog_output_t m_Q;
+ netlist_analog_output_t m_Q;
};
#else
class nld_d_to_a_proxy : public nld_base_d_to_a_proxy
{
public:
- ATTR_COLD nld_d_to_a_proxy(netlist_output_t &out_proxied)
- : nld_base_d_to_a_proxy(out_proxied)
- {
- }
+ ATTR_COLD nld_d_to_a_proxy(netlist_output_t &out_proxied)
+ : nld_base_d_to_a_proxy(out_proxied)
+ {
+ }
- ATTR_COLD virtual ~nld_d_to_a_proxy() {}
+ ATTR_COLD virtual ~nld_d_to_a_proxy() {}
protected:
- ATTR_COLD void start()
- {
- nld_base_d_to_a_proxy::start();
-
- register_sub(m_R, "R");
- register_output("_Q", m_Q);
- register_subalias("Q", m_R.m_N);
-
- connect(m_R.m_P, m_Q);
-
- //m_Q.initial(m_family_desc->m_low_V);
- //m_R.set_R(m_family_desc->m_R_low);
- }
-
- ATTR_COLD void reset()
- {
- //m_Q.initial(m_family_desc->m_low_V);
- //m_R.set_R(m_family_desc->m_R_low);
- m_R.do_reset();
- }
-
- ATTR_COLD virtual netlist_core_terminal_t &out()
- {
- return m_R.m_N;
- }
-
- ATTR_HOT ATTR_ALIGN void update()
- {
- double R = INPLOGIC(m_I) ? m_family_desc->m_R_high : m_family_desc->m_R_low;
- double V = INPLOGIC(m_I) ? m_family_desc->m_high_V : m_family_desc->m_low_V;
- //printf("%f %f\n", R, V);
- m_R.set_R(R);
- OUTANALOG(m_Q, V, NLTIME_FROM_NS(0));
- }
+ ATTR_COLD void start()
+ {
+ nld_base_d_to_a_proxy::start();
+
+ register_sub(m_R, "R");
+ register_output("_Q", m_Q);
+ register_subalias("Q", m_R.m_N);
+
+ connect(m_R.m_P, m_Q);
+
+ //m_Q.initial(m_family_desc->m_low_V);
+ //m_R.set_R(m_family_desc->m_R_low);
+ }
+
+ ATTR_COLD void reset()
+ {
+ //m_Q.initial(m_family_desc->m_low_V);
+ //m_R.set_R(m_family_desc->m_R_low);
+ m_R.do_reset();
+ }
+
+ ATTR_COLD virtual netlist_core_terminal_t &out()
+ {
+ return m_R.m_N;
+ }
+
+ ATTR_HOT ATTR_ALIGN void update()
+ {
+ double R = INPLOGIC(m_I) ? m_family_desc->m_R_high : m_family_desc->m_R_low;
+ double V = INPLOGIC(m_I) ? m_family_desc->m_high_V : m_family_desc->m_low_V;
+ //printf("%f %f\n", R, V);
+ m_R.set_R(R);
+ OUTANALOG(m_Q, V, NLTIME_FROM_NS(0));
+ }
private:
- netlist_analog_output_t m_Q;
- nld_R_base m_R;
+ netlist_analog_output_t m_Q;
+ nld_R_base m_R;
};
#endif