TGH3


Just starting reconstruction on this site after changing web hosts, moving, and getting a new computer... it's going to be a bit ragged for a while. I'll start with some of the files.

You can contact me at tom3@tgh3.com ...


Fun & Games


CHASE: A simple "chase" game
FREE!!!
Download Chase.bas

This is an old computer game, derived from something that appeared in one of Creative Computing's old game books. The idea is, you're being chased by very lethal (but extremely stupid) robots, and you have to lure them into the electric fences. I doubt many people will find this game as addictive as I once did, but you never know. It's included for historic reference. The date of 6/25/84 would make it one of the earliest programs that I wrote for the IBM PC. The extended-ASCII character codes used in this program will probably look strange if you're not using the U.S. OEM character set.

CHASE includes source code in interpreted BASIC, in ASCII text form. It'll run fine under QuickBasic or PowerBASIC, too.


MOUNTAIN: The Moon Mountain Adventure
FREE!!!
Download Mountain.exe

This old text adventure game was originally written for the TRS-80, primarily as an exercise in compact programming techniques. It was ported to the IBM PC world in 1984, as one of my first PC programming efforts. It uses a somewhat ugly CGA graphics mode, for no known reason, and is pretty spartan as adventures go. If you're obsessive about the history of adventure games, you probably need a copy. Otherwise...? Well, let's just say computers have advanced a lot since then, as have the games you can play on them.

The Moon Mountain Adventure, in the TRS-80 version, was submitted to Softside Magazine for publication (they printed software listings, which made some sense in days when floppies were expensive and programs were under 16Kb). It was written in interpreted BASIC (of course!) with some Z80 assembly-language subroutines. Softside couldn't decide whether to take it, and ultimately let it slide, though I did sell them other programs before and after that period.


TEXTRIS: A word game
FREE!!!
(missing download, right now...)

Textris is a little like Tetris and a little like Scrabble. Random letters fall from the sky. Fit them together to make words for points. Unused letters remain behind, cluttering the arena until at last there is no space left to build new words. Good spelling practice, and addictive fun! Requires an EGA, VGA, or better display.


Utilities for DOS


2MON 10.0: Utilities for dual-monitor systems
FREE!!!
Download 2Mon1000.zip

NOTE: These utilities are for color + MDA monitor setups, not for Windows multi-header SVGA monitor setups. Utilities include a clock TSR which runs on the mono display, a utility to clear the mono display, and a TSR which remaps the PrintScreen key-- instead of sending output to the printer, it copies the color display to the mono display. 2MON includes complete source code in assembly language.


BPP 10.0: A BASIC PreProcessor
FREE!!!
Download BPP1000.zip

This utility provides a powerful meta-language for PDS, QuickBasic, Visual Basic for DOS, PowerBASIC, and even the QBASIC interpreter. BPP processes your code before the compiler gets to it, allowing conditional compilation, underscores within variable names, flexible "include" files (which may even contain SUB and FUNCTION definitions), name substitutions, and more. C programmers have had preprocessors for years-- now there's one for BASIC, too! Don't duplicate your efforts with different files for different environments, when BPP lets you re-use the same code and ignore the minor changes.


EXECOM 10.0: EXE-to-COM converter
FREE!!!
Download ExeC1000.zip

Like the old DOS utility, EXE2BIN, this program converts .EXE files to .COM files. It's smaller and faster, though, as well as offering a few additional conveniences. The latest version supports long filenames under Windows 95, et al., although it works equally well under old versions of DOS.

EXECOM includes full source code in MASM-compatible assembly language.


GBAS2TXT 1.0: GWBASIC detokenizer
FREE!!!
Download gbas2txt.zip

Way back when in days of old, the first IBM-type PCs came with Microsoft interpreted BASIC, variously known as BASIC, BASICA, or GWBASIC. Since computers were very slow and had very little memory, these BASIC interpreters saved program source code using a special encoding format. The GBAS2TXT utility converts such encoded (or tokenized) files into regular text.

GBAS2TXT includes complete source code in BASIC (PowerBASIC for DOS).


KEYCTL 10.0: Keyboard Control utility
FREE!!!
Download KeyC1000.zip

For AT-class machines only (286, 386, 486, etc), this utility allows you to speed up your keyboard (or make it less sensitive, for kids, etc). You can also swap the positions of the Caps Lock and Left Ctrl keys, which can be useful for civilizing the 101-key "enhanced" keyboard.

KEYCTL includes complete source code in MASM-compatible assembly language.


