Somewhere characters are getting sign-extended, meaning that the
attributes of the drawing chars (>= 128) are wrong. Cast the value
before sending it to VGA.
Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3195
2b7e53f0-3cfb-0310-b3e9-
8179ed1497e1
c |= tmp << 12;
}
- c |= win->_line[y].text[x].chars[0];
+ /*
+ * FIXME: Somewhere along the line, the
+ * character value is getting sign-extented.
+ * For now grab just the 8 bit character,
+ * but this will break wide characters!
+ */
+ c |= (chtype) (win->_line[y].text[x].chars[0] & 0xff);
vga_putc(y, x, c);
}
}