summaryrefslogtreecommitdiffstats
path: root/payloads/libpayload/drivers/serial.c
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/drivers/serial.c')
-rw-r--r--payloads/libpayload/drivers/serial.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/payloads/libpayload/drivers/serial.c b/payloads/libpayload/drivers/serial.c
index edd0310..6e46e06 100644
--- a/payloads/libpayload/drivers/serial.c
+++ b/payloads/libpayload/drivers/serial.c
@@ -2,6 +2,7 @@
* This file is part of the libpayload project.
*
* Copyright (C) 2008 Advanced Micro Devices, Inc.
+ * Copyright (C) 2008 Ulf Jordan <jordan@chalmers.se>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -105,6 +106,10 @@ int serial_getchar(void)
#define VT100_SBOLD "\e[1m"
#define VT100_EBOLD "\e[m"
#define VT100_CURSOR_ADDR "\e[%d;%dH"
+/* The following smacs/rmacs are actually for xterm; a real vt100 has
+ enacs=\E(B\E)0, smacs=^N, rmacs=^O. */
+#define VT100_SMACS "\e(0"
+#define VT100_RMACS "\e(B"
static void serial_putcmd(char *str)
{
@@ -127,6 +132,16 @@ void serial_end_bold(void)
serial_putcmd(VT100_EBOLD);
}
+void serial_start_altcharset(void)
+{
+ serial_putcmd(VT100_SMACS);
+}
+
+void serial_end_altcharset(void)
+{
+ serial_putcmd(VT100_RMACS);
+}
+
void serial_set_cursor(int y, int x)
{
char buffer[32];
OpenPOWER on IntegriCloud