--- nono/debugger/debugger.cpp 2026/04/29 17:05:16 1.1.1.13 +++ nono/debugger/debugger.cpp 2026/04/29 17:05:20 1.1.1.14 @@ -92,7 +92,8 @@ Debugger::~Debugger() Close(); if ((bool)hostcom) { - hostcom->SetCallbackDevice(NULL); + hostcom->SetRxCallback(NULL); + hostcom->SetAcceptCallback(NULL); } TerminateThread(); @@ -102,15 +103,13 @@ bool Debugger::Create() { // ホストドライバを作成 - try { - hostcom.reset(new HostCOMDevice("Debugger")); - } catch (...) { + hostcom.reset(new HostCOMDevice(this, "Debugger")); + if ((bool)hostcom == false) { return false; } hostcom->SetRxCallback(ToDeviceCallback(&Debugger::RxCallback)); hostcom->SetAcceptCallback(ToDeviceCallback(&Debugger::AcceptCallback)); - hostcom->SetCallbackDevice(this); return true; } @@ -460,7 +459,7 @@ Debugger::Input(int c) LeavePrompt(false); UIMessage::Post(UIMessage::APPEXIT); } - } else if (c < ' ') { + } else if (c < ' ' || c == 0x07f) { // 他のコントロールコードはとりあえず無視 } else { // 通常文字なら、エコーバックして追加 @@ -2711,7 +2710,10 @@ Debugger::ShowTextScreen(TextScreen& mon *d++ = '['; *d++ = 'm'; break; - case TA::On: + case TA::Reverse: + case TA::ReverseRed: + case TA::ReverseGreen: + case TA::ReverseOrange: *d++ = 0x1b; *d++ = '['; *d++ = '7';