//--------------------------------------------------------------------------- // // SCSI Target Emulator RaSCSI Reloaded // for Raspberry Pi // // Copyright (C) 2001-2006 PI.(ytanaka@ipc-tokai.or.jp) // Copyright (C) 2014-2020 GIMONS // Copyright (C) akuker // // Licensed under the BSD 3-Clause License. // See LICENSE file in the project root folder. // // [ SCSI NEC "Genuine" Hard Disk] // //--------------------------------------------------------------------------- #pragma once #include "scsihd.h" #include #include using namespace std; //=========================================================================== // // SCSI hard disk (PC-9801-55 NEC genuine / Anex86 / T98Next) // //=========================================================================== class SCSIHD_NEC : public SCSIHD { public: explicit SCSIHD_NEC(int lun) : SCSIHD(lun, sector_sizes, false) {} ~SCSIHD_NEC() override = default; void Open(const Filepath&) override; vector InquiryInternal() const override; void AddErrorPage(map>&, bool) const override; void AddFormatPage(map>&, bool) const override; void AddDrivePage(map>&, bool) const override; private: static const unordered_set sector_sizes; // Image file offset (NEC only) off_t image_offset = 0; // Geometry data int cylinders = 0; int heads = 0; int sectors = 0; };