diff options
Diffstat (limited to 'src/devices/cpu/psx/psx.h')
-rw-r--r-- | src/devices/cpu/psx/psx.h | 39 |
1 files changed, 6 insertions, 33 deletions
diff --git a/src/devices/cpu/psx/psx.h b/src/devices/cpu/psx/psx.h index 646c5e8a4b1..ff21787eeab 100644 --- a/src/devices/cpu/psx/psx.h +++ b/src/devices/cpu/psx/psx.h @@ -111,33 +111,6 @@ enum //************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_PSX_DMA_CHANNEL_READ( cputag, channel, handler ) \ - psxcpu_device::getcpu( *this, cputag )->subdevice<psxdma_device>("dma")->install_read_handler( channel, handler ); - -#define MCFG_PSX_DMA_CHANNEL_WRITE( cputag, channel, handler ) \ - psxcpu_device::getcpu( *this, cputag )->subdevice<psxdma_device>("dma")->install_write_handler( channel, handler ); - -#define MCFG_PSX_GPU_READ_HANDLER(_devcb) \ - downcast<psxcpu_device &>(*device).set_gpu_read_handler(DEVCB_##_devcb); -#define MCFG_PSX_GPU_WRITE_HANDLER(_devcb) \ - downcast<psxcpu_device &>(*device).set_gpu_write_handler(DEVCB_##_devcb); - -#define MCFG_PSX_SPU_READ_HANDLER(_devcb) \ - downcast<psxcpu_device &>(*device).set_spu_read_handler(DEVCB_##_devcb); -#define MCFG_PSX_SPU_WRITE_HANDLER(_devcb) \ - downcast<psxcpu_device &>(*device).set_spu_write_handler(DEVCB_##_devcb); - -#define MCFG_PSX_CD_READ_HANDLER(_devcb) \ - downcast<psxcpu_device &>(*device).set_cd_read_handler(DEVCB_##_devcb); -#define MCFG_PSX_CD_WRITE_HANDLER(_devcb) \ - downcast<psxcpu_device &>(*device).set_cd_write_handler(DEVCB_##_devcb); -#define MCFG_PSX_DISABLE_ROM_BERR \ - downcast<psxcpu_device *>(device)->set_disable_rom_berr(true); - -//************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -147,12 +120,12 @@ class psxcpu_device : public cpu_device, psxcpu_disassembler::config { public: // configuration helpers - template <class Object> devcb_base &set_gpu_read_handler(Object &&cb) { return m_gpu_read_handler.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_gpu_write_handler(Object &&cb) { return m_gpu_write_handler.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_spu_read_handler(Object &&cb) { return m_spu_read_handler.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_spu_write_handler(Object &&cb) { return m_spu_write_handler.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_cd_read_handler(Object &&cb) { return m_cd_read_handler.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_cd_write_handler(Object &&cb) { return m_cd_write_handler.set_callback(std::forward<Object>(cb)); } + auto gpu_read() { return m_gpu_read_handler.bind(); } + auto gpu_write() { return m_gpu_write_handler.bind(); } + auto spu_read() { return m_spu_read_handler.bind(); } + auto spu_write() { return m_spu_write_handler.bind(); } + auto cd_read() { return m_cd_read_handler.bind(); } + auto cd_write() { return m_cd_write_handler.bind(); } // public interfaces DECLARE_WRITE32_MEMBER( berr_w ); |