--- nono/vm/gvram.h 2026/04/29 17:04:35 1.1.1.3 +++ nono/vm/gvram.h 2026/04/29 17:05:28 1.1.1.9 @@ -4,26 +4,28 @@ // Licensed under nono-license.txt // +// +// GVRAM +// + #pragma once #include "device.h" -class GVRAMDevice - : public IODevice +class GVRAMDevice : public IODevice { using inherited = IODevice; + static const uint32 baseaddr = 0xc0'0000; public: GVRAMDevice(); ~GVRAMDevice() override; - uint64 Read8(uint32 addr) override; - uint64 Read16(uint32 addr) override; - uint64 Write8(uint32 addr, uint32 data) override; - uint64 Write16(uint32 addr, uint32 data) override; - uint64 Peek8(uint32 addr) override; + busdata Read(busaddr addr) override; + busdata Write(busaddr addr, uint32 data) override; + busdata Peek1(uint32 addr) override; private: + inline uint32 Decoder(uint32 addr) const; + std::unique_ptr mem {}; }; - -extern std::unique_ptr gGVRAM;