De-uglifying 40-Column Text Games for VGA

The Problem (?)

Let's have a look at a typical DOS game using 40-column text mode, and compare its appearance on CGA vs. VGA:

40-column mode: CGA (left) vs. VGA (right)
40-column mode - left: CGA, right: VGA [click]

Granted, VGA text is sharper.  But for 40-column text, I'd rather be staring at those blocky CGA characters: VGA's 40-column mode has a wonky squashed pixel aspect ratio, which distorts ASCII art and decreases legibility.  The predefined VGA font is a double-dot one, nice and readable at 80 columns, but at 40 things get ugly, stretchy and difficult to read (the ratio of horizontial to vertical stroke widths alone is reported to kill typographers at a hundred paces).

This shouldn't be very surprising.  The CGA's 40-column mode was given actual attention, because it was a design necessity: it made text legible on composite displays and TVs, and gave games a cheap way to combine the full color palette with fast (snow-free) animation.  Such considerations became irrelevant when EGA and VGA came along; 40-column mode was retained for compatibility, but there was no compelling reason to make it look like anything more than an afterthought.

40-column VGA font #1 (NICER40C)
40-column VGA font #1 "NICER40C" [click]
40-column VGA font #2 (THIN40C)
40-column VGA font #2 "THIN40C" [click]

Anyway, that's a lot of conjecture just to convey my personal opinion that it looks like ass in a can.  This is one of the few things that make me go against my general "period-correct" / "as-intended" attitude: even with 40- column games released in the VGA era, I find that CGA makes them look more pleasant.

The Fix

Here are a couple of TSR programs for DOS, to provide font-replacement services for 40-column text mode on VGA.

I've posted them on VOGONS before, but this update improves a few details: fonts have been tweaked some more, and the VGA is set to 8-dot-wide character cells, like CGA (this also gets rid of those blank pixel columns between shaded blocks).  Plus, the programs are now removable -- just run them a second time to uninstall from memory.

Download: (4 KB)

NICER40C.COM sets a font with wider (2-dot) horizontal strokes, to make up for the oddball pixel aspect.  In fact it closely follows the optics and metrics of the CGA font, at a higher resolution.

THIN40C.COM takes the opposite approach and makes all strokes 1 dot wide; this font is derived from the FM Towns system charset, adapted to the default DOS/PC codepage.

I think both of them are much easier on the eyes than the default font, but have a look at the screenshots here and make up your own mind.  (For Snipes, the game on the bottom-right, there's actually an even better VGA enhancement these days -- check it out here.)

By the way: in case you'd like to generate similar font-replacing TSRs yourself, my next blog post may be of interest.

No comments

Write a response:

* Required.
Your email address will not be published.