--- nono/vm/rom.cpp 2026/04/29 17:04:36 1.1.1.3 +++ nono/vm/rom.cpp 2026/04/29 17:04:42 1.1.1.4 @@ -26,6 +26,12 @@ ROMDevice::~ROMDevice() { } +void +ROMDevice::ResetHard() +{ + wait = 0; +} + // name の ROM を探してロードする。 // name はパスを含まないファイル名のみ。パスはこちらで探す。 // mem は file をさす。 @@ -53,12 +59,14 @@ ROMDevice::LoadROM(const char *name, int uint64 ROMDevice::Read8(uint32 addr) { + gMPU->AddCycle(wait); return mem[addr & mask]; } uint64 ROMDevice::Read16(uint32 addr) { + gMPU->AddCycle(wait); uint16 data; data = *(uint16 *)&mem[addr & mask]; return be16toh(data); @@ -67,6 +75,7 @@ ROMDevice::Read16(uint32 addr) uint64 ROMDevice::Read32(uint32 addr) { + gMPU->AddCycle(wait); uint32 data; data = *(uint32 *)&mem[addr & mask]; return be32toh(data); @@ -75,18 +84,21 @@ ROMDevice::Read32(uint32 addr) uint64 ROMDevice::Write8(uint32 addr, uint32 data) { + gMPU->AddCycle(wait); // ? return (uint64)-1; } uint64 ROMDevice::Write16(uint32 addr, uint32 data) { + gMPU->AddCycle(wait); // ? return (uint64)-1; } uint64 ROMDevice::Write32(uint32 addr, uint32 data) { + gMPU->AddCycle(wait); // ? return (uint64)-1; }