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); }