--- nono/vm/device.cpp 2026/04/29 17:05:18 1.1.1.9 +++ nono/vm/device.cpp 2026/04/29 17:05:25 1.1.1.10 @@ -111,31 +111,31 @@ IODevice::Init() return true; } -uint64 +busdata IODevice::Read8(uint32 addr) { return 0xff; } -uint64 +busdata IODevice::Read16(uint32 addr) { return (Read8(addr) << 8) | Read8(addr + 1); } -uint64 +busdata IODevice::Read32(uint32 addr) { return (Read16(addr) << 16) | Read16(addr + 2); } -uint64 +busdata IODevice::Write8(uint32 addr, uint32 data) { return 0; } -uint64 +busdata IODevice::Write16(uint32 addr, uint32 data) { int64 berr; @@ -149,7 +149,7 @@ IODevice::Write16(uint32 addr, uint32 da return 0; } -uint64 +busdata IODevice::Write32(uint32 addr, uint32 data) { int64 berr; @@ -163,54 +163,22 @@ IODevice::Write32(uint32 addr, uint32 da return 0; } -uint64 +busdata IODevice::Peek8(uint32 addr) { return 0xff; } -uint64 +bool IODevice::Poke8(uint32 addr, uint32 data) { - return (uint64)-1; + return false; } -uint64 +bool IODevice::Poke(uint32 addr, uint32 data) { - return (uint64)-1; -} - - -// -// IOContainerDevice -// - -// コンストラクタ -IOContainerDevice::IOContainerDevice(int objid_) - : inherited(objid_) -{ -} - -// デストラクタ -IOContainerDevice::~IOContainerDevice() -{ -} - -// このアドレスを担当する IODevice を再帰的に探して返す。 -IODevice * -IOContainerDevice::FindDevice(uint32 addr) const -{ - IODevice *d = GetDevice(addr); - IOContainerDevice *cd = dynamic_cast(d); - - if (cd) { - // 次段はコンテナデバイス - return cd->FindDevice(addr); - } else { - // 次段は終端のデバイス - return d; - } + return false; } @@ -231,52 +199,52 @@ BusErrDevice::~BusErrDevice() { } -uint64 +busdata BusErrDevice::Read8(uint32 addr) { putlog(1, "$%08x.b", addr); - return (uint64)-1; + return busdata::BusErr; } -uint64 +busdata BusErrDevice::Read16(uint32 addr) { putlog(1, "$%08x.w", addr); - return (uint64)-1; + return busdata::BusErr; } -uint64 +busdata BusErrDevice::Read32(uint32 addr) { putlog(1, "$%08x.l", addr); - return (uint64)-1; + return busdata::BusErr; } -uint64 +busdata BusErrDevice::Write8(uint32 addr, uint32 data) { putlog(1, "$%08x.b <- %02X", addr, data); - return (uint64)-1; + return busdata::BusErr; } -uint64 +busdata BusErrDevice::Write16(uint32 addr, uint32 data) { putlog(1, "$%08x.w <- %04X", addr, data); - return (uint64)-1; + return busdata::BusErr; } -uint64 +busdata BusErrDevice::Write32(uint32 addr, uint32 data) { putlog(1, "$%08x.l <- %08X", addr, data); - return (uint64)-1; + return busdata::BusErr; } -uint64 +busdata BusErrDevice::Peek8(uint32 addr) { - return (uint64)-1; + return busdata::BusErr; } @@ -297,49 +265,49 @@ NopIODevice::~NopIODevice() { } -uint64 +busdata NopIODevice::Read8(uint32 addr) { putlog(1, "$%08x.b", addr); return 0xff; } -uint64 +busdata NopIODevice::Read16(uint32 addr) { putlog(1, "$%08x.w", addr); return 0xffff; } -uint64 +busdata NopIODevice::Read32(uint32 addr) { putlog(1, "$%08x.l", addr); return 0xffffffff; } -uint64 +busdata NopIODevice::Write8(uint32 addr, uint32 data) { putlog(1, "$%08x.b <- $%02x", addr, data); return 0; } -uint64 +busdata NopIODevice::Write16(uint32 addr, uint32 data) { putlog(1, "$%08x.w <- $%04x", addr, data); return 0; } -uint64 +busdata NopIODevice::Write32(uint32 addr, uint32 data) { putlog(1, "$%08x.l <- $%08x", addr, data); return 0; } -uint64 +busdata NopIODevice::Peek8(uint32 addr) { return 0xff;