Author: aandrejevic
Date: Sun Jul 24 15:45:50 2016
New Revision: 71990
URL:
http://svn.reactos.org/svn/reactos?rev=71990&view=rev
Log:
[NTVDM]
Always reset the AC latch before writing to the AC index register.
CORE-11669 #resolve #comment Should be fixed in revision r71990.
Modified:
trunk/reactos/subsystems/mvdm/ntvdm/bios/vidbios.c
Modified: trunk/reactos/subsystems/mvdm/ntvdm/bios/vidbios.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/bios…
==============================================================================
--- trunk/reactos/subsystems/mvdm/ntvdm/bios/vidbios.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/mvdm/ntvdm/bios/vidbios.c [iso-8859-1] Sun Jul 24 15:45:50
2016
@@ -3241,6 +3241,7 @@
/* Set the overscan register */
// VgaSetSinglePaletteRegister(VGA_AC_OVERSCAN_REG,
Buffer[VGA_AC_PAL_F_REG + 1]);
+ IOReadB(VGA_INSTAT1_READ);
IOWriteB(VGA_AC_INDEX, VGA_AC_OVERSCAN_REG);
IOWriteB(VGA_AC_WRITE, Buffer[VGA_AC_PAL_F_REG + 1]);
@@ -3255,6 +3256,8 @@
{
/* Read the old AC mode control register value */
BYTE VgaAcControlReg;
+
+ IOReadB(VGA_INSTAT1_READ);
IOWriteB(VGA_AC_INDEX, VGA_AC_CONTROL_REG);
VgaAcControlReg = IOReadB(VGA_AC_READ);
@@ -3270,6 +3273,7 @@
Bda->CrtModeControl &= ~(1 << 5);
}
+ IOReadB(VGA_INSTAT1_READ);
IOWriteB(VGA_AC_INDEX, VGA_AC_CONTROL_REG);
IOWriteB(VGA_AC_WRITE, VgaAcControlReg);
@@ -3329,6 +3333,7 @@
}
/* Get the overscan register */
+ IOReadB(VGA_INSTAT1_READ);
IOWriteB(VGA_AC_INDEX, VGA_AC_OVERSCAN_REG);
Buffer[VGA_AC_PAL_F_REG + 1] = IOReadB(VGA_AC_READ);