Free Software for DOS
System Utilities

9 Dec 2005

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 2004-08-19]

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.

Major components addressed (with detail): Computer, Processor, Co-Processor, BIOS, Video, Memory, Drives, Operating System, Mouse, Input Devices, Ports, CMOS, Network, Multimedia, Software, Other.

Also includes CPU and FPU performance tests.

Other capabilities: Save BIOS, Save Video BIOS, Save Boot, Save Partition, View File, Search Video Modes and Test CPU Bugs, Test Y2K rollover, Reset keyboard, Reset computer, Test speaker, printer, Automatic Report. Command line options available (e.g., autoreport).

2004-11-03: v0.58.6.

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

Download nssi058.exe (456K).

AIDA — System information and benchmarking program.


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

A sysinfo and benchmarking tool – strength seems to be with identifying current, rather than legacy hardware. Free for individual use only. Available for 16-bit DOS and for 32-bit Windows.

AIDA tests motherboards, video adapters, monitors, disks, printers and more. Reports can be generated in several formats. 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 has been folded into EVEREST, available in paid and free versions from Lavalys.

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

AIDA16 for DOS
AIDA32 for Win32

User's Guide

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


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

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 (8.7K).

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."

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. Development of this program has ceased – but it should remain useful for legacy PCs.

Download (179K).

Online manual – same content as text version in program download package

Other software by the same author further down this page and at Craig's PCI & PnP Stuff Pages – "Best viewed with eyeballs and brains."

PCI and PCI32 — PCI system information tools.


[added 2000-08-28, updated 2005-12-08]

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 useage (IRQs, Memory ranges, etc), capabilities (busmastering, caching), setup data (device latencies, general capabilities, features, subsystem info), and much, much more." PCI currently identifies over 19,100 devices from over 2100 hardware vendors. Released as freeware, freely modifiable, source code included. The device database is updated regularly. Major development work on PCI has ended, but updates and bug fixes will continue if necessary. PCI32 is still in development, and PCI64 is coming. All use the same data files.

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!

Author: Craig Hart, Australia (2005).

2005-03-16: PCI v1.1, 16-bit, for DOS, Win3.x/9x/Me, OS/2.
2005-10-12: PCI32 v1.4 for WinNT/2000/XP/2003/Vista console.

Latest database

Other software by the same author up this page and at Craig's PCI & PnP Stuff Pages – "Best viewed with eyeballs and brains."

MAP — MEM substitute.


[added 2002-10-20]

"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. Requires 80386+ CPU, DOS 5+ (DOS 7/Win9x to display the HMA list).

Usage: 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: Péter Sulyok, Hungary (1994); Jason Hood, Australia (2002).

1994-10-27: v2.0, by Péter Sulyok.
2002-10-09: v3.0. 80386 / Win9x support & other new features, by Jason Hood.


Map 3.0 page.

More in these pages from Jason Hood.

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 require any OS at all. 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.

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


[updated 2005-06-05]

In case anyone has an old, untested machine...

"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).

Also see: HOLMESFX – TSR fix for old bios RTC Y2K failures




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 generate an effective patch for high MHz PCs (e.g., Pentium II/III >400 and up); 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. CRTFIX 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. 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-08]

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 (6.5K).

More in these pages from Philip Helger.

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

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

Author: Eugene Toder (2001).

Download (20K).

PROT 200 — TSR runtime fix.

[added 2000-01-24]

Author: Martin Papík, Slovakia (2000).

Download (70K).

TP7P5FIX — TSR runtime fix.

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

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-08]

for Pentium 233MHz and up. Run R200FIX.COM when needed, or from AUTOEXEC.BAT.

Author: Veit Kannegieser, Germany (2001).

2001-10-21: Unnumbered release.

Download r200fix.arj (15K).

Get more software at one of the author's home pages, in English, or/oder auf Deutsch.


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 itself, it keeps records of other TSR's
disables or reactivates TSRs, leaving them in memory
shows how much RAM memory is available
shows what memory resident programs are loaded
shows what device drivers are loaded
uses up memory for controlled program testing

Author: Kim Kokkonen / TurboPower Software (1993).

1993-10-18: v3.5.

Download (78K).

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.

ESCAPE v3.6 (c)1994-2001 Selcuk Ayguney / David Lindauer

Usage: ESCAPE    to install

       ESCAPE /R to restore interrupt table

       ESCAPE /U to uninstall

Press F12 to ESCAPE from any program.

Authors: David Lindauer (2001), based on original code by Selçuk Aygüney. Suggested by The Wørm and Selçuk Aygüney.

v3.0 ASM source
Older v2.0, 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).

Program & help in Spanish & English. Doc file is based on help, English only.
Program & help in Spanish, English & German. No other docs included. Uses about 16 bytes less memory than v5.2. Much thanks to Stephen Kitt for obtaining the file.



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-08]

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 (34K).


* * *

[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).

Go to Top | Front Page ]

©1994-2004, Richard L. Green.
This Edition ©2004-2005, Richard L. Green and Short.Stop.