If I try to fail, but succeed, which one did I do?

User Tools

Site Tools


Perfect Text Mode in VGA

Ever wondered why VGA text mode had at times, ugly looking text mode graphics? Most all VGA boards by default displayed text at a larger font glyph size of 9×16 pixels, while remaining compatible with the earlier font size at 8×14 pixels. While this added clarity to text by creating a higher resolution display, it was a compromise to keep compatibility with older hardware. The font size was increased from 14 to 16 pixels high, however the designers were unable to add an ninth column to the font. Instead, they decided to make it a blank column. In some cases, it did make sense to separate text with space to make it more readable, however it also made some text mode graphical applications look bad. Here's an example of what a wall of 50% gradient characters looks like in VGA:

To correct for this, you can run a text mode utility called, you guessed it, Text Mode. It is a great freeware utility, which allows for programming your VGA adapter to display a wide variety of text modes. To set up your computer to run in 8×14 pixel mode, run TM as follows:

tm -f 14,2

To return back to VGA text mode, run TM as follows:

tm -f 16,3

For a list of all supported parameters, run

tm -?

With 8×14 text mode, we can see the improvement:

What's great about the utility, is that it's not a TSR - it doesn't stay memory resident. You can set it up to run in your autoexec.bat file every time the computer boots, and still be able to enjoy nice quality text with no compromises.

This utility can also be handy to display ANSI art correctly, or with use with BBS's. You can also use it to switch to a nicer 40×25 column text, that mimics the original CGA adapter.


Text Mode by Jason Hood <>.
Version 1.02 (15 February, 2000). Freeware.

Usage: TM.EXE <cols>[x<rows>] -m[<mode>] ,<lines>
                       -c[<cols>] -r[<rows>] -f[<height|file>]
                       -p[<page>] -s[<attr>] -b[<border>] -d

cols  can be one of 40, 80 or 90
rows  ranges from 12 to 80
-m    uses BIOS to set a mode (in hexadecimal)
lines sets the scan lines to use: 1 to 4 = 200, 350, 400 or 480
-f    sets the font height (6 to 16) or loads a font from file
-p    will select a page (1 to, at most, 8)
-s    will save screen contents or clear screen to attr
-b    will set the border/frame/overscan color
-d    displays current columns, rows and font height
-w    will write all fonts or a particular height to file

Missing values will display the current value, unless -q is added.
Errorlevel is set to the last used (not the last displayed).


File Name Size Description Text Mode by Jason Hood v1.02 (15 February, 2000) 14KB This handy utility will allow you to customize your text mode by reprogramming the VGA board on your computer
guides/text_mode.txt · Last modified: 2020-05-03 06:55 by omolini