|
|
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:
1.1.1.2 ! root 22: void ResetHard() override;
! 23:
1.1 root 24: void IntFDC();
25:
26: protected:
27: // BusIO インタフェース
28: static const uint32 NPORT = 8;
29: uint64 Read(uint32 addr);
30: uint64 Write(uint32 addr, uint32 data);
31: uint64 Peek(uint32 addr);
32:
33: private:
1.1.1.2 ! root 34: bool hdd_int {};
! 35: bool fdc_int {};
! 36: bool fdd_int {};
! 37: bool prt_int {};
! 38: bool hdd_en {};
! 39: bool fdc_en {};
! 40: bool fdd_en {};
! 41: bool prt_en {};
! 42: uint8 vector {};
1.1 root 43: };
44:
45: 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.