diff options
Diffstat (limited to 'src/devices/sound/spu.cpp')
-rw-r--r-- | src/devices/sound/spu.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/devices/sound/spu.cpp b/src/devices/sound/spu.cpp index 90d8504b439..d3877ad5bf4 100644 --- a/src/devices/sound/spu.cpp +++ b/src/devices/sound/spu.cpp @@ -11,6 +11,7 @@ #include "emu.h" #include "spu.h" #include "spureverb.h" +#include "cpu/psx/psx.h" // // @@ -934,6 +935,16 @@ static int shift_register15(int &shift) // spu_device - constructor //------------------------------------------------- +spu_device::spu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, psxcpu_device *cpu) + : spu_device(mconfig, tag, owner, clock) +{ + cpu->spu_read().set(tag, FUNC(spu_device::read)); + cpu->spu_write().set(tag, FUNC(spu_device::write)); + cpu->subdevice<psxdma_device>("dma")->install_read_handler(4, psxdma_device::read_delegate(&spu_device::dma_read, this)); + cpu->subdevice<psxdma_device>("dma")->install_write_handler(4, psxdma_device::write_delegate(&spu_device::dma_write, this)); + irq_handler().set(*cpu->subdevice<psxirq_device>("irq"), FUNC(psxirq_device::intin9)); +} + spu_device::spu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, SPU, tag, owner, clock), device_sound_interface(mconfig, *this), |