Here's a bunch of simple tools I put together mostly for my own use really, but some others may find them helpful.
These programs allow you to adjust/optimize the video output of a CGA card (or 100% register-compatible) for a (CRT) television set. You can use them to align the screen position horizontally, fix various issues related to 80-column text display, and make the adjustments "stick" while running programs and games -- even booters.
- What's inside?
- TVCGAFIX.COM: the main TSR; sets the H-position and fixes up 80-col text
- TVCGACAL.COM: displays a calibration screen to find the optimal H-position
- MAKEBOOT.COM: boot-disk maker; load the fix at system startup for booters
- TV80.COM: make various adjustments to optimize 80-column text output
- Why is this needed?
- To make life easier for users of PC compatibles who happen to have a Color/
Graphics Adapter (or clone) hooked up to a composite display, especially to
a television set, and most especially to an older CRT television set.
The CGA's composite video output doesn't horizontally center the active picture with respect to the the total raster area. Some composite monitors can compensate for this; so do more modern TV sets, which can mitigate this by displaying the full overscan area and/or adjusting the horizontal position on the TV side. For old-school CRT televisions however this can be a problem - and on the software side, you don't always get those convenient "shift screen left/right" controls, like some games used to provide for this very situation.
On top of that, the CGA design has a bug (or is it a feature?) which causes the width of the hsync pulse to be halved in 80-column text mode. The usual effect is that the color goes completely missing. Of course, colored 80-column text isn't very readable on composite displays anyway, which is why this may actually be a "feature"; but sometimes it is desired, especially in games that use it for pseudo-graphics.
- Can't I just use the MODE command in DOS to fix this stuff?
MODE.COM does take a couple of parameters (",l" and ",r") to control the screen's horizontal positioning, and make it persist through mode changes. However:
- MODE doesn't do anything about those 80-column text mode quirks.
- Obviously, it doesn't work with self-booting software which knows nothing about DOS.
- In some DOS versions (e.g. MS-DOS 6.22), MODE.COM is buggy and enjoys corrupting the pointers to its own parameter tables; when a new mode is set, the CRTC receives complete garbage and the TV promptly loses sync.
- TVCGAFIX takes up even less RAM than MODE.COM's resident module. ;-)