--- nono/vm/rom.h 2026/04/29 17:04:36 1.1.1.2 +++ nono/vm/rom.h 2026/04/29 17:04:55 1.1.1.6 @@ -9,13 +9,14 @@ #include "device.h" #include "mappedfile.h" -class ROMDevice - : public IODevice +class ROMDevice : public IODevice { using inherited = IODevice; public: - ROMDevice(); - ~ROMDevice() override; + ROMDevice(const std::string& objname_); + virtual ~ROMDevice() override; + + void ResetHard() override; uint64 Read8(uint32 addr) override; uint64 Read16(uint32 addr) override; @@ -25,11 +26,14 @@ class ROMDevice uint64 Write32(uint32 addr, uint32 data) override; uint64 Peek8(uint32 addr) override; + // アクセスウェイトを設定 + void SetWait(uint32 wait_) { wait = wait_; } + protected: bool LoadROM(const char *name, int size); // アドレスマスク - uint32 mask = 0; + uint32 mask {}; // オープンしているファイル std::string filename {}; @@ -39,5 +43,8 @@ class ROMDevice // 通常は ROM イメージファイルを読み込むだけなので // mem = file.GetPtr() となる。 // ROM イメージを自分で用意したい場合はこれを適当なところにむけてどうぞ。 - uint8 *mem = NULL; + uint8 *mem {}; + + // アクセスウェイト + uint32 wait {}; };