|
|
1.1 ! root 1: // ! 2: // nono ! 3: // Copyright (C) 2020 nono project ! 4: // Licensed under nono-license.txt ! 5: // ! 6: ! 7: #pragma once ! 8: ! 9: #include "device.h" ! 10: ! 11: class IOCtlrDevice ! 12: : public IODevice ! 13: { ! 14: using inherited = IODevice; ! 15: private: ! 16: static const int baseaddr = 0xe9c000; ! 17: ! 18: public: ! 19: IOCtlrDevice(); ! 20: ~IOCtlrDevice() override; ! 21: ! 22: void IntFDC(); ! 23: ! 24: protected: ! 25: // BusIO インタフェース ! 26: static const uint32 NPORT = 8; ! 27: uint64 Read(uint32 addr); ! 28: uint64 Write(uint32 addr, uint32 data); ! 29: uint64 Peek(uint32 addr); ! 30: ! 31: private: ! 32: bool hdd_int = false; ! 33: bool fdc_int = false; ! 34: bool fdd_int = false; ! 35: bool prt_int = false; ! 36: bool hdd_en = false; ! 37: bool fdc_en = false; ! 38: bool fdd_en = false; ! 39: bool prt_en = false; ! 40: uint8 vector = 0; ! 41: }; ! 42: ! 43: extern std::unique_ptr<IOCtlrDevice> gIOCtlr;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.