aboutsummaryrefslogtreecommitdiffstats
path: root/vgasrc
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2014-10-23 13:04:17 -0400
committerKevin O'Connor <kevin@koconnor.net>2014-10-27 11:03:12 -0400
commit5b89d959a6ab6fd02e1bd9b1893fb860afec88d0 (patch)
treed8f5d90dd0db679b58e8171baf75960613565d44 /vgasrc
parentc9aecfcd14ec5dcddd93fd84dc02a8aee61dc63e (diff)
downloadseabios-5b89d959a6ab6fd02e1bd9b1893fb860afec88d0.tar.gz
seabios-5b89d959a6ab6fd02e1bd9b1893fb860afec88d0.tar.xz
seabios-5b89d959a6ab6fd02e1bd9b1893fb860afec88d0.zip
vgabios: Only init BDA device details in init_bios_area()
Don't set the device details when changing modes, and don't set mode details outside of mode setting. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'vgasrc')
-rw-r--r--vgasrc/vgabios.c9
-rw-r--r--vgasrc/vgainit.c19
2 files changed, 8 insertions, 20 deletions
diff --git a/vgasrc/vgabios.c b/vgasrc/vgabios.c
index 786c009..e17974a 100644
--- a/vgasrc/vgabios.c
+++ b/vgasrc/vgabios.c
@@ -319,15 +319,6 @@ vga_set_mode(int mode, int flags)
SET_BDA(video_pagestart, 0x0000);
SET_BDA(video_page, 0x00);
- // FIXME We nearly have the good tables. to be reworked
- SET_BDA(dcc_index, 0x08); // 8 is VGA should be ok for now
- SET_BDA(video_savetable
- , SEGOFF(get_global_seg(), (u32)&video_save_pointer_table));
-
- // FIXME
- SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but...
- SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but...
-
// Set the ints 0x1F and 0x43
SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8]));
diff --git a/vgasrc/vgainit.c b/vgasrc/vgainit.c
index 9d6dd1e..758fea4 100644
--- a/vgasrc/vgainit.c
+++ b/vgasrc/vgainit.c
@@ -108,20 +108,17 @@ init_bios_area(void)
// set 80x25 color (not clear from RBIL but usual)
set_equipment_flags(0x30, 0x20);
- // the default char height
- SET_BDA(char_height, 0x10);
-
- // Clear the screen
- SET_BDA(video_ctl, 0x60);
-
- // Set the basic screen we have
- SET_BDA(video_switches, 0xf9);
-
// Set the basic modeset options
SET_BDA(modeset_ctl, 0x51);
- // Set the default MSR
- SET_BDA(video_msr, 0x09);
+ // FIXME We nearly have the good tables. to be reworked
+ SET_BDA(dcc_index, 0x08); // 8 is VGA should be ok for now
+ SET_BDA(video_savetable
+ , SEGOFF(get_global_seg(), (u32)&video_save_pointer_table));
+
+ // FIXME
+ SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but...
+ SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but...
}
int VgaBDF VAR16 = -1;