Free Software for DOS
System Utilities

21 Aug 2006

Global Menu:
Go back to Front Page Menus

This page:









For 'old' PCs try InfoPlus (released 1993).

Dedicated drive identity tools are listed on DISK UTILS PAGE 1.

NSSI (Navrátil Software System Information) — Tool with excellent CPU identification capability.

* * * *

[added 1998-01-30, updated 2006-08-21]

NSSI is an up-to-date, freeware, hardware information tool. Some features have yet to be implemented, but it is quickly becoming a comprehensive and detailed hardware analyzer. Screenshot.

Partial list of features:

2006-06-25: v0.59.9.

Author: Tomáš Navrátil / Navrátil Software, Czech Republic (2006).

Download nssi059.exe (470K).

Get latest info at Navrátil Software (pages in English and Czech).

AIDA — System information and benchmarking program.


[added 2001-06-01, updated 2005-12-09]

A sysinfo and benchmarking tool – strength seems to be with identifying current, rather than legacy hardware. AIDA tests motherboards, video adapters, monitors, disks, printers and more. Reports can be generated in several formats. Available for 16-bit DOS and for 32-bit Windows. Free for individual use only.

The Windows version is multlingual, running in English, Albanian, Bulgarian, Catalan, Chinese (Simplified or Traditional), Czech, German, Danish, Spanish, Finnish, French, Gallegan, Greek, Croatian, Hungarian, Italian, Japanese, Korean, Lithuanian, Latvian, Macedonian, Dutch, Norwegian, Polish, Portuguese, Romanian, Russian, Swedish, Slovenian, Slovak, Serbian, Turkish, Ukrainian

Development has ended, support is no longer available. AIDA for Windows has been folded into EVEREST, available in paid and free versions from Lavalys (Canada & Hungary).

Author: Miklós Tamás, Hungary (2004).

AIDA16 for DOS
AIDA32 for Win32

User's Guide

CMOS — Save and restore CMOS data.

* * * *

[added 1999-09-19].

This util saves an AT-class PC's CMOS data to a disk file, as backup in case of battery failure. Also, multiple data sets can be saved to separate files, for quick reconfiguration of the CMOS at any time. Does not work on XTs (no CMOS). Does not work on EISA or MCA machines. ASM source code included. Released under GNU General Public License.

Author: Charles Dye (1999).

1999-05-05: v1.0.

Download (20K).

More in these pages from Charles Dye.

UPCT (Ultra precision command timer) — Benchmarks duration of processes.


[added 1998-03-26, updated 2005-12-09]

A small utility for benchmarking duration of processes.

Meaning: Any command plus parameters you would normally
enter at the DOS command prompt, including redirection.

To get UPCT to time duration of a batch file run from the command line, try this syntax:


Here's the output after running a batch file that turns this web site into a text file:

Command executed: C:\COMMAND.COM /C call HTSTR.BAT
Parameters: HTSTR.BAT
Raw total count: 128403478 cycles on the 8253/4 programmable interval timer.
Elapsed time: 107614357.1 microseconds = 1 minute and 47.6144 seconds.

Author: Erik de Neve, Netherlands (1995). Suggested by Robert Bull.

1995-05-01: v1.6.

Download (9K).

PC Diagnostics — Hardware diagnostics tool.


[added 1999-09-25, updated 2004-06-30]

PC Diagnostics '95 (for DOS including, but not limited to, MS-DOS 7/Win95) performs hardware testing – this distinguishes it from traditional system information utils like Microsoft's MSD or Qualitas' ASQ. PC Diagnostics "can check out most aspects of any PC, including modern features such as the PCI, AGP & MCA busses, and handles all types of systems, from an XT all the way to Pentium II. Performs system burn-ins and can even detect intermittent problems." Development of this program has ceased, but it should remain useful for legacy PCs.

While not difficult to use, it is intended for computer technicians / experienced users who are best able to interpret the information generated. Limitations and cautions are fully discussed in the documentation. This tool needs to be run after a clean boot.

