summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/atadev.h
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2015-09-13 08:41:44 +0200
committer Miodrag Milanovic <mmicko@gmail.com>2015-09-13 08:41:44 +0200
commitf88cefad27a1737c76e09d99c9fb43e173506081 (patch)
tree2d8167d03579c46e226471747eb4407bd00ed6fa /src/devices/machine/atadev.h
parente92ac9e0fa8e99869894bea00589bbb526be30aa (diff)
Move all devices into separate part of src tree (nw)
Diffstat (limited to 'src/devices/machine/atadev.h')
-rw-r--r--src/devices/machine/atadev.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/devices/machine/atadev.h b/src/devices/machine/atadev.h
new file mode 100644
index 00000000000..3b96a6b580c
--- /dev/null
+++ b/src/devices/machine/atadev.h
@@ -0,0 +1,44 @@
+// license:BSD-3-Clause
+// copyright-holders:smf
+/***************************************************************************
+
+ atadev.h
+
+ ATA Device implementation.
+
+***************************************************************************/
+
+#pragma once
+
+#ifndef __ATADEV_H__
+#define __ATADEV_H__
+
+#include "emu.h"
+
+// ======================> ata_device_interface
+
+class ata_device_interface
+{
+public:
+ ata_device_interface(const machine_config &mconfig, device_t &device);
+ virtual ~ata_device_interface() {}
+
+ virtual UINT16 read_dma() = 0;
+ virtual DECLARE_READ16_MEMBER(read_cs0) = 0;
+ virtual DECLARE_READ16_MEMBER(read_cs1) = 0;
+
+ virtual void write_dma(UINT16 data) = 0;
+ virtual DECLARE_WRITE16_MEMBER(write_cs0) = 0;
+ virtual DECLARE_WRITE16_MEMBER(write_cs1) = 0;
+ virtual DECLARE_WRITE_LINE_MEMBER(write_dmack) = 0;
+ virtual DECLARE_WRITE_LINE_MEMBER(write_csel) = 0;
+ virtual DECLARE_WRITE_LINE_MEMBER(write_dasp) = 0;
+ virtual DECLARE_WRITE_LINE_MEMBER(write_pdiag) = 0;
+
+ devcb_write_line m_irq_handler;
+ devcb_write_line m_dmarq_handler;
+ devcb_write_line m_dasp_handler;
+ devcb_write_line m_pdiag_handler;
+};
+
+#endif