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.h28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/devices/cpu/psx/psx.h b/src/devices/cpu/psx/psx.h
index bdf3b0f2327..73e4380a8f7 100644
--- a/src/devices/cpu/psx/psx.h
+++ b/src/devices/cpu/psx/psx.h
@@ -121,19 +121,19 @@ enum
psxcpu_device::getcpu( *this, cputag )->subdevice<psxdma_device>("dma")->install_write_handler( channel, handler );
#define MCFG_PSX_GPU_READ_HANDLER(_devcb) \
- devcb = &psxcpu_device::set_gpu_read_handler(*device, DEVCB_##_devcb);
+ devcb = &downcast<psxcpu_device &>(*device).set_gpu_read_handler(DEVCB_##_devcb);
#define MCFG_PSX_GPU_WRITE_HANDLER(_devcb) \
- devcb = &psxcpu_device::set_gpu_write_handler(*device, DEVCB_##_devcb);
+ devcb = &downcast<psxcpu_device &>(*device).set_gpu_write_handler(DEVCB_##_devcb);
#define MCFG_PSX_SPU_READ_HANDLER(_devcb) \
- devcb = &psxcpu_device::set_spu_read_handler(*device, DEVCB_##_devcb);
+ devcb = &downcast<psxcpu_device &>(*device).set_spu_read_handler(DEVCB_##_devcb);
#define MCFG_PSX_SPU_WRITE_HANDLER(_devcb) \
- devcb = &psxcpu_device::set_spu_write_handler(*device, DEVCB_##_devcb);
+ devcb = &downcast<psxcpu_device &>(*device).set_spu_write_handler(DEVCB_##_devcb);
#define MCFG_PSX_CD_READ_HANDLER(_devcb) \
- devcb = &psxcpu_device::set_cd_read_handler(*device, DEVCB_##_devcb);
+ devcb = &downcast<psxcpu_device &>(*device).set_cd_read_handler(DEVCB_##_devcb);
#define MCFG_PSX_CD_WRITE_HANDLER(_devcb) \
- devcb = &psxcpu_device::set_cd_write_handler(*device, DEVCB_##_devcb);
+ 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);
@@ -146,13 +146,13 @@ enum
class psxcpu_device : public cpu_device, psxcpu_disassembler::config
{
public:
- // static configuration helpers
- template <class Object> static devcb_base &set_gpu_read_handler(device_t &device, Object &&cb) { return downcast<psxcpu_device &>(device).m_gpu_read_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_gpu_write_handler(device_t &device, Object &&cb) { return downcast<psxcpu_device &>(device).m_gpu_write_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_spu_read_handler(device_t &device, Object &&cb) { return downcast<psxcpu_device &>(device).m_spu_read_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_spu_write_handler(device_t &device, Object &&cb) { return downcast<psxcpu_device &>(device).m_spu_write_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_cd_read_handler(device_t &device, Object &&cb) { return downcast<psxcpu_device &>(device).m_cd_read_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_cd_write_handler(device_t &device, Object &&cb) { return downcast<psxcpu_device &>(device).m_cd_write_handler.set_callback(std::forward<Object>(cb)); }
+ // 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)); }
// public interfaces
DECLARE_WRITE32_MEMBER( berr_w );
@@ -187,7 +187,7 @@ public:
DECLARE_WRITE32_MEMBER( com_delay_w );
DECLARE_READ32_MEMBER( com_delay_r );
- static psxcpu_device *getcpu( device_t &device, const char *cputag );
+ static psxcpu_device *getcpu( device_t &device, const char *cputag ) { return downcast<psxcpu_device *>( device.subdevice( cputag ) ); }
void set_disable_rom_berr(bool mode);
void psxcpu_internal_map(address_map &map);