Author: Craig Hart, Australia (1999).

1999-02-06: V2.77beta.

Download (179K).

Online manual, same as the plain text version that's in the program download package.

Also see the author's PCI and PCI32, next article, and his PCI & PnP Stuff Pages – "Best viewed with eyeballs and brains."

PCI and PCI32 — PCI system information tools.


[added 2000-08-28, updated 2006-03-14]

PCI "...features classic PCI Specification Version 3.0 support, including all 140 device class/subclass/programming interface codes" and "produces a report of the PCI, AGP & CardBus devices fitted to a PC, including the system chipset," as well as "system resource usage (IRQs, Memory ranges, etc), capabilities (busmastering, caching), setup data (device latencies, general capabilities, features, subsystem info), and much, much more." PCI's database (included in every package) currently identifies over 20,000 devices from over 2100 hardware vendors. Note that the database is updated regularly, so check for a new one often.

Major development work on PCI for DOS, Win3.x and Win9x has ended, but updates and bug fixes will continue if necessary. PCI32 for WinNT+ is still in development, and PCI64 is coming. PCI32vk is a package of ports for DOS16, DOS32, OS/2 Warp 3+, WinNT+ and Linux. All versions use the same database file.

All versions use the same data files. All versions are released as freeware, freely modifiable, with PAS source code, but the principal author accepts donations from grateful users.

Usage: PCI [-H] [-D] [-S] [-T] [-B] [-P] [-?]   [] indicates optional parameter

-H : Use direct hardware access (instead of the BIOS) to retrieve PCI Info
     May be required for accurate reporting on Intel 430FX chipset+Award BIOS
-D : Do a hex-dump of each device's entire configuration space
-S : Create a brief, summary report only; only devices and IRQs listed
-T : Disable the test ROM IRQ Routing Table function
-B : Enable display of the Bus, Device & Function information
-P : Enable display of PCI slot routing data
-I : Installer mode: produce raw data dump (for use with auto-setup programs)
-? : Displays this help screen!
Craig Hart, Australia (2005)
PCI 1.04vkA
Port by Veit Kannegieser, Germany (2005)

16-bit for DOS, Win3.x/9x/Me, OS/2
32-bit for WinNT/2K/2K3/XP+ console
For DOS16, DOS32, OS/2, Linux, WinNT+

Latest database

Also see Craig Hart's PC Diagnostics, above.

Go to Craig's PCI Programs for more info, or to make a donation.

Craig's PCI & PnP Stuff Pages – "Best viewed with eyeballs and brains." – have other software and info.

And see Veit Kannegieser's R200FIX below, and his online pages, in Englishauf Deutsch.

Memtest86 — BIOS-based memory tests for Intel/AMD/Cyrix x86 computers.


[added 2005-05-27]

Memtest86 runs from a bootable diskette or CDROM, testing, mapping and determining the size of a PC's memory. It can be installed onto the boot disk from DOS/Windows or from Linux/Unix – but running does not otherwise require any OS or even a hard disk. Configuration consists of setting test and error-reporting options. Released under GNU General Public License.

Error reporting:
Test Number
Failing Address
Failing memory address
Expected data pattern
Failing data pattern
Exclusive or of good and bad data (this shows the position of the failing bit(s)
Online Commands:
ESC   Exits the test and does a warm restart via the BIOS.

c     Enters test configuration menu
          Menu options are:
             1) Cache mode
             2) Test selection
             3) Address Range
             4) Memory Sizing
             5) Error Summary
             6) Error Report Mode
	     7) ECC Mode
             8) Restart
             9) Adv. Options

SP    Set scroll lock (Stops scrolling of error messages)
      Note: Testing is stalled when the scroll lock is
      set and the scroll region is full.

CR    Clear scroll lock (Enables error message scrolling)

Author: Chris Brady (2004).

2004-11-12: v3.2.

Diskette builder
CDROM ISO images

Go to the Memtest86 page for more info, and Linux/Unix installers.


DRVLOAD — Load device drivers from command line or batch file.


