summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/sgi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/sgi.h')
-rw-r--r--src/mame/machine/sgi.h15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/mame/machine/sgi.h b/src/mame/machine/sgi.h
index 192ff15129b..661d2825e22 100644
--- a/src/mame/machine/sgi.h
+++ b/src/mame/machine/sgi.h
@@ -14,19 +14,10 @@
#pragma once
#include "machine/eepromser.h"
-#include "machine/hpc3.h"
class sgi_mc_device : public device_t
{
public:
- template <typename T, typename U, typename V>
- sgi_mc_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag, U &&eeprom_tag, V &&hpc3_tag)
- : sgi_mc_device(mconfig, tag, owner, (uint32_t)0)
- {
- m_maincpu.set_tag(std::forward<T>(cpu_tag));
- m_eeprom.set_tag(std::forward<U>(eeprom_tag));
- m_hpc3.set_tag(std::forward<V>(hpc3_tag));
- }
template <typename T, typename U>
sgi_mc_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag, U &&eeprom_tag)
: sgi_mc_device(mconfig, tag, owner, (uint32_t)0)
@@ -36,6 +27,8 @@ public:
}
sgi_mc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ auto int_dma_done_cb() { return m_int_dma_done_cb.bind(); }
+
DECLARE_READ32_MEMBER(read);
DECLARE_WRITE32_MEMBER(write);
@@ -44,6 +37,7 @@ public:
protected:
// device-level overrides
+ virtual void device_resolve_objects() override;
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -73,7 +67,8 @@ private:
required_device<cpu_device> m_maincpu;
required_device<eeprom_serial_93cxx_device> m_eeprom;
- optional_device<hpc3_base_device> m_hpc3;
+
+ devcb_write_line m_int_dma_done_cb;
address_space *m_space;