summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/psx/psx.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/psx/psx.h')
-rw-r--r--src/devices/cpu/psx/psx.h39
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 );