Added 7408, 7411, 7432 and 7437 to netlist.

This commit is contained in:
Couriersud 2014-05-11 22:27:52 +00:00
parent 05d40b6138
commit f4499f2b74
12 changed files with 432 additions and 0 deletions

8
.gitattributes vendored
View File

@ -2779,10 +2779,14 @@ src/emu/netlist/devices/nld_7402.c svneol=native#text/plain
src/emu/netlist/devices/nld_7402.h svneol=native#text/plain
src/emu/netlist/devices/nld_7404.c svneol=native#text/plain
src/emu/netlist/devices/nld_7404.h svneol=native#text/plain
src/emu/netlist/devices/nld_7408.c svneol=native#text/plain
src/emu/netlist/devices/nld_7408.h svneol=native#text/plain
src/emu/netlist/devices/nld_7410.c svneol=native#text/plain
src/emu/netlist/devices/nld_7410.h svneol=native#text/plain
src/emu/netlist/devices/nld_74107.c svneol=native#text/plain
src/emu/netlist/devices/nld_74107.h svneol=native#text/plain
src/emu/netlist/devices/nld_7411.c svneol=native#text/plain
src/emu/netlist/devices/nld_7411.h svneol=native#text/plain
src/emu/netlist/devices/nld_74123.c svneol=native#text/plain
src/emu/netlist/devices/nld_74123.h svneol=native#text/plain
src/emu/netlist/devices/nld_74153.c svneol=native#text/plain
@ -2795,6 +2799,10 @@ src/emu/netlist/devices/nld_7427.c svneol=native#text/plain
src/emu/netlist/devices/nld_7427.h svneol=native#text/plain
src/emu/netlist/devices/nld_7430.c svneol=native#text/plain
src/emu/netlist/devices/nld_7430.h svneol=native#text/plain
src/emu/netlist/devices/nld_7432.c svneol=native#text/plain
src/emu/netlist/devices/nld_7432.h svneol=native#text/plain
src/emu/netlist/devices/nld_7437.c svneol=native#text/plain
src/emu/netlist/devices/nld_7437.h svneol=native#text/plain
src/emu/netlist/devices/nld_7448.c svneol=native#text/plain
src/emu/netlist/devices/nld_7448.h svneol=native#text/plain
src/emu/netlist/devices/nld_7450.c svneol=native#text/plain

View File

@ -104,11 +104,15 @@ void netlist_factory_t::initialize()
ENTRY(7400, TTL_7400_NAND, "+A,B")
ENTRY(7402, TTL_7402_NOR, "+A,B")
ENTRY(7404, TTL_7404_INVERT, "+A")
ENTRY(7408, TTL_7408_AND, "+A,B")
ENTRY(7410, TTL_7410_NAND, "+A,B,C")
ENTRY(7411, TTL_7411_AND, "+A,B,C")
ENTRY(7420, TTL_7420_NAND, "+A,B,C,D")
ENTRY(7425, TTL_7425_NOR, "+A,B,C,D")
ENTRY(7427, TTL_7427_NOR, "+A,B,C")
ENTRY(7430, TTL_7430_NAND, "+A,B,C,D,E,F,G,H")
ENTRY(7432, TTL_7432_OR, "+A,B")
ENTRY(7437, TTL_7437_NAND, "+A,B")
ENTRY(7450, TTL_7450_ANDORINVERT, "+A,B,C,D")
ENTRY(7486, TTL_7486_XOR, "+A,B")
ENTRY(7448, TTL_7448, "+A,B,C,D,LTQ,BIQ,RBIQ")
@ -127,11 +131,15 @@ void netlist_factory_t::initialize()
ENTRY(7400_dip, TTL_7400_DIP, "-")
ENTRY(7402_dip, TTL_7402_DIP, "-")
ENTRY(7404_dip, TTL_7404_DIP, "-")
ENTRY(7408_dip, TTL_7408_DIP, "-")
ENTRY(7410_dip, TTL_7410_DIP, "-")
ENTRY(7411_dip, TTL_7411_DIP, "-")
ENTRY(7420_dip, TTL_7420_DIP, "-")
ENTRY(7425_dip, TTL_7425_DIP, "-")
ENTRY(7427_dip, TTL_7427_DIP, "-")
ENTRY(7430_dip, TTL_7430_DIP, "-")
ENTRY(7432_dip, TTL_7432_DIP, "-")
ENTRY(7437_dip, TTL_7437_DIP, "-")
ENTRY(7448_dip, TTL_7448_DIP, "-")
ENTRY(7450_dip, TTL_7450_DIP, "-")
ENTRY(7474_dip, TTL_7474_DIP, "-")

