|
|
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 {}; ! 34: IODevice *nulldev {}; ! 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.