[updated 2006-08-21]

With this util, editing of CONFIG.SYS and rebooting can be avoided. Works under DOS 3.0+, but not in a Windows DOS box. Can be loaded high under DOS 5.0+. Occupies 2K on disk, adds 256 bytes to loaded drivers. ASM source code included.

Author: Rick Knoblaugh, for PC Magazine (1993).

1993-10-12: v1.0.

Download (20K).

MAP — MEM substitute.


[added 2002-10-20, updated 2006-08-21]

"Map is a program to display the memory map. It can list only programs and device drivers, or the full list of memory control blocks. It can also list device drivers, interrupt vectors and the high memory area." Useful when you need detailed mapping information for optimizing memory.

Usage, v2.0:   MAP [-option ...]
         -n    list of programs in normal memory (default)
         -u    list of programs in normal and upper memory
         -f    full list of memory blocks
         -d    list of device drivers
         -x    XMS report
         -e    EMS report
         -h,?  this text

Usage, v3.0: MAP [-option ...] [name ...]
         -c        list of programs in conventional memory
         -u        list of programs in upper memory
         -f[c|u]   full list of memory blocks
         -d        list of device drivers
         -i[list]  list of interrupt vectors (in hexadecimal)
         -a        list of HMA
         -o addr   determine the owner of addr
         -h,?      this text

Authors: v2.0 by Péter Sulyok, Hungary (1994); v3.0 by Jason Hood, Australia (2002).

32-bit, requires 80386+, DOS 5+ (DOS 7/Win9x to display the HMA list)


Jason Hood's Map page.

More in these pages from Jason Hood.

TSR Utilities (TSRCOM) — Remove memory resident programs that can't remove themselves.

* * * * *

[updated 2005-03-11]

Several TSR programs are listed on these pages – many of which have no option to uninstall themselves from memory. It's often wise to uninstall DOS TSRs [e.g., to free memory when a TSR is needed only temporarily, or when running programs with which a TSR may conflict (e.g., Windows)]. The TSR Utilities are compatible with a wide range of memory managers and can remove TSRs loaded to upper memory. Thorough documentation.

Marks a position in memory above which TSRs can be released
Removes TSRs from memory
Performs the same function as MARK but uses less memory
Like MARK, but saves a more complete picture of system status
Removes TSRs marked with MARKNET
A TSR that keeps records of other TSRs
Disables or reactivates TSRs, leaving them in memory
Shows how much RAM is available
Shows loaded TSRs
Shows loaded device drivers
Uses up memory for controlled program testing

Author: Kim Kokkonen / TurboPower Software (1993).

1993-10-18: v3.5.

Download (78K).

Cache Control (CC) — Mouse compatible control center for MS-DOS SmartDrive.

* * * * *

[added 1998-03-05, updated 1999-02-21]

A slick and friendly full screen interface for the SmartDrive cache program: "...allows cache settings to be changed by intuitive point-and-clicking rather than using the less friendly command line options." Change settings for individual drives by clicking on drive buttons and selecting read/write caching options. Current settings are displayed under drive buttons. Good built-in help. EXE size: 14.4K.

Displays brief descriptions of the function keys.
Flushes the disk cache and makes sure that any write-behind (or write-cached) data is written to the disk.
Resets the disk cache – any write-behind data is flushed, and the disk cache buffers are cleared.
Use this to change whether the cache is flushed when the command prompt appears.
After confirmation, disables disk caching for all drives except A: and B:
After confirmation, sets read-caching for all drives except A: and B:
After confirmation, sets write-caching for all drives except A: and B:
After confirmation, sets read-write caching for all drives except A: and B:
After confirmation, restores the cache settings for all drives as they were when CC was started.

Author: Mark Incley / Inkland, UK (1999).

1999-02-15: v1.53. Part of the InkUtils collection. Formerly shareware, now freeware.

Download ink153.exe (255K).

Get more info at the Inkutils page.



