diff options
Diffstat (limited to 'src/mame/machine/ps2dma.h')
-rw-r--r-- | src/mame/machine/ps2dma.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/mame/machine/ps2dma.h b/src/mame/machine/ps2dma.h index c6dea56749c..b076188cdac 100644 --- a/src/mame/machine/ps2dma.h +++ b/src/mame/machine/ps2dma.h @@ -15,17 +15,21 @@ #pragma once #include "emu.h" +#include "ps2gif.h" +#include "ps2vif1.h" class ps2_dmac_device : public device_t, public device_execute_interface { public: - template <typename T, typename U, typename V> - ps2_dmac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&ee_tag, U &&ram_tag, V &&sif_tag) + template <typename T, typename U, typename V, typename W, typename X> + ps2_dmac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&ee_tag, U &&ram_tag, V &&sif_tag, W &&gif_tag, X &&vif1_tag) : ps2_dmac_device(mconfig, tag, owner, clock) { m_ee.set_tag(std::forward<T>(ee_tag)); m_ram.set_tag(std::forward<U>(ram_tag)); m_sif.set_tag(std::forward<V>(sif_tag)); + m_gif.set_tag(std::forward<W>(gif_tag)); + m_vif1.set_tag(std::forward<X>(vif1_tag)); } ps2_dmac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); @@ -113,6 +117,8 @@ protected: uint32_t m_tag_addr; }; + void transfer_vif1(); + void transfer_gif(); void transfer_sif0(); void transfer_sif1(); void transfer_finish(uint32_t chan); @@ -122,6 +128,8 @@ protected: required_device<cpu_device> m_ee; required_shared_ptr<uint64_t> m_ram; required_device<ps2_sif_device> m_sif; + required_device<ps2_gif_device> m_gif; + required_device<ps2_vif1_device> m_vif1; int m_icount; |