summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/netlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/netlist.cpp')
-rw-r--r--src/devices/machine/netlist.cpp37
1 files changed, 19 insertions, 18 deletions
diff --git a/src/devices/machine/netlist.cpp b/src/devices/machine/netlist.cpp
index 2c5b9cc85a1..2d0ba8244b4 100644
--- a/src/devices/machine/netlist.cpp
+++ b/src/devices/machine/netlist.cpp
@@ -286,13 +286,13 @@ public:
: netlist::nl_exception(plib::pfmt(fmt)(std::forward<Args>(args)...)) { }
};
-class netlist_source_memregion_t : public netlist::source_t
+class netlist_source_memregion_t : public netlist::source_netlist_t
{
public:
netlist_source_memregion_t(device_t &dev, pstring name)
- : netlist::source_t(), m_dev(dev), m_name(name)
+ : netlist::source_netlist_t(), m_dev(dev), m_name(name)
{
}
@@ -302,7 +302,7 @@ private:
pstring m_name;
};
-class netlist_data_memregions_t : public netlist::source_t
+class netlist_data_memregions_t : public netlist::source_data_t
{
public:
netlist_data_memregions_t(const device_t &dev);
@@ -333,7 +333,7 @@ plib::unique_ptr<std::istream> netlist_source_memregion_t::stream(const pstring
}
netlist_data_memregions_t::netlist_data_memregions_t(const device_t &dev)
- : netlist::source_t(netlist::source_t::DATA), m_dev(dev)
+ : netlist::source_data_t(), m_dev(dev)
{
}
@@ -499,9 +499,9 @@ public:
for (int i = 0; i < MAX_INPUT_CHANNELS; i++)
{
- m_channels[i].m_param_name = netlist::pool().make_poolptr<netlist::param_str_t>(*this, plib::pfmt("CHAN{1}")(i), "");
- m_channels[i].m_param_mult = netlist::pool().make_poolptr<netlist::param_double_t>(*this, plib::pfmt("MULT{1}")(i), 1.0);
- m_channels[i].m_param_offset = netlist::pool().make_poolptr<netlist::param_double_t>(*this, plib::pfmt("OFFSET{1}")(i), 0.0);
+ m_channels[i].m_param_name = netlist::pool().make_unique<netlist::param_str_t>(*this, plib::pfmt("CHAN{1}")(i), "");
+ m_channels[i].m_param_mult = netlist::pool().make_unique<netlist::param_double_t>(*this, plib::pfmt("MULT{1}")(i), 1.0);
+ m_channels[i].m_param_offset = netlist::pool().make_unique<netlist::param_double_t>(*this, plib::pfmt("OFFSET{1}")(i), 0.0);
}
}
@@ -548,11 +548,11 @@ public:
struct channel
{
- netlist::pool_owned_ptr<netlist::param_str_t> m_param_name;
+ netlist::unique_pool_ptr<netlist::param_str_t> m_param_name;
netlist::param_double_t *m_param;
stream_sample_t *m_buffer;
- netlist::pool_owned_ptr<netlist::param_double_t> m_param_mult;
- netlist::pool_owned_ptr<netlist::param_double_t> m_param_offset;
+ netlist::unique_pool_ptr<netlist::param_double_t> m_param_mult;
+ netlist::unique_pool_ptr<netlist::param_double_t> m_param_offset;
};
channel m_channels[MAX_INPUT_CHANNELS];
netlist::netlist_time m_inc;
@@ -732,10 +732,10 @@ void netlist_mame_analog_output_device::custom_netlist_additions(netlist::netlis
if (owner()->has_running_machine())
m_delegate.bind_relative_to(owner()->machine().root_device());
- auto dev = netlist::pool().make_poolptr<NETLIB_NAME(analog_callback)>(nlstate, dfqn);
+ auto dev = netlist::pool().make_unique<NETLIB_NAME(analog_callback)>(nlstate, dfqn);
//static_cast<NETLIB_NAME(analog_callback) *>(dev.get())->register_callback(std::move(m_delegate));
dev->register_callback(std::move(m_delegate));
- nlstate.add_dev(dfqn, std::move(dev));
+ nlstate.register_device(dfqn, std::move(dev));
nlstate.setup().register_link(dname + ".IN", pin);
}
@@ -772,9 +772,9 @@ void netlist_mame_logic_output_device::custom_netlist_additions(netlist::netlist
if (owner()->has_running_machine())
m_delegate.bind_relative_to(owner()->machine().root_device());
- auto dev = netlist::pool().make_poolptr<NETLIB_NAME(logic_callback)>(nlstate, dfqn);
+ auto dev = netlist::pool().make_unique<NETLIB_NAME(logic_callback)>(nlstate, dfqn);
dev->register_callback(std::move(m_delegate));
- nlstate.add_dev(dfqn, std::move(dev));
+ nlstate.register_device(dfqn, std::move(dev));
nlstate.setup().register_link(dname + ".IN", pin);
}
@@ -1084,7 +1084,7 @@ plib::unique_ptr<netlist::netlist_t> netlist_mame_device::base_validity_check(va
//netlist_mame_t lnetlist(*this, "netlist", plib::make_unique<netlist_validate_callbacks_t>());
auto lnetlist = plib::make_unique<netlist::netlist_t>("netlist", plib::make_unique<netlist_validate_callbacks_t>());
// enable validation mode
- lnetlist->nlstate().setup().enable_validation();
+ lnetlist->nlstate().setup().set_extended_validation(false);
common_dev_start(lnetlist.get());
for (device_t &d : subdevices())
@@ -1101,6 +1101,7 @@ plib::unique_ptr<netlist::netlist_t> netlist_mame_device::base_validity_check(va
}
catch (memregion_not_set &err)
{
+ // Do not report an error. Validity check has no access to ROM area.
osd_printf_verbose("%s\n", err.what());
}
catch (emu_fatalerror &err)
@@ -1126,7 +1127,7 @@ void netlist_mame_device::device_start()
{
LOGDEVCALLS("device_start entry\n");
- m_netlist = netlist::pool().make_poolptr<netlist_mame_t>(*this, "netlist");
+ m_netlist = netlist::pool().make_unique<netlist_mame_t>(*this, "netlist");
if (!machine().options().verbose())
{
m_netlist->nlstate().log().verbose.set_enabled(false);
@@ -1183,7 +1184,7 @@ ATTR_COLD void netlist_mame_device::device_pre_save()
netlist().run_state_manager().pre_save();
}
-void netlist_mame_device::update_icount(netlist::netlist_time time)
+void netlist_mame_device::update_icount(netlist::netlist_time time) noexcept
{
const netlist::netlist_time newt(time);
const netlist::netlist_time delta(newt - m_old + m_rem);
@@ -1193,7 +1194,7 @@ void netlist_mame_device::update_icount(netlist::netlist_time time)
m_icount -= d;
}
-void netlist_mame_device::check_mame_abort_slice()
+void netlist_mame_device::check_mame_abort_slice() noexcept
{
if (m_icount <= 0)
netlist().abort_current_queue_slice();