summaryrefslogtreecommitdiff
path: root/src/drivers/video/vga.c
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-06-16 19:22:57 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-06-16 19:22:57 +0200
commitdd7cbebcb41381fdb87e5c8e4d9d988337919c9c (patch)
treeb12740ff22b0101b1891f8b162f1e9142da797c0 /src/drivers/video/vga.c
parentb6f1311502f48a091dd51bd7443105963071af9a (diff)
downloadabaos-dd7cbebcb41381fdb87e5c8e4d9d988337919c9c.tar.gz
abaos-dd7cbebcb41381fdb87e5c8e4d9d988337919c9c.tar.bz2
switching mode text/graphics, text is distorted
Diffstat (limited to 'src/drivers/video/vga.c')
-rw-r--r--src/drivers/video/vga.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/drivers/video/vga.c b/src/drivers/video/vga.c
index 1ec7829..cf1157c 100644
--- a/src/drivers/video/vga.c
+++ b/src/drivers/video/vga.c
@@ -112,10 +112,30 @@ vga_mode_t vga_make_mode( const int x, const int y, const int color_depth )
return mode;
}
-
+// from http://files.osdev.org/mirrors/geezer/osd/graphics/modes.c
static vga_mode_t modes[] = {
+ { 640, 480, 4,
+ {
+ /* MISC */
+ 0x67,
+ /* SEQ */
+ 0x03, 0x00, 0x03, 0x00, 0x02,
+ /* CRTC */
+ 0x5F, 0x4F, 0x50, 0x82, 0x55, 0x81, 0xBF, 0x1F,
+ 0x00, 0x4F, 0x0D, 0x0E, 0x00, 0x00, 0x00, 0x50,
+ 0x9C, 0x0E, 0x8F, 0x28, 0x1F, 0x96, 0xB9, 0xA3,
+ 0xFF,
+ /* GC */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0E, 0x00,
+ 0xFF,
+ /* AC */
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,
+ 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
+ 0x0C, 0x00, 0x0F, 0x08, 0x00
+ },
+ NULL
+ },
{ 320, 200, 8,
- // from http://files.osdev.org/mirrors/geezer/osd/graphics/modes.c
{
/* MISC */
0x63,