From c2d6a1e2c4e05a49626bc6ae33c258416cf5de5a Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Fri, 22 Aug 2003 08:09:59 +0000 Subject: [PATCH] Don't check valid window parameter in cpu window calls Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1194 --- src/ints/int10_vesa.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/ints/int10_vesa.cpp b/src/ints/int10_vesa.cpp index 91d7a1ea..2d452f0f 100644 --- a/src/ints/int10_vesa.cpp +++ b/src/ints/int10_vesa.cpp @@ -150,7 +150,8 @@ Bit8u VESA_GetSVGAMode(Bit16u & mode) { } Bit8u VESA_SetCPUWindow(Bit8u window,Bit16u address) { - if (!window && (address<32)) { +//TODO Check with univbe if it doesn't check for window param either + if ((address<32)) { IO_Write(0x3d4,0x6a); IO_Write(0x3d5,(Bit8u)address); return 0x0; @@ -158,11 +159,10 @@ Bit8u VESA_SetCPUWindow(Bit8u window,Bit16u address) { } Bit8u VESA_GetCPUWindow(Bit8u window,Bit16u & address) { - if (!window) { - IO_Write(0x3d4,0x6a); - address=IO_Read(0x3d5); - return 0x0; - } else return 0x1; +//TODO Check with univbe if it doesn't check for window param either + IO_Write(0x3d4,0x6a); + address=IO_Read(0x3d5); + return 0x0; } @@ -268,7 +268,8 @@ Bit8u VESA_GetDisplayStart(Bit16u & x,Bit16u & y) { static char oemstring[]="S3 Incorporated. Trio64"; static Bitu SetWindowPositionHandler(void) { - VESA_SetCPUWindow(reg_bl,reg_dx); + if (reg_bh) VESA_GetCPUWindow(reg_bl,reg_dx); + else VESA_SetCPUWindow(reg_bl,reg_dx); return 0; }