summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Ruppert <info@vruppert.de>2009-04-07 18:18:20 +0000
committerGerd Hoffmann <kraxel@redhat.com>2010-06-18 12:07:26 +0200
commit1a2f5642861e2d8876aa135f5bbfb08ae14608c2 (patch)
treeb21b75c005ef3d4b2952e54c7746f21fcab6d7ba
parent1f5bfad2071be7b174f67ab19e5994df748a7a79 (diff)
- biosfn_write_teletype: fixed attribute when scrolling in text mode
-rw-r--r--vgabios.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/vgabios.c b/vgabios.c
index fbc3588..ea3aae8 100644
--- a/vgabios.c
+++ b/vgabios.c
@@ -2039,7 +2039,9 @@ Bit8u car;Bit8u page;Bit8u attr;Bit8u flag;
{
if(vga_modes[line].class==TEXT)
{
- biosfn_scroll(0x01,0x07,0,0,nbrows-1,nbcols-1,page,SCROLL_UP);
+ address=SCREEN_MEM_START(nbcols,nbrows,page)+(xcurs+(ycurs-1)*nbcols)*2;
+ attr=read_byte(vga_modes[line].sstart,address+1);
+ biosfn_scroll(0x01,attr,0,0,nbrows-1,nbcols-1,page,SCROLL_UP);
}
else
{
@@ -2047,7 +2049,7 @@ Bit8u car;Bit8u page;Bit8u attr;Bit8u flag;
}
ycurs-=1;
}
-
+
// Set the cursor for the page
cursor=ycurs; cursor<<=8; cursor+=xcurs;
biosfn_set_cursor_pos(page,cursor);