[SeaBIOS] [PATCH 04/15] Report stdvga modes in VBE via int10 (AX = 4F00h)

Kevin O'Connor kevin at koconnor.net
Mon Sep 3 17:28:47 CEST 2012


On Sat, Sep 01, 2012 at 05:12:55PM +0200, Christian Gmeiner wrote:
> As all supported graphic adapters are supporting VGA we should
> list them in int10 (AX = 4F00h). Also clext.c and bochsvga.c
> are haveing a function named like is_XXX_mode() which checks
> if its a default VGA mode or a VESA mode. If its a normal VGA
> mode stdvga_set_mode() gets called.
[...]
>  void
>  stdvga_list_modes(u16 seg, u16 *dest, u16 *last)
>  {
> +    int i;
> +    for (i = 0; i < ARRAY_SIZE(vga_modes); i++) {
> +        struct stdvga_mode_s *stdmode_g = &vga_modes[i];
> +        u16 mode = GET_GLOBAL(stdmode_g->mode);
> +        if (mode == 0xffff)
> +            continue;
> +        SET_FARVAR(seg, *dest, mode);
> +        dest++;
> +    }
> +
>      SET_FARVAR(seg, *dest, 0xffff);
>  }

This is a good idea.  However, I don't think vbe_104f01() will
correctly handle all the standard vga modes as it is coded today.

-Kevin



More information about the SeaBIOS mailing list