View File

@ -58,11 +58,15 @@
#include "nld_7400.h"
#include "nld_7402.h"
#include "nld_7404.h"
#include "nld_7408.h"
#include "nld_7410.h"
#include "nld_7411.h"
#include "nld_7420.h"
#include "nld_7425.h"
#include "nld_7427.h"
#include "nld_7430.h"
#include "nld_7432.h"
#include "nld_7437.h"
#include "nld_7448.h"
#include "nld_7450.h"
#include "nld_7474.h"

View File

@ -0,0 +1,47 @@
/*
* nld_7408.c
*
*/
#include "nld_7408.h"
NETLIB_START(7408_dip)
{
register_sub(m_1, "1");
register_sub(m_2, "2");
register_sub(m_3, "3");
register_sub(m_4, "4");
register_subalias("1", m_1.m_i[0]);
register_subalias("2", m_1.m_i[1]);
register_subalias("3", m_1.m_Q);
register_subalias("4", m_2.m_i[0]);
register_subalias("5", m_2.m_i[1]);
register_subalias("6", m_2.m_Q);
register_subalias("9", m_3.m_i[0]);
register_subalias("10", m_3.m_i[1]);
register_subalias("8", m_3.m_Q);
register_subalias("12", m_4.m_i[0]);
register_subalias("13", m_4.m_i[1]);
register_subalias("11", m_4.m_Q);
}
NETLIB_UPDATE(7408_dip)
{
/* only called during startup */
m_1.update_dev();
m_2.update_dev();
m_3.update_dev();
m_4.update_dev();
}
NETLIB_RESET(7408_dip)
{
m_1.do_reset();
m_2.do_reset();
m_3.do_reset();
m_4.do_reset();
}

View File

@ -0,0 +1,55 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
/*
* nld_7408.h
*
* DM7408: Quad 2-Input AND Gates
*
* +--------------+
* A1 |1 ++ 14| VCC
* B1 |2 13| B4
* Y1 |3 12| A4
* A2 |4 7408 11| Y4
* B2 |5 10| B3
* Y2 |6 9| A3
* GND |7 8| Y3
* +--------------+
* __
* Y = AB
* +---+---++---+
* | A | B || Y |
* +===+===++===+
* | 0 | 0 || 0 |
* | 0 | 1 || 0 |
* | 1 | 0 || 0 |
* | 1 | 1 || 1 |
* +---+---++---+
*
* Naming conventions follow Fairchild Semiconductor datasheet
*
*/
#ifndef NLD_7408_H_
#define NLD_7408_H_
#include "nld_signal.h"
#define TTL_7408_AND(_name, _A, _B) \
NET_REGISTER_DEV(7408, _name) \
NET_CONNECT(_name, A, _A) \
NET_CONNECT(_name, B, _B)
NETLIB_SIGNAL(7408, 2, 0, 1);
#define TTL_7408_DIP(_name) \
NET_REGISTER_DEV(7408_dip, _name)
NETLIB_DEVICE(7408_dip,
NETLIB_NAME(7408) m_1;
NETLIB_NAME(7408) m_2;
NETLIB_NAME(7408) m_3;
NETLIB_NAME(7408) m_4;
);
#endif /* NLD_7408_H_ */

View File

@ -0,0 +1,43 @@
/*
* nld_7411.c
*
*/
#include "nld_7411.h"
NETLIB_START(7411_dip)
{
register_sub(m_1, "1");
register_sub(m_2, "2");
register_sub(m_3, "3");
register_subalias("1", m_1.m_i[0]);
register_subalias("2", m_1.m_i[1]);
register_subalias("3", m_2.m_i[0]);
register_subalias("4", m_2.m_i[1]);
register_subalias("5", m_2.m_i[2]);
register_subalias("6", m_2.m_Q);
register_subalias("8", m_3.m_Q);
register_subalias("9", m_3.m_i[0]);
register_subalias("10", m_3.m_i[1]);
register_subalias("11", m_3.m_i[2]);
register_subalias("12", m_1.m_Q);
register_subalias("13", m_1.m_i[2]);
}
NETLIB_UPDATE(7411_dip)
{
/* only called during startup */
m_1.update_dev();
m_2.update_dev();
m_3.update_dev();
}
NETLIB_RESET(7411_dip)
{
m_1.do_reset();
m_2.do_reset();
m_3.do_reset();
}

