|
|
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.