|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
5: //
6:
7: // TAS ポート
8:
9: #pragma once
10:
11: #include "device.h"
12: #include <atomic>
13:
14: class TASDevice
15: : public IODevice
16: {
17: using inherited = IODevice;
18: public:
19: TASDevice();
1.1.1.2 root 20: virtual ~TASDevice() override;
1.1 root 21:
1.1.1.4 ! root 22: void ResetHard() override;
! 23:
1.1 root 24: protected:
25: // BusIO インタフェース
26: static const uint32 NPORT = 1;
1.1.1.3 root 27: uint64 Read(uint32 offset);
28: uint64 Write(uint32 offset, uint32 data);
29: uint64 Peek(uint32 offset);
1.1 root 30:
31: private:
32: std::atomic<uint8> tas {}; // bit 7 のみ有効。
33: };
34:
35: extern std::unique_ptr<TASDevice> gTAS;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.