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.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/emu/netlist/devices/nld_system.h b/src/emu/netlist/devices/nld_system.h
index f1397e4365a..47ca470d197 100644
--- a/src/emu/netlist/devices/nld_system.h
+++ b/src/emu/netlist/devices/nld_system.h
@@ -39,6 +39,11 @@
#define DUMMY_INPUT(_name) \
NET_REGISTER_DEV(dummy_input, _name)
+#define FRONTIER(_name, _IN, _OUT) \
+ NET_REGISTER_DEV(frontier, _name) \
+ NET_C(_IN, _name.I) \
+ NET_C(_OUT, _name.Q) \
+
// -----------------------------------------------------------------------------
// mainclock
// -----------------------------------------------------------------------------
@@ -147,6 +152,41 @@ private:
};
+// -----------------------------------------------------------------------------
+// nld_frontier
+// -----------------------------------------------------------------------------
+
+class NETLIB_NAME(frontier) : public netlist_device_t
+{
+public:
+ ATTR_COLD NETLIB_NAME(frontier)()
+ : netlist_device_t(DUMMY) { }
+
+ ATTR_COLD virtual ~NETLIB_NAME(frontier)() {}
+
+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()
+ {
+ OUTANALOG(m_Q, INPANALOG(m_I));
+ }
+
+private:
+ netlist_analog_input_t m_I;
+ netlist_analog_output_t m_Q;
+
+};
+
// -----------------------------------------------------------------------------
// netdev_a_to_d