Report stdvga modes in VBE via int10 (AX = 4F00h) --- vgasrc/stdvgamodes.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/vgasrc/stdvgamodes.c b/vgasrc/stdvgamodes.c index 5497da8..84846ad 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); }
Ignore this one one... will rework it --- Christian Gmeiner, MSc
2012/8/31 Christian Gmeiner christian.gmeiner@gmail.com:
Report stdvga modes in VBE via int10 (AX = 4F00h)
vgasrc/stdvgamodes.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/vgasrc/stdvgamodes.c b/vgasrc/stdvgamodes.c index 5497da8..84846ad 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);
}
-- 1.7.11.rc2.5.g68f532f