aboutsummaryrefslogtreecommitdiffstats
path: root/vgasrc/cbvga.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2014-10-17 22:15:42 -0400
committerKevin O'Connor <kevin@koconnor.net>2014-11-12 12:17:57 -0500
commitb4eb6fc5cc051e18d07f9483c093c9c32cece2f7 (patch)
tree0eb793ef2481b9b2dcaa8e501078708858146ec1 /vgasrc/cbvga.c
parent6fed307251e2590e9a999af64cf29ff739b034f9 (diff)
downloadseabios-b4eb6fc5cc051e18d07f9483c093c9c32cece2f7.tar.gz
vgabios: Add software cursor capability
Add mechanism for drawing a cursor to the framebuffer to implement a cursor in software. The timer interrupt is "hooked" so that the cursor can blink. This can be useful for "coreboot native vga". Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'vgasrc/cbvga.c')
-rw-r--r--vgasrc/cbvga.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/vgasrc/cbvga.c b/vgasrc/cbvga.c
index 3acc8398..1cfb9d37 100644
--- a/vgasrc/cbvga.c
+++ b/vgasrc/cbvga.c
@@ -95,8 +95,8 @@ cbvga_save_restore(int cmd, u16 seg, void *data)
int
cbvga_set_mode(struct vgamode_s *vmode_g, int flags)
{
- MASK_BDA_EXT(flags, BF_EMULATE_TEXT
- , (vmode_g == &CBemulinfo) ? BF_EMULATE_TEXT : 0);
+ u8 emul = vmode_g == &CBemulinfo || GET_GLOBAL(CBmode) == 0x03;
+ MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0);
if (!(flags & MF_NOCLEARMEM)) {
if (GET_GLOBAL(CBmodeinfo.memmodel) == MM_TEXT) {
memset16_far(SEG_CTEXT, (void*)0, 0x0720, 80*25*2);