Fix VGA interleaved mode.


svn path=/branches/ntvdm/; revision=59739
This commit is contained in:
Aleksandar Andrejevic 2013-08-14 21:55:50 +00:00
parent 516653f447
commit 58931acc6a

View file

@ -574,6 +574,11 @@ static VOID VgaUpdateFramebuffer(VOID)
{
/* Check if this is 16 or 256 color mode */
if (VgaAcRegisters[VGA_AC_CONTROL_REG] & VGA_AC_CONTROL_8BIT)
{
// TODO: NOT IMPLEMENTED
DPRINT1("8-bit interleaved mode is not implemented!\n");
}
else
{
/*
* 2 bits shifted from plane 0 and 2 for the first 4 pixels,
@ -581,7 +586,7 @@ static VOID VgaUpdateFramebuffer(VOID)
*/
BYTE LowPlaneData = VgaMemory[((j / 4) % 2) * VGA_BANK_SIZE
+ (Address + (j / 4)) * AddressSize];
BYTE HighPlaneData = VgaMemory[(((j / 4) % 2) + 1) * VGA_BANK_SIZE
BYTE HighPlaneData = VgaMemory[(((j / 4) % 2) + 2) * VGA_BANK_SIZE
+ (Address + (j / 4)) * AddressSize];
/* Extract the two bits from each plane */
@ -591,11 +596,6 @@ static VOID VgaUpdateFramebuffer(VOID)
/* Combine them into the pixel */
PixelData = LowPlaneData | (HighPlaneData << 2);
}
else
{
// TODO: NOT IMPLEMENTED
DPRINT1("8-bit interleaved mode is not implemented!\n");
}
}
else
{