vgabios: Add char width to stdvga mode table.
[seabios.git] / vgasrc / stdvga.c
index b756f5997fedd6028af9f51e29a1bbe1b8f68b70..e90d48f0ed7083f05fa1c8cf42cae805ec7c68ef 100644 (file)
@@ -10,6 +10,7 @@
 #include "farptr.h" // SET_FARVAR
 #include "biosvar.h" // GET_GLOBAL
 #include "util.h" // memcpy_far
+#include "vbe.h" // VBE_RETURN_STATUS_FAILED
 #include "vgabios.h" // find_vga_entry
 
 // TODO
@@ -526,11 +527,10 @@ static void
 clear_screen(struct vgamode_s *vmode_g)
 {
     switch (GET_GLOBAL(vmode_g->memmodel)) {
-    case CTEXT:
-    case MTEXT:
+    case MM_TEXT:
         memset16_far(GET_GLOBAL(vmode_g->sstart), 0, 0x0720, 32*1024);
         break;
-    case CGA:
+    case MM_CGA:
         memset16_far(GET_GLOBAL(vmode_g->sstart), 0, 0x0000, 32*1024);
         break;
     default:
@@ -540,14 +540,14 @@ clear_screen(struct vgamode_s *vmode_g)
     }
 }
 
-void
+int
 stdvga_set_mode(int mode, int flags)
 {
     // find the entry in the video modes
     struct vgamode_s *vmode_g = find_vga_entry(mode);
     dprintf(1, "mode search %02x found %p\n", mode, vmode_g);
     if (!vmode_g)
-        return;
+        return VBE_RETURN_STATUS_FAILED;
 
     // if palette loading (bit 3 of modeset ctl = 0)
     if (!(flags & MF_NOPALETTE)) {    // Set the PEL mask
@@ -626,11 +626,13 @@ stdvga_set_mode(int mode, int flags)
 
     // Write the fonts in memory
     u8 memmodel = GET_GLOBAL(vmode_g->memmodel);
-    if (memmodel TEXT)
+    if (memmodel == MM_TEXT)
         stdvga_load_font(get_global_seg(), vgafont16, 0x100, 0, 0, 16);
 
     // Setup BDA variables
     modeswitch_set_bda(mode, flags, vmode_g);
+
+    return 0;
 }
 
 
@@ -646,7 +648,7 @@ stdvga_enable_video_addressing(u8 disable)
     outb(v | v2, VGAREG_WRITE_MISC_OUTPUT);
 }
 
-void
+int
 stdvga_init(void)
 {
     // switch to color mode and enable CPU access 480 lines
@@ -654,4 +656,6 @@ stdvga_init(void)
     // more than 64k 3C4/04
     outb(0x04, VGAREG_SEQU_ADDRESS);
     outb(0x02, VGAREG_SEQU_DATA);
+
+    return 0;
 }