--- nono/vm/mpu.h 2026/04/29 17:04:55 1.1.1.8 +++ nono/vm/mpu.h 2026/04/29 17:04:59 1.1.1.9 @@ -48,6 +48,17 @@ class MPUDevice : public Device // 割り込み発生を MPU に通知 virtual void Interrupt(int level) = 0; + // MPU からのアクセスをエミュレートする。 + // アドレスは論理アドレス。 + // 空間は現在のデータ空間。 + // アクセスエラーは (int64)-1 を返す。 + virtual uint64 Read8(uint32 addr) = 0; + virtual uint64 Read16(uint32 addr) = 0; + virtual uint64 Read32(uint32 addr) = 0; + virtual uint64 Write8(uint32 addr, uint32 data) = 0; + virtual uint64 Write16(uint32 addr, uint32 data) = 0; + virtual uint64 Write32(uint32 addr, uint32 data) = 0; + protected: int clock_khz {}; // MPU クロック [kHz] };