Keith P. Graham Shareware

Bookmark this site so you can come back and get more.

WARNING: THESE ARE DOS PROGRAMS! THEY PROBABLY DON'T WORK UNDER WINDOWS!

Here's what I've got.

The Greatest Hits of the 80's

OPTIKS Version 3.0

Application, Source code et al 2.4M

Graphics package that reads and writes about 60 different graphics image formats. This is a DOS based system that automatically detects the type of display that you have and sends the computer into a black and white graphics mode. Rather than load one inage into a window this uses a large workspace where you can load multiple images - even on top of each other. It was good for converting images and for merging images. The source file inclues 1.3 megs of assembly language code.
TXT2COM Version 2.1
Application, Source code et al 322k
Utility to take Text files and covert them to self displaying .COM files. This turns documentation into a useful program. This was before HTML, but you could change colors and imbed links and anchors much the same way that you do with a web page. I was ahead of my time. The assembly language source code is about 62k and produces a stand-alone version, a memory resident that can be accessed through a hot key or a pass through version which is temporary resident program.

CBOOT Version 4.0 "Controlled Chaos Rebooter"

Application, Source code et al 90k

This program is my own working copy of a program that I wrote back in 1983 on a floppy based system. CBOOT was the first memory resident program that I ever wrote. What it did was allow you to break out of misbehaved programs. When I first started writing assembly language I had lots of misbehaved programs. It takes over the keyboard interrupt rather aggressively and watches for a hot key combination. The menu that comes up will allow you to kill the currently running program, restore the video mode or make an attempt at recovering the DOS memory map. (MALLOC). CBOOT can recover from many "locked" situations.

FF - Fast File Finder

Application, Source code et al 152k

FF.COM is a "whereis" type of program which is useful for searching large hard disk drives for files. I have taken the idea forward another step by adding options to search any number of drives, create a batch file of the found files and to delete all found files or delete on a prompt.
GMENU - I have lost the final disptribution version and docs. All that is left is the source code.

Source code et al 156k

A Cool Menu program that lets you do all kinds of neat things. Configurable and programmable.

Cool Little DOS Programs

KSRC.ZIP (382K) has the contents of my ASM directory which includes the following documented programs. It includes many undocumented ones as well as snippets of source code borrowed from other programmers.
ATSPEED Small utility to speed up AT diskette drive access by changing disk table paramters and limiting hard diskette resets.
CNTDN CNTDN.COM is a program that counts backwards from a number (1-99) while waiting for a keystroke. If you press Esc the program will terminate normally. If you press any other key the program will exit via Ctrl-Break.
FIX27 Program which reclaims wasted space used when memory resident programs are loaded. FIX27 should go into the AUTOEXEC.BAT before any other memory resident program. It watches for programs going resident and returns their environment block to the memory pool. This is 80 bytes for those with small environments. Those with larger environments can save much more.
FRAK Fraktured Fraktals While trying to come up with a fast Mandelbrot generator I produced some strange results. I have included FBE.COM and FBC.COM for those who are interested in some of my failures.
ICOPY - Disk Image Copy ICOPY allows copying of disks from one format to another such as 360K disks to 720K 3-1/2 inch disks. I have used this to make bootable 3-1/2 inch disks from bootable 360K diskettes. The target is still a 720K diskette but looks to DOS as a 5-1/4 inch diskette.
INCLUDE INCLUDE.COM is a small filter which can be used to merge files together for printing. I wrote it in order to include graphics files with my text files, but it can be used to merge all kinds of files.
MAXDOS and HIRUN These two programs were written to fake out the DOS memory map so that more than 704k can be used to load programs in a 386 system running a memory manager which allocates memory to high ram.
MOREDIR Changes a diskette boot table directory count and writes a new blank directory to the diskette. The program effectively erases everything on the diskette. It is useful for increasing the count of allowable files from the default 112 up to 255. It is also useful for decreasing the directory limit to 16. By decreasing the count of directories to 16, 4K of disk space is freed up for files.
NREFRESH NREFRESH.COM is a small program which changes the PC's DMA refresh rate. The DMA controller issues refreshes less often and therefore more time is devoted to the execution of programs.
P2V Redirects all printer output to the video. Programs are useful for debugging printer routines, especially where escape sequences are involved, without wasting paper.
PRTSTAT A program which detects if the printer is ready and returns the appropriate errolevel for use by batch files.
RULER a memory resident program which places a ruler showing row and column numbers on the screen. It is useful for applications where you have to line up columns or position fields on the screen in an orderly way. Press the Alt-Left Shift-R and the rulers appear on the screen. Press any key and they disappear.
SWAPC SWAPC will change the bios serial port addresses. This will allow most serial printer type applications to swap ports.
TSWITCH I (used to) assemble clones very cheaply for people I know and the XT clones can have a problem running at 8 and 10 MHz. Sometimes floppy diskette access can screw up at the high clock speed. The Clone must be brought down to 4.77 MHz to work properly. The clones with "intelligent" Bios's don't have a problem, but some others do. The program TSWITCH.COM is a terminate and stay resident program (very small) which watches for floppy diskette access and puts a clone into slow speed. When the diskette access is finished, it goes back to high speed (or whatever speed the clone was running). It works on most Taiwan XT turbo clones. This is a fairly good solution to the problem, not as good as a well designed bios, but good enough.
VCPI Tests for the a Virtual Control Program Interface such as DESQview or 386Max. The program checks for EMS memory and then issues a couple of VCPI functions to see what it can see. The program prints out the number of VPCI 4k pages that are available for allocation and the CR0 register.

