diff options
author | Olivier Galibert <galibert@pobox.com> | 2019-01-22 22:20:54 +0100 |
---|---|---|
committer | Olivier Galibert <galibert@pobox.com> | 2019-01-22 22:20:54 +0100 |
commit | 9ef08696cc5e709af1bf66d44ae472cd80449484 (patch) | |
tree | 8b3c1c7e03b0eea1d3ebc7fb1af046a4e62db676 /src/devices/machine/wd33c93.h | |
parent | f7bec53c14051e01b2f8bc205d6d5e0da687d77d (diff) |
wd33c9x: Convert the remaining drivers, kill the old driver [O. Galibert]
Diffstat (limited to 'src/devices/machine/wd33c93.h')
-rw-r--r-- | src/devices/machine/wd33c93.h | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/src/devices/machine/wd33c93.h b/src/devices/machine/wd33c93.h deleted file mode 100644 index b4a883afca4..00000000000 --- a/src/devices/machine/wd33c93.h +++ /dev/null @@ -1,112 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:ElSemi, R. Belmont, Ryan Holtz -/* - * wd33c93.h - * - */ - -#ifndef MAME_MACHINE_WD33C93_H -#define MAME_MACHINE_WD33C93_H - -#pragma once - -#include "legscsi.h" - -class wd33c93_device : public legacy_scsi_host_adapter -{ -public: - // construction/destruction - wd33c93_device(const machine_config &mconfig, const char *tag, device_t *owner) - : wd33c93_device(mconfig, tag, owner, (uint32_t)0) - { - } - - wd33c93_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - - auto irq_cb() { return m_irq_cb.bind(); } - - DECLARE_READ8_MEMBER(read); - DECLARE_WRITE8_MEMBER(write); - - int dma_read_data(int bytes, uint8_t *data); - void dma_write_data(int bytes, uint8_t *data); - void clear_dma(); - int get_dma_count(); - -protected: - // device-level overrides - virtual void device_start() override; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; - -private: - // wd register names - enum - { - WD_OWN_ID = 0x00, - WD_CONTROL = 0x01, - WD_TIMEOUT_PERIOD = 0x02, - WD_CDB_1 = 0x03, - WD_CDB_2 = 0x04, - WD_CDB_3 = 0x05, - WD_CDB_4 = 0x06, - WD_CDB_5 = 0x07, - WD_CDB_6 = 0x08, - WD_CDB_7 = 0x09, - WD_CDB_8 = 0x0a, - WD_CDB_9 = 0x0b, - WD_CDB_10 = 0x0c, - WD_CDB_11 = 0x0d, - WD_CDB_12 = 0x0e, - WD_TARGET_LUN = 0x0f, - WD_COMMAND_PHASE = 0x10, - WD_SYNCHRONOUS_TRANSFER = 0x11, - WD_TRANSFER_COUNT_MSB = 0x12, - WD_TRANSFER_COUNT = 0x13, - WD_TRANSFER_COUNT_LSB = 0x14, - WD_DESTINATION_ID = 0x15, - WD_SOURCE_ID = 0x16, - WD_SCSI_STATUS = 0x17, - WD_COMMAND = 0x18, - WD_DATA = 0x19, - WD_QUEUE_TAG = 0x1a, - WD_AUXILIARY_STATUS = 0x1f - }; - - static constexpr int TEMP_INPUT_LEN = 262144; - static constexpr int FIFO_SIZE = 12; - - uint8_t getunit(); - void set_xfer_count(int count); - int get_xfer_count(); - void complete_immediate(int status); - void complete_cmd(uint8_t status); - void unimplemented_cmd(); - void invalid_cmd(); - void reset_cmd(); - void abort_cmd(); - void disconnect_cmd(); - void select_cmd(); - void selectxfer_cmd(); - void negate_ack(); - void xferinfo_cmd(); - void dispatch_command(); - - uint8_t m_sasr; - uint8_t m_regs[WD_AUXILIARY_STATUS+1]; - uint8_t m_fifo[FIFO_SIZE]; - int m_fifo_pos; - uint8_t m_temp_input[TEMP_INPUT_LEN]; - int m_temp_input_pos; - uint8_t m_busphase; - uint8_t m_identify; - bool m_read_pending; - emu_timer *m_cmd_timer; - emu_timer *m_service_req_timer; - emu_timer *m_deassert_cip_timer; - devcb_write_line m_irq_cb; /* irq callback */ -}; - -// device type definition -DECLARE_DEVICE_TYPE(WD33C93, wd33c93_device) - -#endif // MAME_MACHINE_WD33C93_H |