mirror of
https://github.com/reactos/reactos.git
synced 2024-08-04 10:30:59 +00:00
[NTVDM]
Use the EGA palette for EGA modes. svn path=/branches/ntvdm/; revision=61242
This commit is contained in:
parent
5a126500d4
commit
1c9756782c
|
@ -134,8 +134,8 @@ static BYTE VideoMode_320x200_16color[] =
|
||||||
0xFF,
|
0xFF,
|
||||||
|
|
||||||
/* AC Registers */
|
/* AC Registers */
|
||||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
|
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07, 0x38, 0x39, 0x3A, 0x3B,
|
||||||
0x14, 0x15, 0x16, 0x17, 0x01, 0x00, 0x0F, 0x00, 0x00
|
0x3C, 0x3D, 0x3E, 0x3F, 0x01, 0x00, 0x0F, 0x00, 0x00
|
||||||
};
|
};
|
||||||
|
|
||||||
static BYTE VideoMode_640x200_16color[] =
|
static BYTE VideoMode_640x200_16color[] =
|
||||||
|
@ -155,8 +155,8 @@ static BYTE VideoMode_640x200_16color[] =
|
||||||
0xFF,
|
0xFF,
|
||||||
|
|
||||||
/* AC Registers */
|
/* AC Registers */
|
||||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
|
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07, 0x38, 0x39, 0x3A, 0x3B,
|
||||||
0x14, 0x15, 0x16, 0x17, 0x01, 0x00, 0x0F, 0x00, 0x00
|
0x3C, 0x3D, 0x3E, 0x3F, 0x01, 0x00, 0x0F, 0x00, 0x00
|
||||||
};
|
};
|
||||||
|
|
||||||
static BYTE VideoMode_640x350_16color[] =
|
static BYTE VideoMode_640x350_16color[] =
|
||||||
|
@ -267,6 +267,26 @@ static LPBYTE VideoModes[] =
|
||||||
VideoMode_320x200_256color, /* Mode 13h */
|
VideoMode_320x200_256color, /* Mode 13h */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static CONST COLORREF EgaPalette[VGA_MAX_COLORS / 4] =
|
||||||
|
{
|
||||||
|
RGB(0x00, 0x00, 0x00), RGB(0x00, 0x00, 0xAA), RGB(0x00, 0xAA, 0x00), RGB(0x00, 0xAA, 0xAA),
|
||||||
|
RGB(0xAA, 0x00, 0x00), RGB(0xAA, 0x00, 0xAA), RGB(0xAA, 0xAA, 0x00), RGB(0xAA, 0xAA, 0xAA),
|
||||||
|
RGB(0x00, 0x00, 0x55), RGB(0x00, 0x00, 0xFF), RGB(0x00, 0xAA, 0x55), RGB(0x00, 0xAA, 0xFF),
|
||||||
|
RGB(0xAA, 0x00, 0x55), RGB(0xAA, 0x00, 0xFF), RGB(0xAA, 0xAA, 0x55), RGB(0xAA, 0xAA, 0xFF),
|
||||||
|
RGB(0x00, 0x55, 0x00), RGB(0x00, 0x55, 0xAA), RGB(0x00, 0xFF, 0x00), RGB(0x00, 0xFF, 0xAA),
|
||||||
|
RGB(0xAA, 0x55, 0x00), RGB(0xAA, 0x55, 0xAA), RGB(0xAA, 0xFF, 0x00), RGB(0xAA, 0xFF, 0xAA),
|
||||||
|
RGB(0x00, 0x55, 0x55), RGB(0x00, 0x55, 0xFF), RGB(0x00, 0xFF, 0x55), RGB(0x00, 0xFF, 0xFF),
|
||||||
|
RGB(0xAA, 0x55, 0x55), RGB(0xAA, 0x55, 0xFF), RGB(0xAA, 0xFF, 0x55), RGB(0xAA, 0xFF, 0xFF),
|
||||||
|
RGB(0x55, 0x00, 0x00), RGB(0x55, 0x00, 0xAA), RGB(0x55, 0xAA, 0x00), RGB(0x55, 0xAA, 0xAA),
|
||||||
|
RGB(0xFF, 0x00, 0x00), RGB(0xFF, 0x00, 0xAA), RGB(0xFF, 0xAA, 0x00), RGB(0xFF, 0xAA, 0xAA),
|
||||||
|
RGB(0x55, 0x00, 0x55), RGB(0x55, 0x00, 0xFF), RGB(0x55, 0xAA, 0x55), RGB(0x55, 0xAA, 0xFF),
|
||||||
|
RGB(0xFF, 0x00, 0x55), RGB(0xFF, 0x00, 0xFF), RGB(0xFF, 0xAA, 0x55), RGB(0xFF, 0xAA, 0xFF),
|
||||||
|
RGB(0x55, 0x55, 0x00), RGB(0x55, 0x55, 0xAA), RGB(0x55, 0xFF, 0x00), RGB(0x55, 0xFF, 0xAA),
|
||||||
|
RGB(0xFF, 0x55, 0x00), RGB(0xFF, 0x55, 0xAA), RGB(0xFF, 0xFF, 0x00), RGB(0xFF, 0xFF, 0xAA),
|
||||||
|
RGB(0x55, 0x55, 0x55), RGB(0x55, 0x55, 0xFF), RGB(0x55, 0xFF, 0x55), RGB(0x55, 0xFF, 0xFF),
|
||||||
|
RGB(0xFF, 0x55, 0x55), RGB(0xFF, 0x55, 0xFF), RGB(0xFF, 0xFF, 0x55), RGB(0xFF, 0xFF, 0xFF)
|
||||||
|
};
|
||||||
|
|
||||||
/* PRIVATE FUNCTIONS **********************************************************/
|
/* PRIVATE FUNCTIONS **********************************************************/
|
||||||
|
|
||||||
static BOOLEAN BiosKbdBufferPush(WORD Data)
|
static BOOLEAN BiosKbdBufferPush(WORD Data)
|
||||||
|
@ -416,8 +436,22 @@ BOOLEAN BiosSetVideoMode(BYTE ModeNumber)
|
||||||
VgaWritePort(VGA_AC_WRITE, *(Values++));
|
VgaWritePort(VGA_AC_WRITE, *(Values++));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reset the palette */
|
if ((ModeNumber == 0x0D) || (ModeNumber == 0x0E) || (ModeNumber == 0x10))
|
||||||
VgaResetPalette();
|
{
|
||||||
|
/* EGA modes */
|
||||||
|
for (i = 0; i < VGA_MAX_COLORS / 4; i++)
|
||||||
|
{
|
||||||
|
VgaWritePort(VGA_DAC_WRITE_INDEX, i);
|
||||||
|
VgaWritePort(VGA_DAC_DATA, VGA_COLOR_TO_DAC(GetRValue(EgaPalette[i])));
|
||||||
|
VgaWritePort(VGA_DAC_DATA, VGA_COLOR_TO_DAC(GetGValue(EgaPalette[i])));
|
||||||
|
VgaWritePort(VGA_DAC_DATA, VGA_COLOR_TO_DAC(GetBValue(EgaPalette[i])));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Reset the palette */
|
||||||
|
VgaResetPalette();
|
||||||
|
}
|
||||||
|
|
||||||
/* Update the values in the BDA */
|
/* Update the values in the BDA */
|
||||||
Bda->VideoMode = ModeNumber;
|
Bda->VideoMode = ModeNumber;
|
||||||
|
|
Loading…
Reference in a new issue