Heavier Projects

The file KSRC2.ZIP (2.9M) contains the contents of my PROJS directory, organized with a separate directory for each project. It contains lots of documentation and support code for these programs. It also contains other programs that are half done or didn't work well enough to shown to the public. The documented ones are:

CDISK Disk Access Monitor The program was designed for floppy based systems and worked fine on XT's. It has lttle control over disks that are accessed through device drivers. It deals with physical devices below the DOS level. It makes diskettes look like they have the write protect tab on.
HOTFIX A program which changes the default hot key combination in CDISK and many other programs that I wrote.
CLASER LaserJet Control Program CLASER is a control program written for the IBM PC and PC compatible machines to control the Hewlett Packard LaserJet printer. Sets fonts, Orientation, etc.
ZEPR and ZEPP Programs for loading and selecting Hewlett Packard soft fonts. They allow a user to load a new soft font, switch to a new soft font or imbed easy to use selection codes in text files that are to be printed.
CM, CMSET, CMTIME CM.COM displays current CMOS information. CMSET.COM resets the CMOS time and date from the current DOS time and date. This is so you don't have to run AT diagnostics to set the time and date, just set DOS time and date and run CMSET. CMTIME.COM I have a problem with the AT bios conflicting with the Hard Card BIOS so I use this utility to set the DOS time from CMOS time. CMOS time can be more accurate than the DOS time so you might consider using this to reset DOS if you machine is never rebooted.
ROMU A simple utility to create and maintain AT ROM image files including disk table and checksum changes.
ICE - Intrusion Contermeasure Electronics ICE is a program which scramples and compresses COM files (not EXE files) yet allows them to be fully functional. The program makes it difficult to alter the orginal program and it has the added bonus of compressing COM files without detracting from their usefulness.
CRITP, CRITR These two programs dynamically intercept requests for DOS critical handling. They try to avoid interferring when a program allocates the critical error handling for local use, yet try to recognize when a program is going to use the default routines. It will use a window panel for issuing critical error information and allows the user to "Abort Retry Ignore Fail" without causing scrolling of the current screen.
CRITDOG CRITDOG is a critical error shell for executing a program in which the "ABORT, RETRY, IGNORE" message is not desirable and there is no way to change existing code. This program was created for use on BBS's for doors and external protocols where there is chance that a DOS device might fail (such as a printer or a disk) and the sysop does not want have to hang up the caller.
DSQ - Disk Squeezer/Unsqueezer version 3.0 8/16/89 Creates a compressed disk image file of any disk or diskette. The file is highly compressed and contains all original information, including boot record, FAT tables, volume label and directory structures of the diskette. The program is able to recreate the original diskette from a squeezed disk file.
DW - Door Ward DW.COM is a program which intercepts terminal I/O and redirects it to a COM port. It is capable of intercepting INT 10h Video and INT 16h keyboard I/O and augmenting these with COM I/O.
MHP, MHR - Meathook network file sharing service This program allows users of networks using DOS 3.x file sharing to run programs written to DOS 2.x standards. The program intercepts DOS function calls to open files and alters them to allow full read/write access.
MVA.COM MULTI-VOLUME ARC Utility MVA.COM is a utility that allows some ZIP utilities to create and read .zip files which span over many floppy diskettes. Very large arc files can be placed on separate diskettes to be re-assembled later. Can be used to span any large file over multiple diskettes
CTRL-P A little program which simulates the pressing of Ctlr-PrtSc to initiate echoing characters to the printer.
DISPSTRU A program which duplicates the function of the DBASE III DISPLAY STRUCTURE or LIST STRUCTURE commands from the DOS prompt.
EE2 - ENVIRONMENT EDITOR Utility to edit the environment directly without issuing Set commands.
MOREDOS MOREDOS is another variation on a series of utilities to increase the DOS limit above 640k. This works with ordinary memory cards for PC/XT's. It Also lets you use the unused parts of the video buffer as DOS memory.
VIDVOICE VIDVOICE.COM is an interesting experiment for echoing characters sent the PC screen to the PC speaker. You Type - It Talks.
STRIPT STRIPT.COM is a an ascii text stripper which reformats ascii text files so that they are easier to import into VENTURA Publisher.
WAKA - Wakeup Program This issues a DOS command after waiting a certain number of seconds. WAKEUP is a TRS program which hooks into the timer tick. It checks the time once a second. If the current time matches a trigger time, the wakeup string is entered as though it had been entered from the keyboard. WAKA takes over the keyboard and will send keys down at the trigger time, even on an unattende computer.
WPROT WPROT.COM is a small program which makes itself resident and intercepts requests to write to disk drives. It keeps a table which allows the program to "fake" a write protect error. This is useful for programs such as trojans which may produce unwanted writes to disks.
AM - Application Menu System A general purpose application oriented menu system which was designed to be used by novice users.
ABOMB ANSI BOMB prevention program. Intercepts attempts to remap the keyboard with ANSI.SYS escape codes. Allows other codes such as color to pass through unaltered. Prints "Attempt to remap key" when a it detects an ANSI "p" sequence.
BIGPATH Appends a path to current path beyond 128 bytes. Allows very long paths. DOS 5.0 can use the long path.
DIRDBF Creates a standardized DBF file which can be Read by DBASE/FOX/CLIPPER/ETC. The contents of the DBF are a list of files.
FUP FUP copies files from source to target when the date and time of the source is newer than the date and time of the target. FUP is useful to network administrators to update user files automatically.
FG - FastGif Very small, very fast GIF file viewer. The program will detect and use VESA drivers up to 1024 * 768. It will also utilize XMS memory (himem.sys) up to 1.6 megs. In systems where the GIF file is larger than the screen size the user can scroll around the picture.
INIFUP INIFUP renames the file FILE.INI to FILE.BAK and creates a new FILE.INI with the same items as the original. If the topic command line parameter is found in the .INI file as [topic] it will search for the item which matches the command line parameter. If found it will replace the item with the items in value. If not found, it will add the item to the end of the topic.
HALFPLAY Halfplay is a simple program which plays wav files at full speed or half speed. This may be useful to musicians who wish to "cop licks" from music by slowing down the sequence. NOTE: This is a C DLL with a little asm embedded in it. It works under windows. It includes a VB program that shows how it works.
XRAY

XRAY.DLL, XRAYWIN.COM and XRAYDOS.COM are three parts of a system which allows Windows applications to access DOS applications running under 386 enhanced mode. There are a great many character based programs which run very well in a DOS window yet cannot easily communicate with Windows applications. These three programs used in conjunction supply the solution to this problem. I have included all that is needed to access any DOS window from any windows program that can load and execute a simple DLL. This includes Visual Basic and I have included a sample visual Basic form which will capture the entire DOS screen of any application running in a DOS 386 Enhanced windows.

Note: Windows App. Includes a C dll and a VB example. Alows you to screen-scrape DOS windows and send keystrokes to them.