--- nono/vm/fuserom.h 2026/04/29 17:04:41 1.1.1.3 +++ nono/vm/fuserom.h 2026/04/29 17:06:00 1.1.1.10 @@ -4,9 +4,14 @@ // Licensed under nono-license.txt // +// +// FuseROM +// + #pragma once #include "device.h" +#include class FuseROMDevice : public IODevice { @@ -23,11 +28,18 @@ class FuseROMDevice : public IODevice protected: // BusIO インタフェース static const uint32 NPORT = SRCBYTES * 2; // XXX 未調査 - uint64 Read(uint32 addr); - uint64 Write(uint32 addr, uint32 data); - uint64 Peek(uint32 addr); + busdata ReadPort(uint32 offset); + busdata WritePort(uint32 offset, uint32 data); + busdata PeekPort(uint32 offset); + bool PokePort(uint32 offset, uint32 data); private: + uint8 GetByte(uint32 offset) const; + // バイトデータで保持しておく - uint8 src[SRCBYTES] {}; + std::array src {}; }; + +inline FuseROMDevice *GetFuseROMDevice() { + return Object::GetObject(OBJ_FUSEROM); +}