--- nono/vm/dmac.cpp 2026/04/29 17:04:44 1.1.1.6 +++ nono/vm/dmac.cpp 2026/04/29 17:04:50 1.1.1.7 @@ -8,7 +8,6 @@ #include "bus.h" #include "interrupt.h" #include "mpu680x0.h" -#include "mystring.h" std::unique_ptr gDMAC; @@ -75,16 +74,16 @@ DMACDevice::ResetHard() } uint64 -DMACDevice::Read(uint32 addr) +DMACDevice::Read(uint32 offset) { uint8 data; int ch; gMPU->AddCycle(37); // InsideOut p.135 - ch = addr / 0x40; + ch = offset / 0x40; DMAC::Channel *chan = &dmac.chan[ch]; - int n = addr % 0x40; + int n = offset % 0x40; switch (n) { case DMAC::CSR: data = chan->PeekCSR(); @@ -234,15 +233,15 @@ DMACDevice::Read(uint32 addr) } uint64 -DMACDevice::Write(uint32 addr, uint32 data) +DMACDevice::Write(uint32 offset, uint32 data) { int ch; gMPU->AddCycle(31); // InsideOut p.135 - ch = addr / 0x40; + ch = offset / 0x40; DMAC::Channel *chan = &dmac.chan[ch]; - int n = addr % 0x40; + int n = offset % 0x40; switch (n) { case DMAC::CSR: chan->WriteCSR(data); @@ -387,14 +386,14 @@ DMACDevice::Write(uint32 addr, uint32 da } uint64 -DMACDevice::Peek(uint32 addr) +DMACDevice::Peek(uint32 offset) { uint8 data; int ch; - ch = addr / 0x40; + ch = offset / 0x40; const DMAC::Channel *chan = &dmac.chan[ch]; - int n = addr % 0x40; + int n = offset % 0x40; switch (n) { case DMAC::CSR: data = chan->PeekCSR(); @@ -794,7 +793,8 @@ DMAC::Channel::WriteCSR(uint32 data) prev_pcl = false; } - parent->putlog(4, "#%d CSR <- $%02x (CSR = $%02x)", ch, data, PeekCSR()); + parent->putlogf(4, lstr("#%d CSR <- $%02x (CSR = $%02x)", + ch, data, PeekCSR())); } // CCR への書き込み。 @@ -815,12 +815,12 @@ DMAC::Channel::WriteCCR(uint32 data) // HLT (Halt Operation) if ((data & DMAC::CCR_HLT)) { - parent->putlog(0, "CCR HLT 未実装"); + parent->putlogf(0, lstr("CCR HLT 未実装")); } // CNT (Continue Operation) if ((data & DMAC::CCR_CNT)) { - parent->putlog(0, "CCR CNT 未実装"); + parent->putlogf(0, lstr("CCR CNT 未実装")); } // STR (Start Operation)