--- nono/vm/areaset.h 2026/04/29 17:04:28 1.1 +++ nono/vm/areaset.h 2026/04/29 17:05:09 1.1.1.7 @@ -1,29 +1,33 @@ // // nono -// Copyright (C) 2017 isaki@NetBSD.org +// Copyright (C) 2020 nono project +// Licensed under nono-license.txt // #pragma once #include "device.h" -class AreaSetDevice - : public IODevice +class AreaSetDevice : public IODevice { - typedef IODevice inherited; - private: + using inherited = IODevice; + static const int baseaddr = 0xe86000; public: AreaSetDevice(); - virtual ~AreaSetDevice(); + virtual ~AreaSetDevice() override; - virtual uint64 Read8(uint32 addr); - virtual uint64 Read16(uint32 addr); - virtual uint64 Write8(uint32 addr, uint32 data); - virtual uint64 Write16(uint32 addr, uint32 data); - virtual uint64 Peek8(uint32 addr); + void ResetHard(bool poweron) 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; private: - uint8 limit = 0; + uint8 limit {}; }; + +extern AreaSetDevice *gAreaSet;