From 449475435cb0bdb69e74cf630c3746c33af73681 Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Fri, 8 Jul 2005 13:39:25 +0000 Subject: [PATCH] added patch 1234528 from kippesoep Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2231 --- src/ints/int10_pal.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ints/int10_pal.cpp b/src/ints/int10_pal.cpp index 39a62333..0dda63f3 100644 --- a/src/ints/int10_pal.cpp +++ b/src/ints/int10_pal.cpp @@ -75,6 +75,7 @@ void INT10_GetSinglePaletteRegister(Bit8u reg,Bit8u * val) { IO_Read(VGAREG_ACTL_RESET); IO_Write(VGAREG_ACTL_ADDRESS,reg+32); *val=IO_Read(VGAREG_ACTL_READ_DATA); + IO_Write(VGAREG_ACTL_WRITE_DATA,*val); } } @@ -82,6 +83,7 @@ void INT10_GetOverscanBorderColor(Bit8u * val) { IO_Read(VGAREG_ACTL_RESET); IO_Write(VGAREG_ACTL_ADDRESS,0x11+32); *val=IO_Read(VGAREG_ACTL_READ_DATA); + IO_Write(VGAREG_ACTL_WRITE_DATA,*val); } void INT10_GetAllPaletteRegisters(PhysPt data) { @@ -136,9 +138,10 @@ void INT10_SelectDACPage(Bit8u function,Bit8u mode) { if (!function) { //Select paging mode if (mode) old10|=0x80; else old10&=0x7f; - IO_Write(VGAREG_ACTL_ADDRESS,0x10); + //IO_Write(VGAREG_ACTL_ADDRESS,0x10); IO_Write(VGAREG_ACTL_WRITE_DATA,old10); } else { //Select page + IO_Write(VGAREG_ACTL_WRITE_DATA,old10); if (!(old10 & 0x80)) mode<<=2; mode&=0xf; IO_Write(VGAREG_ACTL_ADDRESS,0x14); @@ -151,9 +154,11 @@ void INT10_GetDACPage(Bit8u* mode,Bit8u* page) { IO_Read(VGAREG_ACTL_RESET); IO_Write(VGAREG_ACTL_ADDRESS,0x10); Bit8u reg10=IO_Read(VGAREG_ACTL_READ_DATA); + IO_Write(VGAREG_ACTL_WRITE_DATA,reg10); *mode=(reg10&0x80)?0x01:0x00; IO_Write(VGAREG_ACTL_ADDRESS,0x14); *page=IO_Read(VGAREG_ACTL_READ_DATA); + IO_Write(VGAREG_ACTL_WRITE_DATA,*page); if(*mode) { *page&=0xf; } else {