diff --git a/menu.cpp b/menu.cpp index f3225c6..4000dd4 100644 --- a/menu.cpp +++ b/menu.cpp @@ -1868,6 +1868,15 @@ void HandleUI(void) user_io_8bit_set_status(setStatus(p, status, x), 0xffffffff, ex); + if (is_x86() && p[1] == 'A') + { + int mode = GetUARTMode(); + if (mode != 0) + { + SetUARTMode(0); + SetUARTMode(mode); + } + } menustate = MENU_8BIT_MAIN1; } else if (((p[0] == 'T') || (p[0] == 'R') || (p[0] == 't') || (p[0] == 'r')) && select) diff --git a/user_io.cpp b/user_io.cpp index 8141960..0892a0e 100644 --- a/user_io.cpp +++ b/user_io.cpp @@ -568,7 +568,7 @@ int GetUARTMode() void SetUARTMode(int mode) { MakeFile("/tmp/CORENAME", user_io_get_core_name_ex()); - MakeFile("/tmp/UART_SPEED", is_st() ? "19200" : "115200"); + MakeFile("/tmp/UART_SPEED", is_st() ? "19200" : (is_x86() && (user_io_8bit_set_status(0, 0, 0) & (1 << 10))) ? "1152000" : "115200"); char cmd[32]; sprintf(cmd, "uartmode %d", mode & 0xFF); @@ -2491,6 +2491,10 @@ void user_io_poll() byte++; break; + case 0xee: + kbd_reply(0xEE); + break; + default: kbd_reply(0xFE); break;