These programs are intended for users of "fast" PCs (e.g., Pentiums >~200 mhz). They can breathe life back into countless older Borland Pascal compiled DOS programs which may generate an error message on execution ("Runtime error 200 at xxxx:xxxx.") and abort. Several programs listed on this site generate that error. For the end-user, three types of remedies to the TP/BP CRT problem exist: (1) EXE patchers, which modify the original executable (CRTFIX and BP7PAT, or numerous others); (2) TSR runtime fixes (e.g., PROT200TP7P5FIXR200FIX), which don't modify the original exe, but instead detect and prevent the error at execution; and (3) CPU slowers (e.g., SLOWDOWN).

(1) Attempts at exe patching are not always successful because some compressed exes won't be easily uncompressed (required for patching) or may contain anti-hacking code which defeats a successful patch. In addition, patching may infringe upon a program's copyright. Importantly, there is now discussion indicating that some patchers may not be effective for high MHz CPUs (e.g., Pentium II/III >400MHz); you may have to experiment with several patchers to find one that works. CRTFIX is designed to generate a fix appropriate to a PC's CPU frequency. It has the added advantage of offering several options (create backup of original, search for buggy files on disk and log list to file, etc).

(2) The TSR fix can be more desirable if you use a large number of programs with the error. They intercept a BP EXE's divide-by-zero operation, and change the quotient and remainder to real values. Limitations of the TSR fixes include less than 100% effectiveness, and the additional (if small - 1K) memory cost of running the TSR.

Also see J. R. Stockton's pages for more information on the BP CRT issue.

BP7PAT — Patches EXEs.

* * * *

[added 1999-05-14, updated 2005-12-09]

SYNTAX: BP7PAT input[.exe] [options]

The resulting file will have the same name
as the input file. The originally file will
be saved as input.PAT

Available options:
 /?, /h  -  this little help screen
 /n      -  make NO backup
 /x      -  extended output

Author: Philip Helger (PHaX), Austria (1999).

Download (7K).

More in these pages from Philip Helger.

CRTFIX — Patches EXEs; handles wide range of CPU frequencies.

* * * *

[added 2000-10-02, updated 2004-06-27]

CRTFIX can patch any file created by BP: EXE, OVL, TPU, TPL, TPP, etc. PAS source code included.

CRTFix <file_masks> [options]
USAGE: CRTFix [options] 
where: file_masks are masks of files to be patched and options are:
       /a - ask before patching files;
       /b - backup files;
       /d## - set delay factor to ## (0 for autodetect);
       /m## - set maximal delay factor to ##;
       /e - do not reapply patch;
       /l - write log file;
       /p - write to log only files, containing CRT code;
       /r - recursive search;
       /t - test mode: only search for code, but don''t patch;
       /h or /? - this help.

Author: Eugene Toder (2001).

2001-06-25: v1.16.

Download (20K).

PROT 200 — TSR runtime fix.


[added 2000-01-24]

ASM source code included. Also included is BP7PATCH, a library file patcher (for programmers).

Authors: PROT 200 by Martin Papík, Slovakia (2000). BP7PATCH by Dennis Passmore (1997).

2000-01-02: v1.00.

Download (70K).

TP7P5FIX — TSR runtime fix.

* * * *

[added 1999-08-16, updated 2005-12-09]

Run this once to enable, and run again to disable. Also included: Test util, ASM and PAS source code.

Authors: Originally by Marek Futrega, Poland; Latest version by Robert Riebisch / BTTR Software, Germany (2004).

2004-06-20: v1.04.

Download (15K).

Marek Futrega on the Web (blog).

More in these pages from BTTR Software.

R200FIX — TSR runtime fix.

* * * *

[added 2005-12-09]

For Pentium 233MHz and up. Run R200FIX.COM when needed, or from AUTOEXEC.BAT. Package also includes a checksum util and BP source code patches (for programmers).

Author: Veit Kannegieser, Germany (2001).

2001-10-21 release.

Download either one

Also see Veit Kannegieser's PCIvk, above, and his online pages in Englishauf Deutsch.


