aboutsummaryrefslogtreecommitdiff
path: root/vgasrc/stdvga.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2024-03-31 21:58:12 -0400
committerKevin O'Connor <kevin@koconnor.net>2024-04-05 17:58:49 -0400
commit2996819f7df7f5a8fb53528213baa48ab65dad90 (patch)
tree770c54977f875b30fef5e19b701a631dd9dd5d1a /vgasrc/stdvga.c
parent913680885350f92965d70122f6fd54406c49af7d (diff)
downloadseabios-2996819f7df7f5a8fb53528213baa48ab65dad90.zip
seabios-2996819f7df7f5a8fb53528213baa48ab65dad90.tar.gz
seabios-2996819f7df7f5a8fb53528213baa48ab65dad90.tar.bz2
stdvga: Rename CGA palette functions
Rename stdvga_set_border_color() to stdvga_set_cga_background_color() and stdvga_set_palette() to stdvga_set_cga_palette(). These functions implement compatibility for old CGA cards - rename them so they are not confused with the functions that manipulte the VGA palette. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'vgasrc/stdvga.c')
-rw-r--r--vgasrc/stdvga.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/vgasrc/stdvga.c b/vgasrc/stdvga.c
index da67af4..eac0357 100644
--- a/vgasrc/stdvga.c
+++ b/vgasrc/stdvga.c
@@ -18,19 +18,32 @@
* Attribute control
****************************************************************/
+// Emulate CGA background setting via VGA palette index registers
void
-stdvga_set_border_color(u8 color)
+stdvga_set_cga_background_color(u8 color)
{
+ // Set the background color (via palette index 0)
u8 v1 = color & 0x0f;
if (v1 & 0x08)
v1 += 0x08;
stdvga_attr_write(0x00, v1);
+ // Dim/brighten foreground (see pal_cga[] in stdvgamodes.c)
int i;
for (i = 1; i < 4; i++)
stdvga_attr_mask(i, 0x10, color & 0x10);
}
+// Emulate CGA palette setting by altering VGA palette index registers
+void
+stdvga_set_cga_palette(u8 palid)
+{
+ // Switch foreground colors (see pal_cga[] in stdvgamodes.c)
+ int i;
+ for (i = 1; i < 4; i++)
+ stdvga_attr_mask(i, 0x01, palid & 0x01);
+}
+
void
stdvga_set_overscan_border_color(u8 color)
{
@@ -44,14 +57,6 @@ stdvga_get_overscan_border_color(void)
}
void
-stdvga_set_palette(u8 palid)
-{
- int i;
- for (i = 1; i < 4; i++)
- stdvga_attr_mask(i, 0x01, palid & 0x01);
-}
-
-void
stdvga_set_all_palette_reg(u16 seg, u8 *data_far)
{
int i;