From 056302a6a59895dc2e61406b965bcbae6d76d1fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Strohh=C3=A4cker?= Date: Thu, 10 Jan 2008 20:36:03 +0000 Subject: [PATCH] xga fix for win3x paint (hal) Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3076 --- src/hardware/vga_xga.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/hardware/vga_xga.cpp b/src/hardware/vga_xga.cpp index 4054be5f..d92d6413 100644 --- a/src/hardware/vga_xga.cpp +++ b/src/hardware/vga_xga.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002-2007 The DOSBox Team + * Copyright (C) 2002-2008 The DOSBox Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: vga_xga.cpp,v 1.10 2007-12-10 22:11:13 c2woody Exp $ */ +/* $Id: vga_xga.cpp,v 1.11 2008-01-10 20:36:03 c2woody Exp $ */ #include #include "dosbox.h" @@ -581,9 +581,10 @@ void XGA_DrawWait(Bitu val, Bitu len) { XGA_DrawWaitSub(mixmode, val); break; case 0x20 | M_LIN8: // 16 bit - XGA_DrawWaitSub(mixmode, val); - if(!xga.waitcmd.newline) - XGA_DrawWaitSub(mixmode, val>>8); + for(Bitu i = 0; i < len; i++) { + XGA_DrawWaitSub(mixmode, (val>>(8*i))&0xff); + if(xga.waitcmd.newline) break; + } break; case 0x40 | M_LIN8: // 32 bit for(int i = 0; i < 4; i++)