home *** CD-ROM | disk | FTP | other *** search
- /* vmode.c (emx+gcc) */
-
- /* Show & select video mode, test int86() */
- /* DOS only (see also vio.c) */
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <dos.h>
-
- static void usage (void)
- {
- fputs ("Usage: vmode [<mode_number>]\n", stderr);
- exit (1);
- }
-
-
- int main (int argc, char *argv[])
- {
- long mode;
- char *p;
- union REGS r;
-
- if (argc == 1)
- {
- r.h.ah = 0x0f;
- _int86 (0x10, &r, &r);
- printf ("Mode 0x%x, %d columns\n", r.h.al, r.h.ah);
- }
- else if (argc == 2)
- {
- errno = 0;
- mode = strtol (argv[1], &p, 0);
- if (errno != 0 || mode < 0 || mode > 255 || *p != 0)
- usage ();
- r.h.ah = 0x00;
- r.h.al = (unsigned char)mode;
- _int86 (0x10, &r, &r);
- }
- else
- usage ();
- return (0);
- }
-