summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2020-09-06 23:24:21 +0200
committer couriersud <couriersud@gmx.org>2020-09-12 23:20:16 +0200
commitca31c844cde7f54a285e3b9da358989e42258f5b (patch)
treef9e4a963b999e1352a4611a43a7c10c2d80957e7 /src
parentcda35c94020dbcb8dad8309aba11374c356c501e (diff)
netlist: move to generated header and link support files files.
* Removed device and macro header files. * All of those can be generated automatically so going forward there is no need for these any longer. * Introduced the modules concept. Modules are netlists for which automatic lib entries are generated. * Going forward you just store them in macro/modules and they will be automatically registered as device elements. * You need to do a "make generated" is src/lib/netlist/build * Some_device.cpp still needs to be added to netlist.lua * Added documentation on how to add devices to netlist. * Please refer to adding_devices.md for more information.
Diffstat (limited to 'src')
-rw-r--r--src/lib/netlist/adding_devices.md82
-rw-r--r--src/lib/netlist/analog/nld_bjt.h25
-rw-r--r--src/lib/netlist/analog/nld_fourterm.h32
-rw-r--r--src/lib/netlist/analog/nld_mosfet.h21
-rw-r--r--src/lib/netlist/analog/nld_opamps.cpp1
-rw-r--r--src/lib/netlist/analog/nld_opamps.h22
-rw-r--r--src/lib/netlist/analog/nld_switches.h23
-rw-r--r--src/lib/netlist/analog/nld_twoterm.h47
-rw-r--r--src/lib/netlist/build/create_modules.py83
-rw-r--r--src/lib/netlist/build/makefile15
-rwxr-xr-xsrc/lib/netlist/buildVS/netlistlib.vcxproj54
-rwxr-xr-xsrc/lib/netlist/buildVS/netlistlib.vcxproj.filters162
-rw-r--r--src/lib/netlist/devices/net_lib.cpp121
-rw-r--r--src/lib/netlist/devices/net_lib.h91
-rw-r--r--src/lib/netlist/devices/nld_2102A.cpp1
-rw-r--r--src/lib/netlist/devices/nld_2102A.h13
-rw-r--r--src/lib/netlist/devices/nld_4006.cpp1
-rw-r--r--src/lib/netlist/devices/nld_4006.h12
-rw-r--r--src/lib/netlist/devices/nld_4013.h13
-rw-r--r--src/lib/netlist/devices/nld_4017.cpp1
-rw-r--r--src/lib/netlist/devices/nld_4017.h15
-rw-r--r--src/lib/netlist/devices/nld_4020.cpp1
-rw-r--r--src/lib/netlist/devices/nld_4020.h17
-rw-r--r--src/lib/netlist/devices/nld_4053.cpp2
-rw-r--r--src/lib/netlist/devices/nld_4053.h13
-rw-r--r--src/lib/netlist/devices/nld_4066.cpp2
-rw-r--r--src/lib/netlist/devices/nld_4066.h14
-rw-r--r--src/lib/netlist/devices/nld_4316.cpp1
-rw-r--r--src/lib/netlist/devices/nld_4316.h12
-rw-r--r--src/lib/netlist/devices/nld_74107.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74107.h16
-rw-r--r--src/lib/netlist/devices/nld_74113.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74113.h17
-rw-r--r--src/lib/netlist/devices/nld_74123.h21
-rw-r--r--src/lib/netlist/devices/nld_74125.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74125.h19
-rw-r--r--src/lib/netlist/devices/nld_74153.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74153.h13
-rw-r--r--src/lib/netlist/devices/nld_74164.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74164.h13
-rw-r--r--src/lib/netlist/devices/nld_74165.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74165.h13
-rw-r--r--src/lib/netlist/devices/nld_74166.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74166.h13
-rw-r--r--src/lib/netlist/devices/nld_74174.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74174.h13
-rw-r--r--src/lib/netlist/devices/nld_74175.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74175.h14
-rw-r--r--src/lib/netlist/devices/nld_74192.cpp2
-rw-r--r--src/lib/netlist/devices/nld_74192.h14
-rw-r--r--src/lib/netlist/devices/nld_74193.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74193.h14
-rw-r--r--src/lib/netlist/devices/nld_74194.cpp2
-rw-r--r--src/lib/netlist/devices/nld_74194.h13
-rw-r--r--src/lib/netlist/devices/nld_74365.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74365.h13
-rw-r--r--src/lib/netlist/devices/nld_74377.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74377.h14
-rw-r--r--src/lib/netlist/devices/nld_74393.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74393.h13
-rw-r--r--src/lib/netlist/devices/nld_7448.h14
-rw-r--r--src/lib/netlist/devices/nld_7450.cpp1
-rw-r--r--src/lib/netlist/devices/nld_7450.h13
-rw-r--r--src/lib/netlist/devices/nld_7473.cpp1
-rw-r--r--src/lib/netlist/devices/nld_7473.h16
-rw-r--r--src/lib/netlist/devices/nld_7474.cpp1
-rw-r--r--src/lib/netlist/devices/nld_7474.h13
-rw-r--r--src/lib/netlist/devices/nld_7475.cpp1
-rw-r--r--src/lib/netlist/devices/nld_7475.h15
-rw-r--r--src/lib/netlist/devices/nld_7483.cpp1
-rw-r--r--src/lib/netlist/devices/nld_7483.h13
-rw-r--r--src/lib/netlist/devices/nld_7485.cpp1
-rw-r--r--src/lib/netlist/devices/nld_7485.h13
-rw-r--r--src/lib/netlist/devices/nld_7490.cpp1
-rw-r--r--src/lib/netlist/devices/nld_7490.h13
-rw-r--r--src/lib/netlist/devices/nld_7492.h13
-rw-r--r--src/lib/netlist/devices/nld_7493.cpp1
-rw-r--r--src/lib/netlist/devices/nld_7493.h13
-rw-r--r--src/lib/netlist/devices/nld_7497.cpp1
-rw-r--r--src/lib/netlist/devices/nld_7497.h13
-rw-r--r--src/lib/netlist/devices/nld_74ls629.cpp2
-rw-r--r--src/lib/netlist/devices/nld_74ls629.h12
-rw-r--r--src/lib/netlist/devices/nld_8277.cpp1
-rw-r--r--src/lib/netlist/devices/nld_8277.h14
-rw-r--r--src/lib/netlist/devices/nld_82S115.cpp1
-rw-r--r--src/lib/netlist/devices/nld_82S115.h13
-rw-r--r--src/lib/netlist/devices/nld_82S16.cpp1
-rw-r--r--src/lib/netlist/devices/nld_82S16.h12
-rw-r--r--src/lib/netlist/devices/nld_9316.h25
-rw-r--r--src/lib/netlist/devices/nld_9321.cpp1
-rw-r--r--src/lib/netlist/devices/nld_9321.h13
-rw-r--r--src/lib/netlist/devices/nld_9322.cpp1
-rw-r--r--src/lib/netlist/devices/nld_9322.h13
-rw-r--r--src/lib/netlist/devices/nld_am2847.cpp1
-rw-r--r--src/lib/netlist/devices/nld_am2847.h12
-rw-r--r--src/lib/netlist/devices/nld_dm9314.cpp1
-rw-r--r--src/lib/netlist/devices/nld_dm9314.h14
-rw-r--r--src/lib/netlist/devices/nld_dm9334.cpp1
-rw-r--r--src/lib/netlist/devices/nld_dm9334.h14
-rw-r--r--src/lib/netlist/devices/nld_legacy.cpp1
-rw-r--r--src/lib/netlist/devices/nld_legacy.h37
-rw-r--r--src/lib/netlist/devices/nld_log.cpp1
-rw-r--r--src/lib/netlist/devices/nld_log.h18
-rw-r--r--src/lib/netlist/devices/nld_mm5837.cpp1
-rw-r--r--src/lib/netlist/devices/nld_mm5837.h12
-rw-r--r--src/lib/netlist/devices/nld_ne555.cpp1
-rw-r--r--src/lib/netlist/devices/nld_ne555.h17
-rw-r--r--src/lib/netlist/devices/nld_r2r_dac.h12
-rw-r--r--src/lib/netlist/devices/nld_roms.h33
-rw-r--r--src/lib/netlist/devices/nld_schmitt.cpp2
-rw-r--r--src/lib/netlist/devices/nld_schmitt.h21
-rw-r--r--src/lib/netlist/devices/nld_system.h92
-rw-r--r--src/lib/netlist/devices/nld_tms4800.cpp1
-rw-r--r--src/lib/netlist/devices/nld_tms4800.h14
-rw-r--r--src/lib/netlist/devices/nld_tristate.cpp1
-rw-r--r--src/lib/netlist/devices/nld_tristate.h25
-rw-r--r--src/lib/netlist/examples/cmos_inverter.cpp13
-rw-r--r--src/lib/netlist/examples/cmos_inverter_clk.cpp5
-rwxr-xr-x[-rw-r--r--]src/lib/netlist/generated/nld_devinc.h0
-rwxr-xr-xsrc/lib/netlist/generated/nlm_modules_lib.cpp12
-rw-r--r--src/lib/netlist/macro/modules/nlmod_RTEST.cpp12
-rw-r--r--src/lib/netlist/macro/nlm_base_lib.cpp14
-rw-r--r--src/lib/netlist/macro/nlm_base_lib.h34
-rw-r--r--src/lib/netlist/macro/nlm_cd4xxx_lib.h107
-rw-r--r--src/lib/netlist/macro/nlm_opamp_lib.h79
-rw-r--r--src/lib/netlist/macro/nlm_otheric_lib.h48
-rw-r--r--src/lib/netlist/macro/nlm_roms_lib.h60
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx_lib.cpp6
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx_lib.h347
-rw-r--r--src/lib/netlist/nl_base.cpp8
-rw-r--r--src/lib/netlist/nl_config.h2
-rw-r--r--src/lib/netlist/nl_errstr.h1
-rw-r--r--src/lib/netlist/nl_parser.cpp35
-rw-r--r--src/lib/netlist/nl_parser.h2
-rw-r--r--src/lib/netlist/nl_setup.cpp1
-rw-r--r--src/lib/netlist/nl_setup.h15
-rwxr-xr-xsrc/lib/netlist/prg/nlwav.cpp4
137 files changed, 273 insertions, 2278 deletions
diff --git a/src/lib/netlist/adding_devices.md b/src/lib/netlist/adding_devices.md
new file mode 100644
index 00000000000..808ce9a2568
--- /dev/null
+++ b/src/lib/netlist/adding_devices.md
@@ -0,0 +1,82 @@
+# Adding devices to netlist
+
+There are basically two kind of devices you can add to netlist:
+
+- coded devices. These can be found in the devices and analog folder. Typically
+these are logic or elementary (i.e. resistor, capacitor) devices.
+- netlist language devices. These are found in the macro folder structure.
+Typically these are dip layouts or devices consisting of elementary devices. A good
+example are operational amplifier models or VCOs.
+
+In prior netlist releases (<=0.13.0) it was cumbersome to add devices. You had to make
+sure to add references and code in a number of different locations.
+
+All necessary header files are now created automatically.
+
+## Stand alone compilation
+
+### Coded devices
+
+Just add your device code (e.g. nld_device.cpp) into the devices folder.
+
+Switch to the `build` directory
+
+`cd build`
+
+and type
+
+`make generated`
+
+to create all the infrastructure code.
+
+### Macro devices
+
+Place the device code (e.g. nlmod_device.cpp) into macro/modules.
+
+Switch to the `build` directory
+
+`cd build`
+
+and type
+
+`make generated`
+
+to create all the infrastructure code.
+
+## Visual Studio build
+
+You need to add the files manually to the Visual Studio solution.
+
+## MAME integration
+
+In addition to the the steps above you have to add your code additions to the
+`scripts/src/netlist.lua` file.
+
+Make sure to
+
+```sh
+cd src/lib/netlist/build
+make generated
+```
+
+to (re)create the necessary files in the `generated` directory.
+
+## Background
+
+### What does `make generated` do?
+
+`make generated` calls three python scripts:
+
+- `create_devinc.py`
+- `create_lib_entries.py`
+- `create_modules.py`
+
+which create the following files in the `generated` directory:
+
+- `nld_devinc.h`
+- `lib_entries.hxx`
+- `nlm_modules_lib.cpp`
+
+The information contained in these files in the past had to be included in various places
+and files previously. Since the information can be extracted programmatically the
+manual process now was replaced.
diff --git a/src/lib/netlist/analog/nld_bjt.h b/src/lib/netlist/analog/nld_bjt.h
deleted file mode 100644
index 2dd12ea82d8..00000000000
--- a/src/lib/netlist/analog/nld_bjt.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_BJT_H_
-#define NLD_BJT_H_
-
-///
-/// \file nld_bjt.h
-///
-
-#include "../nl_setup.h"
-
-// -----------------------------------------------------------------------------
-// Macros
-// -----------------------------------------------------------------------------
-
-#define QBJT_SW(name, model) \
- NET_REGISTER_DEV(QBJT_SW, name) \
- NETDEV_PARAMI(name, MODEL, model)
-
-#define QBJT_EB(name, model) \
- NET_REGISTER_DEV(QBJT_EB, name) \
- NETDEV_PARAMI(name, MODEL, model)
-
-#endif // NLD_BJT_H_
diff --git a/src/lib/netlist/analog/nld_fourterm.h b/src/lib/netlist/analog/nld_fourterm.h
deleted file mode 100644
index 12fb0035d29..00000000000
--- a/src/lib/netlist/analog/nld_fourterm.h
+++ /dev/null
@@ -1,32 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_FOURTERM_H_
-#define NLD_FOURTERM_H_
-
-///
-/// \file nld_fourterm.h
-///
-
-#include "../nl_setup.h"
-
-// ----------------------------------------------------------------------------------------
-// Macros
-// ----------------------------------------------------------------------------------------
-
-#define VCCS(name, G) \
- NET_REGISTER_DEVEXT(VCCS, name, G)
-
-#define CCCS(name, G) \
- NET_REGISTER_DEVEXT(CCCS, name, G)
-
-#define VCVS(name, G) \
- NET_REGISTER_DEVEXT(VCVS, name, G)
-
-#define CCVS(name, G) \
- NET_REGISTER_DEVEXT(CCVS, name, G)
-
-#define LVCCS(name) \
- NET_REGISTER_DEV(LVCCS, name)
-
-#endif // NLD_FOURTERM_H_
diff --git a/src/lib/netlist/analog/nld_mosfet.h b/src/lib/netlist/analog/nld_mosfet.h
deleted file mode 100644
index 38e7a91c339..00000000000
--- a/src/lib/netlist/analog/nld_mosfet.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_MOSFET_H_
-#define NLD_MOSFET_H_
-
-#include "../nl_setup.h"
-
-///
-/// \file nld_mosfet.h
-///
-
-// -----------------------------------------------------------------------------
-// Macros
-// -----------------------------------------------------------------------------
-
-#define MOSFET(name, model) \
- NET_REGISTER_DEV(MOSFET, name) \
- NETDEV_PARAMI(name, MODEL, model)
-
-#endif // NLD_MOSFET_H_
diff --git a/src/lib/netlist/analog/nld_opamps.cpp b/src/lib/netlist/analog/nld_opamps.cpp
index b3d9b868a48..433f6d46297 100644
--- a/src/lib/netlist/analog/nld_opamps.cpp
+++ b/src/lib/netlist/analog/nld_opamps.cpp
@@ -1,7 +1,6 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
-#include "nld_opamps.h"
#include "nl_base.h"
#include "nl_errstr.h"
#include "nlid_fourterm.h"
diff --git a/src/lib/netlist/analog/nld_opamps.h b/src/lib/netlist/analog/nld_opamps.h
deleted file mode 100644
index dcef1f84f03..00000000000
--- a/src/lib/netlist/analog/nld_opamps.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_OPAMPS_H_
-#define NLD_OPAMPS_H_
-
-///
-/// \file nld_opamps.h
-///
-
-#include "../nl_setup.h"
-
-// ----------------------------------------------------------------------------------------
-// Macros
-// ----------------------------------------------------------------------------------------
-
-#define OPAMP(name, model) \
- NET_REGISTER_DEV(OPAMP, name) \
- NETDEV_PARAMI(name, MODEL, model)
-
-
-#endif // NLD_OPAMPS_H_
diff --git a/src/lib/netlist/analog/nld_switches.h b/src/lib/netlist/analog/nld_switches.h
deleted file mode 100644
index cab638402f1..00000000000
--- a/src/lib/netlist/analog/nld_switches.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_SWITCHES_H_
-#define NLD_SWITCHES_H_
-
-///
-/// \file nld_switches.h
-///
-
-#include "../nl_setup.h"
-
-// ----------------------------------------------------------------------------------------
-// Macros
-// ----------------------------------------------------------------------------------------
-
-#define SWITCH(name) \
- NET_REGISTER_DEV(SWITCH, name)
-
-#define SWITCH2(name) \
- NET_REGISTER_DEV(SWITCH2, name)
-
-#endif // NLD_SWITCHES_H_
diff --git a/src/lib/netlist/analog/nld_twoterm.h b/src/lib/netlist/analog/nld_twoterm.h
deleted file mode 100644
index f4a18898818..00000000000
--- a/src/lib/netlist/analog/nld_twoterm.h
+++ /dev/null
@@ -1,47 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_TWOTERM_H_
-#define NLD_TWOTERM_H_
-
-///
-/// \file nld_twoterm.h
-///
-
-#include "../nl_setup.h"
-
-// -----------------------------------------------------------------------------
-// Macros
-// -----------------------------------------------------------------------------
-
-#define RES(name, p_R) \
- NET_REGISTER_DEVEXT(RES, name, p_R)
-
-#define POT(name, p_R) \
- NET_REGISTER_DEVEXT(POT, name, p_R)
-
-// Does not have pin 3 connected
-#define POT2(name, p_R) \
- NET_REGISTER_DEVEXT(POT2, name, p_R)
-
-#define CAP(name, p_C) \
- NET_REGISTER_DEVEXT(CAP, name, p_C)
-
-#define IND(name, p_L) \
- NET_REGISTER_DEVEXT(IND, name, p_L)
-
-// Generic Diode
-#define DIODE(name, model) \
- NET_REGISTER_DEVEXT(DIODE, name, model)
-
-// Generic Zener Diode
-#define ZDIODE(name, model) \
- NET_REGISTER_DEVEXT(ZDIODE, name, model)
-
-#define VS(name, pV) \
- NET_REGISTER_DEVEXT(VS, name, pV)
-
-#define CS(name, pI) \
- NET_REGISTER_DEVEXT(CS, name, pI)
-
-#endif // NLD_TWOTERM_H_
diff --git a/src/lib/netlist/build/create_modules.py b/src/lib/netlist/build/create_modules.py
new file mode 100644
index 00000000000..c3c9e7c19aa
--- /dev/null
+++ b/src/lib/netlist/build/create_modules.py
@@ -0,0 +1,83 @@
+#!/usr/bin/python
+##
+## license:BSD-3-Clause
+## copyright-holders:Couriersud
+
+import os
+import os.path
+import re
+import sys
+import xml.sax
+import xml.sax.saxutils
+import zlib
+import datetime
+
+
+# workaround for version incompatibility
+if sys.version_info > (3, ):
+ long = int
+
+# globals
+
+last_src = ""
+
+def process_entry(srcfile, name, params):
+ global last_src
+ if (last_src != srcfile):
+ last_src = srcfile
+ print("// ---------------------------------------------------------------------")
+ print("// Source: {}".format(srcfile))
+ print("// ---------------------------------------------------------------------")
+ print("")
+ p = re.sub("\+","",params)
+ ps = p.split(",")
+ pusage = ""
+ pauto = ""
+ for x in ps:
+ if x[0:1] == "@":
+ pauto = pauto + ", " + x[1:]
+ else:
+ pusage = pusage + ", " + x
+ print("// usage : {}(name{})".format(name, pusage))
+ if len(pauto) > 0:
+ print("// auto connect: {}".format(pauto[2:]))
+ print("#define {}(...) \\".format(name))
+ print("\tNET_REGISTER_DEVEXT({}, __VA_ARGS__)".format(name))
+ print("")
+
+
+def process_file(srcfile):
+ src = open(srcfile,'r')
+ lines = src.readlines()
+ for line in lines:
+ ls = re.sub("\s+","",line.strip())
+ ls = re.sub("^\s*//.*","",ls)
+ ls = re.sub("\"","",ls)
+ m = re.match(r"NETLIST_START\((\w+)\)", ls)
+ if m != None:
+ print("\tEXTERNAL_LIB_ENTRY("+ m.group(1) + ")")
+ src.close()
+
+if __name__ == '__main__':
+ if (len(sys.argv) == 0):
+ print('Usage:')
+ print(' create_devinc files ...')
+ sys.exit(0)
+ files_sorted = [];
+ for argno in range(1, len(sys.argv)):
+ files_sorted.append(sys.argv[argno])
+ files_sorted.sort();
+ print("// license:CC0")
+ print("// copyright-holders:Couriersud")
+ print("")
+ now = datetime.datetime.now()
+ print("// File programmatically created " + now.strftime("%c"))
+ print("")
+ print("#include \"devices/net_lib.h\"")
+ print("")
+ print("NETLIST_START(modules_lib)")
+ print("")
+ for entry in files_sorted:
+ process_file(entry)
+ print("")
+ print("NETLIST_END()")
diff --git a/src/lib/netlist/build/makefile b/src/lib/netlist/build/makefile
index 543097df807..a324acb463b 100644
--- a/src/lib/netlist/build/makefile
+++ b/src/lib/netlist/build/makefile
@@ -116,7 +116,7 @@ DEPENDCC=$(CC)
ifndef FAST
-FAST=0
+FAST=1
endif
ifeq ($(FAST),1)
@@ -138,15 +138,18 @@ OBJDIRS = $(OBJ) \
$(OBJ)/plib \
$(OBJ)/devices \
$(OBJ)/macro \
+ $(OBJ)/macro/modules \
$(OBJ)/tests \
$(OBJ)/tools \
$(OBJ)/prg \
$(OBJ)/generated \
+MODULESOURCES += $(wildcard $(SRC)/macro/modules/*.cpp)
DEVSOURCES = $(SRC)/solver/nld_solver.cpp
DEVSOURCES += $(wildcard $(SRC)/devices/*.cpp)
DEVSOURCES += $(wildcard $(SRC)/analog/*.cpp)
DEVSOURCES += $(wildcard $(SRC)/macro/*.cpp)
+DEVSOURCES += $(MODULESOURCES)
TESTSOURCES = $(wildcard $(SRC)/tests/*.cpp)
@@ -158,6 +161,7 @@ CORESOURCES := \
$(SRC)/nl_factory.cpp \
$(SRC)/tools/nl_convert.cpp \
$(SRC)/generated/static_solvers.cpp \
+ $(SRC)/generated/nlm_modules_lib.cpp \
MAINSOURCES = $(SRC)/prg/nltool.cpp $(SRC)/prg/nlwav.cpp
@@ -287,7 +291,8 @@ clang-libc:
-Wmissing-variable-declarations -Wno-float-equal -Wconversion \
-Wno-c++98-compat -Wno-c++98-compat-pedantic -Wformat-nonliteral \
-Wno-exit-time-destructors -Winconsistent-missing-destructor-override \
- -Wno-return-std-move-in-c++11 -Wno-unreachable-code" \
+ -Wno-return-std-move-in-c++11 -Wno-unreachable-code \
+ -Wno-missing-prototypes" \
LDEXTRAFLAGS=-stdlib=libc++
clang-5:
@@ -360,8 +365,12 @@ $(SRC)/generated/nld_devinc.h: $(DEVSOURCES)
@echo creating $@
$(PYTHON) create_devinc.py $^ > $@
+$(SRC)/generated/nlm_modules_lib.cpp: $(MODULESOURCES)
+ @echo creating $@
+ $(PYTHON) create_modules.py $^ > $@
+
.PHONY: generated
-generated: ../generated/lib_entries.hxx ../generated/nld_devinc.h
+generated: $(SRC)/generated/lib_entries.hxx $(SRC)/generated/nld_devinc.h $(SRC)/generated/nlm_modules_lib.cpp
#-------------------------------------------------
# clang tidy
diff --git a/src/lib/netlist/buildVS/netlistlib.vcxproj b/src/lib/netlist/buildVS/netlistlib.vcxproj
index 2d7dcb7bd38..543d7680f29 100755
--- a/src/lib/netlist/buildVS/netlistlib.vcxproj
+++ b/src/lib/netlist/buildVS/netlistlib.vcxproj
@@ -174,7 +174,9 @@
<ClCompile Include="..\devices\nld_tristate.cpp" />
<ClCompile Include="..\devices\nlid_proxy.cpp" />
<ClCompile Include="..\devices\nlid_truthtable.cpp" />
+ <ClCompile Include="..\generated\nlm_modules_lib.cpp" />
<ClCompile Include="..\generated\static_solvers.cpp" />
+ <ClCompile Include="..\macro\modules\nlmod_RTEST.cpp" />
<ClCompile Include="..\macro\nlm_base_lib.cpp" />
<ClCompile Include="..\macro\nlm_cd4xxx_lib.cpp" />
<ClCompile Include="..\macro\nlm_opamp_lib.cpp" />
@@ -210,55 +212,8 @@
<ClInclude Include="..\analog\nlid_fourterm.h" />
<ClInclude Include="..\analog\nlid_twoterm.h" />
<ClInclude Include="..\devices\net_lib.h" />
- <ClInclude Include="..\devices\nld_2102A.h" />
- <ClInclude Include="..\devices\nld_2716.h" />
- <ClInclude Include="..\devices\nld_74393.h" />
- <ClInclude Include="..\devices\nld_7442.h" />
<ClInclude Include="..\devices\nld_schmitt.h" />
- <ClInclude Include="..\devices\nld_tms4800.h" />
- <ClInclude Include="..\devices\nld_4020.h" />
- <ClInclude Include="..\devices\nld_4066.h" />
- <ClInclude Include="..\devices\nld_4316.h" />
- <ClInclude Include="..\devices\nld_74107.h" />
- <ClInclude Include="..\devices\nld_74113.h" />
- <ClInclude Include="..\devices\nld_74123.h" />
- <ClInclude Include="..\devices\nld_74153.h" />
- <ClInclude Include="..\devices\nld_74161.h" />
- <ClInclude Include="..\devices\nld_74164.h" />
- <ClInclude Include="..\devices\nld_74165.h" />
- <ClInclude Include="..\devices\nld_74166.h" />
- <ClInclude Include="..\devices\nld_74174.h" />
- <ClInclude Include="..\devices\nld_74175.h" />
- <ClInclude Include="..\devices\nld_74192.h" />
- <ClInclude Include="..\devices\nld_74193.h" />
- <ClInclude Include="..\devices\nld_74194.h" />
- <ClInclude Include="..\devices\nld_74365.h" />
- <ClInclude Include="..\devices\nld_7448.h" />
- <ClInclude Include="..\devices\nld_7450.h" />
- <ClInclude Include="..\devices\nld_7473.h" />
- <ClInclude Include="..\devices\nld_7474.h" />
- <ClInclude Include="..\devices\nld_7475.h" />
- <ClInclude Include="..\devices\nld_7483.h" />
- <ClInclude Include="..\devices\nld_7485.h" />
- <ClInclude Include="..\devices\nld_7490.h" />
- <ClInclude Include="..\devices\nld_7493.h" />
- <ClInclude Include="..\devices\nld_74ls629.h" />
- <ClInclude Include="..\devices\nld_82S115.h" />
- <ClInclude Include="..\devices\nld_82S123.h" />
- <ClInclude Include="..\devices\nld_82S126.h" />
- <ClInclude Include="..\devices\nld_82S16.h" />
- <ClInclude Include="..\devices\nld_9310.h" />
- <ClInclude Include="..\devices\nld_9316.h" />
- <ClInclude Include="..\devices\nld_9322.h" />
- <ClInclude Include="..\devices\nld_am2847.h" />
<ClInclude Include="..\devices\nld_devinc.h" />
- <ClInclude Include="..\devices\nld_dm9314.h" />
- <ClInclude Include="..\devices\nld_dm9334.h" />
- <ClInclude Include="..\devices\nld_legacy.h" />
- <ClInclude Include="..\devices\nld_log.h" />
- <ClInclude Include="..\devices\nld_mm5837.h" />
- <ClInclude Include="..\devices\nld_ne555.h" />
- <ClInclude Include="..\devices\nld_r2r_dac.h" />
<ClInclude Include="..\devices\nld_system.h" />
<ClInclude Include="..\devices\nld_tristate.h" />
<ClInclude Include="..\devices\nlid_cmos.h" />
@@ -267,11 +222,6 @@
<ClInclude Include="..\devices\nlid_truthtable.h" />
<ClInclude Include="..\documentation\primer_1.dox.h" />
<ClInclude Include="..\documentation\structure.dox.h" />
- <ClInclude Include="..\macro\nlm_base.h" />
- <ClInclude Include="..\macro\nlm_cd4xxx.h" />
- <ClInclude Include="..\macro\nlm_opamp.h" />
- <ClInclude Include="..\macro\nlm_other.h" />
- <ClInclude Include="..\macro\nlm_ttl74xx.h" />
<ClInclude Include="..\nl_base.h" />
<ClInclude Include="..\nl_config.h" />
<ClInclude Include="..\nl_dice_compat.h" />
diff --git a/src/lib/netlist/buildVS/netlistlib.vcxproj.filters b/src/lib/netlist/buildVS/netlistlib.vcxproj.filters
index 1d0477e7802..f858a2b9932 100755
--- a/src/lib/netlist/buildVS/netlistlib.vcxproj.filters
+++ b/src/lib/netlist/buildVS/netlistlib.vcxproj.filters
@@ -288,6 +288,12 @@
<ClCompile Include="..\devices\nld_9321.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="..\generated\nlm_modules_lib.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\macro\modules\nlmod_RTEST.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\nl_errstr.h">
@@ -428,186 +434,36 @@
<ClInclude Include="..\tools\nl_convert.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\macro\nlm_ttl74xx.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\macro\nlm_opamp.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\macro\nlm_other.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\macro\nlm_base.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\macro\nlm_cd4xxx.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="..\documentation\structure.dox.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\documentation\primer_1.dox.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\devices\nld_2102A.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="..\devices\nlid_system.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\devices\nld_r2r_dac.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74193.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="..\devices\nlid_proxy.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\devices\nld_log.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_2716.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_tms4800.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_am2847.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74174.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_7448.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74192.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_9310.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_4066.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="..\devices\nlid_cmos.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\devices\nld_4020.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_7474.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74194.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_dm9314.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_dm9334.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="..\devices\nld_tristate.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\devices\nld_7450.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="..\devices\net_lib.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\devices\nld_7473.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74113.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74161.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_82S115.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="..\devices\nlid_truthtable.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\devices\nld_9316.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_7485.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74166.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="..\devices\nld_devinc.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\devices\nld_74165.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_82S126.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="..\devices\nld_system.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\devices\nld_74ls629.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74365.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_7475.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_7483.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74123.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_mm5837.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_4316.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_82S123.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74153.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_7493.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_legacy.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74107.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_ne555.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_9322.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_7490.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_82S16.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74175.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74164.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="..\plib\gmres.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -656,11 +512,5 @@
<ClInclude Include="..\analog\nld_mosfet.h">
<Filter>Source Files</Filter>
</ClInclude>
- <ClInclude Include="..\devices\nld_7442.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\devices\nld_74393.h">
- <Filter>Header Files</Filter>
- </ClInclude>
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp
index 4475ee32c9b..3fc11f177cf 100644
--- a/src/lib/netlist/devices/net_lib.cpp
+++ b/src/lib/netlist/devices/net_lib.cpp
@@ -27,126 +27,9 @@ namespace devices
// the entries.
// FIXME: the list should be either included or the whole
// initialize factory code should be created programmatically.
-#if (NL_AUTO_DEVICES)
+
#include "../generated/lib_entries.hxx"
-#else
- LIB_ENTRY(R)
- LIB_ENTRY(POT)
- LIB_ENTRY(POT2)
- LIB_ENTRY(C)
- LIB_ENTRY(L)
- LIB_ENTRY(D)
- LIB_ENTRY(Z)
- LIB_ENTRY(VS)
- LIB_ENTRY(CS)
- LIB_ENTRY(VCVS)
- LIB_ENTRY(VCCS)
- LIB_ENTRY(CCCS)
- LIB_ENTRY(CCVS)
- LIB_ENTRY(LVCCS)
- LIB_ENTRY(opamp)
- LIB_ENTRY(nc_pin)
- LIB_ENTRY(frontier) // not intended to be used directly
- LIB_ENTRY(function) // only for macro devices - NO FEEDBACK loops
- LIB_ENTRY(QBJT_EB)
- LIB_ENTRY(QBJT_switch)
- LIB_ENTRY(MOSFET)
- LIB_ENTRY(logic_input_ttl)
- LIB_ENTRY(logic_input)
- LIB_ENTRY(logic_input8)
- LIB_ENTRY(analog_input)
- LIB_ENTRY(log)
- LIB_ENTRY(logD)
- LIB_ENTRY(clock)
- LIB_ENTRY(varclock)
- LIB_ENTRY(extclock)
- LIB_ENTRY(mainclock)
- LIB_ENTRY(gnd)
- LIB_ENTRY(netlistparams)
- LIB_ENTRY(solver)
- LIB_ENTRY(sys_dsw1)
- LIB_ENTRY(sys_dsw2)
- LIB_ENTRY(sys_compd)
- LIB_ENTRY(sys_noise_mt_u)
- LIB_ENTRY(sys_noise_mt_n)
- LIB_ENTRY(switch1)
- LIB_ENTRY(switch2)
- LIB_ENTRY(nicRSFF)
- LIB_ENTRY(nicDelay)
- LIB_ENTRY(2102A)
- LIB_ENTRY(2716)
- LIB_ENTRY(7448)
- LIB_ENTRY(MK28000)
- LIB_ENTRY(7450)
- LIB_ENTRY(7473)
- LIB_ENTRY(7473A)
- LIB_ENTRY(7474)
- LIB_ENTRY(7475_GATE)
- LIB_ENTRY(7477_GATE)
- LIB_ENTRY(7483)
- LIB_ENTRY(7485)
- LIB_ENTRY(7490)
- LIB_ENTRY(7492)
- LIB_ENTRY(7493)
- LIB_ENTRY(7497)
- LIB_ENTRY(74107)
- LIB_ENTRY(74107A)
- LIB_ENTRY(74113)
- LIB_ENTRY(74113A)
- LIB_ENTRY(74121)
- LIB_ENTRY(74123)
- LIB_ENTRY(74125)
- LIB_ENTRY(74126)
- LIB_ENTRY(74153)
- LIB_ENTRY(74161)
- LIB_ENTRY(74161_fixme)
- LIB_ENTRY(74163)
- LIB_ENTRY(74164)
- LIB_ENTRY(74165)
- LIB_ENTRY(74166)
- LIB_ENTRY(74174)
- LIB_ENTRY(74175)
- LIB_ENTRY(74192)
- LIB_ENTRY(74193)
- LIB_ENTRY(74194)
- LIB_ENTRY(74365)
- LIB_ENTRY(74377_GATE)
- LIB_ENTRY(74393)
- //ENTRY(74279, TTL_74279, "") // only dip available
- LIB_ENTRY(SN74LS629)
- LIB_ENTRY(82S16)
- LIB_ENTRY(82S115)
- LIB_ENTRY(82S123)
- LIB_ENTRY(82S126)
- LIB_ENTRY(74S287)
- LIB_ENTRY(8277)
- LIB_ENTRY(9310)
- LIB_ENTRY(9314)
- LIB_ENTRY(9316)
- LIB_ENTRY(9321)
- LIB_ENTRY(9322)
- LIB_ENTRY(9334)
- LIB_ENTRY(AM2847)
- LIB_ENTRY(CD4006)
- LIB_ENTRY(CD4013)
- LIB_ENTRY(CD4017)
- LIB_ENTRY(CD4022)
- LIB_ENTRY(CD4020)
- LIB_ENTRY(CD4024)
- LIB_ENTRY(CD4053_GATE)
- LIB_ENTRY(CD4066_GATE)
- LIB_ENTRY(CD4316_GATE)
- LIB_ENTRY(4538)
- LIB_ENTRY(schmitt_trigger)
- LIB_ENTRY(NE555)
- LIB_ENTRY(MC1455P)
- LIB_ENTRY(TMS4800)
- LIB_ENTRY(r2r_dac)
- LIB_ENTRY(tristate)
- LIB_ENTRY(tristate3)
- LIB_ENTRY(9602)
- LIB_ENTRY(MM5837)
-#endif
+
}
} //namespace devices
diff --git a/src/lib/netlist/devices/net_lib.h b/src/lib/netlist/devices/net_lib.h
index 9326a616647..db3f9c1519d 100644
--- a/src/lib/netlist/devices/net_lib.h
+++ b/src/lib/netlist/devices/net_lib.h
@@ -7,7 +7,7 @@
///
/// \file net_lib.h
///
-/// Discrete netlist implementation.
+/// This file is included by all netlist implementations.
///
#include "../nl_setup.h"
@@ -30,92 +30,7 @@
NETLIST_EXTERNAL(base_lib)
-#if NL_AUTO_DEVICES
+#include "../generated/nld_devinc.h"
- #include "../generated/nld_devinc.h"
-#else
-
-#define SOLVER(name, freq) \
- NET_REGISTER_DEVEXT(SOLVER, name, freq)
-
-#include "nld_system.h"
-
-#include "nld_2102A.h"
-#include "nld_4006.h"
-#include "nld_4013.h"
-#include "nld_4017.h"
-#include "nld_4020.h"
-#include "nld_4053.h"
-#include "nld_4066.h"
-#include "nld_4316.h"
-#include "nld_74107.h"
-#include "nld_74113.h"
-#include "nld_74123.h"
-#include "nld_74125.h"
-#include "nld_74153.h"
-#include "nld_74164.h"
-#include "nld_74165.h"
-#include "nld_74166.h"
-#include "nld_74174.h"
-#include "nld_74175.h"
-#include "nld_74192.h"
-#include "nld_74193.h"
-#include "nld_74194.h"
-#include "nld_74365.h"
-#include "nld_74377.h"
-#include "nld_74393.h"
-#include "nld_7448.h"
-#include "nld_7450.h"
-#include "nld_7473.h"
-#include "nld_7474.h"
-#include "nld_7475.h"
-#include "nld_7483.h"
-#include "nld_7485.h"
-#include "nld_7490.h"
-#include "nld_7492.h"
-#include "nld_7493.h"
-#include "nld_7497.h"
-#include "nld_74ls629.h"
-#include "nld_82S115.h"
-#include "nld_82S16.h"
-#include "nld_9316.h"
-#include "nld_9321.h"
-#include "nld_9322.h"
-#include "nld_tms4800.h"
-
-#include "nld_8277.h"
-#include "nld_am2847.h"
-#include "nld_dm9314.h"
-#include "nld_dm9334.h"
-
-#include "nld_mm5837.h"
-#include "nld_ne555.h"
-
-#include "nld_r2r_dac.h"
-
-#include "nld_roms.h"
-
-#include "nld_schmitt.h"
-
-#include "nld_tristate.h"
-
-#include "nld_log.h"
-
-#include "../macro/nlm_cd4xxx_lib.h"
-#include "../macro/nlm_opamp_lib.h"
-#include "../macro/nlm_otheric_lib.h"
-#include "../macro/nlm_roms_lib.h"
-#include "../macro/nlm_ttl74xx_lib.h"
-
-#include "../analog/nld_bjt.h"
-#include "../analog/nld_fourterm.h"
-#include "../analog/nld_mosfet.h"
-#include "../analog/nld_opamps.h"
-#include "../analog/nld_switches.h"
-#include "../analog/nld_twoterm.h"
-
-#include "nld_legacy.h"
-#endif
-
-#endif
+#endif // NET_LIB_H
diff --git a/src/lib/netlist/devices/nld_2102A.cpp b/src/lib/netlist/devices/nld_2102A.cpp
index 0fddde0bd2d..91c7c6b7ee0 100644
--- a/src/lib/netlist/devices/nld_2102A.cpp
+++ b/src/lib/netlist/devices/nld_2102A.cpp
@@ -21,7 +21,6 @@
*
*/
-#include "nld_2102A.h"
#include "nl_base.h"
#define ADDR2BYTE(a) ((a) >> 3)
diff --git a/src/lib/netlist/devices/nld_2102A.h b/src/lib/netlist/devices/nld_2102A.h
deleted file mode 100644
index fb0693e1012..00000000000
--- a/src/lib/netlist/devices/nld_2102A.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#ifndef NLD_2102A_H_
-#define NLD_2102A_H_
-
-#include "../nl_setup.h"
-
-// expects: RAM_2102A(name, cCEQ, cA0, cA1, cA2, cA3, cA4, cA5, cA6, cA7, cA8, cA9, cRWQ, cDI)
-#define RAM_2102A(...) \
- NET_REGISTER_DEVEXT(RAM_2102A, __VA_ARGS__)
-
-#endif /* NLD_2102A_H_ */
diff --git a/src/lib/netlist/devices/nld_4006.cpp b/src/lib/netlist/devices/nld_4006.cpp
index 7d0deef61ec..cd0e441c6b5 100644
--- a/src/lib/netlist/devices/nld_4006.cpp
+++ b/src/lib/netlist/devices/nld_4006.cpp
@@ -39,7 +39,6 @@
*
*/
-#include "nld_4006.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_4006.h b/src/lib/netlist/devices/nld_4006.h
deleted file mode 100644
index c86d7ad86ee..00000000000
--- a/src/lib/netlist/devices/nld_4006.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_4006_H_
-#define NLD_4006_H_
-
-#include "../nl_setup.h"
-
-#define CD4006(name) \
- NET_REGISTER_DEV(CD4006, name)
-
-#endif /* NLD_4006_H_ */
diff --git a/src/lib/netlist/devices/nld_4013.h b/src/lib/netlist/devices/nld_4013.h
deleted file mode 100644
index 1569358357b..00000000000
--- a/src/lib/netlist/devices/nld_4013.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_4013_H_
-#define NLD_4013_H_
-
-#include "../nl_setup.h"
-
-// usage: CD4013(name, cCLOCK, cDATA, cRESET, cSET)
-#define CD4013(...) \
- NET_REGISTER_DEVEXT(CD4013, __VA_ARGS__)
-
-#endif /* NLD_4013_H_ */
diff --git a/src/lib/netlist/devices/nld_4017.cpp b/src/lib/netlist/devices/nld_4017.cpp
index e721d4502f1..249fa8c3b59 100644
--- a/src/lib/netlist/devices/nld_4017.cpp
+++ b/src/lib/netlist/devices/nld_4017.cpp
@@ -37,7 +37,6 @@
*
*/
-#include "nld_4017.h"
#include "nl_base.h"
#include "nl_factory.h"
diff --git a/src/lib/netlist/devices/nld_4017.h b/src/lib/netlist/devices/nld_4017.h
deleted file mode 100644
index 7f89c4b9cfe..00000000000
--- a/src/lib/netlist/devices/nld_4017.h
+++ /dev/null
@@ -1,15 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_4017_H_
-#define NLD_4017_H_
-
-#include "../nl_setup.h"
-
-#define CD4017(name) \
- NET_REGISTER_DEV(CD4017, name)
-
-#define CD4022(name) \
- NET_REGISTER_DEV(CD4022, name)
-
-#endif /* NLD_4017_H_ */
diff --git a/src/lib/netlist/devices/nld_4020.cpp b/src/lib/netlist/devices/nld_4020.cpp
index dad41bd0626..6ceecd6846e 100644
--- a/src/lib/netlist/devices/nld_4020.cpp
+++ b/src/lib/netlist/devices/nld_4020.cpp
@@ -37,7 +37,6 @@
*
*/
-#include "nld_4020.h"
#include "nl_base.h"
#include "nl_factory.h"
diff --git a/src/lib/netlist/devices/nld_4020.h b/src/lib/netlist/devices/nld_4020.h
deleted file mode 100644
index e80156045df..00000000000
--- a/src/lib/netlist/devices/nld_4020.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_4020_H_
-#define NLD_4020_H_
-
-#include "../nl_setup.h"
-
-// usage : CD4020(name)
-#define CD4020(...) \
- NET_REGISTER_DEVEXT(CD4020, __VA_ARGS__)
-
-// usage : CD4024(name)
-#define CD4024(...) \
- NET_REGISTER_DEVEXT(CD4024, __VA_ARGS__)
-
-#endif /* NLD_4020_H_ */
diff --git a/src/lib/netlist/devices/nld_4053.cpp b/src/lib/netlist/devices/nld_4053.cpp
index 7a000d98a84..29634e9fdeb 100644
--- a/src/lib/netlist/devices/nld_4053.cpp
+++ b/src/lib/netlist/devices/nld_4053.cpp
@@ -23,8 +23,6 @@
*/
-#include "nld_4053.h"
-
#include "analog/nlid_twoterm.h"
#include "solver/nld_solver.h"
diff --git a/src/lib/netlist/devices/nld_4053.h b/src/lib/netlist/devices/nld_4053.h
deleted file mode 100644
index 6c6334b349f..00000000000
--- a/src/lib/netlist/devices/nld_4053.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-#ifndef NLD_4053_H_
-#define NLD_4053_H_
-
-#include "../nl_setup.h"
-
-// FIXME: Implement pure CMOS version
-
-#define CD4053_GATE(name) \
- NET_REGISTER_DEV(CD4053_GATE, name)
-
-#endif /* NLD_4053_H_ */
diff --git a/src/lib/netlist/devices/nld_4066.cpp b/src/lib/netlist/devices/nld_4066.cpp
index 8cfa07f3b71..9e7d7e7c7fe 100644
--- a/src/lib/netlist/devices/nld_4066.cpp
+++ b/src/lib/netlist/devices/nld_4066.cpp
@@ -21,8 +21,6 @@
*
*/
-#include "nld_4066.h"
-
#include "analog/nlid_twoterm.h"
#include "solver/nld_solver.h"
diff --git a/src/lib/netlist/devices/nld_4066.h b/src/lib/netlist/devices/nld_4066.h
deleted file mode 100644
index 7815466aa08..00000000000
--- a/src/lib/netlist/devices/nld_4066.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_4066_H_
-#define NLD_4066_H_
-
-#include "../nl_setup.h"
-
-// FIXME: Implement pure CMOS version
-
-#define CD4066_GATE(name) \
- NET_REGISTER_DEV(CD4066_GATE, name)
-
-#endif /* NLD_4066_H_ */
diff --git a/src/lib/netlist/devices/nld_4316.cpp b/src/lib/netlist/devices/nld_4316.cpp
index 1eed4fa9ba6..d7668c7822a 100644
--- a/src/lib/netlist/devices/nld_4316.cpp
+++ b/src/lib/netlist/devices/nld_4316.cpp
@@ -22,7 +22,6 @@
*
*/
-#include "nld_4316.h"
#include "analog/nlid_twoterm.h"
#include "solver/nld_solver.h"
diff --git a/src/lib/netlist/devices/nld_4316.h b/src/lib/netlist/devices/nld_4316.h
deleted file mode 100644
index 599430f4576..00000000000
--- a/src/lib/netlist/devices/nld_4316.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Vas Crabb
-
-#ifndef NLD_4316_H_
-#define NLD_4316_H_
-
-#include "../nl_setup.h"
-
-#define CD4316_GATE(name) \
- NET_REGISTER_DEV(CD4316_GATE, name)
-
-#endif /* NLD_4316_H_ */
diff --git a/src/lib/netlist/devices/nld_74107.cpp b/src/lib/netlist/devices/nld_74107.cpp
index 1e52368b417..f49ed439d1e 100644
--- a/src/lib/netlist/devices/nld_74107.cpp
+++ b/src/lib/netlist/devices/nld_74107.cpp
@@ -61,7 +61,6 @@
*
*/
-#include "nld_74107.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_74107.h b/src/lib/netlist/devices/nld_74107.h
deleted file mode 100644
index c3d65523a9f..00000000000
--- a/src/lib/netlist/devices/nld_74107.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_74107_H_
-#define NLD_74107_H_
-
-#include "../nl_setup.h"
-
-#define TTL_74107(...) \
- NET_REGISTER_DEVEXT(TTL_74107, __VA_ARGS__)
-
-// usage: TTL_74107A(name, cCLK, cJ, cK, cCLRQ)
-#define TTL_74107A(...) \
- NET_REGISTER_DEVEXT(TTL_74107A, __VA_ARGS__)
-
-#endif /* NLD_74107_H_ */
diff --git a/src/lib/netlist/devices/nld_74113.cpp b/src/lib/netlist/devices/nld_74113.cpp
index 98a8de63e01..d4fc729b2bc 100644
--- a/src/lib/netlist/devices/nld_74113.cpp
+++ b/src/lib/netlist/devices/nld_74113.cpp
@@ -57,7 +57,6 @@
*
*/
-#include "nld_74113.h"
#include "nl_base.h"
// FIXME: this can probably be merged with nld_7473.cpp
diff --git a/src/lib/netlist/devices/nld_74113.h b/src/lib/netlist/devices/nld_74113.h
deleted file mode 100644
index e0b531daadc..00000000000
--- a/src/lib/netlist/devices/nld_74113.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_74113_H_
-#define NLD_74113_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_74113(name, cCLK, cJ, cK, cCLRQ)
-#define TTL_74113(...) \
- NET_REGISTER_DEVEXT(TTL_74113, __VA_ARGS__)
-
-// usage: TTL_74113A(name, cCLK, cJ, cK, cCLRQ)
-#define TTL_74113A(...) \
- NET_REGISTER_DEVEXT(TTL_74113, __VA_ARGS__)
-
-#endif /* NLD_74113_H_ */
diff --git a/src/lib/netlist/devices/nld_74123.h b/src/lib/netlist/devices/nld_74123.h
deleted file mode 100644
index 3c780fb83a6..00000000000
--- a/src/lib/netlist/devices/nld_74123.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_74123_H_
-#define NLD_74123_H_
-
-#include "../nl_setup.h"
-
-#define TTL_74123(name) \
- NET_REGISTER_DEV(TTL_74123, name)
-
-#define TTL_74121(name) \
- NET_REGISTER_DEV(TTL_74121, name)
-
-#define TTL_9602(name) \
- NET_REGISTER_DEV(TTL_9602, name)
-
-#define CD4538(name) \
- NET_REGISTER_DEV(CD4538, name)
-
-#endif /* NLD_74123_H_ */
diff --git a/src/lib/netlist/devices/nld_74125.cpp b/src/lib/netlist/devices/nld_74125.cpp
index f60d5b37c5c..1240619e1d6 100644
--- a/src/lib/netlist/devices/nld_74125.cpp
+++ b/src/lib/netlist/devices/nld_74125.cpp
@@ -5,7 +5,6 @@
*
*/
-#include "nld_74125.h"
#include "nl_base.h"
#include <type_traits>
diff --git a/src/lib/netlist/devices/nld_74125.h b/src/lib/netlist/devices/nld_74125.h
deleted file mode 100644
index 07d749e0c02..00000000000
--- a/src/lib/netlist/devices/nld_74125.h
+++ /dev/null
@@ -1,19 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-/*
- * nld_74125.h
- *
- */
-
-#ifndef NLD_74125_H_
-#define NLD_74125_H_
-
-#include "../nl_setup.h"
-
-#define TTL_74125_GATE(...) \
- NET_REGISTER_DEV(TTL_74125_GATE, __VA_ARGS__)
-
-#define TTL_74126_GATE(...) \
- NET_REGISTER_DEV(TTL_74126_GATE, __VA_ARGS__)
-
-#endif /* NLD_74125_H_ */
diff --git a/src/lib/netlist/devices/nld_74153.cpp b/src/lib/netlist/devices/nld_74153.cpp
index 9e5a68149c5..bc2b54bcb98 100644
--- a/src/lib/netlist/devices/nld_74153.cpp
+++ b/src/lib/netlist/devices/nld_74153.cpp
@@ -42,7 +42,6 @@
*
*/
-#include "nld_74153.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_74153.h b/src/lib/netlist/devices/nld_74153.h
deleted file mode 100644
index 11bfe0e2bb4..00000000000
--- a/src/lib/netlist/devices/nld_74153.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_74153_H_
-#define NLD_74153_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_74153(name, cC0, cC1, cC2, cC3, cA, cB, cG)
-#define TTL_74153(...) \
- NET_REGISTER_DEVEXT(TTL_74153, __VA_ARGS__)
-
-#endif /* NLD_74153_H_ */
diff --git a/src/lib/netlist/devices/nld_74164.cpp b/src/lib/netlist/devices/nld_74164.cpp
index 25331e8f3ae..74096cf4147 100644
--- a/src/lib/netlist/devices/nld_74164.cpp
+++ b/src/lib/netlist/devices/nld_74164.cpp
@@ -46,7 +46,6 @@
**********************************************************************/
-#include "nld_74164.h"
#include "nl_base.h"
// FIXME: clk input to be separated - only falling edge relevant
diff --git a/src/lib/netlist/devices/nld_74164.h b/src/lib/netlist/devices/nld_74164.h
deleted file mode 100644
index 9ec3b98c10c..00000000000
--- a/src/lib/netlist/devices/nld_74164.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Joakim Larsson Edstrom
-
-#ifndef NLD_74164_H_
-#define NLD_74164_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_74164(name, cA, cB, cCLRQ, cCLK)
-#define TTL_74164(...) \
- NET_REGISTER_DEVEXT(TTL_74164, __VA_ARGS__)
-
-#endif /* NLD_74164_H_ */
diff --git a/src/lib/netlist/devices/nld_74165.cpp b/src/lib/netlist/devices/nld_74165.cpp
index 15647afb6d7..19eb2267e02 100644
--- a/src/lib/netlist/devices/nld_74165.cpp
+++ b/src/lib/netlist/devices/nld_74165.cpp
@@ -24,7 +24,6 @@
*
*/
-#include "nld_74165.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_74165.h b/src/lib/netlist/devices/nld_74165.h
deleted file mode 100644
index 5b0b2820135..00000000000
--- a/src/lib/netlist/devices/nld_74165.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#ifndef NLD_74165_H_
-#define NLD_74165_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_74165(name, cCLK, cCLKINH, cSH_LDQ, cSER, cA, cB, cC, cD, cE, cF, cG, cH)
-#define TTL_74165(...) \
- NET_REGISTER_DEVEXT(TTL_74165, __VA_ARGS__)
-
-#endif /* NLD_74165_H_ */
diff --git a/src/lib/netlist/devices/nld_74166.cpp b/src/lib/netlist/devices/nld_74166.cpp
index 243281ca527..69082d89363 100644
--- a/src/lib/netlist/devices/nld_74166.cpp
+++ b/src/lib/netlist/devices/nld_74166.cpp
@@ -24,7 +24,6 @@
*
*/
-#include "nld_74166.h"
#include "nl_base.h"
// FIXME: separate handlers for inputs
diff --git a/src/lib/netlist/devices/nld_74166.h b/src/lib/netlist/devices/nld_74166.h
deleted file mode 100644
index 00434994d80..00000000000
--- a/src/lib/netlist/devices/nld_74166.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#ifndef NLD_74166_H_
-#define NLD_74166_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_74166(name, cCLK, cCLKINH, cSH_LDQ, cSER, cA, cB, cC, cD, cE, cF, cG, cH, cCLRQ)
-#define TTL_74166(...) \
- NET_REGISTER_DEVEXT(TTL_74166, __VA_ARGS__)
-
-#endif /* NLD_74166_H_ */
diff --git a/src/lib/netlist/devices/nld_74174.cpp b/src/lib/netlist/devices/nld_74174.cpp
index 1414ddd3145..32bc0f5d1a0 100644
--- a/src/lib/netlist/devices/nld_74174.cpp
+++ b/src/lib/netlist/devices/nld_74174.cpp
@@ -33,7 +33,6 @@
*
*/
-#include "nld_74174.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_74174.h b/src/lib/netlist/devices/nld_74174.h
deleted file mode 100644
index 91cef8fdd74..00000000000
--- a/src/lib/netlist/devices/nld_74174.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_74174_H_
-#define NLD_74174_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_74174(name, cCLK, cD1, cD2, cD3, cD4, cD5, cD6, cCLRQ)
-#define TTL_74174(...) \
- NET_REGISTER_DEVEXT(TTL_74174, __VA_ARGS__)
-
-#endif /* NLD_74174_H_ */
diff --git a/src/lib/netlist/devices/nld_74175.cpp b/src/lib/netlist/devices/nld_74175.cpp
index 0b2f125d1b1..3329ff18893 100644
--- a/src/lib/netlist/devices/nld_74175.cpp
+++ b/src/lib/netlist/devices/nld_74175.cpp
@@ -33,7 +33,6 @@
*
*/
-#include "nld_74175.h"
#include "nl_base.h"
// FIXME: optimize
diff --git a/src/lib/netlist/devices/nld_74175.h b/src/lib/netlist/devices/nld_74175.h
deleted file mode 100644
index 377320b14f0..00000000000
--- a/src/lib/netlist/devices/nld_74175.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_74175_H_
-#define NLD_74175_H_
-
-#include "../nl_setup.h"
-
-// usage : TTL_74175(name, pCLK, pD1, pD2, pD3, pD4, pCLRQ)
-// auto connect: VCC, GND
-#define TTL_74175(...) \
- NET_REGISTER_DEVEXT(TTL_74175, __VA_ARGS__)
-
-#endif /* NLD_74175_H_ */
diff --git a/src/lib/netlist/devices/nld_74192.cpp b/src/lib/netlist/devices/nld_74192.cpp
index 0c1864f4394..5f56f67dc93 100644
--- a/src/lib/netlist/devices/nld_74192.cpp
+++ b/src/lib/netlist/devices/nld_74192.cpp
@@ -26,7 +26,7 @@
*
*/
-#include "nld_74192.h"
+
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_74192.h b/src/lib/netlist/devices/nld_74192.h
deleted file mode 100644
index 1248a07961c..00000000000
--- a/src/lib/netlist/devices/nld_74192.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_74192_H_
-#define NLD_74192_H_
-
-#include "../nl_setup.h"
-
-// usage : TTL_74192(name, pA, pB, pC, pD, pCLEAR, pLOADQ, pCU, pCD)
-// auto connect: VCC, GND
-#define TTL_74192(...) \
- NET_REGISTER_DEVEXT(TTL_74192, __VA_ARGS__)
-
-#endif /* NLD_74192_H_ */
diff --git a/src/lib/netlist/devices/nld_74193.cpp b/src/lib/netlist/devices/nld_74193.cpp
index 5754cd2eea1..e4dec831f68 100644
--- a/src/lib/netlist/devices/nld_74193.cpp
+++ b/src/lib/netlist/devices/nld_74193.cpp
@@ -23,7 +23,6 @@
*
*/
-#include "nld_74193.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_74193.h b/src/lib/netlist/devices/nld_74193.h
deleted file mode 100644
index 42c790107a2..00000000000
--- a/src/lib/netlist/devices/nld_74193.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_74193_H_
-#define NLD_74193_H_
-
-#include "../nl_setup.h"
-
-// usage : TTL_74193(name, pA, pB, pC, pD, pCLEAR, pLOADQ, pCU, pCD)
-// auto connect: VCC, GND
-#define TTL_74193(...) \
- NET_REGISTER_DEVEXT(TTL_74193, __VA_ARGS__)
-
-#endif /* NLD_74193_H_ */
diff --git a/src/lib/netlist/devices/nld_74194.cpp b/src/lib/netlist/devices/nld_74194.cpp
index cc0b048d95d..c20f4b96021 100644
--- a/src/lib/netlist/devices/nld_74194.cpp
+++ b/src/lib/netlist/devices/nld_74194.cpp
@@ -23,8 +23,6 @@
*
*/
-
-#include "nld_74194.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_74194.h b/src/lib/netlist/devices/nld_74194.h
deleted file mode 100644
index c380190d6fe..00000000000
--- a/src/lib/netlist/devices/nld_74194.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-#ifndef NLD_74194_H_
-#define NLD_74194_H_
-
-#include "../nl_setup.h"
-
-// usage : TTL_74194(name, pCLK, pS0, pS1, pSRIN, pA, pB, pC, pD, pSLIN, pCLRQ)
-// auto connect: VCC, GND
-#define TTL_74194(...) \
- NET_REGISTER_DEVEXT(TTL_74194, __VA_ARGS__)
-
-#endif /* NLD_74194_H_ */
diff --git a/src/lib/netlist/devices/nld_74365.cpp b/src/lib/netlist/devices/nld_74365.cpp
index ce93d336158..8f078743773 100644
--- a/src/lib/netlist/devices/nld_74365.cpp
+++ b/src/lib/netlist/devices/nld_74365.cpp
@@ -22,7 +22,6 @@
* is not a "real" bus driver, it simply outputs 0 if the chip is not enabled.
*/
-#include "nld_74365.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_74365.h b/src/lib/netlist/devices/nld_74365.h
deleted file mode 100644
index 5900991e156..00000000000
--- a/src/lib/netlist/devices/nld_74365.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-#ifndef NLD_74365_H_
-#define NLD_74365_H_
-
-#include "../nl_setup.h"
-
-// usage : TTL_74365(name, pG1Q, pG2Q, pA1, pA2, pA3, pA4, pA5, pA6)
-// auto connect: VCC, GND
-#define TTL_74365(...) \
- NET_REGISTER_DEVEXT(TTL_74365, __VA_ARGS__)
-
-#endif /* NLD_74365_H_ */
diff --git a/src/lib/netlist/devices/nld_74377.cpp b/src/lib/netlist/devices/nld_74377.cpp
index 45427bde827..dc38dbc0d2d 100644
--- a/src/lib/netlist/devices/nld_74377.cpp
+++ b/src/lib/netlist/devices/nld_74377.cpp
@@ -48,7 +48,6 @@
*
*/
-#include "nld_74377.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_74377.h b/src/lib/netlist/devices/nld_74377.h
deleted file mode 100644
index 7157abec99f..00000000000
--- a/src/lib/netlist/devices/nld_74377.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud,Aaron Giles
-
-#ifndef NLD_74377_H_
-#define NLD_74377_H_
-
-#include "../nl_setup.h"
-
-
-#define TTL_74377_GATE(name) \
- NET_REGISTER_DEV(TTL_74377_GATE, name)
-
-
-#endif /* NLD_74377_H_ */
diff --git a/src/lib/netlist/devices/nld_74393.cpp b/src/lib/netlist/devices/nld_74393.cpp
index 765c73a7880..5e9cef831d0 100644
--- a/src/lib/netlist/devices/nld_74393.cpp
+++ b/src/lib/netlist/devices/nld_74393.cpp
@@ -19,7 +19,6 @@
*
*/
-#include "nld_74393.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_74393.h b/src/lib/netlist/devices/nld_74393.h
deleted file mode 100644
index 664b7ce91eb..00000000000
--- a/src/lib/netlist/devices/nld_74393.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_74393_H_
-#define NLD_74393_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_74393(name, cCP, cMR)
-#define TTL_74393(...) \
- NET_REGISTER_DEVEXT(TTL_74393, __VA_ARGS__)
-
-#endif /* NLD_74193_H_ */
diff --git a/src/lib/netlist/devices/nld_7448.h b/src/lib/netlist/devices/nld_7448.h
deleted file mode 100644
index 937ea87e090..00000000000
--- a/src/lib/netlist/devices/nld_7448.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_7448_H_
-#define NLD_7448_H_
-
-#include "../nl_setup.h"
-
-// usage : TTL_7448(name, pA, pB, pC, pD, pLTQ, pBIQ, pRBIQ)
-// auto connect: VCC, GND
-#define TTL_7448(...) \
- NET_REGISTER_DEVEXT(TTL_7448, __VA_ARGS__)
-
-#endif /* NLD_7448_H_ */
diff --git a/src/lib/netlist/devices/nld_7450.cpp b/src/lib/netlist/devices/nld_7450.cpp
index 35487bd12f9..d4fc9319b0f 100644
--- a/src/lib/netlist/devices/nld_7450.cpp
+++ b/src/lib/netlist/devices/nld_7450.cpp
@@ -21,7 +21,6 @@
*
*/
-#include "nld_7450.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_7450.h b/src/lib/netlist/devices/nld_7450.h
deleted file mode 100644
index 7a58605f20c..00000000000
--- a/src/lib/netlist/devices/nld_7450.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_7450_H_
-#define NLD_7450_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_7450_ANDORINVERT(name, cI1, cI2, cI3, cI4)
-#define TTL_7450_ANDORINVERT(...) \
- NET_REGISTER_DEVEXT(TTL_7450_ANDORINVERT, __VA_ARGS__)
-
-#endif /* NLD_7450_H_ */
diff --git a/src/lib/netlist/devices/nld_7473.cpp b/src/lib/netlist/devices/nld_7473.cpp
index 8826df0239d..dbfedecb72e 100644
--- a/src/lib/netlist/devices/nld_7473.cpp
+++ b/src/lib/netlist/devices/nld_7473.cpp
@@ -57,7 +57,6 @@
*
*/
-#include "nld_7473.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_7473.h b/src/lib/netlist/devices/nld_7473.h
deleted file mode 100644
index 6aedd619dac..00000000000
--- a/src/lib/netlist/devices/nld_7473.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_7473_H_
-#define NLD_7473_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_7473(name, cCLK, cJ, cK, cCLRQ)
-#define TTL_7473(...) \
- NET_REGISTER_DEVEXT(TTL_7473, __VA_ARGS__)
-
-#define TTL_7473A(...) \
- TTL_7473(__VA_ARGS__)
-
-#endif /* NLD_7473_H_ */
diff --git a/src/lib/netlist/devices/nld_7474.cpp b/src/lib/netlist/devices/nld_7474.cpp
index 42d5acfc9af..16a259312dd 100644
--- a/src/lib/netlist/devices/nld_7474.cpp
+++ b/src/lib/netlist/devices/nld_7474.cpp
@@ -40,7 +40,6 @@
* FIXME: Check that (*) is emulated properly
*/
-#include "nld_7474.h"
#include "nl_base.h"
#include <array>
diff --git a/src/lib/netlist/devices/nld_7474.h b/src/lib/netlist/devices/nld_7474.h
deleted file mode 100644
index 7ae42fc750b..00000000000
--- a/src/lib/netlist/devices/nld_7474.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_7474_H_
-#define NLD_7474_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_7474(name, cCLK, cD, cCLRQ, cPREQ)
-#define TTL_7474(...) \
- NET_REGISTER_DEVEXT(TTL_7474, __VA_ARGS__)
-
-#endif /* NLD_7474_H_ */
diff --git a/src/lib/netlist/devices/nld_7475.cpp b/src/lib/netlist/devices/nld_7475.cpp
index b73bc8e4fad..1e5e9c82b1c 100644
--- a/src/lib/netlist/devices/nld_7475.cpp
+++ b/src/lib/netlist/devices/nld_7475.cpp
@@ -34,7 +34,6 @@
*
*/
-#include "nld_7475.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_7475.h b/src/lib/netlist/devices/nld_7475.h
deleted file mode 100644
index 988061e3c6b..00000000000
--- a/src/lib/netlist/devices/nld_7475.h
+++ /dev/null
@@ -1,15 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#ifndef NLD_7475_H_
-#define NLD_7475_H_
-
-#include "../nl_setup.h"
-
-#define TTL_7475_GATE(...) \
- NET_REGISTER_DEVEXT(TTL_7475_GATE, __VA_ARGS__)
-
-#define TTL_7477_GATE(...) \
- NET_REGISTER_DEVEXT(TTL_7477_GATE, __VA_ARGS__)
-
-#endif /* NLD_7475_H_ */
diff --git a/src/lib/netlist/devices/nld_7483.cpp b/src/lib/netlist/devices/nld_7483.cpp
index 0e20ab76b63..d6708cbd3b6 100644
--- a/src/lib/netlist/devices/nld_7483.cpp
+++ b/src/lib/netlist/devices/nld_7483.cpp
@@ -24,7 +24,6 @@
*
*/
-#include "nld_7483.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_7483.h b/src/lib/netlist/devices/nld_7483.h
deleted file mode 100644
index e2ede42246a..00000000000
--- a/src/lib/netlist/devices/nld_7483.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_7483_H_
-#define NLD_7483_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_7483(name, cA1, cA2, cA3, cA4, cB1, cB2, cB3, cB4, cCI)
-#define TTL_7483(...) \
- NET_REGISTER_DEVEXT(TTL_7483, __VA_ARGS__)
-
-#endif /* NLD_7483_H_ */
diff --git a/src/lib/netlist/devices/nld_7485.cpp b/src/lib/netlist/devices/nld_7485.cpp
index 7cce2fa8ad8..40a4831e1f7 100644
--- a/src/lib/netlist/devices/nld_7485.cpp
+++ b/src/lib/netlist/devices/nld_7485.cpp
@@ -22,7 +22,6 @@
*
*/
-#include "nld_7485.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_7485.h b/src/lib/netlist/devices/nld_7485.h
deleted file mode 100644
index 8d140b57c4d..00000000000
--- a/src/lib/netlist/devices/nld_7485.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#ifndef NLD_7485_H_
-#define NLD_7485_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_7485(name, cA0, cA1, cA2, cA3, cB0, cB1, cB2, cB3, cLTIN, cEQIN, cGTIN)
-#define TTL_7485(...) \
- NET_REGISTER_DEVEXT(TTL_7485, __VA_ARGS__)
-
-#endif /* NLD_7485_H_ */
diff --git a/src/lib/netlist/devices/nld_7490.cpp b/src/lib/netlist/devices/nld_7490.cpp
index 8dcf6ab2655..abf93a4189b 100644
--- a/src/lib/netlist/devices/nld_7490.cpp
+++ b/src/lib/netlist/devices/nld_7490.cpp
@@ -52,7 +52,6 @@
*
*/
-#include "nld_7490.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_7490.h b/src/lib/netlist/devices/nld_7490.h
deleted file mode 100644
index 06a18f19c8d..00000000000
--- a/src/lib/netlist/devices/nld_7490.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_7490_H_
-#define NLD_7490_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_7490(name, cA, cB, cR1, cR2, cR91, cR92)
-#define TTL_7490(...) \
- NET_REGISTER_DEVEXT(TTL_7490, __VA_ARGS__)
-
-#endif /* NLD_7490_H_ */
diff --git a/src/lib/netlist/devices/nld_7492.h b/src/lib/netlist/devices/nld_7492.h
deleted file mode 100644
index 366e1c079c6..00000000000
--- a/src/lib/netlist/devices/nld_7492.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_7492_H_
-#define NLD_7492_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_7492(name, cA, cB, cR1, cR2)
-#define TTL_7492(...) \
- NET_REGISTER_DEVEXT(TTL_7492, __VA_ARGS__)
-
-#endif /* NLD_7492_H_ */
diff --git a/src/lib/netlist/devices/nld_7493.cpp b/src/lib/netlist/devices/nld_7493.cpp
index 17cf8eb5ff1..c52418f8d2e 100644
--- a/src/lib/netlist/devices/nld_7493.cpp
+++ b/src/lib/netlist/devices/nld_7493.cpp
@@ -54,7 +54,6 @@
*
*/
-#include "nld_7493.h"
#include "nl_base.h"
diff --git a/src/lib/netlist/devices/nld_7493.h b/src/lib/netlist/devices/nld_7493.h
deleted file mode 100644
index 86bbc6a1482..00000000000
--- a/src/lib/netlist/devices/nld_7493.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_7493_H_
-#define NLD_7493_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_7493(name, cCLKA, cCLKB, cR1, cR2)
-#define TTL_7493(...) \
- NET_REGISTER_DEVEXT(TTL_7493, __VA_ARGS__)
-
-#endif /* NLD_7493_H_ */
diff --git a/src/lib/netlist/devices/nld_7497.cpp b/src/lib/netlist/devices/nld_7497.cpp
index b43ff7dcfe2..895f8b5a07f 100644
--- a/src/lib/netlist/devices/nld_7497.cpp
+++ b/src/lib/netlist/devices/nld_7497.cpp
@@ -37,7 +37,6 @@
* Unity/cascade is used to inhibit output Y (UNITY L -> Y H)
*/
-#include "nld_7497.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_7497.h b/src/lib/netlist/devices/nld_7497.h
deleted file mode 100644
index befebb8d64e..00000000000
--- a/src/lib/netlist/devices/nld_7497.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Sergey Svishchev
-
-#ifndef NLD_7497_H_
-#define NLD_7497_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_7497(name, cCLK, cSTRB, cEN, cUNITY, cCLR, cB0, cB1, cB2, cB3, cB4, cB5)
-#define TTL_7497(...) \
- NET_REGISTER_DEVEXT(TTL_7497, __VA_ARGS__)
-
-#endif /* NLD_7497_H_ */
diff --git a/src/lib/netlist/devices/nld_74ls629.cpp b/src/lib/netlist/devices/nld_74ls629.cpp
index 27eee588957..6e28feffdfc 100644
--- a/src/lib/netlist/devices/nld_74ls629.cpp
+++ b/src/lib/netlist/devices/nld_74ls629.cpp
@@ -58,8 +58,6 @@
* Then just use that to toggle a waveform.
*/
-
-#include "nld_74ls629.h"
#include "analog/nlid_twoterm.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_74ls629.h b/src/lib/netlist/devices/nld_74ls629.h
deleted file mode 100644
index ff467d46cea..00000000000
--- a/src/lib/netlist/devices/nld_74ls629.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_74LS629_H_
-#define NLD_74LS629_H_
-
-#include "../nl_setup.h"
-
-#define SN74LS629(name, ...) \
- NET_REGISTER_DEVEXT(SN74LS629, name,__VA_ARGS__)
-
-#endif /* NLD_74LS629_H_ */
diff --git a/src/lib/netlist/devices/nld_8277.cpp b/src/lib/netlist/devices/nld_8277.cpp
index 939f1a32ecc..9832a2857cc 100644
--- a/src/lib/netlist/devices/nld_8277.cpp
+++ b/src/lib/netlist/devices/nld_8277.cpp
@@ -18,7 +18,6 @@
*
*/
-#include "nld_8277.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_8277.h b/src/lib/netlist/devices/nld_8277.h
deleted file mode 100644
index 54deeccb230..00000000000
--- a/src/lib/netlist/devices/nld_8277.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#ifndef NLD_8277_H_
-#define NLD_8277_H_
-
-#include "../nl_setup.h"
-
-// usage : TTL_8277(name, pRESET, pCLK, pCLKA, pD0A, pD1A, pDSA, pCLKB, pD0B, pD1B, pDSB)
-// auto connect: VCC, GND
-#define TTL_8277(...) \
- NET_REGISTER_DEVEXT(TTL_8277, __VA_ARGS__)
-
-#endif /* NLD_2877_H_ */
diff --git a/src/lib/netlist/devices/nld_82S115.cpp b/src/lib/netlist/devices/nld_82S115.cpp
index d96be04c053..f1e49bd9f83 100644
--- a/src/lib/netlist/devices/nld_82S115.cpp
+++ b/src/lib/netlist/devices/nld_82S115.cpp
@@ -25,7 +25,6 @@
*
*/
-#include "nld_82S115.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_82S115.h b/src/lib/netlist/devices/nld_82S115.h
deleted file mode 100644
index b5d6dcf58a5..00000000000
--- a/src/lib/netlist/devices/nld_82S115.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#ifndef NLD_82S115_H_
-#define NLD_82S115_H_
-
-#include "../nl_setup.h"
-
-// expects: PROM_82S115(name, cCE1Q, cCE2, cA0, cA1, cA2, cA3, cA4, cA5, cA6, cA7, cA8, cSTROBE)
-#define PROM_82S115(...) \
- NET_REGISTER_DEVEXT(PROM_82S115, __VA_ARGS__)
-
-#endif /* NLD_82S115_H_ */
diff --git a/src/lib/netlist/devices/nld_82S16.cpp b/src/lib/netlist/devices/nld_82S16.cpp
index bdc6a15132d..2fc92adfe30 100644
--- a/src/lib/netlist/devices/nld_82S16.cpp
+++ b/src/lib/netlist/devices/nld_82S16.cpp
@@ -22,7 +22,6 @@
*
*/
-#include "nld_82S16.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_82S16.h b/src/lib/netlist/devices/nld_82S16.h
deleted file mode 100644
index ef73e631b16..00000000000
--- a/src/lib/netlist/devices/nld_82S16.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_82S16_H_
-#define NLD_82S16_H_
-
-#include "../nl_setup.h"
-
-#define TTL_82S16(name) \
- NET_REGISTER_DEV(TTL_82S16, name)
-
-#endif /* NLD_82S16_H_ */
diff --git a/src/lib/netlist/devices/nld_9316.h b/src/lib/netlist/devices/nld_9316.h
deleted file mode 100644
index baefb42a758..00000000000
--- a/src/lib/netlist/devices/nld_9316.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_9316_H_
-#define NLD_9316_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_9316(name, cCLK, cENP, cENT, cCLRQ, cLOADQ, cA, cB, cC, cD)
-#define TTL_9316(...) \
- NET_REGISTER_DEVEXT(TTL_74161, __VA_ARGS__)
-
-#define TTL_74161(...) \
- NET_REGISTER_DEVEXT(TTL_74161, __VA_ARGS__)
-
-#define TTL_74161_FIXME(...) \
- NET_REGISTER_DEVEXT(TTL_74161_FIXME, __VA_ARGS__)
-
-#define TTL_74163(...) \
- NET_REGISTER_DEVEXT(TTL_74163, __VA_ARGS__)
-
-#define TTL_9310(...) \
- NET_REGISTER_DEVEXT(TTL_9310, __VA_ARGS__)
-
-#endif /* NLD_9316_H_ */
diff --git a/src/lib/netlist/devices/nld_9321.cpp b/src/lib/netlist/devices/nld_9321.cpp
index 68e09fd233e..5adffc3a313 100644
--- a/src/lib/netlist/devices/nld_9321.cpp
+++ b/src/lib/netlist/devices/nld_9321.cpp
@@ -18,7 +18,6 @@
*
*/
-#include "nld_9321.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_9321.h b/src/lib/netlist/devices/nld_9321.h
deleted file mode 100644
index 8283dbde20c..00000000000
--- a/src/lib/netlist/devices/nld_9321.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#ifndef NLD_9321_H_
-#define NLD_9321_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_9321(name, cAE, cA0, cA1, cBE, cB0, cB1)
-#define TTL_9321(...) \
- NET_REGISTER_DEVEXT(TTL_9321, __VA_ARGS__)
-
-#endif /* NLD_9321_H_ */
diff --git a/src/lib/netlist/devices/nld_9322.cpp b/src/lib/netlist/devices/nld_9322.cpp
index 1167ece79d9..2d952487a02 100644
--- a/src/lib/netlist/devices/nld_9322.cpp
+++ b/src/lib/netlist/devices/nld_9322.cpp
@@ -18,7 +18,6 @@
*
*/
-#include "nld_9322.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_9322.h b/src/lib/netlist/devices/nld_9322.h
deleted file mode 100644
index 0584974da2e..00000000000
--- a/src/lib/netlist/devices/nld_9322.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#ifndef NLD_9322_H_
-#define NLD_9322_H_
-
-#include "../nl_setup.h"
-
-// usage: TTL_9322(name, cSELECT, cA1, cB1, cA2, cB2, cA3, cB3, cA4, cB4, cSTROBE)
-#define TTL_9322(...) \
- NET_REGISTER_DEVEXT(TTL_9322, __VA_ARGS__)
-
-#endif /* NLD_9322_H_ */
diff --git a/src/lib/netlist/devices/nld_am2847.cpp b/src/lib/netlist/devices/nld_am2847.cpp
index 9a35b5f8ac9..fb4cc384aea 100644
--- a/src/lib/netlist/devices/nld_am2847.cpp
+++ b/src/lib/netlist/devices/nld_am2847.cpp
@@ -18,7 +18,6 @@
*
*/
-#include "nld_am2847.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_am2847.h b/src/lib/netlist/devices/nld_am2847.h
deleted file mode 100644
index bf7c3b8a635..00000000000
--- a/src/lib/netlist/devices/nld_am2847.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#ifndef NLD_AM2847_H_
-#define NLD_AM2847_H_
-
-#include "../nl_setup.h"
-
-#define TTL_AM2847(...) \
- NET_REGISTER_DEVEXT(TTL_AM2847, __VA_ARGS__)
-
-#endif /* NLD_AM2847_H_ */
diff --git a/src/lib/netlist/devices/nld_dm9314.cpp b/src/lib/netlist/devices/nld_dm9314.cpp
index 215316f9d42..0f3980df98b 100644
--- a/src/lib/netlist/devices/nld_dm9314.cpp
+++ b/src/lib/netlist/devices/nld_dm9314.cpp
@@ -18,7 +18,6 @@
*
*/
-#include "nld_dm9314.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_dm9314.h b/src/lib/netlist/devices/nld_dm9314.h
deleted file mode 100644
index 03aebb16f14..00000000000
--- a/src/lib/netlist/devices/nld_dm9314.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Felipe Sanches
-
-#ifndef NLD_DM9314_H_
-#define NLD_DM9314_H_
-
-#include "../nl_setup.h"
-
-// usage : TTL_9314(name, pEQ, pMRQ, pS0Q, pS1Q, pS2Q, pS3Q, pD0, pD1, pD2, pD3)
-// auto connect: VCC, GND
-#define TTL_9314(...) \
- NET_REGISTER_DEVEXT(TTL_9314, __VA_ARGS__)
-
-#endif /* NLD_DM9314_H_ */
diff --git a/src/lib/netlist/devices/nld_dm9334.cpp b/src/lib/netlist/devices/nld_dm9334.cpp
index 251604bdf93..d3989935f77 100644
--- a/src/lib/netlist/devices/nld_dm9334.cpp
+++ b/src/lib/netlist/devices/nld_dm9334.cpp
@@ -62,7 +62,6 @@
*
*/
-#include "nld_dm9334.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_dm9334.h b/src/lib/netlist/devices/nld_dm9334.h
deleted file mode 100644
index 9e48fbf2cb3..00000000000
--- a/src/lib/netlist/devices/nld_dm9334.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#ifndef NLD_DM9334_H_
-#define NLD_DM9334_H_
-
-#include "../nl_setup.h"
-
-// usage : TTL_9334(name, pCQ, pEQ, pD, pA0, pA1, pA2)
-// auto connect: VCC, GND
-#define TTL_9334(...) \
- NET_REGISTER_DEVEXT(TTL_9334, __VA_ARGS__)
-
-#endif /* NLD_DM9334_H_ */
diff --git a/src/lib/netlist/devices/nld_legacy.cpp b/src/lib/netlist/devices/nld_legacy.cpp
index ca8893a59aa..338aeef73c9 100644
--- a/src/lib/netlist/devices/nld_legacy.cpp
+++ b/src/lib/netlist/devices/nld_legacy.cpp
@@ -5,7 +5,6 @@
*
*/
-#include "nld_legacy.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_legacy.h b/src/lib/netlist/devices/nld_legacy.h
deleted file mode 100644
index a91074a4056..00000000000
--- a/src/lib/netlist/devices/nld_legacy.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-/*
- * nld_legacy.h
- *
- * All of the devices below needs to disappear at some time .....
- *
- *
- */
-
-#ifndef NLD_LEGACY_H_
-#define NLD_LEGACY_H_
-
-#include "../nl_setup.h"
-
-// ----------------------------------------------------------------------------------------
-// Macros
-// ----------------------------------------------------------------------------------------
-
-#define NETDEV_RSFF(name) \
- NET_REGISTER_DEV(NETDEV_RSFF, name)
-
-#define NETDEV_DELAY(name) \
- NET_REGISTER_DEV(NETDEV_DELAY, name)
-
-// ----------------------------------------------------------------------------------------
-// Devices ...
-// ----------------------------------------------------------------------------------------
-
-namespace netlist
-{
- namespace devices
- {
- } //namespace devices
-} // namespace netlist
-
-#endif /* NLD_LEGACY_H_ */
diff --git a/src/lib/netlist/devices/nld_log.cpp b/src/lib/netlist/devices/nld_log.cpp
index f60029748ce..75a22ddca32 100644
--- a/src/lib/netlist/devices/nld_log.cpp
+++ b/src/lib/netlist/devices/nld_log.cpp
@@ -16,7 +16,6 @@
*/
#include "nl_base.h"
-#include "nld_log.h"
#include "plib/pfmtlog.h"
#include "plib/pmulti_threading.h"
#include "plib/pstream.h"
diff --git a/src/lib/netlist/devices/nld_log.h b/src/lib/netlist/devices/nld_log.h
deleted file mode 100644
index cf52e52a4f9..00000000000
--- a/src/lib/netlist/devices/nld_log.h
+++ /dev/null
@@ -1,18 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_LOG_H_
-#define NLD_LOG_H_
-
-#include "../nl_setup.h"
-
-#define LOG(name, cI) \
- NET_REGISTER_DEV(LOG, name) \
- NET_CONNECT(name, I, cI)
-
-#define LOGD(name, cI, cI2) \
- NET_REGISTER_DEV(LOGD, name) \
- NET_CONNECT(name, I, cI) \
- NET_CONNECT(name, I2, cI2)
-
-#endif /* NLD_LOG_H_ */
diff --git a/src/lib/netlist/devices/nld_mm5837.cpp b/src/lib/netlist/devices/nld_mm5837.cpp
index cf33660005a..45b97ade9ef 100644
--- a/src/lib/netlist/devices/nld_mm5837.cpp
+++ b/src/lib/netlist/devices/nld_mm5837.cpp
@@ -16,7 +16,6 @@
*
*/
-#include "nld_mm5837.h"
#include "analog/nlid_twoterm.h"
#include "solver/nld_matrix_solver.h"
diff --git a/src/lib/netlist/devices/nld_mm5837.h b/src/lib/netlist/devices/nld_mm5837.h
deleted file mode 100644
index 1bc6b5addee..00000000000
--- a/src/lib/netlist/devices/nld_mm5837.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_MM5837_H_
-#define NLD_MM5837_H_
-
-#include "../nl_setup.h"
-
-#define MM5837(name) \
- NET_REGISTER_DEV(MM5837, name)
-
-#endif /* NLD_MM5837_H_ */
diff --git a/src/lib/netlist/devices/nld_ne555.cpp b/src/lib/netlist/devices/nld_ne555.cpp
index c132a88eda3..3f1238681e2 100644
--- a/src/lib/netlist/devices/nld_ne555.cpp
+++ b/src/lib/netlist/devices/nld_ne555.cpp
@@ -2,7 +2,6 @@
// copyright-holders:Couriersud
-#include "nld_ne555.h"
#include "analog/nlid_twoterm.h"
#include "solver/nld_solver.h"
diff --git a/src/lib/netlist/devices/nld_ne555.h b/src/lib/netlist/devices/nld_ne555.h
deleted file mode 100644
index 1033b00cb67..00000000000
--- a/src/lib/netlist/devices/nld_ne555.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_NE555_H_
-#define NLD_NE555_H_
-
-#include "../nl_setup.h"
-
-// usage : NE555(name)
-#define NE555(...) \
- NET_REGISTER_DEVEXT(NE555, __VA_ARGS__)
-
-/// usage : MC1455P(name)
-#define MC1455P(...) \
- NET_REGISTER_DEVEXT(MC1455P, __VA_ARGS__)
-
-#endif /* NLD_NE555_H_ */
diff --git a/src/lib/netlist/devices/nld_r2r_dac.h b/src/lib/netlist/devices/nld_r2r_dac.h
deleted file mode 100644
index 8a8f1c90f47..00000000000
--- a/src/lib/netlist/devices/nld_r2r_dac.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#ifndef NLD_R2R_DAC_H_
-#define NLD_R2R_DAC_H_
-
-#include "../nl_setup.h"
-
-#define R2R_DAC(name, p_VIN, p_R, p_N) \
- NET_REGISTER_DEVEXT(R2R_DAC, name, p_VIN, p_R, p_N)
-
-#endif /* NLD_R2R_DAC_H_ */
diff --git a/src/lib/netlist/devices/nld_roms.h b/src/lib/netlist/devices/nld_roms.h
deleted file mode 100644
index 0a8c09d8cf1..00000000000
--- a/src/lib/netlist/devices/nld_roms.h
+++ /dev/null
@@ -1,33 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-/*
- * nld_roms.h
- *
- */
-
-#ifndef NLD_ROMS_H_
-#define NLD_ROMS_H_
-
-#include "../nl_setup.h"
-
-// PROM_82S126(name, cCE1Q, cCE2Q, cA0, cA1, cA2, cA3, cA4, cA5, cA6, cA7)
-#define PROM_82S126(...) \
- NET_REGISTER_DEVEXT(PROM_82S126, __VA_ARGS__)
-
-// PROM_74S287(name, cCE1Q, cCE2Q, cA0, cA1, cA2, cA3, cA4, cA5, cA6, cA7)
-#define PROM_74S287(...) \
- NET_REGISTER_DEVEXT(PROM_74S287, __VA_ARGS__)
-
-// PROM_82S123(name, cCEQ, cA0, cA1, cA2, cA3, cA4)
-#define PROM_82S123(...) \
- NET_REGISTER_DEVEXT(PROM_82S123, __VA_ARGS__)
-
-// EPROM_2716(name, cGQ, cEPQ, cA0, cA1, cA2, cA3, cA4, cA5, cA6, cA7, cA8, cA9, cA10)
-#define EPROM_2716(...) \
- NET_REGISTER_DEVEXT(EPROM_2716, __VA_ARGS__)
-
-// PROM_MK28000(name, cOE1, cOE2, cAR, cA0, cA1, cA2, cA3, cA4, cA5, cA6, cA7, cA8, cA9, cA10, cA11)
-#define PROM_MK28000(...) \
- NET_REGISTER_DEVEXT(PROM_MK28000, __VA_ARGS__)
-
-#endif /* NLD_ROMS_H_ */
diff --git a/src/lib/netlist/devices/nld_schmitt.cpp b/src/lib/netlist/devices/nld_schmitt.cpp
index 6b49739e107..898e642ad53 100644
--- a/src/lib/netlist/devices/nld_schmitt.cpp
+++ b/src/lib/netlist/devices/nld_schmitt.cpp
@@ -5,8 +5,6 @@
*
*/
-#include "nld_schmitt.h"
-
#include "analog/nlid_twoterm.h"
#include "nl_base.h"
#include "nl_errstr.h"
diff --git a/src/lib/netlist/devices/nld_schmitt.h b/src/lib/netlist/devices/nld_schmitt.h
deleted file mode 100644
index 87b8626edda..00000000000
--- a/src/lib/netlist/devices/nld_schmitt.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Vas Crabb
-/*
- * nld_schmitt.h
- *
- */
-
-#ifndef NLD_SCHMITT_H_
-#define NLD_SCHMITT_H_
-
-#include "../nl_setup.h"
-
-// ----------------------------------------------------------------------------------------
-// Macros
-// ----------------------------------------------------------------------------------------
-
-#define SCHMITT_TRIGGER(name, model) \
- NET_REGISTER_DEV(SCHMITT_TRIGGER, name) \
- NETDEV_PARAMI(name, STMODEL, model)
-
-#endif /* NLD_SCHMITT_H_ */
diff --git a/src/lib/netlist/devices/nld_system.h b/src/lib/netlist/devices/nld_system.h
deleted file mode 100644
index 2f174731dde..00000000000
--- a/src/lib/netlist/devices/nld_system.h
+++ /dev/null
@@ -1,92 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-/*
- * nld_system.h
- *
- * netlist devices defined in the core
- */
-
-#ifndef NLD_SYSTEM_H_
-#define NLD_SYSTEM_H_
-
-#include "../nl_setup.h"
-
-// -----------------------------------------------------------------------------
-// Macros
-// -----------------------------------------------------------------------------
-
-#define TTL_INPUT(name, v) \
- NET_REGISTER_DEV(TTL_INPUT, name) \
- PARAM(name.IN, v)
-
-#define LOGIC_INPUT(name, v, family) \
- NET_REGISTER_DEV(LOGIC_INPUT, name) \
- PARAM(name.IN, v) \
- PARAM(name.MODEL, family)
-
-#define LOGIC_INPUT8(name, v, family) \
- NET_REGISTER_DEV(LOGIC_INPUT8, name) \
- PARAM(name.IN, v) \
- PARAM(name.MODEL, family)
-
-#define ANALOG_INPUT(name, v) \
- NET_REGISTER_DEV(ANALOG_INPUT, name) \
- PARAM(name.IN, v)
-
-#define MAINCLOCK(name, freq) \
- NET_REGISTER_DEVEXT(MAINCLOCK, name, freq)
-
-#define CLOCK(name, freq) \
- NET_REGISTER_DEV(CLOCK, name) \
- PARAM(name.FREQ, freq)
-
-#define VARCLOCK(name, n, func) \
- NET_REGISTER_DEV(VARCLOCK, name) \
- PARAM(name.N, n) \
- PARAM(name.FUNC, func)
-
-#define EXTCLOCK(name, freq, pattern) \
- NET_REGISTER_DEV(EXTCLOCK, name) \
- PARAM(name.FREQ, freq) \
- PARAM(name.PATTERN, pattern)
-
-#define GNDA() \
- NET_REGISTER_DEV(GNDA, GND)
-
-#define NC_PIN(name) \
- NET_REGISTER_DEV(NC_PIN, name)
-
-//FIXME: Usage discouraged, use OPTIMIZE_FRONTIER instead
-#define FRONTIER_DEV(name, cIN, cG, cOUT) \
- NET_REGISTER_DEV(FRONTIER_DEV, name) \
- NET_C(cIN, name.I) \
- NET_C(cG, name.G) \
- NET_C(cOUT, name.Q)
-
-// FIXME ... remove parameters
-#define SYS_DSW(name, pI, p1, p2) \
- NET_REGISTER_DEVEXT(SYS_DSW, name, pI, p1, p2)
-
-#define SYS_DSW2(name) \
- NET_REGISTER_DEV(SYS_DSW2, name)
-
-#define SYS_COMPD(name) \
- NET_REGISTER_DEV(SYS_COMPD, name)
-
-#define SYS_NOISE_MT_U(name, pSIGMA) \
- NET_REGISTER_DEVEXT(SYS_NOISE_MT_U, name, pSIGMA)
-
-#define SYS_NOISE_MT_N(name, pSIGMA) \
- NET_REGISTER_DEVEXT(SYS_NOISE_MT_N, name, pSIGMA)
-
-/* Default device to hold netlist parameters */
-#define PARAMETERS(name) \
- NET_REGISTER_DEV(PARAMETERS, name)
-
-#define AFUNC(name, p_N, p_F) \
- NET_REGISTER_DEV(AFUNC, name) \
- PARAM(name.N, p_N) \
- PARAM(name.FUNC, p_F)
-
-
-#endif /* NLD_SYSTEM_H_ */
diff --git a/src/lib/netlist/devices/nld_tms4800.cpp b/src/lib/netlist/devices/nld_tms4800.cpp
index abe63edda6e..f9ac6d00715 100644
--- a/src/lib/netlist/devices/nld_tms4800.cpp
+++ b/src/lib/netlist/devices/nld_tms4800.cpp
@@ -25,7 +25,6 @@
* http://bitsavers.trailing-edge.com/components/ti/_dataBooks/1975_TI_The_Semiconductor_Memory_Data_Book.pdf
*/
-#include "nld_tms4800.h"
#include "nl_base.h"
namespace netlist
diff --git a/src/lib/netlist/devices/nld_tms4800.h b/src/lib/netlist/devices/nld_tms4800.h
deleted file mode 100644
index dc2eaa7a16d..00000000000
--- a/src/lib/netlist/devices/nld_tms4800.h
+++ /dev/null
@@ -1,14 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Felipe Sanches
-
-#ifndef NLD_TMS4800_H_
-#define NLD_TMS4800_H_
-
-#include "../nl_setup.h"
-
-// usage : ROM_TMS4800(name, pAR, pOE1, pOE2, pA0, pA1, pA2, pA3, pA4, pA5, pA6, pA7, pA8, pA9, pA10)
-// auto connect: VCC, GND
-#define ROM_TMS4800(...) \
- NET_REGISTER_DEVEXT(ROM_TMS4800, __VA_ARGS__)
-
-#endif /* NLD_TMS4800_H_ */
diff --git a/src/lib/netlist/devices/nld_tristate.cpp b/src/lib/netlist/devices/nld_tristate.cpp
index 97dbb0a7750..cf4295bb39b 100644
--- a/src/lib/netlist/devices/nld_tristate.cpp
+++ b/src/lib/netlist/devices/nld_tristate.cpp
@@ -7,7 +7,6 @@
*
*/
-#include "nld_tristate.h"
#include "nl_base.h"
// FIXME: netlist now supports proper tristate outputs. All of this is legacy
diff --git a/src/lib/netlist/devices/nld_tristate.h b/src/lib/netlist/devices/nld_tristate.h
deleted file mode 100644
index 3c60846cb31..00000000000
--- a/src/lib/netlist/devices/nld_tristate.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#ifndef NLD_TRISTATE_H_
-#define NLD_TRISTATE_H_
-
-#include "../nl_setup.h"
-
-#define TTL_TRISTATE(name, cCEQ1, cD1, cCEQ2, cD2) \
- NET_REGISTER_DEV(TTL_TRISTATE, name) \
- NET_CONNECT(name, CEQ1, cCEQ1) \
- NET_CONNECT(name, D1, cD1) \
- NET_CONNECT(name, CEQ2, cCEQ2) \
- NET_CONNECT(name, D2, cD2)
-
-#define TTL_TRISTATE3(name, cCEQ1, cD1, cCEQ2, cD2, cCEQ3, cD3) \
- NET_REGISTER_DEV(TTL_TRISTATE3, name) \
- NET_CONNECT(name, CEQ1, cCEQ1) \
- NET_CONNECT(name, D1, cD1) \
- NET_CONNECT(name, CEQ2, cCEQ2) \
- NET_CONNECT(name, D2, cD2) \
- NET_CONNECT(name, CEQ3, cCEQ3) \
- NET_CONNECT(name, D3, cD3)
-
-#endif /* NLD_TRISTATE_H_ */
diff --git a/src/lib/netlist/examples/cmos_inverter.cpp b/src/lib/netlist/examples/cmos_inverter.cpp
index 9261a1e5919..022da27d23d 100644
--- a/src/lib/netlist/examples/cmos_inverter.cpp
+++ b/src/lib/netlist/examples/cmos_inverter.cpp
@@ -7,19 +7,26 @@
#include "netlist/devices/net_lib.h"
-#include "netlist/devices/net_lib.h"
NETLIST_START(cmos_inverter)
/* Standard stuff */
+ //EXTERNAL_SOURCE(modules_lib)
+
+ //INCLUDE(modules_lib)
+
SOLVER(Solver, 48000)
PARAM(Solver.ACCURACY, 1e-7)
- PARAM(Solver.NR_LOOPS, 5000)
+ PARAM(Solver.NR_LOOPS, 50)
PARAM(Solver.METHOD, "MAT_CR")
ANALOG_INPUT(V5, 5)
+ RTEST(X)
+ NET_C(X.1, V5)
+ NET_C(X.2, GND)
+
VS(IN, 5)
- PARAM(IN.FUNC, "T 5 *")
+ PARAM(IN.FUNC, "T * 5")
MOSFET(P, "PMOS(VTO=-1.0 KP=2e-3 LAMBDA=2E-2)")
MOSFET(M, "NMOS(VTO=1.0 KP=2e-3 LAMBDA=2E-2)")
diff --git a/src/lib/netlist/examples/cmos_inverter_clk.cpp b/src/lib/netlist/examples/cmos_inverter_clk.cpp
index 7429b077245..d115867d9ee 100644
--- a/src/lib/netlist/examples/cmos_inverter_clk.cpp
+++ b/src/lib/netlist/examples/cmos_inverter_clk.cpp
@@ -7,7 +7,6 @@
#include "netlist/devices/net_lib.h"
-#include "netlist/devices/net_lib.h"
#define USE_CLOCK (1)
@@ -18,10 +17,10 @@ NETLIST_START(cmos_inverter_clk)
SOLVER(Solver, 1e5)
//SOLVER(Solver, 100000000000)
PARAM(Solver.ACCURACY, 1e-6 )
- PARAM(Solver.NR_LOOPS, 500000)
+ PARAM(Solver.NR_LOOPS, 50)
PARAM(Solver.DYNAMIC_TS, 1)
PARAM(Solver.DYNAMIC_LTE, 1e-5)
- PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 2e-9)
+ PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 2e-6)
ANALOG_INPUT(V5, 5)
// CLOCK(clk, 0.5e6)
diff --git a/src/lib/netlist/generated/nld_devinc.h b/src/lib/netlist/generated/nld_devinc.h
index f5b14563db8..f5b14563db8 100644..100755
--- a/src/lib/netlist/generated/nld_devinc.h
+++ b/src/lib/netlist/generated/nld_devinc.h
diff --git a/src/lib/netlist/generated/nlm_modules_lib.cpp b/src/lib/netlist/generated/nlm_modules_lib.cpp
new file mode 100755
index 00000000000..d9fe63979d9
--- /dev/null
+++ b/src/lib/netlist/generated/nlm_modules_lib.cpp
@@ -0,0 +1,12 @@
+// license:CC0
+// copyright-holders:Couriersud
+
+// File programmatically created Sat Sep 12 14:42:49 2020
+
+#include "devices/net_lib.h"
+
+NETLIST_START(modules_lib)
+
+ EXTERNAL_LIB_ENTRY(RTEST)
+
+NETLIST_END()
diff --git a/src/lib/netlist/macro/modules/nlmod_RTEST.cpp b/src/lib/netlist/macro/modules/nlmod_RTEST.cpp
new file mode 100644
index 00000000000..c2ad129c6e3
--- /dev/null
+++ b/src/lib/netlist/macro/modules/nlmod_RTEST.cpp
@@ -0,0 +1,12 @@
+// license:CC0
+// copyright-holders:Couriersud
+
+#include "devices/net_lib.h"
+
+NETLIST_START(RTEST)
+
+ RES(R1, RES_K(10))
+ ALIAS(1, R1.1)
+ ALIAS(2, R1.2)
+
+NETLIST_END()
diff --git a/src/lib/netlist/macro/nlm_base_lib.cpp b/src/lib/netlist/macro/nlm_base_lib.cpp
index d4caef36850..2e634b29e2c 100644
--- a/src/lib/netlist/macro/nlm_base_lib.cpp
+++ b/src/lib/netlist/macro/nlm_base_lib.cpp
@@ -3,16 +3,6 @@
#include "devices/net_lib.h"
/* ----------------------------------------------------------------------------
- * External declarations
- * ---------------------------------------------------------------------------*/
-
-NETLIST_EXTERNAL(cd4xxx_lib)
-NETLIST_EXTERNAL(opamp_lib)
-NETLIST_EXTERNAL(otheric_lib)
-NETLIST_EXTERNAL(ttl74xx_lib)
-NETLIST_EXTERNAL(roms_lib)
-
-/* ----------------------------------------------------------------------------
* Diode Models
* ---------------------------------------------------------------------------*/
@@ -123,6 +113,8 @@ NETLIST_START(base_lib)
EXTERNAL_SOURCE(otheric_lib)
EXTERNAL_SOURCE(roms_lib)
+ EXTERNAL_SOURCE(modules_lib)
+
INCLUDE(diode_models)
INCLUDE(bjt_models)
INCLUDE(mosfet_models)
@@ -134,5 +126,7 @@ NETLIST_START(base_lib)
INCLUDE(otheric_lib)
INCLUDE(roms_lib)
+ INCLUDE(modules_lib)
+
NETLIST_END()
diff --git a/src/lib/netlist/macro/nlm_base_lib.h b/src/lib/netlist/macro/nlm_base_lib.h
deleted file mode 100644
index 098a0e3b43e..00000000000
--- a/src/lib/netlist/macro/nlm_base_lib.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// license:CC0
-// copyright-holders:Couriersud
-#ifndef NLM_BASE_H_
-#define NLM_BASE_H_
-
-/// \file nlm_base.h
-///
-
-/*
- * Provide base environment for netlist
- *
- */
-
-#ifndef __PLIB_PREPROCESSOR__
-
-#include "../nl_setup.h"
-
-/* ----------------------------------------------------------------------------
- * Netlist Macros
- * ---------------------------------------------------------------------------*/
-
-/* ----------------------------------------------------------------------------
- * DIP only macros
- * ---------------------------------------------------------------------------*/
-
-/* ----------------------------------------------------------------------------
- * External declarations
- * ---------------------------------------------------------------------------*/
-
-NETLIST_EXTERNAL(base_lib)
-
-#endif
-
-#endif
diff --git a/src/lib/netlist/macro/nlm_cd4xxx_lib.h b/src/lib/netlist/macro/nlm_cd4xxx_lib.h
deleted file mode 100644
index e0cf433457b..00000000000
--- a/src/lib/netlist/macro/nlm_cd4xxx_lib.h
+++ /dev/null
@@ -1,107 +0,0 @@
-// license:CC0
-// copyright-holders:Couriersud
-#ifndef NLD_CD4XXX_H_
-#define NLD_CD4XXX_H_
-
-/// \file nlm_cd4xxx.h
-///
-
-#include "../nl_setup.h"
-
-/*
- * Devices:
- *
- * CD4001_NOR : single gate
- * CD4001_DIP : dip package
- * CD4013_DIP : dip package (device model in core)
- * CD4020_DIP : dip package (device model in core)
- * CD4024_DIP : dip package (device model in core)
- * CD4016_DIP : dip package (device model in core)
- * CD4053_DIP : dip package (device model in core)
- * CD4066_DIP : dip package (device model in core)
- *
- */
-
-#ifndef __PLIB_PREPROCESSOR__
-
-/* ----------------------------------------------------------------------------
- * Netlist Macros
- * ---------------------------------------------------------------------------*/
-
-#if !NL_AUTO_DEVICES
-
-#define CD4001_GATE(name) \
- NET_REGISTER_DEV(CD4001_GATE, name)
-
-#define CD4001_DIP(name) \
- NET_REGISTER_DEV(CD4001_DIP, name)
-
-#define CD4011_GATE(name) \
- NET_REGISTER_DEV(CD4011_GATE, name)
-
-#define CD4011_DIP(name) \
- NET_REGISTER_DEV(CD4011_DIP, name)
-
-#define CD4069_GATE(name) \
- NET_REGISTER_DEV(CD4069_GATE, name)
-
-#define CD4069_DIP(name) \
- NET_REGISTER_DEV(CD4069_DIP, name)
-
-#define CD4070_GATE(name) \
- NET_REGISTER_DEV(CD4070_GATE, name)
-
-#define CD4070_DIP(name) \
- NET_REGISTER_DEV(CD4070_DIP, name)
-
-/* ----------------------------------------------------------------------------
- * DIP only macros
- * ---------------------------------------------------------------------------*/
-
-#define CD4006_DIP(name) \
- NET_REGISTER_DEV(CD4006_DIP, name)
-
-#define CD4013_DIP(name) \
- NET_REGISTER_DEV(CD4013_DIP, name)
-
-#define CD4017_DIP(name) \
- NET_REGISTER_DEV(CD4017_DIP, name)
-
-#define CD4022_DIP(name) \
- NET_REGISTER_DEV(CD4022_DIP, name)
-
-#define CD4020_DIP(name) \
- NET_REGISTER_DEV(CD4020_DIP, name)
-
-#define CD4024_DIP(name) \
- NET_REGISTER_DEV(CD4024_DIP, name)
-
-#define CD4053_DIP(name) \
- NET_REGISTER_DEV(CD4053_DIP, name)
-
-#define CD4066_DIP(name) \
- NET_REGISTER_DEV(CD4066_DIP, name)
-
-#define CD4016_DIP(name) \
- NET_REGISTER_DEV(CD4016_DIP, name)
-
-#define CD4316_DIP(name) \
- NET_REGISTER_DEV(CD4016_DIP, name)
-
-#define CD4538_DIP(name) \
- NET_REGISTER_DEV(CD4538_DIP, name)
-
-#define MM5837_DIP(name) \
- NET_REGISTER_DEV(MM5837_DIP, name)
-
-#endif // !NL_AUTO_DEVICES
-
-/* ----------------------------------------------------------------------------
- * External declarations
- * ---------------------------------------------------------------------------*/
-
-// moved to net_lib.h
-
-#endif
-
-#endif // NLD_CD4XXX_H_
diff --git a/src/lib/netlist/macro/nlm_opamp_lib.h b/src/lib/netlist/macro/nlm_opamp_lib.h
deleted file mode 100644
index 3e17d67a7ab..00000000000
--- a/src/lib/netlist/macro/nlm_opamp_lib.h
+++ /dev/null
@@ -1,79 +0,0 @@
-// license:CC0
-// copyright-holders:Couriersud
-
-#ifndef NLM_OPAMP_H_
-#define NLM_OPAMP_H_
-
-///
-/// \file nlm_opamp.h
-///
-
-#include "../nl_setup.h"
-
-#ifndef __PLIB_PREPROCESSOR__
-
-/* ----------------------------------------------------------------------------
- * Netlist Macros
- * ---------------------------------------------------------------------------*/
-
-#if !NL_AUTO_DEVICES
-
-#define MB3614_DIP(name) \
- NET_REGISTER_DEV(MB3614_DIP, name)
-
-#define LM324_DIP(name) \
- NET_REGISTER_DEV(LM324_DIP, name)
-
-#define TL081_DIP(name) \
- NET_REGISTER_DEV(TL081_DIP, name)
-
-#define TL082_DIP(name) \
- NET_REGISTER_DEV(TL082_DIP, name)
-
-#define TL084_DIP(name) \
- NET_REGISTER_DEV(TL084_DIP, name)
-
-#define LM2902_DIP(name) \
- NET_REGISTER_DEV(LM2902_DIP, name)
-
-#define LM358_DIP(name) \
- NET_REGISTER_DEV(LM358_DIP, name)
-
-#define LM3900(name) \
- NET_REGISTER_DEV(LM3900, name)
-
-#define UA741_DIP8(name) \
- NET_REGISTER_DEV(UA741_DIP8, name)
-
-#define UA741_DIP10(name) \
- NET_REGISTER_DEV(UA741_DIP10, name)
-
-#define UA741_DIP14(name) \
- NET_REGISTER_DEV(UA741_DIP14, name)
-
-#define MC1558_DIP(name) \
- NET_REGISTER_DEV(MC1558_DIP, name)
-
-#define LM747_DIP(name) \
- NET_REGISTER_DEV(LM747_DIP, name)
-
-#define LM747A_DIP(name) \
- NET_REGISTER_DEV(LM747A_DIP, name)
-
-#define MC3340_DIP(name) \
- NET_REGISTER_DEV(MC3340_DIP, name)
-
-#define AN6551_SIL(name) \
- NET_REGISTER_DEV(AN6551_SIL, name)
-
-#endif // NL_AUTO_DEVICES
-
-/* ----------------------------------------------------------------------------
- * External declarations
- * ---------------------------------------------------------------------------*/
-
-// moved to net_lib.h
-
-#endif // __PLIB_PREPROCESSOR__
-
-#endif
diff --git a/src/lib/netlist/macro/nlm_otheric_lib.h b/src/lib/netlist/macro/nlm_otheric_lib.h
deleted file mode 100644
index bba6997f39a..00000000000
--- a/src/lib/netlist/macro/nlm_otheric_lib.h
+++ /dev/null
@@ -1,48 +0,0 @@
-// license:CC0
-// copyright-holders:Couriersud
-
-#ifndef NLM_OTHER_H_
-#define NLM_OTHER_H_
-
-///
-/// \file nlm_other.h
-///
-///
-#include "../nl_setup.h"
-
-#ifndef __PLIB_PREPROCESSOR__
-
-/* ----------------------------------------------------------------------------
- * Netlist Macros
- * ---------------------------------------------------------------------------*/
-
-#if !NL_AUTO_DEVICES
-
-#define MC14584B_GATE(name) \
- NET_REGISTER_DEV(MC14584B_GATE, name)
-
-#define MC14584B_DIP(name) \
- NET_REGISTER_DEV(MC14584B_DIP, name)
-
-#define NE566_DIP(name) \
- NET_REGISTER_DEV(NE566_DIP, name)
-
-// usage : NE555_DIP(name)
-#define NE555_DIP(...) \
- NET_REGISTER_DEVEXT(NE555_DIP, __VA_ARGS__)
-
-// usage : MC1455P_DIP(name)
-#define MC1455P_DIP(...) \
- NET_REGISTER_DEVEXT(MC1455P_DIP, __VA_ARGS__)
-
-#endif
-
-/* ----------------------------------------------------------------------------
- * External declarations
- * ---------------------------------------------------------------------------*/
-
-// moved to net_lib.h
-
-#endif
-
-#endif
diff --git a/src/lib/netlist/macro/nlm_roms_lib.h b/src/lib/netlist/macro/nlm_roms_lib.h
deleted file mode 100644
index f2efc1d82ba..00000000000
--- a/src/lib/netlist/macro/nlm_roms_lib.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// license:CC0
-// copyright-holders:Couriersud
-
-#ifndef NLM_ROMS_H_
-#define NLM_ROMS_H_
-
-///
-/// \file nlm_roms.h
-///
-
-#include "../nl_setup.h"
-
-#ifndef __PLIB_PREPROCESSOR__
-
-/* ----------------------------------------------------------------------------
- * Netlist Macros
- * ---------------------------------------------------------------------------*/
-
-#if !NL_AUTO_DEVICES
-
-#define PROM_82S115_DIP(name) \
- NET_REGISTER_DEV(PROM_82S115_DIP, name)
-
-#define PROM_82S126_DIP(name) \
- NET_REGISTER_DEV(PROM_82S126_DIP, name)
-
-#define PROM_82S123_DIP(name) \
- NET_REGISTER_DEV(PROM_82S123_DIP, name)
-
-#define PROM_74S287_DIP(name) \
- NET_REGISTER_DEV(PROM_74S287_DIP, name)
-
-#define PROM_MK28000_DIP(name) \
- NET_REGISTER_DEV(PROM_MK28000_DIP, name)
-
-#define EPROM_2716_DIP(name) \
- NET_REGISTER_DEV(EPROM_2716_DIP, name)
-
-// usage : TTL_82S16_DIP(name)
-#define TTL_82S16_DIP(...) \
- NET_REGISTER_DEVEXT(TTL_82S16_DIP, __VA_ARGS__)
-
-#define RAM_2102A_DIP(name) \
- NET_REGISTER_DEV(RAM_2102A_DIP, name)
-
-#define ROM_TMS4800_DIP(name) \
- NET_REGISTER_DEV(ROM_TMS4800, name)
-
-#endif // NL_AUTO_DEVICES
-
-
-/* ----------------------------------------------------------------------------
- * External declarations
- * ---------------------------------------------------------------------------*/
-
-// moved to net_lib.h
-
-#endif // __PLIB_PREPROCESSOR__
-
-#endif
diff --git a/src/lib/netlist/macro/nlm_ttl74xx_lib.cpp b/src/lib/netlist/macro/nlm_ttl74xx_lib.cpp
index c96310d7f80..bb95592825c 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx_lib.cpp
+++ b/src/lib/netlist/macro/nlm_ttl74xx_lib.cpp
@@ -2235,12 +2235,6 @@ NETLIST_END()
//- +-----+-----+----++---+
//-
#ifndef __PLIB_PREPROCESSOR__
-#if !NL_AUTO_DEVICES
-#define TTL_74279A(name) \
- NET_REGISTER_DEV(TTL_74279A, name)
-#define TTL_74279B(name) \
- NET_REGISTER_DEV(TTL_74279B, name)
-#endif
#endif
static NETLIST_START(TTL_74279_DIP)
diff --git a/src/lib/netlist/macro/nlm_ttl74xx_lib.h b/src/lib/netlist/macro/nlm_ttl74xx_lib.h
deleted file mode 100644
index a077c5e7edf..00000000000
--- a/src/lib/netlist/macro/nlm_ttl74xx_lib.h
+++ /dev/null
@@ -1,347 +0,0 @@
-// license:CC0
-// copyright-holders:Couriersud
-
-#ifndef NLM_TTL74XX_H_
-#define NLM_TTL74XX_H_
-
-///
-/// \file nlm_ttl74xx.h
-///
-
-#include "../nl_setup.h"
-
-#ifndef __PLIB_PREPROCESSOR__
-
-/* ----------------------------------------------------------------------------
- * Netlist Macros
- * ---------------------------------------------------------------------------*/
-
-#if !NL_AUTO_DEVICES
-
-#define TTL_7400_NAND(...) \
- NET_REGISTER_DEVEXT(TTL_7400_NAND, __VA_ARGS__)
-
-#define TTL_7400_DIP(name) \
- NET_REGISTER_DEV(TTL_7400_DIP, name)
-
-
-#define TTL_7402_NOR(...) \
- NET_REGISTER_DEVEXT(TTL_7402_NOR, __VA_ARGS__)
-
-#define TTL_7402_DIP(name) \
- NET_REGISTER_DEV(TTL_7402_DIP, name)
-
-#define TTL_7404_INVERT(...) \
- NET_REGISTER_DEVEXT(TTL_7404_INVERT, __VA_ARGS__)
-
-#define TTL_7404_DIP(name) \
- NET_REGISTER_DEV(TTL_7404_DIP, name)
-
-
-#define TTL_7406_GATE(name) \
- NET_REGISTER_DEV(TTL_7406_GATE, name)
-
-#define TTL_7406_DIP(name) \
- NET_REGISTER_DEV(TTL_7406_DIP, name)
-
-
-#define TTL_7407_GATE(name) \
- NET_REGISTER_DEV(TTL_7407_GATE, name)
-
-#define TTL_7407_DIP(name) \
- NET_REGISTER_DEV(TTL_7407_DIP, name)
-
-
-#define TTL_7408_AND(...) \
- NET_REGISTER_DEVEXT(TTL_7408_AND, __VA_ARGS__)
-
-#define TTL_7408_DIP(name) \
- NET_REGISTER_DEV(TTL_7408_DIP, name)
-
-
-#define TTL_7410_NAND(...) \
- NET_REGISTER_DEVEXT(TTL_7410_NAND, __VA_ARGS__)
-
-#define TTL_7410_DIP(name) \
- NET_REGISTER_DEV(TTL_7410_DIP, name)
-
-
-#define TTL_7411_AND(...) \
- NET_REGISTER_DEVEXT(TTL_7411_AND, __VA_ARGS__)
-
-#define TTL_7411_DIP(name) \
- NET_REGISTER_DEV(TTL_7411_DIP, name)
-
-
-#define TTL_7414_GATE(name) \
- NET_REGISTER_DEV(TTL_7414_GATE, name)
-
-#define TTL_7414_DIP(name) \
- NET_REGISTER_DEV(TTL_7414_DIP, name)
-
-
-#define TTL_74LS14_GATE(name) \
- NET_REGISTER_DEV(TTL_74LS14_GATE, name)
-
-#define TTL_74LS14_DIP(name) \
- NET_REGISTER_DEV(TTL_74LS14_DIP, name)
-
-
-#define TTL_7416_GATE(name) \
- NET_REGISTER_DEV(TTL_7416_GATE, name)
-
-#define TTL_7416_DIP(name) \
- NET_REGISTER_DEV(TTL_7416_DIP, name)
-
-
-#define TTL_7417_GATE(name) \
- NET_REGISTER_DEV(TTL_7417_GATE, name)
-
-#define TTL_7417_DIP(name) \
- NET_REGISTER_DEV(TTL_7417_DIP, name)
-
-
-#define TTL_7420_NAND(...) \
- NET_REGISTER_DEVEXT(TTL_7420_NAND, __VA_ARGS__)
-
-#define TTL_7420_DIP(name) \
- NET_REGISTER_DEV(TTL_7420_DIP, name)
-
-
-#define TTL_7421_AND(...) \
- NET_REGISTER_DEVEXT(TTL_7421_AND, __VA_ARGS__)
-
-#define TTL_7421_DIP(name) \
- NET_REGISTER_DEV(TTL_7421_DIP, name)
-
-
-#define TTL_7425_NOR(...) \
- NET_REGISTER_DEVEXT(TTL_7425_NOR, __VA_ARGS__)
-
-#define TTL_7425_DIP(name) \
- NET_REGISTER_DEV(TTL_7425_DIP, name)
-
-
-#define TTL_7427_NOR(...) \
- NET_REGISTER_DEVEXT(TTL_7427_NOR, __VA_ARGS__)
-
-#define TTL_7427_DIP(name) \
- NET_REGISTER_DEV(TTL_7427_DIP, name)
-
-
-#define TTL_7430_NAND(...) \
- NET_REGISTER_DEVEXT(TTL_7430_NAND, __VA_ARGS__)
-
-#define TTL_7430_DIP(name) \
- NET_REGISTER_DEV(TTL_7430_DIP, name)
-
-
-#define TTL_7432_OR(...) \
- NET_REGISTER_DEVEXT(TTL_7432_OR, __VA_ARGS__)
-
-#define TTL_7432_DIP(name) \
- NET_REGISTER_DEV(TTL_7432_DIP, name)
-
-
-#define TTL_7437_NAND(...) \
- NET_REGISTER_DEVEXT(TTL_7437_NAND, __VA_ARGS__)
-
-#define TTL_7437_DIP(name) \
- NET_REGISTER_DEV(TTL_7437_DIP, name)
-
-#define TTL_7438_NAND(...) \
- NET_REGISTER_DEVEXT(TTL_7438_NAND, __VA_ARGS__)
-
-#define TTL_7438_DIP(name) \
- NET_REGISTER_DEV(TTL_7438_DIP, name)
-
-
-#define TTL_7442_DIP(name) \
- NET_REGISTER_DEV(TTL_7442_DIP, name)
-
-#define TTL_7448_DIP(name) \
- NET_REGISTER_DEV(TTL_7448_DIP, name)
-
-#define TTL_7450_DIP(name) \
- NET_REGISTER_DEV(TTL_7450_DIP, name)
-
-#define TTL_7473_DIP(name) \
- NET_REGISTER_DEV(TTL_7473_DIP, name)
-
-#define TTL_7473A_DIP(name) \
- NET_REGISTER_DEV(TTL_7473A_DIP, name)
-
-#define TTL_7474_DIP(name) \
- NET_REGISTER_DEV(TTL_7474_DIP, name)
-
-#define TTL_7475_DIP(name) \
- NET_REGISTER_DEV(TTL_7475_DIP, name)
-
-#define TTL_7477_DIP(name) \
- NET_REGISTER_DEV(TTL_7477_DIP, name)
-
-#define TTL_7483_DIP(name) \
- NET_REGISTER_DEV(TTL_7483_DIP, name)
-
-#define TTL_7485_DIP(name) \
- NET_REGISTER_DEV(TTL_7485_DIP, name)
-
-#define TTL_7486_XOR(...) \
- NET_REGISTER_DEVEXT(TTL_7486_XOR, __VA_ARGS__)
-
-#define TTL_7486_DIP(name) \
- NET_REGISTER_DEV(TTL_7486_DIP, name)
-
-#define TTL_7490_DIP(name) \
- NET_REGISTER_DEV(TTL_7490_DIP, name)
-
-#define TTL_7492_DIP(name) \
- NET_REGISTER_DEV(TTL_7492_DIP, name)
-
-#define TTL_7493_DIP(name) \
- NET_REGISTER_DEV(TTL_7493_DIP, name)
-
-#define TTL_7497_DIP(name) \
- NET_REGISTER_DEV(TTL_7497_DIP, name)
-
-#define TTL_74107_DIP(name) \
- NET_REGISTER_DEV(TTL_74107_DIP, name)
-
-#define TTL_74107A_DIP(name) \
- NET_REGISTER_DEV(TTL_74107A_DIP, name)
-
-#define TTL_74113_DIP(name) \
- NET_REGISTER_DEV(TTL_74113_DIP, name)
-
-#define TTL_74113A_DIP(name) \
- NET_REGISTER_DEV(TTL_74113A_DIP, name)
-
-#define TTL_74121_DIP(name) \
- NET_REGISTER_DEV(TTL_74121_DIP, name)
-
-#define TTL_74123_DIP(name) \
- NET_REGISTER_DEV(TTL_74123_DIP, name)
-
-#define TTL_9602_DIP(name) \
- NET_REGISTER_DEV(TTL_9602_DIP, name)
-
-#define TTL_74125_DIP(name) \
- NET_REGISTER_DEV(TTL_74125_DIP, name)
-
-#define TTL_74139_DIP(name) \
- NET_REGISTER_DEV(TTL_74139_DIP, name)
-
-#define TTL_74153_DIP(name) \
- NET_REGISTER_DEV(TTL_74153_DIP, name)
-
-#define TTL_74155_DIP(name) \
- NET_REGISTER_DEV(TTL_74155_DIP, name)
-
-#define TTL_74156_DIP(name) \
- NET_REGISTER_DEV(TTL_74156_DIP, name)
-
-#define TTL_74157_DIP(name) \
- NET_REGISTER_DEV(TTL_74157_DIP, name)
-
-#define TTL_74161_DIP(name) \
- NET_REGISTER_DEV(TTL_74161_DIP, name)
-
-#define TTL_74163_DIP(name) \
- NET_REGISTER_DEV(TTL_74163_DIP, name)
-
-#define TTL_74164_DIP(name) \
- NET_REGISTER_DEV(TTL_74164_DIP, name)
-
-#define TTL_74165_DIP(name) \
- NET_REGISTER_DEV(TTL_74165_DIP, name)
-
-#define TTL_74166_DIP(name) \
- NET_REGISTER_DEV(TTL_74166_DIP, name)
-
-#define TTL_74174_DIP(name) \
- NET_REGISTER_DEV(TTL_74174_DIP, name)
-
-#define TTL_74175_DIP(name) \
- NET_REGISTER_DEV(TTL_74175_DIP, name)
-
-#define TTL_74192_DIP(name) \
- NET_REGISTER_DEV(TTL_74192_DIP, name)
-
-#define TTL_74193_DIP(name) \
- NET_REGISTER_DEV(TTL_74193_DIP, name)
-
-#define TTL_74194_DIP(name) \
- NET_REGISTER_DEV(TTL_74194_DIP, name)
-
-#define TTL_74260_NOR(...) \
- NET_REGISTER_DEVEXT(TTL_74260_NOR, __VA_ARGS__)
-
-#define TTL_74260_DIP(name) \
- NET_REGISTER_DEV(TTL_74260_DIP, name)
-
-#define TTL_74279_DIP(name) \
- NET_REGISTER_DEV(TTL_74279_DIP, name)
-
-#define TTL_74290_DIP(name) \
- NET_REGISTER_DEV(TTL_74290_DIP, name)
-
-#define TTL_74293_DIP(name) \
- NET_REGISTER_DEV(TTL_74293_DIP, name)
-
-#define TTL_74365_DIP(name) \
- NET_REGISTER_DEV(TTL_74365_DIP, name)
-
-#define TTL_74377_DIP(name) \
- NET_REGISTER_DEV(TTL_74377_DIP, name)
-
-#define TTL_74378_DIP(name) \
- NET_REGISTER_DEV(TTL_74378_DIP, name)
-
-#define TTL_74379_DIP(name) \
- NET_REGISTER_DEV(TTL_74379_DIP, name)
-
-#define TTL_74393_DIP(name) \
- NET_REGISTER_DEV(TTL_74393_DIP, name)
-
-#define TTL_9312(...) \
- NET_REGISTER_DEVEXT(TTL_9312, __VA_ARGS__)
-
-#define TTL_9312_DIP(name) \
- NET_REGISTER_DEV(TTL_9312_DIP, name)
-
-#define TTL_9314_DIP(name) \
- NET_REGISTER_DEV(TTL_9314_DIP, name)
-
-#define TTL_9310_DIP(name) \
- NET_REGISTER_DEV(TTL_9310_DIP, name)
-
-#define TTL_9316_DIP(name) \
- NET_REGISTER_DEV(TTL_9316_DIP, name)
-
-#define TTL_9321_DIP(name) \
- NET_REGISTER_DEV(TTL_9321_DIP, name)
-
-#define TTL_9322_DIP(name) \
- NET_REGISTER_DEV(TTL_9322_DIP, name)
-
-#define TTL_9334_DIP(name) \
- NET_REGISTER_DEV(TTL_9334_DIP, name)
-
-#define TTL_8277_DIP(name) \
- NET_REGISTER_DEV(TTL_8277_DIP, name)
-
-#define TTL_AM2847_DIP(name) \
- NET_REGISTER_DEV(TTL_AM2847_DIP, name)
-
-#endif // NL_AUTO_DEVICES
-
-/* ----------------------------------------------------------------------------
- * External declarations
- * ---------------------------------------------------------------------------*/
-
-// moved to net_lib.h
-
-#endif // __PLIB_PREPROCESSOR__
-
-
-#endif // NLM_TTL74XX
diff --git a/src/lib/netlist/nl_base.cpp b/src/lib/netlist/nl_base.cpp
index d3da7ec899b..a4510fe5765 100644
--- a/src/lib/netlist/nl_base.cpp
+++ b/src/lib/netlist/nl_base.cpp
@@ -1,7 +1,6 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
-#include "macro/nlm_base_lib.h"
#include "solver/nld_matrix_solver.h"
#include "solver/nld_solver.h"
@@ -17,6 +16,8 @@
#include "nl_errstr.h"
+#include "devices/net_lib.h"
+
#include <limits>
namespace netlist
@@ -136,9 +137,13 @@ namespace netlist
m_setup->parser().add_include<plib::psource_str_t>("devices/net_lib.h", content);
#if 1
NETLIST_NAME(base_lib)(m_setup->parser());
+ //m_setup->parser().register_source<source_pattern_t>("../macro/modules/nlmod_{1}.cpp");
+ //m_setup->parser().register_source<source_pattern_t>("../macro/nlm_{1}.cpp");
#else
#if 1
m_setup->parser().register_source<source_pattern_t>("src/lib/netlist/macro/nlm_{1}.cpp");
+ m_setup->parser().register_source<source_pattern_t>("src/lib/netlist/generated/nlm_{1}.cpp");
+ m_setup->parser().register_source<source_pattern_t>("src/lib/netlist/macro/modules/nlmod_{1}.cpp");
m_setup->parser().include("base_lib");
#else
// FIXME: This is very slow - need optimized parsing scanning
@@ -209,7 +214,6 @@ namespace netlist
ENTRY(NL_USE_MEMPOOL)
ENTRY(NL_USE_QUEUE_STATS)
ENTRY(NL_USE_COPY_INSTEAD_OF_REFERENCE)
- ENTRY(NL_AUTO_DEVICES)
ENTRY(NL_USE_FLOAT128)
ENTRY(NL_USE_FLOAT_MATRIX)
ENTRY(NL_USE_LONG_DOUBLE_MATRIX)
diff --git a/src/lib/netlist/nl_config.h b/src/lib/netlist/nl_config.h
index 4ffba2364fd..6d4c572eb08 100644
--- a/src/lib/netlist/nl_config.h
+++ b/src/lib/netlist/nl_config.h
@@ -19,7 +19,7 @@
///
/// \brief Version - Minor.
///
-#define NL_VERSION_MINOR 13
+#define NL_VERSION_MINOR 14
/// \brief Version - Patch level.
///
#define NL_VERSION_PATCHLEVEL 0
diff --git a/src/lib/netlist/nl_errstr.h b/src/lib/netlist/nl_errstr.h
index db15fccd6c8..4b44fb7b963 100644
--- a/src/lib/netlist/nl_errstr.h
+++ b/src/lib/netlist/nl_errstr.h
@@ -52,6 +52,7 @@ namespace netlist
//PERRMSGV(MF_PARAM_NOT_FP_1, 1, "Parameter value <{1}> not floating point")
PERRMSGV(MF_TT_LINE_WITHOUT_HEAD, 0, "TT_LINE found without TT_HEAD")
PERRMSGV(MF_LOCAL_SOURCE_NOT_FOUND_1, 1, "Local source not found: <{1}>")
+ PERRMSGV(MF_EXTERNAL_SOURCE_IS_LOCAL_1, 1, "External lib entry appears as a local one: <{1}>")
PERRMSGV(MF_TRUTHTABLE_NOT_FOUND_1, 1, "Truthtable not found: <{1}>")
// nl_setup.cpp
diff --git a/src/lib/netlist/nl_parser.cpp b/src/lib/netlist/nl_parser.cpp
index f032a50076e..d5823d2e930 100644
--- a/src/lib/netlist/nl_parser.cpp
+++ b/src/lib/netlist/nl_parser.cpp
@@ -44,6 +44,7 @@ parser_t::parser_t(nlparse_t &setup)
m_tok_INCLUDE = m_tokenizer.register_token("INCLUDE");
m_tok_LOCAL_SOURCE = m_tokenizer.register_token("LOCAL_SOURCE");
m_tok_LOCAL_LIB_ENTRY = m_tokenizer.register_token("LOCAL_LIB_ENTRY");
+ m_tok_EXTERNAL_LIB_ENTRY = m_tokenizer.register_token("EXTERNAL_LIB_ENTRY");
m_tok_SUBMODEL = m_tokenizer.register_token("SUBMODEL");
m_tok_NETLIST_START = m_tokenizer.register_token("NETLIST_START");
m_tok_NETLIST_END = m_tokenizer.register_token("NETLIST_END");
@@ -141,6 +142,8 @@ bool parser_t::parse(const token_store &tokstor, const pstring &nlname)
//m_cur_local->push_back(token_t(m_tok_paren_right));
in_nl = true;
}
+ // FIXME: do we really need this going forward ? there should be no need
+ // for NETLIST_EXTERNAL in netlist files
else if (token.is(m_tok_NETLIST_EXTERNAL))
{
if (in_nl)
@@ -197,17 +200,10 @@ void parser_t::parse_netlist(const pstring &nlname)
net_local_source();
else if (token.is(m_tok_EXTERNAL_SOURCE))
net_external_source();
- //else if (token.is(m_tok_TRUTHTABLE_START))
- // net_truthtable_start(nlname);
else if (token.is(m_tok_LOCAL_LIB_ENTRY))
- {
- require_token(m_tok_paren_left);
- pstring name(get_identifier());
- register_local_as_source(name);
- // FIXME: Need to pass in parameter definition FIXME: get line number right
- m_setup.register_lib_entry(name, "", plib::source_location("parser: " + nlname, 1));
- require_token(m_tok_paren_right);
- }
+ net_lib_entry(true);
+ else if (token.is(m_tok_EXTERNAL_LIB_ENTRY))
+ net_lib_entry(false);
else if (token.is(m_tok_TRUTHTABLE_ENTRY))
{
require_token(m_tok_paren_left);
@@ -232,6 +228,21 @@ void parser_t::parse_netlist(const pstring &nlname)
}
}
+void parser_t::net_lib_entry(bool is_local)
+{
+ require_token(m_tok_paren_left);
+ pstring name(get_identifier());
+
+ if (is_local)
+ register_local_as_source(name);
+ else if (m_local.find(name) != m_local.end())
+ error(MF_EXTERNAL_SOURCE_IS_LOCAL_1(name));
+
+ // FIXME: Need to pass in parameter definition FIXME: get line number right
+ m_setup.register_lib_entry(name, "", sourceloc());
+ require_token(m_tok_paren_right);
+}
+
void parser_t::net_truthtable_start(const pstring &nlname)
{
bool head_found(false);
@@ -282,7 +293,7 @@ void parser_t::net_truthtable_start(const pstring &nlname)
require_token(m_tok_paren_left);
require_token(m_tok_paren_right);
// FIXME: proper location
- m_setup.truthtable_create(desc, def_param, plib::source_location(nlname, 1));
+ m_setup.truthtable_create(desc, def_param, sourceloc());
return;
}
}
@@ -355,9 +366,7 @@ void parser_t::register_local_as_source(const pstring &name)
{
auto p = m_local.find(name);
if (p != m_local.end())
- {
m_setup.register_source<source_token_t>(name, p->second);
- }
else
error(MF_LOCAL_SOURCE_NOT_FOUND_1(name));
}
diff --git a/src/lib/netlist/nl_parser.h b/src/lib/netlist/nl_parser.h
index d186effc57c..aafe0911a2e 100644
--- a/src/lib/netlist/nl_parser.h
+++ b/src/lib/netlist/nl_parser.h
@@ -45,6 +45,7 @@ namespace netlist
void net_include();
void net_local_source();
void net_external_source();
+ void net_lib_entry(bool is_local);
void net_register_dev();
void net_truthtable_start(const pstring &nlname);
@@ -75,6 +76,7 @@ namespace netlist
token_id_t m_tok_EXTERNAL_SOURCE;
token_id_t m_tok_LOCAL_SOURCE;
token_id_t m_tok_LOCAL_LIB_ENTRY;
+ token_id_t m_tok_EXTERNAL_LIB_ENTRY;
token_id_t m_tok_TRUTHTABLE_START;
token_id_t m_tok_TRUTHTABLE_END;
token_id_t m_tok_TRUTHTABLE_ENTRY;
diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp
index d4b3de2c0fb..b2ade9d48ce 100644
--- a/src/lib/netlist/nl_setup.cpp
+++ b/src/lib/netlist/nl_setup.cpp
@@ -2,7 +2,6 @@
// copyright-holders:Couriersud
#include "plib/palloc.h"
-#include "analog/nld_twoterm.h"
#include "core/setup.h"
#include "devices/nlid_proxy.h"
#include "devices/nlid_truthtable.h"
diff --git a/src/lib/netlist/nl_setup.h b/src/lib/netlist/nl_setup.h
index 4e9b01dac22..7f6988f2951 100644
--- a/src/lib/netlist/nl_setup.h
+++ b/src/lib/netlist/nl_setup.h
@@ -8,8 +8,6 @@
#ifndef NLSETUP_H_
#define NLSETUP_H_
-#define NL_AUTO_DEVICES 0
-
#include "plib/ppreprocessor.h"
#include "plib/psource.h"
#include "plib/pstream.h"
@@ -82,17 +80,20 @@ void NETLIST_NAME(name)(netlist::nlparse_t &setup) \
setup.register_source_proc(# name, &NETLIST_NAME(name));
#define EXTERNAL_SOURCE(name) \
+ NETLIST_EXTERNAL(name) \
setup.register_source_proc(# name, &NETLIST_NAME(name));
-#define LOCAL_LIB_ENTRY_1(name) \
- LOCAL_SOURCE(name) \
+#define LOCAL_LIB_ENTRY_2(type, name) \
+ type ## _SOURCE(name) \
setup.register_lib_entry(# name, "", PSOURCELOC());
-#define LOCAL_LIB_ENTRY_2(name, param_spec) \
- LOCAL_SOURCE(name) \
+#define LOCAL_LIB_ENTRY_3(type, name, param_spec) \
+ type ## _SOURCE(name) \
setup.register_lib_entry(# name, param_spec, PSOURCELOC());
-#define LOCAL_LIB_ENTRY(...) PCALLVARARG(LOCAL_LIB_ENTRY_, __VA_ARGS__)
+#define LOCAL_LIB_ENTRY(...) PCALLVARARG(LOCAL_LIB_ENTRY_, LOCAL, __VA_ARGS__)
+
+#define EXTERNAL_LIB_ENTRY(...) PCALLVARARG(LOCAL_LIB_ENTRY_, EXTERNAL, __VA_ARGS__)
#define INCLUDE(name) \
setup.include(# name);
diff --git a/src/lib/netlist/prg/nlwav.cpp b/src/lib/netlist/prg/nlwav.cpp
index 82e543d9228..4b726bbe2cc 100755
--- a/src/lib/netlist/prg/nlwav.cpp
+++ b/src/lib/netlist/prg/nlwav.cpp
@@ -82,8 +82,8 @@ public:
template <typename T>
void write_sample_int(double sample)
{
- const auto mmax(static_cast<double>(plib::numeric_limits<T>::max()));
- const auto mmin(static_cast<double>(plib::numeric_limits<T>::min()));
+ constexpr auto mmax(static_cast<double>(plib::numeric_limits<T>::max()));
+ constexpr auto mmin(static_cast<double>(plib::numeric_limits<T>::min()));
sample *= mmax;
sample = std::max(mmin, sample);