Text mode, Virtual PC 2004 and full screen mode

Text mode, Virtual PC 2004 and full screen mode

Rate This
  • Comments 6

Every now and then someone notices that if they have a virtual machine running in 'text mode' (like DOS) and they put it into full screen mode - they will get a small black band at the top and bottom of the screen.  We display 'text mode' at 640 x 400 resolution (it is natively 320 x 200 - however we double the display to make it more readable when in windowed mode).  The problem is that a number of video cards do not support running at 640 x 400 - but report that they do support running at 640 x 400.  When we try and use 640 x 400 mode on these video cards bad things happen (from corrupt displays to crashing drivers).  To try and avoid this, what we actually do is put the video card into 640 x 480 and display 40 black pixels at the top and bottom of the screen.

Cheers,
Ben

Leave a Comment
  • Please add 6 and 6 and type the answer here:
  • Post
  • Is it possible to run Virtual PC at a resolution of 1920 x 1200? Maybe there's some registry hack? Or is the absolute maximum 1600 x 1200?
  • It's probably a limitation of the emulated S3 Trio video. Although I wouldn't consider it a limitation considering it only has 8Mb of RAM!

    Robert
  • Correct me if I'm misremembering this - I seemed to remember that VGA text mode was 640x400 when run in 80 column (default?) mode - the VGA 256 colour mode (40 column text) was the 320x200 one, right?
  • Not exactly. Text mode in VGA is 720*400 - 80*25 chars of 9*16 each. The 9th (rightmost) pixel was sometimes always-off for chars<192, and like the 8th for chars >=192. It's a hack to get the most out of text-mode graphics, and is implemented purely in hardware.

    Try it: open a CMD window, hit Alt-Enter for full-screen text mode, and type Alt-177 (on the numeric keypad). Notice the thin lines between the checkerboard characters - that's the 9th pixel. This screwed up many text-mode programs (Turbo Pascal, Norton utils, etc).

    Now, type Alt-192 and Alt-191 - notice how they do connect properly.

    EGA was not like that. It was 640*350 - 80*25 chars of 8*14 each, and the checkerboard merged properly.

    As for graphics mode, VGA had 640*480*4-bit, and 320*200*8-bit. I think you could tweak some HW registers to get 320*240*8-bit, but it wasn't supported by the BIOS. All colors were selectable from a palette of 18-bit color (6r6g6b).

    * walks away wondering why he still remembers this stuff *
  • To add to what Jonathan has said:

    The default VGA text mode is indeed 720x400 (80x25 characters of 9x16 pixels each). However, the default MCGA text mode is 640x400 (80x25 characters of 8x16 pixels each). Since the VGA was designed to be 100% MCGA-compatible, there is a way to put it in MCGA text mode.

    One quick and easy way to tell whether you are in VGA or MCGA text mode is to look at the lower-case "m". If all three prongs of the "m" are the same width (two pixels wide), you're in VGA text mode. If the middle prong is thinner (one pixel wide), you're in MCGA text mode.

    Interestingly, because Virtual PC uses a 640x400 area to simulate text mode, only MCGA text mode is supported. There does not appear to be any way to get it to provide a genuine VGA text mode using a 720x400 area.

    And now a question for Ben Armstrong: Is there any way at all to force Virtual PC to use a native 640x400 video mode, for those of us who know that we have a video card that supports 640x400 just fine? The unnecessary "letterbox" bars are a waste of space, but more importantly, they mess up the aspect ratio. This is especially irksome in old VGA/MCGA games, which are natively 320x200, but in Virtual PC are pixel-doubled to 640x400 (and thus also letterboxed to 640x480). I'm hoping there's an undocumented registry setting or something to fix this.
  • Hi Ben,

    How do I fix that? Because of that, the Windows 98 boot screen does not display properly.

Page 1 of 1 (6 items)