diff options
Diffstat (limited to 'src/devices/machine/dmac.h')
-rw-r--r-- | src/devices/machine/dmac.h | 70 |
1 files changed, 34 insertions, 36 deletions
diff --git a/src/devices/machine/dmac.h b/src/devices/machine/dmac.h index 464d7c37ed5..f9f06e3d85c 100644 --- a/src/devices/machine/dmac.h +++ b/src/devices/machine/dmac.h @@ -8,10 +8,10 @@ ***************************************************************************/ -#pragma once +#ifndef MAME_MACHINE_DMAC_H +#define MAME_MACHINE_DMAC_H -#ifndef __DMAC_H__ -#define __DMAC_H__ +#pragma once #include "autoconfig.h" @@ -21,66 +21,66 @@ //************************************************************************** #define MCFG_DMAC_ADD(_tag, _clock) \ - MCFG_DEVICE_ADD(_tag, DMAC, _clock) + MCFG_DEVICE_ADD(_tag, AMIGA_DMAC, _clock) #define MCFG_DMAC_CFGOUT_HANDLER(_devcb) \ - devcb = &dmac_device::set_cfgout_handler(*device, DEVCB_##_devcb); + devcb = &amiga_dmac_device::set_cfgout_handler(*device, DEVCB_##_devcb); #define MCFG_DMAC_INT_HANDLER(_devcb) \ - devcb = &dmac_device::set_int_handler(*device, DEVCB_##_devcb); + devcb = &amiga_dmac_device::set_int_handler(*device, DEVCB_##_devcb); #define MCFG_DMAC_XDACK_HANDLER(_devcb) \ - devcb = &dmac_device::set_xdack_handler(*device, DEVCB_##_devcb); + devcb = &amiga_dmac_device::set_xdack_handler(*device, DEVCB_##_devcb); #define MCFG_DMAC_SCSI_READ_HANDLER(_devcb) \ - devcb = &dmac_device::set_scsi_read_handler(*device, DEVCB_##_devcb); + devcb = &amiga_dmac_device::set_scsi_read_handler(*device, DEVCB_##_devcb); #define MCFG_DMAC_SCSI_WRITE_HANDLER(_devcb) \ - devcb = &dmac_device::set_scsi_write_handler(*device, DEVCB_##_devcb); + devcb = &amiga_dmac_device::set_scsi_write_handler(*device, DEVCB_##_devcb); #define MCFG_DMAC_IO_READ_HANDLER(_devcb) \ - devcb = &dmac_device::set_io_read_handler(*device, DEVCB_##_devcb); + devcb = &amiga_dmac_device::set_io_read_handler(*device, DEVCB_##_devcb); #define MCFG_DMAC_IO_WRITE_HANDLER(_devcb) \ - devcb = &dmac_device::set_io_write_handler(*device, DEVCB_##_devcb); + devcb = &amiga_dmac_device::set_io_write_handler(*device, DEVCB_##_devcb); //************************************************************************** // TYPE DEFINITIONS //************************************************************************** -// ======================> dmac_device +// ======================> amiga_dmac_device -class dmac_device : public device_t, public amiga_autoconfig +class amiga_dmac_device : public device_t, public amiga_autoconfig { public: // construction/destruction - dmac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + amiga_dmac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); // callbacks - template<class _Object> static devcb_base &set_cfgout_handler(device_t &device, _Object object) - { return downcast<dmac_device &>(device).m_cfgout_handler.set_callback(object); } + template <class Object> static devcb_base &set_cfgout_handler(device_t &device, Object &&cb) + { return downcast<amiga_dmac_device &>(device).m_cfgout_handler.set_callback(std::forward<Object>(cb)); } - template<class _Object> static devcb_base &set_int_handler(device_t &device, _Object object) - { return downcast<dmac_device &>(device).m_int_handler.set_callback(object); } + template <class Object> static devcb_base &set_int_handler(device_t &device, Object &&cb) + { return downcast<amiga_dmac_device &>(device).m_int_handler.set_callback(std::forward<Object>(cb)); } - template<class _Object> static devcb_base &set_xdack_handler(device_t &device, _Object object) - { return downcast<dmac_device &>(device).m_xdack_handler.set_callback(object); } + template <class Object> static devcb_base &set_xdack_handler(device_t &device, Object &&cb) + { return downcast<amiga_dmac_device &>(device).m_xdack_handler.set_callback(std::forward<Object>(cb)); } - template<class _Object> static devcb_base &set_scsi_read_handler(device_t &device, _Object object) - { return downcast<dmac_device &>(device).m_scsi_read_handler.set_callback(object); } + template <class Object> static devcb_base &set_scsi_read_handler(device_t &device, Object &&cb) + { return downcast<amiga_dmac_device &>(device).m_scsi_read_handler.set_callback(std::forward<Object>(cb)); } - template<class _Object> static devcb_base &set_scsi_write_handler(device_t &device, _Object object) - { return downcast<dmac_device &>(device).m_scsi_write_handler.set_callback(object); } + template <class Object> static devcb_base &set_scsi_write_handler(device_t &device, Object &&cb) + { return downcast<amiga_dmac_device &>(device).m_scsi_write_handler.set_callback(std::forward<Object>(cb)); } - template<class _Object> static devcb_base &set_io_read_handler(device_t &device, _Object object) - { return downcast<dmac_device &>(device).m_io_read_handler.set_callback(object); } + template <class Object> static devcb_base &set_io_read_handler(device_t &device, Object &&cb) + { return downcast<amiga_dmac_device &>(device).m_io_read_handler.set_callback(std::forward<Object>(cb)); } - template<class _Object> static devcb_base &set_io_write_handler(device_t &device, _Object object) - { return downcast<dmac_device &>(device).m_io_write_handler.set_callback(object); } + template <class Object> static devcb_base &set_io_write_handler(device_t &device, Object &&cb) + { return downcast<amiga_dmac_device &>(device).m_io_write_handler.set_callback(std::forward<Object>(cb)); } - void set_address_space(address_space *space) { m_space = space; }; - void set_rom(uint8_t *rom) { m_rom = rom; }; - void set_ram(uint8_t *ram) { m_ram = ram; }; + void set_address_space(address_space *space) { m_space = space; } + void set_rom(uint8_t *rom) { m_rom = rom; } + void set_ram(uint8_t *ram) { m_ram = ram; } // input lines DECLARE_WRITE_LINE_MEMBER( configin_w ); @@ -102,7 +102,6 @@ protected: virtual void autoconfig_base_address(offs_t address) override; private: - // control register flags enum { @@ -127,7 +126,7 @@ private: ISTR_FE_FLG = 0x001 // fifo-empty flag }; - static const int ISTR_INT_MASK = 0x1ec; + static constexpr int ISTR_INT_MASK = 0x1ec; // callbacks devcb_write_line m_cfgout_handler; @@ -164,7 +163,6 @@ private: // device type definition -extern const device_type DMAC; - +DECLARE_DEVICE_TYPE(AMIGA_DMAC, amiga_dmac_device) -#endif /* __DMAC_H__ */ +#endif // MAME_MACHINE_DMAC_H |