From d817b8df8cb757cb8055cd12e07a5c14761c5422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Strohh=C3=A4cker?= Date: Thu, 15 Dec 2005 20:53:05 +0000 Subject: [PATCH] use different scanline length detection for cga4 putpixel; fix doublewidth for tandy2 modes Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2413 --- src/hardware/vga_draw.cpp | 4 ++-- src/ints/int10_put_pixel.cpp | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/hardware/vga_draw.cpp b/src/hardware/vga_draw.cpp index 5c40c1f5..40b0582b 100644 --- a/src/hardware/vga_draw.cpp +++ b/src/hardware/vga_draw.cpp @@ -524,8 +524,8 @@ void VGA_SetupDrawing(Bitu val) { case M_TANDY2: aspect_ratio=1.2; doubleheight=true; - if (machine==MCH_TANDY) doublewidth=(vga.tandy.mode_control & 0x10)==0; - else doublewidth=(vga.tandy.gfx_control & 0x8)==0x00; + if (machine==MCH_PCJR) doublewidth=(vga.tandy.gfx_control & 0x8)==0x00; + else doublewidth=(vga.tandy.mode_control & 0x10)==0; vga.draw.blocks=width * (doublewidth ? 4:8); width=vga.draw.blocks*2; VGA_DrawLine=VGA_Draw_1BPP_Line; diff --git a/src/ints/int10_put_pixel.cpp b/src/ints/int10_put_pixel.cpp index 5992a059..d20ac51d 100644 --- a/src/ints/int10_put_pixel.cpp +++ b/src/ints/int10_put_pixel.cpp @@ -28,8 +28,7 @@ void INT10_PutPixel(Bit16u x,Bit16u y,Bit8u page,Bit8u color) { switch (CurMode->type) { case M_CGA4: { - IO_Write(0x3d4,0x09); - if (IO_Read(0x3d5)==1) { + if (real_readb(BIOSMEM_SEG,BIOSMEM_CURRENT_MODE)<=5) { Bit16u off=(y>>1)*80+(x>>2); if (y&1) off+=8*1024;