diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2012-09-01 17:12:55 +0200 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2012-09-10 20:30:57 -0400 |
commit | a1a32838257368a26b3a74c4c8acf4c6d7b616e2 (patch) | |
tree | 2820512d2b2ec884f185ad488b6ab3cc9989cd17 /vgasrc/stdvgamodes.c | |
parent | 58dd0518100b2ddb112982c71db9c908f83b118a (diff) | |
download | seabios-hppa-a1a32838257368a26b3a74c4c8acf4c6d7b616e2.zip seabios-hppa-a1a32838257368a26b3a74c4c8acf4c6d7b616e2.tar.gz seabios-hppa-a1a32838257368a26b3a74c4c8acf4c6d7b616e2.tar.bz2 |
Report stdvga modes in VBE via int10 (AX = 4F00h)
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.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Diffstat (limited to 'vgasrc/stdvgamodes.c')
-rw-r--r-- | vgasrc/stdvgamodes.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/vgasrc/stdvgamodes.c b/vgasrc/stdvgamodes.c index 5497da8..1756ade 100644 --- a/vgasrc/stdvgamodes.c +++ b/vgasrc/stdvgamodes.c @@ -334,6 +334,16 @@ stdvga_find_mode(int mode) 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); } |