SLOWDOWN — Slows down PC to allow running of older programs.


[added 1998-07-15, updated 2003-05-23]

One of the more flexible "slowdown" TSR programs available – freeware or shareware.

From the docs:
SLOWDOWN is a program that temporarily "slows down" your computer so that you can run programs that require a slower computer (usually, a 4.77 MHz PC/XT or an 8 MHz PC/AT)...There are other "slowdown" programs out there that have already been designed and marketed, so what makes SLOWDOWN different enough from the others that I even bothered to write it? The main thing is flexibility... SLOWDOWN can be used to either "permanently" slow down your computer (letting you run several programs in a row, slowly), or to just slow down one particular program (and when that program is done, your computer automatically returns back to its normal, faster speed). Secondly, SLOWDOWN will let you run any type of program – either executable files (.COM or .EXE) or Batch files. Some other "slowdown" programs will only work with COM or EXE files. Thirdly, SLOWDOWN can either simulate a PC/XT, a PC/AT, or can be "fine- tuned" to simulate almost any speed you want it to.

Notes: While progs like SLOWDOWN are usually used to run old games on a fast PC, they can also be used to circumvent the notorious Borland Pascal "Runtime 200" error generated by some old BP compiled programs on faster PCs.

SYNTAX: SLOWDOWN [SLOWDOWN Options] [executable filename w/ options]
  /?,/H         - Show this HELP screen
  /U            - UNINSTALL from memory
  /Q /V         - Be QUIET or VERBOSE about the details (default = VERBOSE)
  /E /D         - ENABLE or DISABLE the Hot-Keys (default = ENABLE)
  /K:ShiftMask  - Hot-KEY Shift Mask (default = Ctrl-Alt)
  /KeyTable     - Show the Table of valid Hot-Keys

  /[W]Int8 /[W]Int70  - [Windows] Interrupt to use for timing (default = Int8)
  /X[:nn]        - Run at the same speed as an XT (4.77-MHz 8088)
  /A[:nn]        - Run at the same speed as an AT (8-MHz 80286)
  /R[:nn]        - Run at the REMEMBERED Speed (default = 65535)
  /[W]MHz486:nn  - Run [Windows] at the same speed as a nn-MHz 80486 (0-5000)
  /[W]MHz286:nn  - Run [Windows] at the same speed as a nn-MHz 80286 (0-100)
  /[W]MHz8088:nn - Run [Windows] at the same speed as a nn-MHz 8088 (0-100)
  /[W]P:nn.nn    - Run [Windows] at nn.nn% of normal speed (0.00-100.00)
  /[W]S:nn       - Run [Windows] at a SPEED of nn SU's (0-65535)
  /[W:]nn        - Slow Down [Windows] by nn SU's (0-65535) (default = 0)
  /T             - Show TABLE of various computer Speeds in SU's

  /C:Yes /C:No         - Automatic control of CPU Cache (default = YES)
  /Trace:Yes /Trace:No - Automatic Trace Mode (default = NO)
  /Beep:Yes /Beep:No   - Beep when changing Speed w/ Hot-Key (default = YES)

Caution: Has been known to trigger reboot on some modern (e.g., dual-processor) systems. Be careful!

Author: Bret Johnson (2002).

2002-11-19: v3.10.

Download (33K).

More in these pages from Bret Johnson.


Escape — TSR aids in escaping DOS programs, avoiding system crashes.


[added 2001-10-07, updated 2005-07-17]

Escape allows the user to interrupt programs and prevent some potential system crashes – it's more broadly effective than Ctrl-Break. Uses XMS memory when available.

Usage: ESCAPE    to install

       ESCAPE /R to restore interrupt table

       ESCAPE /U to uninstall

Press F12 to ESCAPE from any program.

Authors: Original code by Selçuk Aygüney (1994). Modified by David Lindauer / LadSoft (2000-01). Suggested by The Wørm and Selçuk Aygüney.

2001-08-01: v3.6.

v3.6 EXE
v3.0 ASM source
Older v2.0 EXE, but has doc file, and sample batch file for loading

