Testing on QEMU, here are the video options from OpenWatcom's _setvideomode:
> Mode Type Size Colors Adapter > _MAXRESMODE (graphics mode with highest resolution) > _MAXCOLORMODE (graphics mode with most colors) > _DEFAULTMODE (restores screen to original mode) > _TEXTBW40 M,T 40x25 16 MDPA,HGC,VGA,SVGA > _TEXTC40 C,T 40x25 16 CGA,EGA,MCGA,VGA,SVGA > _TEXTBW80 M,T 80x25 16 MDPA,HGC,VGA,SVGA > _TEXTC80 C,T 80x25 16 CGA,EGA,MCGA,VGA,SVGA > _MRES4COLOR C,G 320x200 4 CGA,EGA,MCGA,VGA,SVGA > _MRESNOCOLOR C,G 320x200 4 CGA,EGA,MCGA,VGA,SVGA > _HRESBW C,G 640x200 2 CGA,EGA,MCGA,VGA,SVGA > _TEXTMONO M,T 80x25 16 MDPA,HGC,VGA,SVGA > _HERCMONO M,G 720x350 2 HGC > _MRES16COLOR C,G 320x200 16 EGA,VGA,SVGA > _HRES16COLOR C,G 640x200 16 EGA,VGA,SVGA > _ERESNOCOLOR M,G 640x350 4 EGA,VGA,SVGA > _ERESCOLOR C,G 640x350 4/16 EGA,VGA,SVGA > _VRES2COLOR C,G 640x480 2 MCGA,VGA,SVGA > _VRES16COLOR C,G 640x480 16 VGA,SVGA > _MRES256COLOR C,G 320x200 256 MCGA,VGA,SVGA > _URES256COLOR C,G 640x400 256 SVGA > _VRES256COLOR C,G 640x480 256 SVGA > _SVRES16COLOR C,G 800x600 16 SVGA > _SVRES256COLOR C,G 800x600 256 SVGA > _XRES16COLOR C,G 1024x768 16 SVGA > _XRES256COLOR C,G 1024x768 256 SVGA If I write a sample C program (below) to test the video mode, this is the result I get for each of _MAXCOLORMODE and _MAXRESMODE for both 'cirrus' and 'std' VGA adapters in QEMU: cirrus: max color: 320 x 200 @ 256 max res: 640 x 480 @ 16 *However, I can run another program to test the XRES modes, and I can set (and use) 256-color mode, but cannot set XRES 16-color mode. [I'll share the XRES test program in a followup email] std: max color: 320 x 200 @ 256 max res: 640 x 480 @ 16 *If I run the other program to test XRES modes, I can set both 256-color mode and 16-color mode .. but the 16-color mode doesn't actually work. #include <stdio.h> #include <graph.h> int main() { struct videoconfig mxcolor, mxres; /* try highest colors */ if (_setvideomode(_MAXCOLORMODE) == 0) { puts("cannot set max color video mode"); return 1; } _getvideoconfig(&mxcolor); _setvideomode(_DEFAULTMODE); /* try highest res */ if (_setvideomode(_MAXRESMODE) == 0) { puts("cannot set max res video mode"); return 1; } _getvideoconfig(&mxres); _setvideomode(_DEFAULTMODE); /* print results */ printf("max color: %d x %d @ %d\n", mxcolor.numxpixels, mxcolor.numypixels, mxcolor.numcolors); printf("max res: %d x %d @ %d\n", mxres.numxpixels, mxres.numypixels, mxres.numcolors); return 0; } _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel