diff options
Diffstat (limited to 'src/emu/netlist/devices')
| -rw-r--r-- | src/emu/netlist/devices/net_lib.c | 7 | ||||
| -rw-r--r-- | src/emu/netlist/devices/net_lib.h | 16 | ||||
| -rw-r--r-- | src/emu/netlist/devices/nld_7400.c | 2 | ||||
| -rw-r--r-- | src/emu/netlist/devices/nld_7400.h | 6 | ||||
| -rw-r--r-- | src/emu/netlist/devices/nld_signal.h | 438 | ||||
| -rw-r--r-- | src/emu/netlist/devices/nld_system.h | 10 |
6 files changed, 237 insertions, 242 deletions
diff --git a/src/emu/netlist/devices/net_lib.c b/src/emu/netlist/devices/net_lib.c index 2c255469569..ac8754fb36b 100644 --- a/src/emu/netlist/devices/net_lib.c +++ b/src/emu/netlist/devices/net_lib.c @@ -340,7 +340,6 @@ NETLIB_START(nic7448) NETLIB_UPDATE(nic7448) { - if (INPLOGIC(m_BIQ) && !INPLOGIC(m_LTQ)) { sub.update_outputs(8); @@ -502,7 +501,6 @@ NETLIB_UPDATE(nic7474) NETLIB_START(nic7474) { - register_sub(sub, "sub"); register_input(sub, "CLK", sub.m_clk, net_input_t::INP_STATE_LH); register_input("D", m_D); @@ -817,7 +815,7 @@ NETLIB_UPDATE(nic74107A) else if (!sub.m_Q2) sub.m_clk.activate_hl(); //if (!sub.m_Q2 & INPLOGIC(m_clrQ)) - // sub.m_clk.activate_hl(); + // sub.m_clk.activate_hl(); } NETLIB_START(nic74153) @@ -977,7 +975,7 @@ static const net_device_t_base_factory *netregistry[] = ENTRY(netdev_analog_const, NETDEV_ANALOG_CONST) ENTRY(netdev_logic_input, NETDEV_LOGIC_INPUT) ENTRY(netdev_analog_input, NETDEV_ANALOG_INPUT) - ENTRY(netdev_log, NETDEV_LOG) + ENTRY(netdev_log, NETDEV_LOG) ENTRY(netdev_clock, NETDEV_CLOCK) ENTRY(netdev_mainclock, NETDEV_MAINCLOCK) ENTRY(netdev_analog_callback,NETDEV_CALLBACK) @@ -1040,4 +1038,3 @@ net_device_t *net_create_device_by_name(const astring &name, netlist_setup_t &se fatalerror("Class %s required for IC %s not found!\n", name.cstr(), icname.cstr()); return NULL; // appease code analysis } - diff --git a/src/emu/netlist/devices/net_lib.h b/src/emu/netlist/devices/net_lib.h index 2eb66ad2324..177a387b347 100644 --- a/src/emu/netlist/devices/net_lib.h +++ b/src/emu/netlist/devices/net_lib.h @@ -57,7 +57,7 @@ #include "nld_7400.h" // this is a bad hack -#define USE_OLD7493 (0) +#define USE_OLD7493 (0) // ---------------------------------------------------------------------------------------- // Special chips @@ -87,8 +87,8 @@ NET_CONNECT(_name, S, _S) \ NET_CONNECT(_name, R, _R) -#define NETDEV_LOG(_name, _I) \ - NET_REGISTER_DEV(netdev_log, _name) \ +#define NETDEV_LOG(_name, _I) \ + NET_REGISTER_DEV(netdev_log, _name) \ NET_CONNECT(_name, I, _I) @@ -356,7 +356,7 @@ NETLIB_SUBDEVICE(nic7474sub, ); NETLIB_DEVICE(nic7474, - NETLIB_NAME(nic7474sub) sub; + NETLIB_NAME(nic7474sub) sub; ttl_input_t m_D; ttl_input_t m_clrQ; @@ -389,7 +389,7 @@ NETLIB_SUBDEVICE(nic74107Asub, ); NETLIB_DEVICE(nic74107A, - NETLIB_NAME(nic74107Asub) sub; + NETLIB_NAME(nic74107Asub) sub; ttl_input_t m_J; ttl_input_t m_K; @@ -400,7 +400,7 @@ NETLIB_DEVICE(nic74107A, class NETLIB_NAME(nic74107) : public NETLIB_NAME(nic74107A) { public: - NETLIB_NAME(nic74107) () + NETLIB_NAME(nic74107) () : NETLIB_NAME(nic74107A) () {} }; @@ -480,7 +480,7 @@ NETLIB_SUBDEVICE(nic9316_sub, ); NETLIB_DEVICE(nic9316, - NETLIB_NAME(nic9316_sub) sub; + NETLIB_NAME(nic9316_sub) sub; ttl_input_t m_ENP; ttl_input_t m_ENT; ttl_input_t m_CLRQ; @@ -543,7 +543,7 @@ NETLIB_SUBDEVICE(nic7448_sub, NETLIB_DEVICE(nic7448, - NETLIB_NAME(nic7448_sub) sub; + NETLIB_NAME(nic7448_sub) sub; ttl_input_t m_LTQ; ttl_input_t m_BIQ; diff --git a/src/emu/netlist/devices/nld_7400.c b/src/emu/netlist/devices/nld_7400.c index 977bd991dbc..baad498c641 100644 --- a/src/emu/netlist/devices/nld_7400.c +++ b/src/emu/netlist/devices/nld_7400.c @@ -2,5 +2,3 @@ * nld_7400.c * */ - - diff --git a/src/emu/netlist/devices/nld_7400.h b/src/emu/netlist/devices/nld_7400.h index 078ceafd54b..82f121597ed 100644 --- a/src/emu/netlist/devices/nld_7400.h +++ b/src/emu/netlist/devices/nld_7400.h @@ -35,9 +35,9 @@ #define NLD_7400_H_ #define TTL_7400_NAND(_name, _A, _B) \ - NET_REGISTER_DEV(7400, _name) \ - NET_CONNECT(_name, A, _A) \ - NET_CONNECT(_name, B, _B) + NET_REGISTER_DEV(7400, _name) \ + NET_CONNECT(_name, A, _A) \ + NET_CONNECT(_name, B, _B) NETLIB_SIGNAL(7400, 2, 0, 0); diff --git a/src/emu/netlist/devices/nld_signal.h b/src/emu/netlist/devices/nld_signal.h index 9119c0253a7..4265343f624 100644 --- a/src/emu/netlist/devices/nld_signal.h +++ b/src/emu/netlist/devices/nld_signal.h @@ -15,12 +15,12 @@ // ---------------------------------------------------------------------------------------- #define NETLIB_SIGNAL(_name, _num_input, _check, _invert) \ - class NETLIB_NAME(_name) : public net_signal_t<_num_input, _check, _invert> \ - { \ - public: \ - ATTR_COLD NETLIB_NAME(_name) () \ - : net_signal_t<_num_input, _check, _invert>() { } \ - } + class NETLIB_NAME(_name) : public net_signal_t<_num_input, _check, _invert> \ + { \ + public: \ + ATTR_COLD NETLIB_NAME(_name) () \ + : net_signal_t<_num_input, _check, _invert>() { } \ + } // ---------------------------------------------------------------------------------------- // net_signal_t @@ -30,46 +30,46 @@ template <int _numdev> class net_signal_base_t : public net_device_t { public: - net_signal_base_t() - : net_device_t(), m_active(1) { } + net_signal_base_t() + : net_device_t(), m_active(1) { } - ATTR_COLD void start() - { - const char *sIN[8] = { "I1", "I2", "I3", "I4", "I5", "I6", "I7", "I8" }; + ATTR_COLD void start() + { + const char *sIN[8] = { "I1", "I2", "I3", "I4", "I5", "I6", "I7", "I8" }; - register_output("Q", m_Q); - for (int i=0; i < _numdev; i++) - { - register_input(sIN[i], m_i[i], net_input_t::INP_STATE_ACTIVE); - } - m_Q.initial(1); - } + register_output("Q", m_Q); + for (int i=0; i < _numdev; i++) + { + register_input(sIN[i], m_i[i], net_input_t::INP_STATE_ACTIVE); + } + m_Q.initial(1); + } #if (USE_DEACTIVE_DEVICE) - ATTR_HOT void inc_active() - { - if (m_active == 0) - { - update(); - } - m_active++; - } - - ATTR_HOT void dec_active() - { - m_active--; - if (m_active == 0) - { - for (int i = 0; i< _numdev; i++) - m_i[i].inactivate(); - } - } + ATTR_HOT void inc_active() + { + if (m_active == 0) + { + update(); + } + m_active++; + } + + ATTR_HOT void dec_active() + { + m_active--; + if (m_active == 0) + { + for (int i = 0; i< _numdev; i++) + m_i[i].inactivate(); + } + } #endif public: - ttl_input_t m_i[_numdev]; - ttl_output_t m_Q; - INT8 m_active; + ttl_input_t m_i[_numdev]; + ttl_output_t m_Q; + INT8 m_active; }; @@ -77,72 +77,72 @@ template <int _numdev, int _check, int _invert> class net_signal_t : public net_device_t { public: - net_signal_t() - : net_device_t(), m_active(1) - { - m_Q.initial(1); - } - - ATTR_COLD void start() - { - const char *sIN[8] = { "A", "B", "C", "D", "E", "F", "G", "H" }; - - register_output("Q", m_Q); - for (int i=0; i < _numdev; i++) - { - register_input(sIN[i], m_i[i], net_input_t::INP_STATE_ACTIVE); - } - } - - #if (USE_DEACTIVE_DEVICE) - ATTR_HOT void inc_active() - { - if (m_active == 0) - { - update(); - } - m_active++; - } - - ATTR_HOT void dec_active() - { - m_active--; - if (m_active == 0) - { - for (int i = 0; i< _numdev; i++) - m_i[i].inactivate(); - } - } - #endif - - virtual void update() - { - static const netlist_time times[2] = { NLTIME_FROM_NS(22), NLTIME_FROM_NS(15) }; - int pos = -1; - - for (int i = 0; i< _numdev; i++) - { - this->m_i[i].activate(); - if (INPLOGIC(this->m_i[i]) == _check) - { - OUTLOGIC(this->m_Q, _check ^ (1 ^ _invert), times[_check]);// ? 15000 : 22000); - pos = i; - break; - } - } - if (pos >= 0) - { - for (int i = 0; i < _numdev; i++) - if (i != pos) - this->m_i[i].inactivate(); - } else - OUTLOGIC(this->m_Q,_check ^ (_invert), times[1-_check]);// ? 22000 : 15000); - } + net_signal_t() + : net_device_t(), m_active(1) + { + m_Q.initial(1); + } + + ATTR_COLD void start() + { + const char *sIN[8] = { "A", "B", "C", "D", "E", "F", "G", "H" }; + + register_output("Q", m_Q); + for (int i=0; i < _numdev; i++) + { + register_input(sIN[i], m_i[i], net_input_t::INP_STATE_ACTIVE); + } + } + + #if (USE_DEACTIVE_DEVICE) + ATTR_HOT void inc_active() + { + if (m_active == 0) + { + update(); + } + m_active++; + } + + ATTR_HOT void dec_active() + { + m_active--; + if (m_active == 0) + { + for (int i = 0; i< _numdev; i++) + m_i[i].inactivate(); + } + } + #endif + + virtual void update() + { + static const netlist_time times[2] = { NLTIME_FROM_NS(22), NLTIME_FROM_NS(15) }; + int pos = -1; + + for (int i = 0; i< _numdev; i++) + { + this->m_i[i].activate(); + if (INPLOGIC(this->m_i[i]) == _check) + { + OUTLOGIC(this->m_Q, _check ^ (1 ^ _invert), times[_check]);// ? 15000 : 22000); + pos = i; + break; + } + } + if (pos >= 0) + { + for (int i = 0; i < _numdev; i++) + if (i != pos) + this->m_i[i].inactivate(); + } else + OUTLOGIC(this->m_Q,_check ^ (_invert), times[1-_check]);// ? 22000 : 15000); + } public: - ttl_input_t m_i[_numdev]; - ttl_output_t m_Q; - INT8 m_active; + ttl_input_t m_i[_numdev]; + ttl_output_t m_Q; + INT8 m_active; }; #if 1 @@ -150,71 +150,71 @@ template <int _check, int _invert> class xx_net_signal_t: public net_device_t { public: - xx_net_signal_t() - : net_device_t(), m_active(1) - { - m_Q.initial(1); - } - - ATTR_COLD void start() - { - const char *sIN[2] = { "A", "B" }; - - register_output("Q", m_Q); - for (int i=0; i < 2; i++) - { - register_input(sIN[i], m_i[i], net_input_t::INP_STATE_ACTIVE); - } - } - - #if (USE_DEACTIVE_DEVICE) - ATTR_HOT void inc_active() - { - if (m_active == 0) - { - update(); - } - m_active++; - } - - ATTR_HOT void dec_active() - { - m_active--; - if (m_active == 0) - { - m_i[0].inactivate(); - m_i[1].inactivate(); - } - } - #endif - - - ATTR_HOT ATTR_ALIGN void update() - { - const netlist_time times[2] = { NLTIME_FROM_NS(22), NLTIME_FROM_NS(15) }; - - int res = _invert ^ 1 ^_check; - m_i[0].activate(); - m_i[1].activate(); - if (INPLOGIC(m_i[0]) ^ _check) - { - if (INPLOGIC(m_i[1]) ^ _check) - { - res = _invert ^ _check; - } - else - m_i[0].inactivate(); - } else { - if (INPLOGIC(m_i[1]) ^ _check) - m_i[1].inactivate(); - } - OUTLOGIC(m_Q, res, times[(res & 1) ^ 1]);// ? 22000 : 15000); - } + xx_net_signal_t() + : net_device_t(), m_active(1) + { + m_Q.initial(1); + } + + ATTR_COLD void start() + { + const char *sIN[2] = { "A", "B" }; + + register_output("Q", m_Q); + for (int i=0; i < 2; i++) + { + register_input(sIN[i], m_i[i], net_input_t::INP_STATE_ACTIVE); + } + } + + #if (USE_DEACTIVE_DEVICE) + ATTR_HOT void inc_active() + { + if (m_active == 0) + { + update(); + } + m_active++; + } + + ATTR_HOT void dec_active() + { + m_active--; + if (m_active == 0) + { + m_i[0].inactivate(); + m_i[1].inactivate(); + } + } + #endif + + + ATTR_HOT ATTR_ALIGN void update() + { + const netlist_time times[2] = { NLTIME_FROM_NS(22), NLTIME_FROM_NS(15) }; + + int res = _invert ^ 1 ^_check; + m_i[0].activate(); + m_i[1].activate(); + if (INPLOGIC(m_i[0]) ^ _check) + { + if (INPLOGIC(m_i[1]) ^ _check) + { + res = _invert ^ _check; + } + else + m_i[0].inactivate(); + } else { + if (INPLOGIC(m_i[1]) ^ _check) + m_i[1].inactivate(); + } + OUTLOGIC(m_Q, res, times[(res & 1) ^ 1]);// ? 22000 : 15000); + } public: - ttl_input_t m_i[2]; - ttl_output_t m_Q; - INT8 m_active; + ttl_input_t m_i[2]; + ttl_output_t m_Q; + INT8 m_active; }; #endif @@ -226,58 +226,58 @@ template <UINT8 _check, UINT8 _invert> class net_signal_t<3, _check, _invert> : public net_device_t { public: - net_signal_t() : net_device_t(), m_active(1) { } - - ATTR_COLD void start() - { - const char *sIN[3] = { "I1", "I2", "I3" }; - - register_output("Q", m_Q); - for (int i=0; i < 3; i++) - { - register_input(sIN[i], m_i[i], net_input_t::INP_STATE_ACTIVE); - } - m_Q.initial(1); - } - - ATTR_HOT ATTR_ALIGN void update() - { - const netlist_time times[2] = { NLTIME_FROM_NS(22), NLTIME_FROM_NS(15) }; - //const UINT8 res_tab[4] = {1, 1, 1, 0 }; - //const UINT8 ai1[4] = {0, 1, 0, 0 }; - //const UINT8 ai2[4] = {1, 0, 1, 0 }; - - UINT8 res = _invert ^ 1 ^_check; - m_i[0].activate(); - if (INPLOGIC(m_i[0]) ^ _check) - { - m_i[1].activate(); - if (INPLOGIC(m_i[1]) ^ _check) - { - m_i[2].activate(); - if (INPLOGIC(m_i[2]) ^ _check) - { - res = _invert ^ _check; - } - else - m_i[1].inactivate(); - } - else - { - if (INPLOGIC(m_i[2]) ^ _check) - m_i[2].inactivate(); - m_i[0].inactivate(); - } - } else { - if (INPLOGIC(m_i[1]) ^ _check) - m_i[1].inactivate(); - } - OUTLOGIC(m_Q, res, times[1 - res]);// ? 22000 : 15000); - } + net_signal_t() : net_device_t(), m_active(1) { } + + ATTR_COLD void start() + { + const char *sIN[3] = { "I1", "I2", "I3" }; + + register_output("Q", m_Q); + for (int i=0; i < 3; i++) + { + register_input(sIN[i], m_i[i], net_input_t::INP_STATE_ACTIVE); + } + m_Q.initial(1); + } + + ATTR_HOT ATTR_ALIGN void update() + { + const netlist_time times[2] = { NLTIME_FROM_NS(22), NLTIME_FROM_NS(15) }; + //const UINT8 res_tab[4] = {1, 1, 1, 0 }; + //const UINT8 ai1[4] = {0, 1, 0, 0 }; + //const UINT8 ai2[4] = {1, 0, 1, 0 }; + + UINT8 res = _invert ^ 1 ^_check; + m_i[0].activate(); + if (INPLOGIC(m_i[0]) ^ _check) + { + m_i[1].activate(); + if (INPLOGIC(m_i[1]) ^ _check) + { + m_i[2].activate(); + if (INPLOGIC(m_i[2]) ^ _check) + { + res = _invert ^ _check; + } + else + m_i[1].inactivate(); + } + else + { + if (INPLOGIC(m_i[2]) ^ _check) + m_i[2].inactivate(); + m_i[0].inactivate(); + } + } else { + if (INPLOGIC(m_i[1]) ^ _check) + m_i[1].inactivate(); + } + OUTLOGIC(m_Q, res, times[1 - res]);// ? 22000 : 15000); + } public: - ttl_input_t m_i[3]; - ttl_output_t m_Q; - INT8 m_active; + ttl_input_t m_i[3]; + ttl_output_t m_Q; + INT8 m_active; }; @@ -288,8 +288,8 @@ template <int _check, int _invert> class net_signal_t<2, _check, _invert> : public xx_net_signal_t<_check, _invert> { public: - net_signal_t() - : xx_net_signal_t<_check, _invert>() { } + net_signal_t() + : xx_net_signal_t<_check, _invert>() { } }; diff --git a/src/emu/netlist/devices/nld_system.h b/src/emu/netlist/devices/nld_system.h index 34cc4d99bc4..7f32ff748c3 100644 --- a/src/emu/netlist/devices/nld_system.h +++ b/src/emu/netlist/devices/nld_system.h @@ -17,12 +17,12 @@ // ---------------------------------------------------------------------------------------- #define NETDEV_TTL_CONST(_name, _v) \ - NET_REGISTER_DEV(netdev_ttl_const, _name) \ - NETDEV_PARAM(_name.CONST, _v) + NET_REGISTER_DEV(netdev_ttl_const, _name) \ + NETDEV_PARAM(_name.CONST, _v) #define NETDEV_ANALOG_CONST(_name, _v) \ - NET_REGISTER_DEV(netdev_analog_const, _name) \ - NETDEV_PARAM(_name.CONST, _v) + NET_REGISTER_DEV(netdev_analog_const, _name) \ + NETDEV_PARAM(_name.CONST, _v) // ---------------------------------------------------------------------------------------- // netdev_*_const @@ -58,7 +58,7 @@ NETLIB_DEVICE_WITH_PARAMS(netdev_mainclock, class NETLIB_NAME(netdev_analog_callback) : public net_device_t { public: - NETLIB_NAME(netdev_analog_callback)() + NETLIB_NAME(netdev_analog_callback)() : net_device_t() { } ATTR_COLD void start() |
