--- nono/vm/tas.cpp 2026/04/29 17:05:25 1.1.1.9 +++ nono/vm/tas.cpp 2026/04/29 17:05:29 1.1.1.10 @@ -34,14 +34,18 @@ TASDevice::ResetHard(bool poweron) // まだ CPU から RMW サイクルを示す信号線が出ていない。 busdata -TASDevice::Read(uint32 offset) +TASDevice::ReadPort(uint32 offset) { - putlog(2, "Read 0x%02x", (uint8)tas); - return (uint32)tas.load(); + busdata data; + + data = (uint32)tas.load(); + putlog(2, "Read 0x%02x", data.Data()); + data |= BusData::Size1; + return data; } busdata -TASDevice::Write(uint32 offset, uint32 data) +TASDevice::WritePort(uint32 offset, uint32 data) { // data は bit7 のみ有効。data の bit7 は // LUNA-I では B 接続なので、各バイトの bit7 に相当、 @@ -49,11 +53,19 @@ TASDevice::Write(uint32 offset, uint32 d // 最上位ビット以外のビットは「不定」。 tas = data; putlog(1, "Write 0x%02x", data); - return 0; + + busdata r = BusData::Size1; + return r; } busdata -TASDevice::Peek(uint32 offset) +TASDevice::PeekPort(uint32 offset) { return (uint32)tas.load(); } + +bool +TASDevice::PokePort(uint32 offset, uint32 data) +{ + return false; +}