--- nono/vm/mainram.h 2026/04/29 17:05:25 1.1.1.2 +++ nono/vm/mainram.h 2026/04/29 17:05:29 1.1.1.3 @@ -23,14 +23,16 @@ class MainRAMDevice : public IODevice bool Init() override; void ResetHard(bool poweron) 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; + busdata Read(busaddr addr) override; + busdata Write(busaddr addr, uint32 data) override; + busdata ReadBurst16(busaddr addr, uint32 *dst) override; + busdata WriteBurst16(busaddr addr, const uint32 *dst) override; + busdata Peek1(uint32 addr) override; + bool Poke1(uint32 addr, uint32 data) override; + + // 領域アクセス + bool ReadMem(uint32 addr, void *dst, uint32 len); + bool WriteMem(uint32 addr, const void *src, uint32 len); // RAM 容量(バイト単位)を取得 int GetSize() const { return ram_size; } @@ -38,7 +40,7 @@ class MainRAMDevice : public IODevice int GetSizeMB() const { return (uint)ram_size / 1024 / 1024; } // アクセスウェイト [clock] を設定 - void SetWait(uint32 wait); + void SetWait(uint32 wait_clock); // info で指定された実行ファイルをロードする bool LoadExec(LoadInfo *); @@ -53,8 +55,8 @@ class MainRAMDevice : public IODevice int ram_size {}; // アクセスウェイト - busdata read_wait {}; - busdata write_wait {}; + busdata normal_wait {}; + busdata burst_wait {}; }; static inline MainRAMDevice *GetMainRAMDevice() {