--- nono/wx/wxmainframe.cpp 2026/04/29 17:05:27 1.1.1.18 +++ nono/wx/wxmainframe.cpp 2026/04/29 17:05:35 1.1.1.20 @@ -366,8 +366,13 @@ WXMainFrame::WXMainFrame(wxWindow *paren AppendIf(menuMPU, ID_SUBWIN_BRHIST, _("Branch &History")); AppendIf(menuMPU, ID_SUBWIN_EXHIST, _("&Exception History")); AppendIf(menuMPU, ID_SUBWIN_VECTOR, _("&Vector Table")); - menuMonitor->AppendSubMenu(menuMPU, - (gMainApp.Has(VMCap::M68K) ? "&MPU(MC68030)" : "&MPU(MC88xx0)")); + wxString mpulabel; + if (gMainApp.Has(VMCap::M68K)) { + mpulabel = "&MPU(" + mpuname + ")"; + } else { + mpulabel = "&MPU(MC88xx0)"; + } + menuMonitor->AppendSubMenu(menuMPU, mpulabel); if (gMainApp.Has(VMCap::LUNA)) { wxMenu *menuXP = new wxMenu(); @@ -462,6 +467,7 @@ WXMainFrame::WXMainFrame(wxWindow *paren // それ以外ではネットワークは1つ固定なのでナンバリング不要 AppendIf(menuHost, ID_MONITOR_HOSTNET(0), _("Host Network")); } + AppendIf(menuHost, ID_MONITOR_SLIRP, _("SLIRP Internal States")); AppendIf(menuHost, ID_MONITOR_HOSTCOM, _("Host &Serial Port")); menuMonitor->AppendSubMenu(menuHost, _("&Host")); @@ -1544,6 +1550,10 @@ WXMainFrame::DoWindow(int id, bool enabl SetMonitor(id, "SIO (uPD7201)"); break; + case ID_MONITOR_SLIRP: + SetMonitor(id, _("SLIRP Internal States")); + break; + case ID_MONITOR_SPC: SetMonitor(id, "SPC (MB89352)"); break; @@ -1745,7 +1755,7 @@ WXMainFrame::OnWindowUI(wxUpdateUIEvent& // メニューに現在のアドレスを載せる // (ウィンドウの生存期間外にも呼ばれることに注意) auto mon = gMonitorManager->Get(id); - auto *memdump = dynamic_cast(mon.obj); + auto *memdump = dynamic_cast(mon->obj); assert(memdump); uint32 addr = memdump->GetAddr().Addr();