diff options
author | Volker Ruppert <info@vruppert.de> | 2009-04-07 18:18:20 +0000 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2010-06-18 12:07:26 +0200 |
commit | 1a2f5642861e2d8876aa135f5bbfb08ae14608c2 (patch) | |
tree | b21b75c005ef3d4b2952e54c7746f21fcab6d7ba | |
parent | 1f5bfad2071be7b174f67ab19e5994df748a7a79 (diff) | |
download | qemu-vgabios-1a2f5642861e2d8876aa135f5bbfb08ae14608c2.tar.gz |
- biosfn_write_teletype: fixed attribute when scrolling in text mode
-rw-r--r-- | vgabios.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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); |