View File

@ -0,0 +1,55 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
/*
* nld_7411.h
*
* DM7411: Triple 3-Input AND Gates
*
* +--------------+
* A1 |1 ++ 14| VCC
* B1 |2 13| C1
* A2 |3 12| Y1
* B2 |4 7411 11| C3
* C2 |5 10| B3
* Y2 |6 9| A3
* GND |7 8| Y3
* +--------------+
*
* Y = ABC
* +---+---+---++---+
* | A | B | C || Y |
* +===+===+===++===+
* | X | X | 0 || 0 |
* | X | 0 | X || 0 |
* | 0 | X | X || 0 |
* | 1 | 1 | 1 || 1 |
* +---+---+---++---+
*
* Naming conventions follow National Semiconductor datasheet
*
*/
#ifndef NLD_7411_H_
#define NLD_7411_H_
#include "nld_signal.h"
#define TTL_7411_AND(_name, _I1, _I2, _I3) \
NET_REGISTER_DEV(7411, _name) \
NET_CONNECT(_name, A, _I1) \
NET_CONNECT(_name, B, _I2) \
NET_CONNECT(_name, C, _I3)
NETLIB_SIGNAL(7411, 3, 0, 1);
#define TTL_7411_DIP(_name) \
NET_REGISTER_DEV(7411_dip, _name)
NETLIB_DEVICE(7411_dip,
NETLIB_NAME(7411) m_1;
NETLIB_NAME(7411) m_2;
NETLIB_NAME(7411) m_3;
);
#endif /* NLD_7411_H_ */

View File

@ -0,0 +1,47 @@
/*
* nld_7432.c
*
*/
#include "nld_7432.h"
NETLIB_START(7432_dip)
{
register_sub(m_1, "1");
register_sub(m_2, "2");
register_sub(m_3, "3");
register_sub(m_4, "4");
register_subalias("1", m_1.m_Q);
register_subalias("2", m_1.m_i[0]);
register_subalias("3", m_1.m_i[1]);
register_subalias("4", m_2.m_Q);
register_subalias("5", m_2.m_i[0]);
register_subalias("6", m_2.m_i[1]);
register_subalias("8", m_3.m_i[0]);
register_subalias("9", m_3.m_i[1]);
register_subalias("10", m_3.m_Q);
register_subalias("11", m_4.m_i[0]);
register_subalias("12", m_4.m_i[1]);
register_subalias("13", m_4.m_Q);
}
NETLIB_UPDATE(7432_dip)
{
/* only called during startup */
m_1.update_dev();
m_2.update_dev();
m_3.update_dev();
m_4.update_dev();
}
NETLIB_RESET(7432_dip)
{
m_1.do_reset();
m_2.do_reset();
m_3.do_reset();
m_4.do_reset();
}

View File

@ -0,0 +1,56 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
/*
* nld_7432.h
*
* DM7432: Quad 2-Input OR Gates
*
* +--------------+
* Y1 |1 ++ 14| VCC
* A1 |2 13| Y4
* B1 |3 12| B4
* Y2 |4 7432 11| A4
* A2 |5 10| Y3
* B2 |6 9| B3
* GND |7 8| A3
* +--------------+
* ___
* Y = A+B
* +---+---++---+
* | A | B || Y |
* +===+===++===+
* | 0 | 0 || 0 |
* | 0 | 1 || 1 |
* | 1 | 0 || 1 |
* | 1 | 1 || 1 |
* +---+---++---+
*
* Naming conventions follow National Semiconductor datasheet
*
*/
#ifndef NLD_7432_H_
#define NLD_7432_H_
#include "nld_signal.h"
#define TTL_7432_OR(_name, _I1, _I2) \
NET_REGISTER_DEV(7432, _name) \
NET_CONNECT(_name, A, _I1) \
NET_CONNECT(_name, B, _I2)
#define TTL_7432_DIP(_name) \
NET_REGISTER_DEV(7432_dip, _name)
NETLIB_SIGNAL(7432, 2, 1, 1);
NETLIB_DEVICE(7432_dip,
NETLIB_NAME(7432) m_1;
NETLIB_NAME(7432) m_2;
NETLIB_NAME(7432) m_3;
NETLIB_NAME(7432) m_4;
);
#endif /* NLD_7432_H_ */

