--- nono/debugger/branchhistory.cpp 2026/04/29 17:04:53 1.1.1.4 +++ nono/debugger/branchhistory.cpp 2026/04/29 17:05:09 1.1.1.5 @@ -4,19 +4,25 @@ // Licensed under nono-license.txt // +// // ブランチ履歴 +// #include "branchhistory.h" #include "m68030core.h" #include "m88100.h" +#include "vectortable.h" // コンストラクタ BranchHistory::BranchHistory(bool is_exhist_) - : inherited(is_exhist_ ? "ExceptionHistory" : "BranchHistory") + : inherited(is_exhist_ ? "(ExceptionHistory)" : "(BranchHistory)") { is_exhist = is_exhist_; - monitor.func = (MonitorCallback_t)&BranchHistory::MonitorUpdate; + // ログは不要 + ClearAlias(); + + monitor.func = ToMonitorCallback(&BranchHistory::MonitorUpdate); monitor.SetSize(55, 33); if (is_exhist) { monitor.Regist(ID_SUBWIN_EXHIST); @@ -179,8 +185,8 @@ BranchHistory_m680x0::FormatEntry(const vector = 0; } // とりあえず - desc += string_format("<%3d> %s", vector, - m68030_get_exception_name(vector)); + const char *name = gVectorTable->GetExceptionName(vector); + desc += string_format("<%3d> %s", vector, name ?: ""); // XXX TODO 割り込みレベル } else { // 例外ベクタフェッチしてジャンプ @@ -265,7 +271,7 @@ BranchHistory_m88xx0::FormatEntry(const // 例外発生記録 // 発生アドレスとベクタを表示 uint32 vector = e.inst & 0x1ff; - const char *name = m88kcpu::GetExceptionName(vector); + const char *name = gVectorTable->GetExceptionName(vector); desc += string_format("<%3d> %s", vector, name ?: ""); if (vector == 450) { // OpenBSD のシステムコール番号