diff options
27 files changed, 89 insertions, 84 deletions
diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua index 5e6d239373e..09575cacffc 100644 --- a/scripts/src/netlist.lua +++ b/scripts/src/netlist.lua @@ -32,6 +32,7 @@ project "netlist" includedirs { MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/netlist", } files { @@ -47,7 +48,7 @@ project "netlist" MAME_DIR .. "src/lib/netlist/nl_parser.h", MAME_DIR .. "src/lib/netlist/nl_setup.cpp", MAME_DIR .. "src/lib/netlist/nl_setup.h", - MAME_DIR .. "src/lib/netlist/nl_time.h", + MAME_DIR .. "src/lib/netlist/nl_types.h", MAME_DIR .. "src/lib/netlist/plib/pconfig.h", MAME_DIR .. "src/lib/netlist/plib/palloc.h", MAME_DIR .. "src/lib/netlist/plib/pchrono.cpp", @@ -74,10 +75,9 @@ project "netlist" MAME_DIR .. "src/lib/netlist/plib/pstate.h", MAME_DIR .. "src/lib/netlist/plib/pstring.cpp", MAME_DIR .. "src/lib/netlist/plib/pstring.h", - MAME_DIR .. "src/lib/netlist/plib/pstring.cpp", - MAME_DIR .. "src/lib/netlist/plib/pstring.h", MAME_DIR .. "src/lib/netlist/plib/pstream.cpp", MAME_DIR .. "src/lib/netlist/plib/pstream.h", + MAME_DIR .. "src/lib/netlist/plib/ptime.h", MAME_DIR .. "src/lib/netlist/plib/ptypes.h", MAME_DIR .. "src/lib/netlist/plib/putil.cpp", MAME_DIR .. "src/lib/netlist/plib/putil.h", diff --git a/scripts/src/tools.lua b/scripts/src/tools.lua index f991c16bbea..564653f5a4a 100644 --- a/scripts/src/tools.lua +++ b/scripts/src/tools.lua @@ -499,6 +499,7 @@ links { includedirs { MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/netlist", } files { @@ -543,6 +544,7 @@ links { includedirs { MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/netlist", } files { diff --git a/src/devices/machine/netlist.h b/src/devices/machine/netlist.h index 182c77ece2c..58a8c065b14 100644 --- a/src/devices/machine/netlist.h +++ b/src/devices/machine/netlist.h @@ -13,8 +13,7 @@ #include <functional> -#include "netlist/nl_time.h" -#include "netlist/netlist_types.h" +#include "../../lib/netlist/nl_types.h" class nld_sound_out; class nld_sound_in; diff --git a/src/lib/netlist/analog/nlid_fourterm.h b/src/lib/netlist/analog/nlid_fourterm.h index 2d0d1ec174f..9eb2fbc5f36 100644 --- a/src/lib/netlist/analog/nlid_fourterm.h +++ b/src/lib/netlist/analog/nlid_fourterm.h @@ -9,7 +9,7 @@ #define NLID_FOURTERM_H_ #include "../nl_base.h" -#include "../plib/putil.h" +#include "plib/putil.h" namespace netlist { namespace analog { diff --git a/src/lib/netlist/analog/nlid_twoterm.h b/src/lib/netlist/analog/nlid_twoterm.h index 546e8193734..131504d86e4 100644 --- a/src/lib/netlist/analog/nlid_twoterm.h +++ b/src/lib/netlist/analog/nlid_twoterm.h @@ -33,7 +33,7 @@ #ifndef NLID_TWOTERM_H_ #define NLID_TWOTERM_H_ -#include "../plib/pfunction.h" +#include "plib/pfunction.h" #include "netlist/nl_base.h" #include "netlist/nl_setup.h" diff --git a/src/lib/netlist/build/makefile b/src/lib/netlist/build/makefile index d4296c1b007..f628e9eaed6 100644 --- a/src/lib/netlist/build/makefile +++ b/src/lib/netlist/build/makefile @@ -49,7 +49,7 @@ endif # LTO = -flto=4 -fuse-linker-plugin -flto-partition=balanced -Wodr -CFLAGS = $(LTO) -g -O3 -std=c++11 -I../.. $(CEXTRAFLAGS) +CFLAGS = $(LTO) -g -O3 -std=c++11 -I$(CURDIR)/.. -I$(CURDIR)/../.. $(CEXTRAFLAGS) LDFLAGS = $(LTO) -g -O3 -std=c++11 $(LDEXTRAFLAGS) LIBS = -lpthread -ldl diff --git a/src/lib/netlist/devices/nld_log.cpp b/src/lib/netlist/devices/nld_log.cpp index c99fcb5a9bc..8cbcf0c81ca 100644 --- a/src/lib/netlist/devices/nld_log.cpp +++ b/src/lib/netlist/devices/nld_log.cpp @@ -6,8 +6,8 @@ */ #include "../nl_base.h" -#include "../plib/pfmtlog.h" -#include "../plib/pstream.h" +#include "plib/pfmtlog.h" +#include "plib/pstream.h" #include "nld_log.h" //#include "sound/wavwrite.h" diff --git a/src/lib/netlist/devices/nlid_system.h b/src/lib/netlist/devices/nlid_system.h index 10cbc498a6b..e744ee11dc6 100644 --- a/src/lib/netlist/devices/nlid_system.h +++ b/src/lib/netlist/devices/nlid_system.h @@ -14,7 +14,7 @@ #include "../analog/nlid_twoterm.h" #include "../nl_base.h" #include "../nl_setup.h" -#include "../plib/putil.h" +#include "plib/putil.h" namespace netlist { diff --git a/src/lib/netlist/devices/nlid_truthtable.cpp b/src/lib/netlist/devices/nlid_truthtable.cpp index 78fd076b560..e1a6f5e9046 100644 --- a/src/lib/netlist/devices/nlid_truthtable.cpp +++ b/src/lib/netlist/devices/nlid_truthtable.cpp @@ -7,8 +7,8 @@ #include "nlid_truthtable.h" #include "../nl_setup.h" -#include "../plib/palloc.h" -#include "../plib/plists.h" +#include "plib/palloc.h" +#include "plib/plists.h" #include <bitset> diff --git a/src/lib/netlist/devices/nlid_truthtable.h b/src/lib/netlist/devices/nlid_truthtable.h index a4b9e1e238e..c995b1c766e 100644 --- a/src/lib/netlist/devices/nlid_truthtable.h +++ b/src/lib/netlist/devices/nlid_truthtable.h @@ -12,7 +12,7 @@ #include "../nl_base.h" #include "../nl_setup.h" -#include "../plib/putil.h" +#include "plib/putil.h" #define NETLIB_TRUTHTABLE(cname, nIN, nOUT) \ class NETLIB_NAME(cname) : public nld_truthtable_t<nIN, nOUT> \ diff --git a/src/lib/netlist/nl_base.h b/src/lib/netlist/nl_base.h index dccfb32f896..adbda1d679d 100644 --- a/src/lib/netlist/nl_base.h +++ b/src/lib/netlist/nl_base.h @@ -24,10 +24,10 @@ #include "plib/pstate.h" #include "plib/pstream.h" -#include "netlist_types.h" +#include "nl_types.h" #include "nl_errstr.h" #include "nl_lists.h" -#include "nl_time.h" +#include "plib/ptime.h" //============================================================ // MACROS / New Syntax diff --git a/src/lib/netlist/nl_factory.h b/src/lib/netlist/nl_factory.h index cd7e74944eb..abf41ef9f93 100644 --- a/src/lib/netlist/nl_factory.h +++ b/src/lib/netlist/nl_factory.h @@ -11,7 +11,7 @@ #include <vector> -#include "netlist_types.h" +#include "nl_types.h" #include "plib/palloc.h" #include "plib/ptypes.h" diff --git a/src/lib/netlist/nl_lists.h b/src/lib/netlist/nl_lists.h index 5443cd86c86..32e31998b7a 100644 --- a/src/lib/netlist/nl_lists.h +++ b/src/lib/netlist/nl_lists.h @@ -10,7 +10,6 @@ #ifndef NLLISTS_H_ #define NLLISTS_H_ -#include "netlist_types.h" #include "nl_config.h" #include "plib/pchrono.h" #include "plib/plists.h" @@ -21,6 +20,7 @@ #include <mutex> #include <thread> #include <utility> +#include "nl_types.h" // ---------------------------------------------------------------------------------------- // timed queue diff --git a/src/lib/netlist/nl_setup.h b/src/lib/netlist/nl_setup.h index 50536d9da3b..dd4f9b381ac 100644 --- a/src/lib/netlist/nl_setup.h +++ b/src/lib/netlist/nl_setup.h @@ -18,9 +18,9 @@ #include "plib/pstring.h" #include "plib/putil.h" -#include "netlist_types.h" #include "nl_config.h" #include "nl_factory.h" +#include "nl_types.h" //============================================================ // MACROS / inline netlist definitions diff --git a/src/lib/netlist/netlist_types.h b/src/lib/netlist/nl_types.h index b2a507fe0fe..8b229e85bf5 100644 --- a/src/lib/netlist/netlist_types.h +++ b/src/lib/netlist/nl_types.h @@ -2,22 +2,23 @@ // copyright-holders:Couriersud /*! * - * \file netlist_types.h + * \file nl_types.h * */ -#ifndef NETLIST_TYPES_H_ -#define NETLIST_TYPES_H_ - -#include <cstdint> -#include <unordered_map> +#ifndef NL_TYPES_H_ +#define NL_TYPES_H_ #include "nl_config.h" +#include "plib/ptime.h" #include "plib/pchrono.h" #include "plib/pfmtlog.h" #include "plib/pmempool.h" #include "plib/pstring.h" +#include "plib/pstate.h" +#include <cstdint> +#include <unordered_map> namespace netlist { @@ -109,6 +110,31 @@ namespace netlist using model_map_t = std::unordered_map<pstring, pstring>; } // namespace detail + +#if (PHAS_INT128) + using netlist_time = ptime<INT128, NETLIST_INTERNAL_RES>; +#else + using netlist_time = plib::ptime<std::int64_t, NETLIST_INTERNAL_RES>; + static_assert(noexcept(netlist_time::from_nsec(1)) == true, "Not evaluated as constexpr"); +#endif + + //============================================================ + // MACROS + //============================================================ + + template <typename T> inline constexpr netlist_time NLTIME_FROM_NS(T &&t) noexcept { return netlist_time::from_nsec(t); } + template <typename T> inline constexpr netlist_time NLTIME_FROM_US(T &&t) noexcept { return netlist_time::from_usec(t); } + template <typename T> inline constexpr netlist_time NLTIME_FROM_MS(T &&t) noexcept { return netlist_time::from_msec(t); } + } // namespace netlist -#endif /* NETLIST_TYPES_H_ */ +namespace plib { + + template<> + inline void state_manager_t::save_item(const void *owner, netlist::netlist_time &nlt, const pstring &stname) + { + save_state_ptr(owner, stname, datatype_t(sizeof(netlist::netlist_time::internal_type), true, false), 1, nlt.get_internaltype_ptr()); + } +} // namespace plib + +#endif /* NL_TYPES_H_ */ diff --git a/src/lib/netlist/nl_time.h b/src/lib/netlist/plib/ptime.h index 1db22241d64..4767a197342 100644 --- a/src/lib/netlist/nl_time.h +++ b/src/lib/netlist/plib/ptime.h @@ -1,15 +1,14 @@ // license:GPL-2.0+ // copyright-holders:Couriersud /* - * nltime.h + * ptime.h */ -#ifndef NLTIME_H_ -#define NLTIME_H_ +#ifndef PTIME_H_ +#define PTIME_H_ -#include "nl_config.h" -#include "plib/pstate.h" -#include "plib/ptypes.h" +#include "pconfig.h" +#include "ptypes.h" #include <cstdint> @@ -17,7 +16,7 @@ // netlist_time // ---------------------------------------------------------------------------------------- -namespace netlist +namespace plib { template <typename TYPE, TYPE RES> @@ -130,30 +129,8 @@ namespace netlist internal_type m_time; }; -#if (PHAS_INT128) - using netlist_time = ptime<INT128, NETLIST_INTERNAL_RES>; -#else - using netlist_time = ptime<std::int64_t, NETLIST_INTERNAL_RES>; - static_assert(noexcept(netlist_time::from_nsec(1)) == true, "Not evaluated as constexpr"); -#endif - //============================================================ - // MACROS - //============================================================ - - template <typename T> inline constexpr netlist_time NLTIME_FROM_NS(T &&t) noexcept { return netlist_time::from_nsec(t); } - template <typename T> inline constexpr netlist_time NLTIME_FROM_US(T &&t) noexcept { return netlist_time::from_usec(t); } - template <typename T> inline constexpr netlist_time NLTIME_FROM_MS(T &&t) noexcept { return netlist_time::from_msec(t); } - -} // namespace netlist - -namespace plib { - - template<> - inline void state_manager_t::save_item(const void *owner, netlist::netlist_time &nlt, const pstring &stname) - { - save_state_ptr(owner, stname, datatype_t(sizeof(netlist::netlist_time::internal_type), true, false), 1, nlt.get_internaltype_ptr()); - } } // namespace plib -#endif /* NLTIME_H_ */ + +#endif /* PTIME_H_ */ diff --git a/src/lib/netlist/prg/nlwav.cpp b/src/lib/netlist/prg/nlwav.cpp index bd30e93d7e6..384d11f5781 100644 --- a/src/lib/netlist/prg/nlwav.cpp +++ b/src/lib/netlist/prg/nlwav.cpp @@ -1,11 +1,11 @@ // license:GPL-2.0+ // copyright-holders:Couriersud -#include "../plib/pstring.h" +#include "plib/pstring.h" #include "../nl_setup.h" -#include "../plib/plists.h" -#include "../plib/pmain.h" -#include "../plib/ppmf.h" -#include "../plib/pstream.h" +#include "plib/plists.h" +#include "plib/pmain.h" +#include "plib/ppmf.h" +#include "plib/pstream.h" #include <cstring> diff --git a/src/lib/netlist/solver/nld_matrix_solver.cpp b/src/lib/netlist/solver/nld_matrix_solver.cpp index 6494ca6eaee..68cad1422ea 100644 --- a/src/lib/netlist/solver/nld_matrix_solver.cpp +++ b/src/lib/netlist/solver/nld_matrix_solver.cpp @@ -6,7 +6,7 @@ */ #include "nld_matrix_solver.h" -#include "../plib/putil.h" +#include "plib/putil.h" #include <cmath> // <<= needed by windows build diff --git a/src/lib/netlist/solver/nld_ms_direct.h b/src/lib/netlist/solver/nld_ms_direct.h index 13f187f41b5..c0995d99e54 100644 --- a/src/lib/netlist/solver/nld_ms_direct.h +++ b/src/lib/netlist/solver/nld_ms_direct.h @@ -10,8 +10,8 @@ #include <algorithm> #include <cmath> -#include <netlist/plib/mat_cr.h> -#include <netlist/plib/vector_ops.h> +#include "plib/mat_cr.h" +#include "plib/vector_ops.h" #include "nld_matrix_solver.h" #include "nld_solver.h" diff --git a/src/lib/netlist/solver/nld_ms_gcr.h b/src/lib/netlist/solver/nld_ms_gcr.h index d2caa944434..0a9f720f104 100644 --- a/src/lib/netlist/solver/nld_ms_gcr.h +++ b/src/lib/netlist/solver/nld_ms_gcr.h @@ -10,15 +10,16 @@ #ifndef NLD_MS_GCR_H_ #define NLD_MS_GCR_H_ -#include <algorithm> -#include <netlist/plib/mat_cr.h> +#include "plib/mat_cr.h" -#include "../plib/pdynlib.h" -#include "../plib/pstream.h" -#include "../plib/vector_ops.h" +#include "plib/pdynlib.h" +#include "plib/pstream.h" +#include "plib/vector_ops.h" #include "nld_ms_direct.h" #include "nld_solver.h" +#include <algorithm> + namespace netlist { namespace devices diff --git a/src/lib/netlist/solver/nld_ms_gmres.h b/src/lib/netlist/solver/nld_ms_gmres.h index e8963578452..bee5c25e3d5 100644 --- a/src/lib/netlist/solver/nld_ms_gmres.h +++ b/src/lib/netlist/solver/nld_ms_gmres.h @@ -8,10 +8,10 @@ #ifndef NLD_MS_GMRES_H_ #define NLD_MS_GMRES_H_ -#include "../plib/gmres.h" -#include "../plib/mat_cr.h" -#include "../plib/parray.h" -#include "../plib/vector_ops.h" +#include "plib/gmres.h" +#include "plib/mat_cr.h" +#include "plib/parray.h" +#include "plib/vector_ops.h" #include "nld_ms_direct.h" #include "nld_solver.h" diff --git a/src/lib/netlist/solver/nld_ms_sm.h b/src/lib/netlist/solver/nld_ms_sm.h index c473b6131e7..6c0f610e3f2 100644 --- a/src/lib/netlist/solver/nld_ms_sm.h +++ b/src/lib/netlist/solver/nld_ms_sm.h @@ -35,7 +35,7 @@ #include <algorithm> -#include "../plib/vector_ops.h" +#include "plib/vector_ops.h" #include "nld_matrix_solver.h" #include "nld_solver.h" diff --git a/src/lib/netlist/solver/nld_ms_w.h b/src/lib/netlist/solver/nld_ms_w.h index e5935462f03..584d50fdb15 100644 --- a/src/lib/netlist/solver/nld_ms_w.h +++ b/src/lib/netlist/solver/nld_ms_w.h @@ -42,7 +42,7 @@ #include <algorithm> -#include "../plib/vector_ops.h" +#include "plib/vector_ops.h" #include "nld_matrix_solver.h" #include "nld_solver.h" diff --git a/src/lib/netlist/solver/nld_solver.cpp b/src/lib/netlist/solver/nld_solver.cpp index be008a21706..ab75b7d7dc4 100644 --- a/src/lib/netlist/solver/nld_solver.cpp +++ b/src/lib/netlist/solver/nld_solver.cpp @@ -33,7 +33,7 @@ #include "../nl_lists.h" -#include "../plib/pomp.h" +#include "plib/pomp.h" #include "../nl_factory.h" diff --git a/src/lib/netlist/solver/nld_solver.h b/src/lib/netlist/solver/nld_solver.h index 646271e0ebd..87e02d215ec 100644 --- a/src/lib/netlist/solver/nld_solver.h +++ b/src/lib/netlist/solver/nld_solver.h @@ -9,7 +9,7 @@ #define NLD_SOLVER_H_ #include "../nl_base.h" -#include "../plib/pstream.h" +#include "plib/pstream.h" #include "nld_matrix_solver.h" #include <map> diff --git a/src/lib/netlist/tools/nl_convert.cpp b/src/lib/netlist/tools/nl_convert.cpp index 16a3cfd6960..a9e17d56120 100644 --- a/src/lib/netlist/tools/nl_convert.cpp +++ b/src/lib/netlist/tools/nl_convert.cpp @@ -5,8 +5,8 @@ * */ -#include "../plib/palloc.h" -#include "../plib/putil.h" +#include "plib/palloc.h" +#include "plib/putil.h" #include "nl_convert.h" #include <algorithm> #include <cmath> diff --git a/src/lib/netlist/tools/nl_convert.h b/src/lib/netlist/tools/nl_convert.h index b031ef72618..367546092be 100644 --- a/src/lib/netlist/tools/nl_convert.h +++ b/src/lib/netlist/tools/nl_convert.h @@ -10,10 +10,10 @@ #ifndef NL_CONVERT_H_ #define NL_CONVERT_H_ -#include "../plib/plists.h" -#include "../plib/pparser.h" -#include "../plib/pstring.h" -#include "../plib/ptypes.h" +#include "plib/plists.h" +#include "plib/pparser.h" +#include "plib/pstring.h" +#include "plib/ptypes.h" #include <memory> /*------------------------------------------------- |