--- nono/vm/mainram.h 2026/04/29 17:05:18 1.1 +++ nono/vm/mainram.h 2026/04/29 17:05:25 1.1.1.2 @@ -18,32 +18,33 @@ class MainRAMDevice : public IODevice using inherited = IODevice; public: MainRAMDevice(); - virtual ~MainRAMDevice() override; + ~MainRAMDevice() override; bool Init() 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 Write32(uint32 addr, uint32 data) override; - uint64 Peek8(uint32 addr) override; - uint64 Poke8(uint32 addr, uint32 data) 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 Write32(uint32 addr, uint32 data) override; + busdata Peek8(uint32 addr) override; + bool Poke8(uint32 addr, uint32 data) override; // RAM 容量(バイト単位)を取得 int GetSize() const { return ram_size; } // RAM 容量(MB単位)を取得 int GetSizeMB() const { return (uint)ram_size / 1024 / 1024; } - // アクセスウェイトを設定 + // アクセスウェイト [clock] を設定 void SetWait(uint32 wait); - // path で指定されたホストファイルをロードする - bool LoadFromFile(LoadInfo *); - // data, size で指定されたバッファをロードする - bool LoadFromData(LoadInfo *); + // info で指定された実行ファイルをロードする + bool LoadExec(LoadInfo *); + + // info で指定されたデータファイルをロードする + bool LoadData(LoadInfo *); static std::unique_ptr mainram; @@ -51,8 +52,9 @@ class MainRAMDevice : public IODevice // RAM 容量(バイト単位)。ram[] の確保したバイト数 int ram_size {}; - uint32 read_wait {}; - uint32 write_wait {}; + // アクセスウェイト + busdata read_wait {}; + busdata write_wait {}; }; static inline MainRAMDevice *GetMainRAMDevice() {