summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/atapihle.h
diff options
context:
space:
mode:
author smf- <smf-@users.noreply.github.com>2013-09-17 18:23:52 +0000
committer smf- <smf-@users.noreply.github.com>2013-09-17 18:23:52 +0000
commit0839767cb356a6fe3d2512b8aaa317b0b17fc578 (patch)
tree3a62c7f1823b84fe21f4a15576ae460b31b6bce7 /src/emu/machine/atapihle.h
parent46781347cd06f6b837944c92da630f4d45232c34 (diff)
Use virtual multiple inheritance to share command processing between SCSI & ATAPI instead of having a SCSI subdevice. This allows matsushita_cr589_device & gdrom_device to derive from atapi_cdrom_device. [smf]
Diffstat (limited to 'src/emu/machine/atapihle.h')
-rw-r--r--src/emu/machine/atapihle.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/emu/machine/atapihle.h b/src/emu/machine/atapihle.h
index 0cddec5e0ee..94a16acd5ec 100644
--- a/src/emu/machine/atapihle.h
+++ b/src/emu/machine/atapihle.h
@@ -17,7 +17,8 @@
#include "atahle.h"
#include "scsihle.h"
-class atapi_hle_device : public ata_hle_device
+class atapi_hle_device : public ata_hle_device,
+ public virtual t10spc
{
public:
atapi_hle_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock,const char *shortname, const char *source);
@@ -50,6 +51,9 @@ public:
};
protected:
+ virtual void device_start();
+ virtual void device_reset();
+
virtual int sector_length() { return ATAPI_BUFFER_LENGTH; }
virtual void process_buffer();
virtual void fill_buffer();
@@ -68,7 +72,6 @@ private:
int m_packet;
int m_data_size;
- required_device<scsihle_device> m_scsidev_device;
static const int ATAPI_BUFFER_LENGTH = 0xf800;
};