From patchwork Fri Jun 18 10:37:56 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [4/5] - biosfn_write_teletype: fixed attribute when scrolling in text mode Date: Fri, 18 Jun 2010 00:37:56 -0000 From: Gerd Hoffmann X-Patchwork-Id: 56168 Message-Id: <1276857477-14201-5-git-send-email-kraxel@redhat.com> To: qemu-devel@nongnu.org Cc: Volker Ruppert From: Volker Ruppert --- vgabios.c | 6 ++++-- 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);