diff options
author | 2013-09-17 18:23:52 +0000 | |
---|---|---|
committer | 2013-09-17 18:23:52 +0000 | |
commit | 0839767cb356a6fe3d2512b8aaa317b0b17fc578 (patch) | |
tree | 3a62c7f1823b84fe21f4a15576ae460b31b6bce7 /src/emu/machine/atapihle.h | |
parent | 46781347cd06f6b837944c92da630f4d45232c34 (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.h | 7 |
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; }; |