--- nono/vm/fuserom.h 2026/04/29 17:04:32 1.1 +++ nono/vm/fuserom.h 2026/04/29 17:04:41 1.1.1.3 @@ -1,21 +1,33 @@ // // nono -// Copyright (C) 2020 isaki@NetBSD.org +// Copyright (C) 2020 nono project +// Licensed under nono-license.txt // #pragma once -#include "romimg.h" +#include "device.h" -class FuseROMDevice : public ROMDevice +class FuseROMDevice : public IODevice { - typedef ROMDevice inherited; + using inherited = IODevice; + + // この ROM が保持できるデータ量 (バイト数換算) + static const uint32 SRCBYTES = 128; public: FuseROMDevice(); - virtual ~FuseROMDevice(); + ~FuseROMDevice() override; + + bool Init() override; - bool Init(); + protected: + // BusIO インタフェース + static const uint32 NPORT = SRCBYTES * 2; // XXX 未調査 + uint64 Read(uint32 addr); + uint64 Write(uint32 addr, uint32 data); + uint64 Peek(uint32 addr); private: - uint8 src[1024]; + // バイトデータで保持しておく + uint8 src[SRCBYTES] {}; };