View File

@ -0,0 +1,47 @@
/*
* nld_7437.c
*
*/
#include "nld_7437.h"
NETLIB_START(7437_dip)
{
register_sub(m_1, "1");
register_sub(m_2, "2");
register_sub(m_3, "3");
register_sub(m_4, "4");
register_subalias("1", m_1.m_i[0]);
register_subalias("2", m_1.m_i[1]);
register_subalias("3", m_1.m_Q);
register_subalias("4", m_2.m_i[0]);
register_subalias("5", m_2.m_i[1]);
register_subalias("6", m_2.m_Q);
register_subalias("9", m_3.m_i[0]);
register_subalias("10", m_3.m_i[1]);
register_subalias("8", m_3.m_Q);
register_subalias("12", m_4.m_i[0]);
register_subalias("13", m_4.m_i[1]);
register_subalias("11", m_4.m_Q);
}
NETLIB_UPDATE(7437_dip)
{
/* only called during startup */
m_1.update_dev();
m_2.update_dev();
m_3.update_dev();
m_4.update_dev();
}
NETLIB_RESET(7437_dip)
{
m_1.do_reset();
m_2.do_reset();
m_3.do_reset();
m_4.do_reset();
}

View File

@ -0,0 +1,58 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
/*
* nld_7437.h
*
* DM7437: Quad 2-Input NAND Gates
*
* +--------------+
* A1 |1 ++ 14| VCC
* B1 |2 13| B4
* Y1 |3 12| A4
* A2 |4 7437 11| Y4
* B2 |5 10| B3
* Y2 |6 9| A3
* GND |7 8| Y3
* +--------------+
* __
* Y = AB
* +---+---++---+
* | A | B || Y |
* +===+===++===+
* | 0 | 0 || 1 |
* | 0 | 1 || 1 |
* | 1 | 0 || 1 |
* | 1 | 1 || 0 |
* +---+---++---+
*
* Naming conventions follow National Semiconductor datasheet
*
* FIXME: Same as 7400, but drains higher output currents.
* Netlist currently does not model over currents (should it ever?)
*
*/
#ifndef NLD_7437_H_
#define NLD_7437_H_
#include "nld_signal.h"
#define TTL_7437_NAND(_name, _A, _B) \
NET_REGISTER_DEV(7437, _name) \
NET_CONNECT(_name, A, _A) \
NET_CONNECT(_name, B, _B)
NETLIB_SIGNAL(7437, 2, 0, 0);
#define TTL_7437_DIP(_name) \
NET_REGISTER_DEV(7437_dip, _name)
NETLIB_DEVICE(7437_dip,
NETLIB_NAME(7437) m_1;
NETLIB_NAME(7437) m_2;
NETLIB_NAME(7437) m_3;
NETLIB_NAME(7437) m_4;
);
#endif /* NLD_7437_H_ */

View File

@ -37,11 +37,15 @@ NETLISTOBJS+= \
$(NETLISTOBJ)/devices/nld_7400.o \
$(NETLISTOBJ)/devices/nld_7402.o \
$(NETLISTOBJ)/devices/nld_7404.o \
$(NETLISTOBJ)/devices/nld_7408.o \
$(NETLISTOBJ)/devices/nld_7410.o \
$(NETLISTOBJ)/devices/nld_7411.o \
$(NETLISTOBJ)/devices/nld_7420.o \
$(NETLISTOBJ)/devices/nld_7425.o \
$(NETLISTOBJ)/devices/nld_7427.o \
$(NETLISTOBJ)/devices/nld_7430.o \
$(NETLISTOBJ)/devices/nld_7432.o \
$(NETLISTOBJ)/devices/nld_7437.o \
$(NETLISTOBJ)/devices/nld_7448.o \
$(NETLISTOBJ)/devices/nld_7450.o \
$(NETLISTOBJ)/devices/nld_7474.o \