--- nono/debugger/vectortable.cpp 2026/04/29 17:05:09 1.1.1.1 +++ nono/debugger/vectortable.cpp 2026/04/29 17:05:13 1.1.1.2 @@ -17,7 +17,7 @@ VectorTable *gVectorTable; // コンストラクタ -VectorTable::VectorTable(int vmtype) +VectorTable::VectorTable(VMType vmtype) : inherited("(VectorTable)") { // ログは不要 @@ -25,17 +25,20 @@ VectorTable::VectorTable(int vmtype) // 表示名を作成。それぞれ微妙に処理が違う… switch (vmtype) { - case VMTYPE_X68030: - case VMTYPE_LUNA1: + case VMType::X68030: + case VMType::LUNA1: InitTableM68030(vmtype); break; - case VMTYPE_LUNA88K: + case VMType::LUNA88K: InitTableLuna88k(); break; + default: + PANIC("invalid vmtype %d", (int)vmtype); } monitor.func = ToMonitorCallback(&VectorTable::MonitorUpdate); - monitor.SetSize(49, 33); + monitor.SetSize(49, 1 + 32); // ヘッダの1行と全エントリ数 + monitor.SetMaxHeight(1 + Size()); monitor.Regist(ID_SUBWIN_VECTOR); } @@ -47,7 +50,7 @@ VectorTable::~VectorTable() // X68030、LUNA-I の表示名テーブル初期化 void -VectorTable::InitTableM68030(int vmtype) +VectorTable::InitTableM68030(VMType vmtype) { nametable.clear(); nametable.resize(256); @@ -59,7 +62,7 @@ VectorTable::InitTableM68030(int vmtype) } } - if (vmtype == VMTYPE_X68030) { + if (vmtype == VMType::X68030) { // X68030 なら、 // 全域で、あれば X68030 用の名前で上書き for (int v = 0; v < nametable.size(); v++) { @@ -124,7 +127,7 @@ VectorTable::GetExceptionName(int vector assertmsg(0 <= vector && vector < nametable.size(), "vector=%d", vector); if (__predict_false(vector < 2)) { - if (gMainApp.HasVMFeature(VMF_M68K)) { + if (gMainApp.Has(VMCap::M68K)) { // ベクタテーブル的には 0:"Reset(SP)"、1:"Reset(PC)" のほうが // 分かりやすいが、例外の名前は 0 が "Reset Exception" で // 1 は存在しない。