--- nono/debugger/debugger_m680x0.cpp 2026/04/29 17:05:16 1.1.1.9 +++ nono/debugger/debugger_m680x0.cpp 2026/04/29 17:05:24 1.1.1.10 @@ -20,7 +20,7 @@ DebuggerMD_m680x0::DebuggerMD_m680x0(Deb : inherited(parent_, CPUArch::M680x0) { // この時点で Get*Device() は使える - cpu = GetMPU680x0Device(); + cpu = GetMPU680x0Device(parent->mpu); bus = GetMainbusDevice(); // 機種依存変数 @@ -37,17 +37,10 @@ DebuggerMD_m680x0::~DebuggerMD_m680x0() } // アドレス変換 -uint64 -DebuggerMD_m680x0::TranslateAddr(saddr_t laddr, bool lookup) const +busaddr +DebuggerMD_m680x0::TranslateAddr(busaddr laddr) const { - uint fc; - - fc = laddr.IsData() ? M68K::FC_DATA : M68K::FC_PROG; - if (laddr.IsSuper()) { - fc |= M68K::FC_SUPER; - } - - return cpu->TranslatePeek((uint32)laddr, fc, lookup); + return cpu->TranslatePeek(laddr); } // op が 68030 の条件命令 Bcc, Scc, TRAPcc, DBcc なら true を返す。 @@ -193,6 +186,7 @@ DebuggerMD_m680x0::IsOpStepIn(DebuggerMe || (op & 0xf0f8) == 0x50f8 // TRAPcc || (op & 0xff00) == 0x6100 // BSR || (op & 0xfff8) == 0xf278 // FTRAPcc + || (op & 0xfe00) == 0xfe00 // DOS($FFxx), FPACK($FExx) ) { return true; } @@ -606,8 +600,8 @@ DebuggerMD_m680x0::ShowRegOther() s.Print(0, 1, EM(caar), "CAAR:%08x", cpu->reg.caar); s.Print(15, 0, EM(vbr), "VBR:%08x", cpu->reg.vbr); - s.Print(15, 1, EM(sfc), "SFC:%d", cpu->reg.sfc); - s.Print(22, 1, EM(dfc), "DFC:%d", cpu->reg.dfc); + s.Print(15, 1, EM(sfc), "SFC:%d", cpu->reg.GetSFC()); + s.Print(22, 1, EM(dfc), "DFC:%d", cpu->reg.GetDFC()); // スタック欄はモードによって表示を変える。 // ユーザ 割り込み マスタ