--- nono/vm/subram.cpp 2026/04/29 17:05:18 1.1.1.1 +++ nono/vm/subram.cpp 2026/04/29 17:05:25 1.1.1.2 @@ -43,14 +43,14 @@ SubRAMBaseDevice::ResetHard(bool poweron } // アドレスデコーダ -inline uint64 +inline uint32 SubRAMBaseDevice::Decoder(uint32 addr) const { // たぶん 128KB というかサイズ分で折り返しイメージが見えるはず。要確認。 return addr % ramsize; } -uint64 +busdata SubRAMBaseDevice::Read8(uint32 addr) { uint32 offset = Decoder(addr); @@ -59,7 +59,7 @@ SubRAMBaseDevice::Read8(uint32 addr) return data; } -uint64 +busdata SubRAMBaseDevice::Read16(uint32 addr) { uint32 offset = Decoder(addr); @@ -70,7 +70,7 @@ SubRAMBaseDevice::Read16(uint32 addr) return data; } -uint64 +busdata SubRAMBaseDevice::Read32(uint32 addr) { uint32 offset = Decoder(addr); @@ -83,7 +83,7 @@ SubRAMBaseDevice::Read32(uint32 addr) return data; } -uint64 +busdata SubRAMBaseDevice::Write8(uint32 addr, uint32 data) { putlog(3, "$%08x.B <- $%02x", addr, data); @@ -93,7 +93,7 @@ SubRAMBaseDevice::Write8(uint32 addr, ui return 0; } -uint64 +busdata SubRAMBaseDevice::Write16(uint32 addr, uint32 data) { putlog(3, "$%08x.W <- $%04x", addr, data); @@ -104,7 +104,7 @@ SubRAMBaseDevice::Write16(uint32 addr, u return 0; } -uint64 +busdata SubRAMBaseDevice::Write32(uint32 addr, uint32 data) { putlog(3, "$%08x.L <- $%08x", addr, data); @@ -117,21 +117,21 @@ SubRAMBaseDevice::Write32(uint32 addr, u return 0; } -uint64 +busdata SubRAMBaseDevice::Peek8(uint32 addr) { uint32 offset = Decoder(addr); return ram[offset]; } -uint64 +bool SubRAMBaseDevice::Poke8(uint32 addr, uint32 data) { if ((int32)data >= 0) { uint32 offset = Decoder(addr); ram[offset] = data; } - return 0; + return true; }