LIBWIZ 3.0: The Library Wizard BASIC Library Manager
FREE!!!
Download LibWiz30.zip

This is a management tool for handling and customizing BASIC libraries. It allows ready creation of subsets of existing libraries, automatically resolving any interdependencies for you. Tools for updating and extracting from libraries are also included.

LibWiz is strongly recommended for use with my BasWiz and PBClone libraries, due to the great number of routines involved (over 1,000, all told). Microsoft's DOS BASICs weren't designed to deal with large libraries, so there are real advantages to creating your own custom subset libraries that contain just the routines you need. LibWiz lets you readily create the perfect libraries to suit your own requirements. And, it's free!


OBJTOOL: OBJ Tool (shareware)
(download not available right now)

This must be the ultimate tool for manipulating 16-bit .OBJ files. You can select files for inclusion or exclusion using wildcards, time, date, and size comparisons, or even by basing the results on a search through the .OBJ file. View the file's stats, rename public symbols, external symbols, and default libraries, delete default libraries and languages, check for validity, repair or apply the appropriate checksums-- ObjTool has it all. ObjTool is useful for reducing the size of libraries, resolving conflicting routine names, patching .OBJ files and just snooping around!

ObjTool includes full source code in BASIC and assembly language.


SLINK: Smart LINK Shell
FREE!!!
(Download not available right now)

SLink is a shell for Microsoft LINK. It automatically converts .EXE files to the smallest form, by analyzing the results of the /EXEPACK option. SLink automatically converts to .COM and .SYS files as appropriate, eliminating the need for EXE2BIN.

Slink includes full source code in QuickBASIC.


SPEEDER 10.0: Speed up 8088 PCs
FREE!!!
Download Spee1000.zip

Speeder is a utility that works by changing the RAM refresh rate to reduce the overhead for 8088 PCs. It may work on later CPUs as well. However, the technique used may make your computer unreliable, and is not guaranteed to be of much value. Speeder is included here mostly for historical reference. It includes source code in assembly language.


VCLOCK 10.0: Video clock TSR
FREE!!!
Download VClk1000.zip

This tiny TSR provides a running display of the time. You may specify screen position, 12 or 24 hours, whether to display seconds, the colors to use, and other parameters. Two versions are provided-- one for 8088 PCs and later, and one optimized for later processors than the 8088.

VCLOCK is for DOS, and includes full source code in MASM-compatible assembly language. Now in the Public Domain.


Programming Libraries


ASMWIZ: The Assembly Wizard's Library
FREE!!!
Download AsmWiz31.zip

This is a library of over 175 routines for assembly language. The library will work with A86, Arrowsoft Assembler, MASM, OPTASM, and TASM. Only tiny model (.COM format) is supported. Routines include text displays (machine-level, BIOS, and DOS), graphics (Hercules, CGA, EGA, VGA), number base conversions, long integer math, file matching and command-line parsing, pseudo-random number generation, countdowns and delays, buffered file support with critical error handling, environment scanning, ASCIIZ string functions, keyboard support, mouse support, sound generation, control over Break, loading of BSAVE-format files, and more.


BASUPD 10.0: BASIC Update Library
FREE!!!
Download BasU1000.zip

This library provides routines for QuickBasic 4.x that mimic new functions and commands provided by later BASIC compilers, such as PDS 7.x and Visual Basic for DOS. These include disk routines and a powerful selection of time and date functions. BASUPD includes full source code in BASIC and MASM-compatible assembly language.


QBWIZ 10.0: The QuickBasic Wizard's Library
FREE!!!
Download QBWi1000.zip

QBWIZ is a collection of routines that allow you to access internal variables for QuickBasic 4.x, BASCOM 6.x, and PDS 7.x. You can retrieve the screen mode, the display adapter type, DEF SEG setting, I/O redirection status, current screen colors, and other useful values. You can also exit your program with a DOS error level, for convenience in working with .BAT batch files.

Full source code is included, of course.


EGUI 1.01: GUI Toolkit for PowerBASIC
FREE!!!
Download EGUI101.zip

A GUI toolkit for PB/DOS. This was formerly a commercial product, EllTech's GUI Toolkit. I acquired the rights and have donated this software to the Public Domain. No docs, yet...


Compression 2.0: .ZIP Toolkit for PowerBASIC
FREE!!!
Download Compr20.zip

A compression toolkit for PB/DOS. This was formerly a commercial product, EllTech's Compression Plus. It provides various compression functions and compatibility with an old version of PKZIP (PKZIP 1.09g). I acquired the rights and have donated this software to the Public Domain. No docs, yet...