summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/netlist.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/netlist.h')
-rw-r--r--src/devices/machine/netlist.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/devices/machine/netlist.h b/src/devices/machine/netlist.h
index 0be9fcac109..bef8a524645 100644
--- a/src/devices/machine/netlist.h
+++ b/src/devices/machine/netlist.h
@@ -82,7 +82,20 @@ public:
int m_icount;
+ static constexpr const unsigned MDIV_SHIFT = 16;
+
+ netlist::netlist_time_ext nltime_ext_from_clocks(unsigned c) const noexcept
+ {
+ return (m_div * c).shr(MDIV_SHIFT);
+ }
+
+ netlist::netlist_time nltime_from_clocks(unsigned c) const noexcept
+ {
+ return static_cast<netlist::netlist_time>((m_div * c).shr(MDIV_SHIFT));
+ }
+
protected:
+
netlist_mame_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// Custom to netlist ...
@@ -98,8 +111,6 @@ protected:
virtual void device_pre_save() override;
virtual void device_clock_changed() override;
- netlist::netlist_time nl_clock_period() const noexcept { return m_div; }
-
plib::unique_ptr<netlist::netlist_state_t> base_validity_check(validity_checker &valid) const;
private:
@@ -107,8 +118,8 @@ private:
void common_dev_start(netlist::netlist_state_t *lnetlist) const;
- netlist::netlist_time m_div;
- netlist::netlist_time m_rem;
+ netlist::netlist_time_ext m_div;
+ netlist::netlist_time_ext m_rem;
netlist::netlist_time_ext m_old;
std::unique_ptr<netlist_mame_t> m_netlist;