--- nono/vm/pluto.h 2026/04/29 17:04:55 1.1.1.7 +++ nono/vm/pluto.h 2026/04/29 17:05:24 1.1.1.10 @@ -4,6 +4,10 @@ // Licensed under nono-license.txt // +// +// Pluto-X (独自の仮想ボード) +// + #pragma once #include "device.h" @@ -12,18 +16,20 @@ class PlutoDevice : public IODevice { using inherited = IODevice; + static const uint baseaddr = 0xeac000; + public: PlutoDevice(); - virtual ~PlutoDevice() override; + ~PlutoDevice() override; - void ResetHard() override; + void ResetHard(bool poweron) override; - uint64 Read8(uint32 addr) override; - uint64 Read16(uint32 addr) override; - uint64 Read32(uint32 addr) override; - uint64 Write8(uint32 addr, uint32 data) override; - uint64 Write16(uint32 addr, uint32 data) override; - uint64 Peek8(uint32 addr) override; + busdata Read8(uint32 addr) override; + busdata Read16(uint32 addr) override; + busdata Read32(uint32 addr) override; + busdata Write8(uint32 addr, uint32 data) override; + busdata Write16(uint32 addr, uint32 data) override; + busdata Peek8(uint32 addr) override; private: // ROM @@ -45,5 +51,3 @@ class PlutoDevice : public IODevice timeval m_start {}; timeval m_total {}; }; - -extern std::unique_ptr gPluto;