|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2017 [email protected]
4: //
5:
6: #pragma once
7:
8: #include "device.h"
9: #include "upd7201.h"
10:
11: class SCCDevice
12: : public uPD7201Device
13: {
14: typedef uPD7201Device inherited;
15: private:
16: static const int baseaddr = 0xe98000;
17:
18: public:
19: SCCDevice();
20: virtual ~SCCDevice();
21:
22: virtual void ResetHard();
23:
24: virtual uint64 Read8(uint32 addr);
25: virtual uint64 Read16(uint32 addr);
26: virtual uint64 Write8(uint32 addr, uint32 data);
27: virtual uint64 Write16(uint32 addr, uint32 data);
28: virtual uint64 Peek8(uint32 addr);
29:
30: // XXX 親の同名メソッドと名前分けたほうがいいか
31: virtual uint8 ReadCtrl(struct SIO::channel *chan);
32: virtual void WriteCtrl(struct SIO::channel *chan, uint32 data);
33:
34: virtual void Interrupt();
1.1.1.2 ! root 35:
! 36: private:
! 37: // アドレスデコーダ
! 38: uint64 Decoder(uint32 addr) const;
1.1 root 39: };
1.1.1.2 ! root 40:
! 41: extern std::unique_ptr<SCCDevice> gSCC;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.