|
|
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 PartialRAMDevice : public IODevice
12: {
13: using inherited = IODevice;
14: public:
15: PartialRAMDevice();
16: virtual ~PartialRAMDevice() override;
17:
18: bool Init() override;
19:
20: uint64 Read8(uint32 addr) override;
21: uint64 Read16(uint32 addr) override;
22: uint64 Read32(uint32 addr) override;
23: uint64 Write8(uint32 addr, uint32 data) override;
24: uint64 Write16(uint32 addr, uint32 data) override;
25: uint64 Write32(uint32 addr, uint32 data) override;
26: uint64 Peek8(uint32 addr) override;
27:
28: private:
29: inline IODevice *SearchDevice(uint32 addr) const;
30:
31: uint32 ram_size {};
32:
33: IODevice *ramdev {};
1.1.1.2 ! root 34: IODevice *nopdev {};
1.1 root 35: };
36:
37: extern std::unique_ptr<PartialRAMDevice> gPartialRAM;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.