summaryrefslogtreecommitdiffstatshomepage
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/src/emu.lua5
-rw-r--r--scripts/src/machine.lua11
-rw-r--r--scripts/src/main.lua1
-rw-r--r--scripts/src/netlist.lua271
-rw-r--r--scripts/src/tools.lua3
-rw-r--r--scripts/target/mame/arcade.lua1
-rw-r--r--scripts/target/mame/mess.lua1
-rw-r--r--scripts/target/mame/nl.lua121
8 files changed, 286 insertions, 128 deletions
diff --git a/scripts/src/emu.lua b/scripts/src/emu.lua
index 2eb279377b5..f81ca07af5c 100644
--- a/scripts/src/emu.lua
+++ b/scripts/src/emu.lua
@@ -266,8 +266,6 @@ files {
MAME_DIR .. "src/emu/machine/laserdsc.h",
MAME_DIR .. "src/emu/machine/latch.c",
MAME_DIR .. "src/emu/machine/latch.h",
- MAME_DIR .. "src/emu/machine/netlist.c",
- MAME_DIR .. "src/emu/machine/netlist.h",
MAME_DIR .. "src/emu/machine/nvram.c",
MAME_DIR .. "src/emu/machine/nvram.h",
MAME_DIR .. "src/emu/machine/ram.c",
@@ -389,12 +387,13 @@ function emuProject(_target, _subtarget)
dofile(path.join("src", "sound.lua"))
- dofile(path.join("src", "netlist.lua"))
dofile(path.join("src", "video.lua"))
dofile(path.join("src", "machine.lua"))
+ -- netlist now defines a project
+ dofile(path.join("src", "netlist.lua"))
project ("bus")
uuid ("5d782c89-cf7e-4cfe-8f9f-0d4bfc16c91d")
diff --git a/scripts/src/machine.lua b/scripts/src/machine.lua
index 528cebbd3d2..67d18e7a44e 100644
--- a/scripts/src/machine.lua
+++ b/scripts/src/machine.lua
@@ -2662,3 +2662,14 @@ if (MACHINES["PCI9050"]~=null) then
}
end
+---------------------------------------------------
+--
+--@src/emu/machine/netlist.h,MACHINES += NETLIST
+---------------------------------------------------
+
+if (MACHINES["NETLIST"]~=null) then
+ files {
+ MAME_DIR .. "src/emu/machine/netlist.c",
+ MAME_DIR .. "src/emu/machine/netlist.h",
+ }
+end
diff --git a/scripts/src/main.lua b/scripts/src/main.lua
index 9559eb1f594..809a18be70a 100644
--- a/scripts/src/main.lua
+++ b/scripts/src/main.lua
@@ -87,6 +87,7 @@ function mainProject(_target, _subtarget)
links {
"osd_" .. _OPTIONS["osd"],
"bus",
+ "netlist",
"optional",
"emu",
"dasm",
diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua
index 9d61b0d4892..b0e3f0cab0b 100644
--- a/scripts/src/netlist.lua
+++ b/scripts/src/netlist.lua
@@ -1,127 +1,152 @@
-- license:BSD-3-Clause
-- copyright-holders:MAMEdev Team
-files {
- MAME_DIR .. "src/emu/netlist/nl_config.h",
- MAME_DIR .. "src/emu/netlist/nl_dice_compat.h",
- MAME_DIR .. "src/emu/netlist/nl_lists.h",
- MAME_DIR .. "src/emu/netlist/nl_time.h",
- MAME_DIR .. "src/emu/netlist/nl_util.h",
- MAME_DIR .. "src/emu/netlist/nl_base.c",
- MAME_DIR .. "src/emu/netlist/nl_base.h",
- MAME_DIR .. "src/emu/netlist/nl_parser.c",
- MAME_DIR .. "src/emu/netlist/nl_parser.h",
- MAME_DIR .. "src/emu/netlist/nl_setup.c",
- MAME_DIR .. "src/emu/netlist/nl_setup.h",
- MAME_DIR .. "src/emu/netlist/nl_factory.c",
- MAME_DIR .. "src/emu/netlist/nl_factory.h",
- MAME_DIR .. "src/emu/netlist/plib/pconfig.h",
- MAME_DIR .. "src/emu/netlist/plib/palloc.c",
- MAME_DIR .. "src/emu/netlist/plib/palloc.h",
- MAME_DIR .. "src/emu/netlist/plib/plists.h",
- MAME_DIR .. "src/emu/netlist/plib/poptions.h",
- MAME_DIR .. "src/emu/netlist/plib/pparser.c",
- MAME_DIR .. "src/emu/netlist/plib/pparser.h",
- MAME_DIR .. "src/emu/netlist/plib/pstate.c",
- MAME_DIR .. "src/emu/netlist/plib/pstate.h",
- MAME_DIR .. "src/emu/netlist/plib/pstring.c",
- MAME_DIR .. "src/emu/netlist/plib/pstring.h",
- MAME_DIR .. "src/emu/netlist/analog/nld_bjt.c",
- MAME_DIR .. "src/emu/netlist/analog/nld_bjt.h",
- MAME_DIR .. "src/emu/netlist/analog/nld_fourterm.c",
- MAME_DIR .. "src/emu/netlist/analog/nld_fourterm.h",
- MAME_DIR .. "src/emu/netlist/analog/nld_solver.c",
- MAME_DIR .. "src/emu/netlist/analog/nld_solver.h",
- MAME_DIR .. "src/emu/netlist/analog/nld_switches.c",
- MAME_DIR .. "src/emu/netlist/analog/nld_switches.h",
- MAME_DIR .. "src/emu/netlist/analog/nld_twoterm.c",
- MAME_DIR .. "src/emu/netlist/analog/nld_twoterm.h",
- MAME_DIR .. "src/emu/netlist/analog/nld_opamps.c",
- MAME_DIR .. "src/emu/netlist/analog/nld_opamps.h",
- MAME_DIR .. "src/emu/netlist/analog/nld_ms_direct.h",
- MAME_DIR .. "src/emu/netlist/analog/nld_ms_direct1.h",
- MAME_DIR .. "src/emu/netlist/analog/nld_ms_direct2.h",
- MAME_DIR .. "src/emu/netlist/analog/nld_ms_gauss_seidel.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_4020.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_4020.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_4066.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_4066.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7400.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7400.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7402.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7402.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7404.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7404.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7408.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7408.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7410.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7410.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7411.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7411.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7420.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7420.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7425.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7425.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7427.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7427.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7430.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7430.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7432.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7432.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7437.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7437.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7448.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7448.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7450.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7450.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7474.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7474.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7483.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7483.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7486.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7486.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7490.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7490.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_7493.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_7493.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_74107.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_74107.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_74123.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_74123.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_74153.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_74153.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_74175.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_74175.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_74192.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_74192.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_74193.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_74193.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_74279.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_74279.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_74ls629.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_74ls629.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_82S16.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_82S16.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_9310.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_9310.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_9312.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_9312.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_9316.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_9316.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_ne555.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_ne555.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_r2r_dac.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_r2r_dac.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_legacy.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_legacy.h",
- MAME_DIR .. "src/emu/netlist/devices/net_lib.c",
- MAME_DIR .. "src/emu/netlist/devices/net_lib.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_log.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_log.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_system.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_system.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_cmos.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_signal.h",
- MAME_DIR .. "src/emu/netlist/devices/nld_truthtable.c",
- MAME_DIR .. "src/emu/netlist/devices/nld_truthtable.h",
+project "netlist"
+ targetsubdir(_OPTIONS["target"] .."_" .. _OPTIONS["subtarget"])
+ uuid "665ef8ac-2a4c-4c3e-a05f-fd1e5db11de9"
+ kind (LIBTYPE)
+
+ options {
+ "ForceCPP",
+ }
+
+ includedirs {
+ MAME_DIR .. "src/emu/netlist",
+ MAME_DIR .. "src/osd",
+ MAME_DIR .. "src/lib/util",
+ }
+ -- if _OPTIONS["with-bundled-expat"] then
+ -- includedirs {
+ -- MAME_DIR .. "3rdparty/expat/lib",
+ -- }
+ --end
+
+
+ files {
+ MAME_DIR .. "src/emu/netlist/nl_config.h",
+ MAME_DIR .. "src/emu/netlist/nl_dice_compat.h",
+ MAME_DIR .. "src/emu/netlist/nl_lists.h",
+ MAME_DIR .. "src/emu/netlist/nl_time.h",
+ MAME_DIR .. "src/emu/netlist/nl_util.h",
+ MAME_DIR .. "src/emu/netlist/nl_base.c",
+ MAME_DIR .. "src/emu/netlist/nl_base.h",
+ MAME_DIR .. "src/emu/netlist/nl_parser.c",
+ MAME_DIR .. "src/emu/netlist/nl_parser.h",
+ MAME_DIR .. "src/emu/netlist/nl_setup.c",
+ MAME_DIR .. "src/emu/netlist/nl_setup.h",
+ MAME_DIR .. "src/emu/netlist/nl_factory.c",
+ MAME_DIR .. "src/emu/netlist/nl_factory.h",
+ MAME_DIR .. "src/emu/netlist/plib/pconfig.h",
+ MAME_DIR .. "src/emu/netlist/plib/palloc.c",
+ MAME_DIR .. "src/emu/netlist/plib/palloc.h",
+ MAME_DIR .. "src/emu/netlist/plib/plists.h",
+ MAME_DIR .. "src/emu/netlist/plib/poptions.h",
+ MAME_DIR .. "src/emu/netlist/plib/pparser.c",
+ MAME_DIR .. "src/emu/netlist/plib/pparser.h",
+ MAME_DIR .. "src/emu/netlist/plib/pstate.c",
+ MAME_DIR .. "src/emu/netlist/plib/pstate.h",
+ MAME_DIR .. "src/emu/netlist/plib/pstring.c",
+ MAME_DIR .. "src/emu/netlist/plib/pstring.h",
+ MAME_DIR .. "src/emu/netlist/plib/pstring.c",
+ MAME_DIR .. "src/emu/netlist/plib/pstring.h",
+ MAME_DIR .. "src/emu/netlist/tools/nl_convert.c",
+ MAME_DIR .. "src/emu/netlist/tools/nl_convert.h",
+ MAME_DIR .. "src/emu/netlist/analog/nld_bjt.c",
+ MAME_DIR .. "src/emu/netlist/analog/nld_bjt.h",
+ MAME_DIR .. "src/emu/netlist/analog/nld_fourterm.c",
+ MAME_DIR .. "src/emu/netlist/analog/nld_fourterm.h",
+ MAME_DIR .. "src/emu/netlist/analog/nld_solver.c",
+ MAME_DIR .. "src/emu/netlist/analog/nld_solver.h",
+ MAME_DIR .. "src/emu/netlist/analog/nld_switches.c",
+ MAME_DIR .. "src/emu/netlist/analog/nld_switches.h",
+ MAME_DIR .. "src/emu/netlist/analog/nld_twoterm.c",
+ MAME_DIR .. "src/emu/netlist/analog/nld_twoterm.h",
+ MAME_DIR .. "src/emu/netlist/analog/nld_opamps.c",
+ MAME_DIR .. "src/emu/netlist/analog/nld_opamps.h",
+ MAME_DIR .. "src/emu/netlist/analog/nld_ms_direct.h",
+ MAME_DIR .. "src/emu/netlist/analog/nld_ms_direct1.h",
+ MAME_DIR .. "src/emu/netlist/analog/nld_ms_direct2.h",
+ MAME_DIR .. "src/emu/netlist/analog/nld_ms_gauss_seidel.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_4020.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_4020.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_4066.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_4066.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7400.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7400.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7402.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7402.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7404.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7404.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7408.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7408.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7410.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7410.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7411.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7411.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7420.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7420.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7425.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7425.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7427.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7427.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7430.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7430.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7432.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7432.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7437.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7437.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7448.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7448.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7450.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7450.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7474.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7474.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7483.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7483.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7486.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7486.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7490.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7490.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7493.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_7493.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74107.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74107.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74123.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74123.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74153.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74153.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74175.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74175.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74192.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74192.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74193.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74193.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74279.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74279.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74ls629.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_74ls629.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_82S16.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_82S16.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_9310.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_9310.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_9312.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_9312.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_9316.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_9316.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_ne555.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_ne555.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_r2r_dac.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_r2r_dac.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_legacy.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_legacy.h",
+ MAME_DIR .. "src/emu/netlist/devices/net_lib.c",
+ MAME_DIR .. "src/emu/netlist/devices/net_lib.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_log.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_log.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_system.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_system.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_cmos.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_signal.h",
+ MAME_DIR .. "src/emu/netlist/devices/nld_truthtable.c",
+ MAME_DIR .. "src/emu/netlist/devices/nld_truthtable.h",
}
diff --git a/scripts/src/tools.lua b/scripts/src/tools.lua
index 936afb54346..b7a88f038f7 100644
--- a/scripts/src/tools.lua
+++ b/scripts/src/tools.lua
@@ -443,6 +443,7 @@ links {
"flac",
"7z",
"ocore_" .. _OPTIONS["osd"],
+ "netlist",
}
includedirs {
@@ -455,8 +456,6 @@ files {
MAME_DIR .. "src/tools/nltool.c",
}
-dofile("netlist.lua")
-
--------------------------------------------------
-- castool
--------------------------------------------------
diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua
index 8d0346f3942..aababae90f6 100644
--- a/scripts/target/mame/arcade.lua
+++ b/scripts/target/mame/arcade.lua
@@ -470,6 +470,7 @@ MACHINES["MSM6242"] = true
--MACHINES["NCR5380N"] = true
--MACHINES["NCR5390"] = true
MACHINES["NCR539x"] = true
+MACHINES["NETLIST"] = true
--MACHINES["NCR53C7XX"] = true
MACHINES["NMC9306"] = true
--MACHINES["NSC810"] = true
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index 8db1d42aa81..86ba1bce400 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -471,6 +471,7 @@ MACHINES["NCR5380N"] = true
MACHINES["NCR5390"] = true
MACHINES["NCR539x"] = true
MACHINES["NCR53C7XX"] = true
+MACHINES["NETLIST"] = true
MACHINES["NMC9306"] = true
MACHINES["NSC810"] = true
MACHINES["NSCSI"] = true
diff --git a/scripts/target/mame/nl.lua b/scripts/target/mame/nl.lua
new file mode 100644
index 00000000000..86aebc37245
--- /dev/null
+++ b/scripts/target/mame/nl.lua
@@ -0,0 +1,121 @@
+-- license:BSD-3-Clause
+-- copyright-holders:MAMEdev Team
+
+---------------------------------------------------------------------------
+--
+-- nl.lua
+--
+-- Compiles all drivers using netlist code
+-- Use make SUBTARGET=nl to build
+--
+---------------------------------------------------------------------------
+
+
+--------------------------------------------------
+-- Specify all the CPU cores necessary for the
+-- drivers referenced in nl.lst.
+--------------------------------------------------
+
+CPUS["Z80"] = true
+--CPUS["M6502"] = true
+--CPUS["MCS48"] = true
+--CPUS["MCS51"] = true
+--CPUS["M6800"] = true
+--CPUS["M6809"] = true
+--CPUS["M680X0"] = true
+--CPUS["TMS9900"] = true
+--CPUS["COP400"] = true
+
+--------------------------------------------------
+-- Specify all the sound cores necessary for the
+-- drivers referenced in nl.lst.
+--------------------------------------------------
+
+--SOUNDS["SAMPLES"] = true
+SOUNDS["DAC"] = true
+--SOUNDS["DISCRETE"] = true
+SOUNDS["AY8910"] = true
+--SOUNDS["YM2151"] = true
+--SOUNDS["ASTROCADE"] = true
+--SOUNDS["TMS5220"] = true
+--SOUNDS["OKIM6295"] = true
+--SOUNDS["HC55516"] = true
+--SOUNDS["YM3812"] = true
+--SOUNDS["CEM3394"] = true
+--SOUNDS["VOTRAX"] = true
+
+--------------------------------------------------
+-- specify available video cores
+--------------------------------------------------
+
+VIDEOS["FIXFREQ"] = true
+
+--------------------------------------------------
+-- specify available machine cores
+--------------------------------------------------
+
+MACHINES["NETLIST"] = true
+--MACHINES["6821PIA"] = true
+--MACHINES["TTL74148"] = true
+--MACHINES["TTL74153"] = true
+--MACHINES["TTL7474"] = true
+--MACHINES["RIOT6532"] = true
+--MACHINES["PIT8253"] = true
+--MACHINES["Z80CTC"] = true
+--MACHINES["68681"] = true
+--MACHINES["BANKDEV"] = true
+
+
+--------------------------------------------------
+-- specify available bus cores
+--------------------------------------------------
+
+-- not needed by nl.lua but build system wants at least one bus
+BUSES["CENTRONICS"] = true
+
+--------------------------------------------------
+-- This is the list of files that are necessary
+-- for building all of the drivers referenced
+-- in tiny.lst
+--------------------------------------------------
+
+function createProjects_mame_nl(_target, _subtarget)
+ project ("mame_netlist")
+ targetsubdir(_target .."_" .. _subtarget)
+ kind (LIBTYPE)
+ uuid (os.uuid("drv-mame-nl"))
+
+ options {
+ "ForceCPP",
+ }
+
+ includedirs {
+ MAME_DIR .. "src/osd",
+ MAME_DIR .. "src/emu",
+ MAME_DIR .. "src/mame",
+ MAME_DIR .. "src/lib",
+ MAME_DIR .. "src/lib/util",
+ MAME_DIR .. "3rdparty",
+ MAME_DIR .. "3rdparty/zlib",
+ GEN_DIR .. "mame/layout",
+ }
+
+ files{
+ MAME_DIR .. "src/mame/drivers/pong.c",
+ MAME_DIR .. "src/mame/drivers/nl_pong.c",
+ MAME_DIR .. "src/mame/drivers/nl_pongd.c",
+ MAME_DIR .. "src/mame/drivers/nl_breakout.c",
+
+ MAME_DIR .. "src/mame/drivers/1942.c",
+ MAME_DIR .. "src/mame/video/1942.c",
+ MAME_DIR .. "src/mame/drivers/popeye.c",
+ MAME_DIR .. "src/mame/video/popeye.c",
+
+ }
+end
+
+function linkProjects_mame_nl(_target, _subtarget)
+ links {
+ "mame_netlist",
+ }
+end