diff options
Diffstat (limited to 'src/emu/netlist/devices/nld_system.h')
-rw-r--r-- | src/emu/netlist/devices/nld_system.h | 40 |
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 |