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);