1 // license:BSD-3-Clause 2 // copyright-holders:Curt Coder 3 /********************************************************************** 4 5 Luxor XEBEC Winchester controller card emulation 6 7 *********************************************************************/ 8 9 #ifndef MAME_BUS_ABCBUS_HDC_H 10 #define MAME_BUS_ABCBUS_HDC_H 11 12 #pragma once 13 14 #include "abcbus.h" 15 #include "cpu/z80/z80.h" 16 #include "machine/z80daisy.h" 17 #include "bus/scsi/scsihd.h" 18 19 20 21 //************************************************************************** 22 // TYPE DEFINITIONS 23 //************************************************************************** 24 25 // ======================> abc_hdc_device 26 27 class abc_hdc_device : public device_t, 28 public device_abcbus_card_interface 29 { 30 public: 31 // construction/destruction 32 abc_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); 33 34 protected: 35 // device-level overrides 36 virtual void device_start() override; 37 virtual void device_reset() override; 38 39 // optional information overrides 40 virtual const tiny_rom_entry *device_rom_region() const override; 41 virtual void device_add_mconfig(machine_config &config) override; 42 43 // device_abcbus_interface overrides 44 virtual void abcbus_cs(uint8_t data) override; 45 46 private: 47 required_device<z80_device> m_maincpu; 48 49 void abc_hdc_io(address_map &map); 50 void abc_hdc_mem(address_map &map); 51 }; 52 53 54 // device type definition 55 DECLARE_DEVICE_TYPE(ABC_HDC, abc_hdc_device) 56 57 #endif // MAME_BUS_ABCBUS_HDC_H 58