--- nono/vm/nereid.h 2026/04/29 17:05:21 1.1 +++ nono/vm/nereid.h 2026/04/29 17:05:29 1.1.1.3 @@ -29,15 +29,16 @@ class NereidDevice : public IODevice bool Create() 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; // Nereid が1枚でもささっていれば true。 bool IsInstalled() const; + // Board デバイス取得。 + NereidBoardDevice *GetBoard(int id) const { return boards[id].get(); } + private: inline uint32 Decoder(uint32 addr) const; DECLARE_MONITOR_CALLBACK(MonitorUpdate); @@ -56,16 +57,14 @@ class NereidBoardDevice : public IODevic using inherited = IODevice; public: - NereidBoardDevice(int n_); + explicit NereidBoardDevice(int n_); ~NereidBoardDevice() override; bool Create() 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; // ネットワークが有効なら true を返す bool IsNetEnable() const { return (bool)net; }