From 72e2a732df2f149cfe3672a41c4510ff2a3c8fa0 Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Wed, 3 Sep 2003 20:36:28 +0000 Subject: [PATCH] Text mode uses start address now. Support for double lined vesa modes. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1226 --- src/hardware/vga_draw.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/hardware/vga_draw.cpp b/src/hardware/vga_draw.cpp index 59ae43ec..cbdb01c5 100644 --- a/src/hardware/vga_draw.cpp +++ b/src/hardware/vga_draw.cpp @@ -99,7 +99,7 @@ static void VGA_TANDY16_Draw(Bit8u * bitdata,Bitu pitch) { void VGA_TEXT_Draw(Bit8u * bitdata,Bitu start,Bitu panning,Bitu rows) { - Bit8u * reader=&vga.mem.linear[0]; + Bit8u * reader=&vga.mem.linear[start*2]; Bit8u * draw_start=bitdata; /* Todo Blinking and high intensity colors */ Bitu next_charline=vga.draw.font_height*vga.draw.width; @@ -344,6 +344,13 @@ void VGA_SetupDrawing(void) { break; case M_LIN8: width<<=3; + if (vga.draw.double_width) width>>=1; + if (!vga.draw.double_height) { + if (vga.config.vline_height&1) { + vga.draw.double_height=true; + vga.draw.font_height/=2; + } + } pitch=vga.config.scan_len*8; break; case M_EGA16: @@ -390,7 +397,7 @@ void VGA_SetupDrawing(void) { vga.draw.height=height; vga.draw.pitch=pitch; - LOG(LOG_VGA,LOG_NORMAL)("Width %d, Height %d",width,height); + LOG(LOG_VGA,LOG_NORMAL)("Width %d, Height %d, Pitch %d",width,height,pitch); LOG(LOG_VGA,LOG_NORMAL)("Flags %X, fps %f",flags,fps); RENDER_SetSize(width,height,8,pitch,((float)width/(float)height),flags,&VGA_DrawHandler); vga.draw.blank=(Bitu)(1000000/fps);