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