diff options
author | Christian Nilsson | 2015-04-26 01:18:37 +0200 |
---|---|---|
committer | Michael Brown | 2015-07-22 17:46:02 +0200 |
commit | f903ddaac0574cb2031d742ee29c8ee1ae136225 (patch) | |
tree | b12a79e4ea94e099e054e351e26895f1feb5f622 /src/arch/i386/firmware/pcbios/bios_console.c | |
parent | [tg3] Add support for BCM57766 (diff) | |
download | ipxe-f903ddaac0574cb2031d742ee29c8ee1ae136225.tar.gz ipxe-f903ddaac0574cb2031d742ee29c8ee1ae136225.tar.xz ipxe-f903ddaac0574cb2031d742ee29c8ee1ae136225.zip |
[bios] Add ANSI blink attribute
Expose the high bit of the VGA text attribute byte via the ANSI SGR
parameters 5 ("blink on") and 25 ("blink off").
Note that some video cards (and virtual machines) may display a high
intensity background colour instead of blinking text.
Signed-off-by: Christian Nilsson <nikize@gmail.com>
Modified-by: Michael Brown <mcb30@ipxe.org>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch/i386/firmware/pcbios/bios_console.c')
-rw-r--r-- | src/arch/i386/firmware/pcbios/bios_console.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/arch/i386/firmware/pcbios/bios_console.c b/src/arch/i386/firmware/pcbios/bios_console.c index 7b2f8ade..63413cdc 100644 --- a/src/arch/i386/firmware/pcbios/bios_console.c +++ b/src/arch/i386/firmware/pcbios/bios_console.c @@ -43,6 +43,8 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #define ATTR_FCOL_YELLOW 0x06 #define ATTR_FCOL_WHITE 0x07 +#define ATTR_BLINK 0x80 + #define ATTR_BCOL_MASK 0x70 #define ATTR_BCOL_BLACK 0x00 #define ATTR_BCOL_BLUE 0x10 @@ -141,8 +143,12 @@ static void bios_handle_sgr ( struct ansiesc_context *ctx __unused, bios_attr = ATTR_DEFAULT; } else if ( aspect == 1 ) { bios_attr |= ATTR_BOLD; + } else if ( aspect == 5 ) { + bios_attr |= ATTR_BLINK; } else if ( aspect == 22 ) { bios_attr &= ~ATTR_BOLD; + } else if ( aspect == 25 ) { + bios_attr &= ~ATTR_BLINK; } else if ( ( aspect >= 30 ) && ( aspect <= 39 ) ) { bios_attr &= ~ATTR_FCOL_MASK; bios_attr |= bios_attr_fcols[ aspect - 30 ]; |