summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatarGravatar AJR <ajrhacker@users.noreply.github.com>2017-03-02 16:42:45 -0500
committerGravatarGravatar AJR <ajrhacker@users.noreply.github.com>2017-03-02 16:42:45 -0500
commit4e59ab6ffe18b23ef4da44707ddf8728c01d5c5b (patch) (github)
tree2ecab322c18f928df67b9cf75b226aec725a6c91
parent71656df5c3a0751113f0cbb90da1ad284219a098 (diff)
downloadmame-4e59ab6ffe18b23ef4da44707ddf8728c01d5c5b.tar.bz2
mame-4e59ab6ffe18b23ef4da44707ddf8728c01d5c5b.zip
Device fixups (nw)
- c2040fdc, c64h156: Calculate clock period in device_clock_changed rather than in constructor - isa8, isa16: Eliminate device_config_complete (probably unnecessary, since m_maincpu is already set in device_start) These changes prevent assert failures with the new ad-hoc device construction in -listxml, though they are otherwise independent.
-rw-r--r--src/devices/bus/ieee488/c2040fdc.cpp13
-rw-r--r--src/devices/bus/ieee488/c2040fdc.h1
-rw-r--r--src/devices/bus/isa/isa.cpp22
-rw-r--r--src/devices/bus/isa/isa.h2
-rw-r--r--src/devices/machine/64h156.cpp14
-rw-r--r--src/devices/machine/64h156.h1
6 files changed, 26 insertions, 27 deletions
diff --git a/src/devices/bus/ieee488/c2040fdc.cpp b/src/devices/bus/ieee488/c2040fdc.cpp
index 493cdb8ee69..7256457371f 100644
--- a/src/devices/bus/ieee488/c2040fdc.cpp
+++ b/src/devices/bus/ieee488/c2040fdc.cpp
@@ -88,7 +88,7 @@ c2040_fdc_t::c2040_fdc_t(const machine_config &mconfig, const char *tag, device_
m_drv_sel(0),
m_mode_sel(0),
m_rw_sel(0), m_odd_hd(0), m_pi(0),
- m_period(attotime::from_hz(clock)), t_gen(nullptr)
+ t_gen(nullptr)
{
cur_live.tm = attotime::never;
cur_live.state = IDLE;
@@ -128,6 +128,17 @@ void c2040_fdc_t::device_start()
//-------------------------------------------------
+// device_clock_changed - called when the
+// device clock is altered in any way
+//-------------------------------------------------
+
+void c2040_fdc_t::device_clock_changed()
+{
+ m_period = attotime::from_hz(clock());
+}
+
+
+//-------------------------------------------------
// device_reset - device-specific reset
//-------------------------------------------------
diff --git a/src/devices/bus/ieee488/c2040fdc.h b/src/devices/bus/ieee488/c2040fdc.h
index 74dcb750544..45690295b9a 100644
--- a/src/devices/bus/ieee488/c2040fdc.h
+++ b/src/devices/bus/ieee488/c2040fdc.h
@@ -73,6 +73,7 @@ public:
protected:
// device-level overrides
virtual void device_start() override;
+ virtual void device_clock_changed() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
diff --git a/src/devices/bus/isa/isa.cpp b/src/devices/bus/isa/isa.cpp
index 17cbf8fc770..b624df933d5 100644
--- a/src/devices/bus/isa/isa.cpp
+++ b/src/devices/bus/isa/isa.cpp
@@ -115,17 +115,6 @@ void isa8_device::static_set_custom_spaces(device_t &device)
isa.m_allocspaces = true;
}
-//-------------------------------------------------
-// device_config_complete - perform any
-// operations now that the configuration is
-// complete
-//-------------------------------------------------
-
-void isa8_device::device_config_complete()
-{
- m_maincpu = subdevice<cpu_device>(m_cputag);
-}
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
@@ -476,17 +465,6 @@ isa16_device::isa16_device(const machine_config &mconfig, const char *tag, devic
}
//-------------------------------------------------
-// device_config_complete - perform any
-// operations now that the configuration is
-// complete
-//-------------------------------------------------
-
-void isa16_device::device_config_complete()
-{
- m_maincpu = mconfig().device<cpu_device>(m_cputag);
-}
-
-//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
diff --git a/src/devices/bus/isa/isa.h b/src/devices/bus/isa/isa.h
index c66cf9f2595..2eddae32015 100644
--- a/src/devices/bus/isa/isa.h
+++ b/src/devices/bus/isa/isa.h
@@ -261,7 +261,6 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_config_complete() override;
// internal state
cpu_device *m_maincpu;
@@ -399,7 +398,6 @@ public:
protected:
// device-level overrides
virtual void device_start() override;
- virtual void device_config_complete() override;
private:
// internal state
diff --git a/src/devices/machine/64h156.cpp b/src/devices/machine/64h156.cpp
index 5ce4497c860..e3f81183202 100644
--- a/src/devices/machine/64h156.cpp
+++ b/src/devices/machine/64h156.cpp
@@ -70,8 +70,7 @@ c64h156_device::c64h156_device(const machine_config &mconfig, const char *tag, d
m_ted(0),
m_yb(0),
m_atni(0),
- m_atna(0),
- m_period(attotime::from_hz(clock))
+ m_atna(0)
{
memset(&cur_live, 0x00, sizeof(cur_live));
cur_live.tm = attotime::never;
@@ -110,6 +109,17 @@ void c64h156_device::device_start()
//-------------------------------------------------
+// device_clock_changed - called when the
+// device clock is altered in any way
+//-------------------------------------------------
+
+void c64h156_device::device_clock_changed()
+{
+ m_period = attotime::from_hz(clock());
+}
+
+
+//-------------------------------------------------
// device_reset - device-specific reset
//-------------------------------------------------
diff --git a/src/devices/machine/64h156.h b/src/devices/machine/64h156.h
index 01184663b95..35b1320f920 100644
--- a/src/devices/machine/64h156.h
+++ b/src/devices/machine/64h156.h
@@ -121,6 +121,7 @@ public:
protected:
// device-level overrides
virtual void device_start() override;
+ virtual void device_clock_changed() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;