summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/netlist/devices/net_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/netlist/devices/net_lib.c')
-rw-r--r--src/emu/netlist/devices/net_lib.c566
1 files changed, 282 insertions, 284 deletions
diff --git a/src/emu/netlist/devices/net_lib.c b/src/emu/netlist/devices/net_lib.c
index 81a375bfd27..fdb376d6340 100644
--- a/src/emu/netlist/devices/net_lib.c
+++ b/src/emu/netlist/devices/net_lib.c
@@ -53,164 +53,164 @@
NETLIB_START(nic7448)
{
- register_sub(sub, "sub");
-
- register_subalias("A0", sub.m_A0);
- register_subalias("A1", sub.m_A1);
- register_subalias("A2", sub.m_A2);
- register_subalias("A3", sub.m_A3);
- register_input("LTQ", m_LTQ);
- register_input("BIQ", m_BIQ);
- register_subalias("RBIQ",sub.m_RBIQ);
-
- register_subalias("a", sub.m_a);
- register_subalias("b", sub.m_b);
- register_subalias("c", sub.m_c);
- register_subalias("d", sub.m_d);
- register_subalias("e", sub.m_e);
- register_subalias("f", sub.m_f);
- register_subalias("g", sub.m_g);
+ register_sub(sub, "sub");
+
+ register_subalias("A0", sub.m_A0);
+ register_subalias("A1", sub.m_A1);
+ register_subalias("A2", sub.m_A2);
+ register_subalias("A3", sub.m_A3);
+ register_input("LTQ", m_LTQ);
+ register_input("BIQ", m_BIQ);
+ register_subalias("RBIQ",sub.m_RBIQ);
+
+ register_subalias("a", sub.m_a);
+ register_subalias("b", sub.m_b);
+ register_subalias("c", sub.m_c);
+ register_subalias("d", sub.m_d);
+ register_subalias("e", sub.m_e);
+ register_subalias("f", sub.m_f);
+ register_subalias("g", sub.m_g);
}
NETLIB_UPDATE(nic7448)
{
- if (INPLOGIC(m_BIQ) && !INPLOGIC(m_LTQ))
- {
- sub.update_outputs(8);
- }
- else if (!INPLOGIC(m_BIQ))
- {
- sub.update_outputs(15);
- }
-
- if (!INPLOGIC(m_BIQ) || (INPLOGIC(m_BIQ) && !INPLOGIC(m_LTQ)))
- {
- sub.m_A0.inactivate();
- sub.m_A1.inactivate();
- sub.m_A2.inactivate();
- sub.m_A3.inactivate();
- sub.m_RBIQ.inactivate();
- } else {
- sub.m_RBIQ.activate();
- sub.m_A3.activate();
- sub.m_A2.activate();
- sub.m_A1.activate();
- sub.m_A0.activate();
- sub.update();
- }
+ if (INPLOGIC(m_BIQ) && !INPLOGIC(m_LTQ))
+ {
+ sub.update_outputs(8);
+ }
+ else if (!INPLOGIC(m_BIQ))
+ {
+ sub.update_outputs(15);
+ }
+
+ if (!INPLOGIC(m_BIQ) || (INPLOGIC(m_BIQ) && !INPLOGIC(m_LTQ)))
+ {
+ sub.m_A0.inactivate();
+ sub.m_A1.inactivate();
+ sub.m_A2.inactivate();
+ sub.m_A3.inactivate();
+ sub.m_RBIQ.inactivate();
+ } else {
+ sub.m_RBIQ.activate();
+ sub.m_A3.activate();
+ sub.m_A2.activate();
+ sub.m_A1.activate();
+ sub.m_A0.activate();
+ sub.update();
+ }
}
NETLIB_START(nic7448_sub)
{
- m_state = 0;
-
- register_input("A0", m_A0);
- register_input("A1", m_A1);
- register_input("A2", m_A2);
- register_input("A3", m_A3);
- register_input("RBIQ", m_RBIQ);
-
- register_output("a", m_a);
- register_output("b", m_b);
- register_output("c", m_c);
- register_output("d", m_d);
- register_output("e", m_e);
- register_output("f", m_f);
- register_output("g", m_g);
-
- save(NAME(m_state));
+ m_state = 0;
+
+ register_input("A0", m_A0);
+ register_input("A1", m_A1);
+ register_input("A2", m_A2);
+ register_input("A3", m_A3);
+ register_input("RBIQ", m_RBIQ);
+
+ register_output("a", m_a);
+ register_output("b", m_b);
+ register_output("c", m_c);
+ register_output("d", m_d);
+ register_output("e", m_e);
+ register_output("f", m_f);
+ register_output("g", m_g);
+
+ save(NAME(m_state));
}
NETLIB_UPDATE(nic7448_sub)
{
- UINT8 v;
+ UINT8 v;
- v = (INPLOGIC(m_A0) << 0) | (INPLOGIC(m_A1) << 1) | (INPLOGIC(m_A2) << 2) | (INPLOGIC(m_A3) << 3);
- if ((!INPLOGIC(m_RBIQ) && (v==0)))
- v = 15;
- update_outputs(v);
+ v = (INPLOGIC(m_A0) << 0) | (INPLOGIC(m_A1) << 1) | (INPLOGIC(m_A2) << 2) | (INPLOGIC(m_A3) << 3);
+ if ((!INPLOGIC(m_RBIQ) && (v==0)))
+ v = 15;
+ update_outputs(v);
}
NETLIB_FUNC_VOID(nic7448_sub, update_outputs, (UINT8 v))
{
- assert(v<16);
- if (v != m_state)
- {
- OUTLOGIC(m_a, tab7448[v][0], NLTIME_FROM_NS(100));
- OUTLOGIC(m_b, tab7448[v][1], NLTIME_FROM_NS(100));
- OUTLOGIC(m_c, tab7448[v][2], NLTIME_FROM_NS(100));
- OUTLOGIC(m_d, tab7448[v][3], NLTIME_FROM_NS(100));
- OUTLOGIC(m_e, tab7448[v][4], NLTIME_FROM_NS(100));
- OUTLOGIC(m_f, tab7448[v][5], NLTIME_FROM_NS(100));
- OUTLOGIC(m_g, tab7448[v][6], NLTIME_FROM_NS(100));
- m_state = v;
- }
+ assert(v<16);
+ if (v != m_state)
+ {
+ OUTLOGIC(m_a, tab7448[v][0], NLTIME_FROM_NS(100));
+ OUTLOGIC(m_b, tab7448[v][1], NLTIME_FROM_NS(100));
+ OUTLOGIC(m_c, tab7448[v][2], NLTIME_FROM_NS(100));
+ OUTLOGIC(m_d, tab7448[v][3], NLTIME_FROM_NS(100));
+ OUTLOGIC(m_e, tab7448[v][4], NLTIME_FROM_NS(100));
+ OUTLOGIC(m_f, tab7448[v][5], NLTIME_FROM_NS(100));
+ OUTLOGIC(m_g, tab7448[v][6], NLTIME_FROM_NS(100));
+ m_state = v;
+ }
}
const UINT8 NETLIB_NAME(nic7448_sub)::tab7448[16][7] =
{
- { 1, 1, 1, 1, 1, 1, 0 }, /* 00 - not blanked ! */
- { 0, 1, 1, 0, 0, 0, 0 }, /* 01 */
- { 1, 1, 0, 1, 1, 0, 1 }, /* 02 */
- { 1, 1, 1, 1, 0, 0, 1 }, /* 03 */
- { 0, 1, 1, 0, 0, 1, 1 }, /* 04 */
- { 1, 0, 1, 1, 0, 1, 1 }, /* 05 */
- { 0, 0, 1, 1, 1, 1, 1 }, /* 06 */
- { 1, 1, 1, 0, 0, 0, 0 }, /* 07 */
- { 1, 1, 1, 1, 1, 1, 1 }, /* 08 */
- { 1, 1, 1, 0, 0, 1, 1 }, /* 09 */
- { 0, 0, 0, 1, 1, 0, 1 }, /* 10 */
- { 0, 0, 1, 1, 0, 0, 1 }, /* 11 */
- { 0, 1, 0, 0, 0, 1, 1 }, /* 12 */
- { 1, 0, 0, 1, 0, 1, 1 }, /* 13 */
- { 0, 0, 0, 1, 1, 1, 1 }, /* 14 */
- { 0, 0, 0, 0, 0, 0, 0 }, /* 15 */
+ { 1, 1, 1, 1, 1, 1, 0 }, /* 00 - not blanked ! */
+ { 0, 1, 1, 0, 0, 0, 0 }, /* 01 */
+ { 1, 1, 0, 1, 1, 0, 1 }, /* 02 */
+ { 1, 1, 1, 1, 0, 0, 1 }, /* 03 */
+ { 0, 1, 1, 0, 0, 1, 1 }, /* 04 */
+ { 1, 0, 1, 1, 0, 1, 1 }, /* 05 */
+ { 0, 0, 1, 1, 1, 1, 1 }, /* 06 */
+ { 1, 1, 1, 0, 0, 0, 0 }, /* 07 */
+ { 1, 1, 1, 1, 1, 1, 1 }, /* 08 */
+ { 1, 1, 1, 0, 0, 1, 1 }, /* 09 */
+ { 0, 0, 0, 1, 1, 0, 1 }, /* 10 */
+ { 0, 0, 1, 1, 0, 0, 1 }, /* 11 */
+ { 0, 1, 0, 0, 0, 1, 1 }, /* 12 */
+ { 1, 0, 0, 1, 0, 1, 1 }, /* 13 */
+ { 0, 0, 0, 1, 1, 1, 1 }, /* 14 */
+ { 0, 0, 0, 0, 0, 0, 0 }, /* 15 */
};
NETLIB_START(nic7450)
{
- register_input("I1", m_I0);
- register_input("I2", m_I1);
- register_input("I3", m_I2);
- register_input("I4", m_I3);
- register_output("Q", m_Q);
+ register_input("I1", m_I0);
+ register_input("I2", m_I1);
+ register_input("I3", m_I2);
+ register_input("I4", m_I3);
+ register_output("Q", m_Q);
}
NETLIB_UPDATE(nic7450)
{
- m_I0.activate();
- m_I1.activate();
- m_I2.activate();
- m_I3.activate();
- UINT8 t1 = INPLOGIC(m_I0) & INPLOGIC(m_I1);
- UINT8 t2 = INPLOGIC(m_I2) & INPLOGIC(m_I3);
+ m_I0.activate();
+ m_I1.activate();
+ m_I2.activate();
+ m_I3.activate();
+ UINT8 t1 = INPLOGIC(m_I0) & INPLOGIC(m_I1);
+ UINT8 t2 = INPLOGIC(m_I2) & INPLOGIC(m_I3);
#if 0
- UINT8 t = (t1 | t2) ^ 1;
- OUTLOGIC(m_Q, t, t ? NLTIME_FROM_NS(22) : NLTIME_FROM_NS(15));
+ UINT8 t = (t1 | t2) ^ 1;
+ OUTLOGIC(m_Q, t, t ? NLTIME_FROM_NS(22) : NLTIME_FROM_NS(15));
#else
- const netlist_time times[2] = { NLTIME_FROM_NS(22), NLTIME_FROM_NS(15) };
-
- UINT8 res = 0;
- if (t1 ^ 1)
- {
- if (t2 ^ 1)
- {
- res = 1;
- }
- else
- {
- m_I0.inactivate();
- m_I1.inactivate();
- }
- } else {
- if (t2 ^ 1)
- {
- m_I2.inactivate();
- m_I3.inactivate();
- }
- }
- OUTLOGIC(m_Q, res, times[1 - res]);// ? 22000 : 15000);
+ const netlist_time times[2] = { NLTIME_FROM_NS(22), NLTIME_FROM_NS(15) };
+
+ UINT8 res = 0;
+ if (t1 ^ 1)
+ {
+ if (t2 ^ 1)
+ {
+ res = 1;
+ }
+ else
+ {
+ m_I0.inactivate();
+ m_I1.inactivate();
+ }
+ } else {
+ if (t2 ^ 1)
+ {
+ m_I2.inactivate();
+ m_I3.inactivate();
+ }
+ }
+ OUTLOGIC(m_Q, res, times[1 - res]);// ? 22000 : 15000);
#endif
}
@@ -221,122 +221,122 @@ NETLIB_UPDATE(nic7450)
NETLIB_START(nic74107Asub)
{
- register_input("CLK", m_clk, netlist_input_t::STATE_INP_HL);
- register_output("Q", m_Q);
- register_output("QQ", m_QQ);
+ register_input("CLK", m_clk, netlist_input_t::STATE_INP_HL);
+ register_output("Q", m_Q);
+ register_output("QQ", m_QQ);
- m_Q.initial(0);
- m_QQ.initial(1);
+ m_Q.initial(0);
+ m_QQ.initial(1);
- save(NAME(m_Q1));
- save(NAME(m_Q2));
- save(NAME(m_F));
+ save(NAME(m_Q1));
+ save(NAME(m_Q2));
+ save(NAME(m_F));
}
NETLIB_START(nic74107A)
{
- register_sub(sub, "sub");
+ register_sub(sub, "sub");
- register_subalias("CLK", sub.m_clk);
- register_input("J", m_J);
- register_input("K", m_K);
- register_input("CLRQ", m_clrQ);
- register_subalias("Q", sub.m_Q);
- register_subalias("QQ", sub.m_QQ);
+ register_subalias("CLK", sub.m_clk);
+ register_input("J", m_J);
+ register_input("K", m_K);
+ register_input("CLRQ", m_clrQ);
+ register_subalias("Q", sub.m_Q);
+ register_subalias("QQ", sub.m_QQ);
- sub.m_Q.initial(0);
- sub.m_QQ.initial(1);
+ sub.m_Q.initial(0);
+ sub.m_QQ.initial(1);
}
ATTR_HOT inline void NETLIB_NAME(nic74107Asub)::newstate(const netlist_sig_t state)
{
- const netlist_time delay[2] = { NLTIME_FROM_NS(40), NLTIME_FROM_NS(25) };
+ const netlist_time delay[2] = { NLTIME_FROM_NS(40), NLTIME_FROM_NS(25) };
#if 1
- OUTLOGIC(m_Q, state, delay[state ^ 1]);
- OUTLOGIC(m_QQ, state ^ 1, delay[state]);
+ OUTLOGIC(m_Q, state, delay[state ^ 1]);
+ OUTLOGIC(m_QQ, state ^ 1, delay[state]);
#else
- if (state != Q.new_Q())
- {
- Q.setToNoCheck(state, delay[1-state]);
- QQ.setToNoCheck(1-state, delay[state]);
- }
+ if (state != Q.new_Q())
+ {
+ Q.setToNoCheck(state, delay[1-state]);
+ QQ.setToNoCheck(1-state, delay[state]);
+ }
#endif
}
NETLIB_UPDATE(nic74107Asub)
{
- {
- const netlist_sig_t t = m_Q.net().new_Q();
- newstate((!t & m_Q1) | (t & m_Q2) | m_F);
- if (!m_Q1)
- m_clk.inactivate();
- }
+ {
+ const netlist_sig_t t = m_Q.net().new_Q();
+ newstate((!t & m_Q1) | (t & m_Q2) | m_F);
+ if (!m_Q1)
+ m_clk.inactivate();
+ }
}
NETLIB_UPDATE(nic74107A)
{
- if (INPLOGIC(m_J) & INPLOGIC(m_K))
- {
- sub.m_Q1 = 1;
- sub.m_Q2 = 0;
- sub.m_F = 0;
- }
- else if (!INPLOGIC(m_J) & INPLOGIC(m_K))
- {
- sub.m_Q1 = 0;
- sub.m_Q2 = 0;
- sub.m_F = 0;
- }
- else if (INPLOGIC(m_J) & !INPLOGIC(m_K))
- {
- sub.m_Q1 = 0;
- sub.m_Q2 = 0;
- sub.m_F = 1;
- }
- else
- {
- sub.m_Q1 = 0;
- sub.m_Q2 = 1;
- sub.m_F = 0;
- sub.m_clk.inactivate();
- }
- if (!INPLOGIC(m_clrQ))
- {
- sub.m_clk.inactivate();
- sub.newstate(0);
- }
- else if (!sub.m_Q2)
- sub.m_clk.activate_hl();
- //if (!sub.m_Q2 & INPLOGIC(m_clrQ))
- // sub.m_clk.activate_hl();
+ if (INPLOGIC(m_J) & INPLOGIC(m_K))
+ {
+ sub.m_Q1 = 1;
+ sub.m_Q2 = 0;
+ sub.m_F = 0;
+ }
+ else if (!INPLOGIC(m_J) & INPLOGIC(m_K))
+ {
+ sub.m_Q1 = 0;
+ sub.m_Q2 = 0;
+ sub.m_F = 0;
+ }
+ else if (INPLOGIC(m_J) & !INPLOGIC(m_K))
+ {
+ sub.m_Q1 = 0;
+ sub.m_Q2 = 0;
+ sub.m_F = 1;
+ }
+ else
+ {
+ sub.m_Q1 = 0;
+ sub.m_Q2 = 1;
+ sub.m_F = 0;
+ sub.m_clk.inactivate();
+ }
+ if (!INPLOGIC(m_clrQ))
+ {
+ sub.m_clk.inactivate();
+ sub.newstate(0);
+ }
+ else if (!sub.m_Q2)
+ sub.m_clk.activate_hl();
+ //if (!sub.m_Q2 & INPLOGIC(m_clrQ))
+ // sub.m_clk.activate_hl();
}
NETLIB_START(nic74153)
{
- register_input("A1", m_I[0]);
- register_input("A2", m_I[1]);
- register_input("A3", m_I[2]);
- register_input("A4", m_I[3]);
- register_input("A", m_A);
- register_input("B", m_B);
- register_input("GA", m_GA);
-
- register_output("AY", m_AY);
+ register_input("A1", m_I[0]);
+ register_input("A2", m_I[1]);
+ register_input("A3", m_I[2]);
+ register_input("A4", m_I[3]);
+ register_input("A", m_A);
+ register_input("B", m_B);
+ register_input("GA", m_GA);
+
+ register_output("AY", m_AY);
}
NETLIB_UPDATE(nic74153)
{
- const netlist_time delay[2] = { NLTIME_FROM_NS(23), NLTIME_FROM_NS(18) };
- if (!INPLOGIC(m_GA))
- {
- UINT8 chan = (INPLOGIC(m_A) | (INPLOGIC(m_B)<<1));
- UINT8 t = INPLOGIC(m_I[chan]);
- OUTLOGIC(m_AY, t, delay[t] ); /* data to y only, FIXME */
- }
- else
- {
- OUTLOGIC(m_AY, 0, delay[0]);
- }
+ const netlist_time delay[2] = { NLTIME_FROM_NS(23), NLTIME_FROM_NS(18) };
+ if (!INPLOGIC(m_GA))
+ {
+ UINT8 chan = (INPLOGIC(m_A) | (INPLOGIC(m_B)<<1));
+ UINT8 t = INPLOGIC(m_I[chan]);
+ OUTLOGIC(m_AY, t, delay[t] ); /* data to y only, FIXME */
+ }
+ else
+ {
+ OUTLOGIC(m_AY, 0, delay[0]);
+ }
}
@@ -346,93 +346,91 @@ NETLIB_UPDATE(nic74153)
netlist_factory::netlist_factory()
{
-
}
netlist_factory::~netlist_factory()
{
- for (list_t::entry_t *e = m_list.first(); e != NULL; e = m_list.next(e))
- {
- net_device_t_base_factory *p = e->object();
- delete p;
- }
- m_list.reset();
+ for (list_t::entry_t *e = m_list.first(); e != NULL; e = m_list.next(e))
+ {
+ net_device_t_base_factory *p = e->object();
+ delete p;
+ }
+ m_list.reset();
}
void netlist_factory::initialize()
{
- ENTRY(R, NETDEV_R)
- ENTRY(POT, NETDEV_POT)
- ENTRY(C, NETDEV_C)
- ENTRY(D, NETDEV_D)
- ENTRY(VCVS, NETDEV_VCVS)
- ENTRY(VCCS, NETDEV_VCCS)
- ENTRY(QPNP_switch, NETDEV_QPNP)
- ENTRY(QNPN_switch, NETDEV_QNPN)
- ENTRY(ttl_const, NETDEV_TTL_CONST)
- ENTRY(analog_const, NETDEV_ANALOG_CONST)
- ENTRY(logic_input, NETDEV_LOGIC_INPUT)
- ENTRY(analog_input, NETDEV_ANALOG_INPUT)
- ENTRY(log, NETDEV_LOG)
- ENTRY(logD, NETDEV_LOGD)
- ENTRY(clock, NETDEV_CLOCK)
- ENTRY(mainclock, NETDEV_MAINCLOCK)
- ENTRY(solver, NETDEV_SOLVER)
- ENTRY(nicMultiSwitch, NETDEV_SWITCH2)
- ENTRY(nicRSFF, NETDEV_RSFF)
- ENTRY(nicMixer8, NETDEV_MIXER)
- ENTRY(7400, TTL_7400_NAND)
- ENTRY(7402, TTL_7402_NOR)
- ENTRY(nic7404, TTL_7404_INVERT)
- ENTRY(7410, TTL_7410_NAND)
- ENTRY(7420, TTL_7420_NAND)
- ENTRY(7425, TTL_7425_NOR)
- ENTRY(7427, TTL_7427_NOR)
- ENTRY(7430, TTL_7430_NAND)
- ENTRY(nic7450, TTL_7450_ANDORINVERT)
- ENTRY(7486, TTL_7486_XOR)
- ENTRY(nic7448, TTL_7448)
- ENTRY(7474, TTL_7474)
- ENTRY(7483, TTL_7483)
- ENTRY(7490, TTL_7490)
- ENTRY(7493, TTL_7493)
- ENTRY(nic74107, TTL_74107)
- ENTRY(nic74107A, TTL_74107A)
- ENTRY(nic74153, TTL_74153)
- ENTRY(9316, TTL_9316)
- ENTRY(NE555, NETDEV_NE555)
- ENTRY(nicNE555N_MSTABLE, NE555N_MSTABLE)
+ ENTRY(R, NETDEV_R)
+ ENTRY(POT, NETDEV_POT)
+ ENTRY(C, NETDEV_C)
+ ENTRY(D, NETDEV_D)
+ ENTRY(VCVS, NETDEV_VCVS)
+ ENTRY(VCCS, NETDEV_VCCS)
+ ENTRY(QPNP_switch, NETDEV_QPNP)
+ ENTRY(QNPN_switch, NETDEV_QNPN)
+ ENTRY(ttl_const, NETDEV_TTL_CONST)
+ ENTRY(analog_const, NETDEV_ANALOG_CONST)
+ ENTRY(logic_input, NETDEV_LOGIC_INPUT)
+ ENTRY(analog_input, NETDEV_ANALOG_INPUT)
+ ENTRY(log, NETDEV_LOG)
+ ENTRY(logD, NETDEV_LOGD)
+ ENTRY(clock, NETDEV_CLOCK)
+ ENTRY(mainclock, NETDEV_MAINCLOCK)
+ ENTRY(solver, NETDEV_SOLVER)
+ ENTRY(nicMultiSwitch, NETDEV_SWITCH2)
+ ENTRY(nicRSFF, NETDEV_RSFF)
+ ENTRY(nicMixer8, NETDEV_MIXER)
+ ENTRY(7400, TTL_7400_NAND)
+ ENTRY(7402, TTL_7402_NOR)
+ ENTRY(nic7404, TTL_7404_INVERT)
+ ENTRY(7410, TTL_7410_NAND)
+ ENTRY(7420, TTL_7420_NAND)
+ ENTRY(7425, TTL_7425_NOR)
+ ENTRY(7427, TTL_7427_NOR)
+ ENTRY(7430, TTL_7430_NAND)
+ ENTRY(nic7450, TTL_7450_ANDORINVERT)
+ ENTRY(7486, TTL_7486_XOR)
+ ENTRY(nic7448, TTL_7448)
+ ENTRY(7474, TTL_7474)
+ ENTRY(7483, TTL_7483)
+ ENTRY(7490, TTL_7490)
+ ENTRY(7493, TTL_7493)
+ ENTRY(nic74107, TTL_74107)
+ ENTRY(nic74107A, TTL_74107A)
+ ENTRY(nic74153, TTL_74153)
+ ENTRY(9316, TTL_9316)
+ ENTRY(NE555, NETDEV_NE555)
+ ENTRY(nicNE555N_MSTABLE, NE555N_MSTABLE)
}
netlist_device_t *netlist_factory::new_device_by_classname(const pstring &classname, netlist_setup_t &setup) const
{
- for (list_t::entry_t *e = m_list.first(); e != NULL; e = m_list.next(e))
- {
- net_device_t_base_factory *p = e->object();
- if (strcmp(p->classname(), classname) == 0)
- {
- netlist_device_t *ret = p->Create();
- return ret;
- }
- p++;
- }
- setup.netlist().xfatalerror("Class %s not found!\n", classname.cstr());
- return NULL; // appease code analysis
+ for (list_t::entry_t *e = m_list.first(); e != NULL; e = m_list.next(e))
+ {
+ net_device_t_base_factory *p = e->object();
+ if (strcmp(p->classname(), classname) == 0)
+ {
+ netlist_device_t *ret = p->Create();
+ return ret;
+ }
+ p++;
+ }
+ setup.netlist().xfatalerror("Class %s not found!\n", classname.cstr());
+ return NULL; // appease code analysis
}
netlist_device_t *netlist_factory::new_device_by_name(const pstring &name, netlist_setup_t &setup) const
{
- for (list_t::entry_t *e = m_list.first(); e != NULL; e = m_list.next(e))
- {
- net_device_t_base_factory *p = e->object();
- if (strcmp(p->name(), name) == 0)
- {
- netlist_device_t *ret = p->Create();
- return ret;
- }
- p++;
- }
- setup.netlist().xfatalerror("Class %s not found!\n", name.cstr());
- return NULL; // appease code analysis
+ for (list_t::entry_t *e = m_list.first(); e != NULL; e = m_list.next(e))
+ {
+ net_device_t_base_factory *p = e->object();
+ if (strcmp(p->name(), name) == 0)
+ {
+ netlist_device_t *ret = p->Create();
+ return ret;
+ }
+ p++;
+ }
+ setup.netlist().xfatalerror("Class %s not found!\n", name.cstr());
+ return NULL; // appease code analysis
}
-