HBREAK — TSR aids in escaping DOS programs, avoiding system crashes.


[added 2000-01-08, updated 2005-03-11]

Hbreak is a TSR which allows the user to interrupt programs and prevent some potential system crashes – it's more broadly effective than Ctrl-Break. HBREAK can interrupt a variety of programs (e.g., try it with EDIT). Warnings: Don't load TSRs after HBREAK. The default hotkey is CTRL-ALT-C (modifiable). HBREAK requires around 3.2K of memory, and self-installs into high memory by default. HBREAK /? or HBREAK /H will get the full help text onscreen (easily piped or redirected).

From the help:
  HBREAK 5.5 - System crash recovery utility

     HBREAK [/R=0|1] [/T=scan code] [/S=«shifts»] [/ML] [/U] [/?|H]

  This edition of HBREAK relocates the first 8 hardware INTs from habitual
zone of 8-0Fh to new zone 50-57h: this is the only alternative location that
MS-DOS 5.0 EMM386 support. This is not conflictive with Windows 3, but /R=0
switch avoid this action...

  Activation keys may be selected with /T and /S (to obtain «shifts» value
you must add: 1-Right Shift, 2-Left Shift, 4-Ctrl and 8-Alt)...

  /ML switch forces installation in conventional memory (HBREAK is a upper
memory self-installable utility, with or without DOS=UMB statement in the
CONFIG.SYS). /U tells HBREAK to uninstall (if possible). HBREAK takes from
3232 to 3328 bytes of memory in most systems.

Author: Ciriaco García de Celis, Spain (1993, 1996).


Uses ~16 bytes less memory than v5.2. Much thanks to Stephen Kitt for obtaining the file.

Program & help, in Spanish & English. Doc file, based on help, English only.
Program & help in Spanish, English & German. No other docs.


Memory resident utilities (TSRs) that can be used to troubleshoot program errors and log file access. Don't run these under Windows.


* * * *

[updated 2005-12-09]

Argus packs a big punch for its small (8K) size. It can log access to drives, directories, files and transferred bytes, EMS use, modifications of the INT table, and memory management. I use it primarily to troubleshoot and to discover what file actions some apps perform (e.g., what files are required by a program, log creation of temp files, etc.). Requires about 5K RAM and can be uninstalled from memory. One warning: The log files created by Argus can grow very large very quickly.

Author: M. Heilfort, Germany (1995).

1995-04-03: v1.61. Package contains program + doc in English and German. Unzip with -dir switch.

Download (44K).


* * *

[updated 2005-03-31]

KGB is small (2K) and logs only file activity. Unlike Argus, KGB doesn't stamp the log entries with times. The log file is smaller and easier to read compared with Argus's because KGB doesn't record common error messages. Permanent saving of log file. Requires 1K RAM and can be disabled or uninstalled from memory.

Author: Petr Horák, Czech Republic (1992).

1992-04-16: v1.04.

Download (6K).


In case anyone has an old, untested machine, not run since 1999...

YMARK2000 — Test PC for Year 2000 (Y2K) compliance.


[updated 2005-06-05]

"This program tests the personal computer's ability to support the year 2000, not the operating system or software applications. Separate testing must be performed on software." Returns error levels that can be used in batch files. Can't be run under Windows.

The following tests are performed (per docs):

Author: NSTL – National Software Testing Labs (1997).

Download (20K).

HolmesCk — Checks old BIOS Real Time Clock, for Y2K compliance.
HolmesFx — TSR fix for Real Time Clock's Y2K failures.

[added 1999-05-04].

Run HOLMESCK.EXE to check the Real Time Clock (RTC). If year is 1900, run HOLMESFX.COM to change it to 2000. ASM source included.

Author: Lester C Holmes. Package assembled by M.J. Ray, UK (1998). Suggested by Howard Schwartz.

1998-04-22: v1.1.

Download (6K).

Go to Top | Front Page ]

©1994-2004, Richard L. Green.
©2004-2006, Short.Stop.