summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/idectrl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/idectrl.h')
-rw-r--r--src/devices/machine/idectrl.h27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/devices/machine/idectrl.h b/src/devices/machine/idectrl.h
index c0e84e3c562..21b129d7320 100644
--- a/src/devices/machine/idectrl.h
+++ b/src/devices/machine/idectrl.h
@@ -13,7 +13,7 @@
#pragma once
-#include "ataintf.h"
+#include "bus/ata/ataintf.h"
class ide_controller_device : public abstract_ata_interface_device
{
@@ -46,10 +46,10 @@ public:
void write_cs0(offs_t offset, uint16_t data, uint16_t mem_mask = 0xffff);
void write_cs1(offs_t offset, uint16_t data, uint16_t mem_mask = 0xffff);
- DECLARE_READ16_MEMBER(cs0_r) { return read_cs0(offset, mem_mask); }
- DECLARE_READ16_MEMBER(cs1_r) { return read_cs1(offset, mem_mask); }
- DECLARE_WRITE16_MEMBER(cs0_w) { write_cs0(offset, data, mem_mask); }
- DECLARE_WRITE16_MEMBER(cs1_w) { write_cs1(offset, data, mem_mask); }
+ uint16_t cs0_r(offs_t offset, uint16_t mem_mask = ~0) { return read_cs0(offset, mem_mask); }
+ uint16_t cs1_r(offs_t offset, uint16_t mem_mask = ~0) { return read_cs1(offset, mem_mask); }
+ void cs0_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0) { write_cs0(offset, data, mem_mask); }
+ void cs1_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0) { write_cs1(offset, data, mem_mask); }
protected:
ide_controller_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -89,10 +89,10 @@ public:
void write_cs0(offs_t offset, uint32_t data, uint32_t mem_mask = 0xffffffff);
void write_cs1(offs_t offset, uint32_t data, uint32_t mem_mask = 0xffffffff);
- DECLARE_READ32_MEMBER(cs0_r) { return read_cs0(offset, mem_mask); }
- DECLARE_READ32_MEMBER(cs1_r) { return read_cs1(offset, mem_mask); }
- DECLARE_WRITE32_MEMBER(cs0_w) { write_cs0(offset, data, mem_mask); }
- DECLARE_WRITE32_MEMBER(cs1_w) { write_cs1(offset, data, mem_mask); }
+ uint32_t cs0_r(offs_t offset, uint32_t mem_mask = ~0) { return read_cs0(offset, mem_mask); }
+ uint32_t cs1_r(offs_t offset, uint32_t mem_mask = ~0) { return read_cs1(offset, mem_mask); }
+ void cs0_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0) { write_cs0(offset, data, mem_mask); }
+ void cs1_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0) { write_cs1(offset, data, mem_mask); }
protected:
ide_controller_32_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -105,7 +105,8 @@ class bus_master_ide_controller_device : public ide_controller_32_device
{
public:
bus_master_ide_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
- template <typename T> void set_bus_master_space(T &&bmtag, int bmspace) { m_dma_space.set_tag(std::forward<T>(bmtag), bmspace); }
+ template <typename... T> void set_bus_master_space(T &&... args) { m_dma_space.set_tag(std::forward<T>(args)...); }
+ template <bool R> void set_bus_master_space(const address_space_finder<R> &finder) { m_dma_space.set_tag(finder); }
template <typename T> bus_master_ide_controller_device &master(T &&opts, const char *dflt = nullptr, bool fixed = false)
{
@@ -128,11 +129,11 @@ public:
return *this;
}
- DECLARE_READ32_MEMBER( bmdma_r );
- DECLARE_WRITE32_MEMBER( bmdma_w );
+ uint32_t bmdma_r(offs_t offset, uint32_t mem_mask = ~0);
+ void bmdma_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
protected:
- virtual void device_start() override;
+ virtual void device_start() override ATTR_COLD;
virtual void set_irq(int state) override;
virtual void set_dmarq(int state) override;