Useful DOS utilities

From Vogons Wiki
Revision as of 06:31, 19 February 2013 by OPLawaai (Talk | contribs) (added example config files.)

Jump to: navigation, search

MS-DOS compatible operating systems often require TSRs for basic functionality, such as memory management or CD-ROM drivers. Many older TSRs, like the drivers included in MS-DOS, often consume large amounts of conventional memory. There are however many free and open-source replacements for these TSRs, which use less base memory and add extra functionality. This page lists a number of these utilities.

Utilities

FreeDOS

Full MS-DOS-compatible operating system. Includes most of the utilities and drivers listed below. Website

UMBPCI

UMB memory manager. Provides UMB memory without EMS, uses only 200 bytes of base memory. Website

Jemm386 and HimemX

XMS/EMS memory manager, replacement for HIMEM.SYS and/or EMM386.EXE. Website

XMGR

XMS memory manager, replacement for HIMEM.SYS. Website

UIDE

Universal IDE/SATA driver. Provides CD/DVD drivers and a large disk cache up to 4GB. Website

RDISK

Utility for creating very large RAM drives in XMS, up to 2GB. Website

FDAPM

APM/ACPI manager. Provides power management and energy saving funtionality. Can also be used to slow down the CPU, which can be useful with certain speed-sensitive programs and games. Website

4DOS

Command shell with many advanced features, replacement for COMMAND.COM. Website

GNU fileutils

The GNU file utilities (ls, cp, rm, etc..). If you are experienced with Unix or Linux you may prefer these over the standard DOS commands. Website

Example configuration files

Here are some good example startup files. Selecting the first startup option results in the following MEM /C output:

Modules using memory below 1 MB:

  Name           Total           Conventional       Upper Memory
  --------  ----------------   ----------------   ----------------
  SYSTEM      16,288   (16K)     10,864   (11K)      5,424    (5K)
  4DOS         5,392    (5K)        272    (0K)      5,120    (5K)
  UIDE         5,296    (5K)          0    (0K)      5,296    (5K)
  IFSHLP       3,968    (4K)          0    (0K)      3,968    (4K)
  NANSI        3,264    (3K)          0    (0K)      3,264    (3K)
  CTMOUSE      3,104    (3K)          0    (0K)      3,104    (3K)
  Free       678,608  (663K)    642,688  (628K)     35,920   (35K)

Memory Type        Total       Used       Free
----------------  --------   --------   --------
Conventional          639K        11K       628K
Upper                  61K        26K        35K
Reserved              324K       324K         0K
Extended (XMS)    261,056K   131,599K   129,457K
----------------  --------   --------   --------
Total memory      262,080K   131,960K   130,120K

Total under 1 MB      700K        37K       663K

Largest executable program size       628K (642,672 bytes)
Largest free upper memory block        21K ( 21,680 bytes)
FreeDOS is resident in the high memory area.


(Please note I just copied these from my 440BX system, they will probably not work on yours without modifications)

CONFIG.SYS

        REM 0x12 = 80x50
SCREEN  =0x12
        REM country code, codepage, country file
COUNTRY =031,437,C:\DOS\BIN\COUNTRY.SYS
VERSION =6.22
BREAK   =ON
SWITCHES=/E

MENUCOLOR=7,0
MENUDEFAULT=1
MENU 1 - Load FreeDOS (XMS)
MENU 2 - Load FreeDOS (XMS + EMS)
MENU 3 - Load Windows 2000
MENU 9 - Load FreeDOS without drivers

 3?DEVICE=C:\GRUB\GRUB.EXE --config-file="root (hd0,0);chainloader /ntldr"

        REM /I= = Include region
 1?DEVICE=C:\DOS\BIN\UMBPCI.SYS /I=E000-EFFF
 
        REM /W  = Load in workspace buffer
        REM /Nn = n XMS handles
 1?DEVICE=C:\DOS\BIN\XMGR.SYS /W /N128

        REM nM  = n MB EMS
        REM I=  = Include UMB region
        REM X=  = Exclude UMB region
 2?DEVICE=C:\DOS\BIN\JEMMEX.EXE 8M I=TEST X=TEST

12?DOS          =HIGH,UMB
12?DOSDATA      =UMB
12?BUFFERSHIGH  =4
12?FILESHIGH    =40
12?STACKSHIGH   =9,256
12?LASTDRIVEHIGH=Z

        REM /D: = CD device driver
        REM /H  = Load to HMA
        REM /F  = Use large (fast) cache blocks
        REM /Sn = n MB cache
        REM /Rn = Use memory above n MB
 1?DEVICEHIGH=C:\DOS\BIN\UIDE.SYS  /D:UIDECD01 /H /F /S128 /R63
 2?DEVICEHIGH=C:\DOS\BIN\UIDE2.SYS /D:UIDECD01 /H /F /S128 /R63
12?DEVICEHIGH=C:\DOS\NET\IFSHLP.SYS

        REM /Txx= Set xx as text mode
        REM /P  = Pass unknown requests to CON:
12?DEVICEHIGH=C:\DOS\BIN\NANSI.SYS /P /T5C /T5E /T6A /T70 /T71 /T72 /T73 /T74 /T75

        REM /E: = Environment size
        REM /P= = Autoexec.bat location
12?SHELLHIGH=C:\DOS\BIN\4DOS.COM C:\DOS\BIN /E:1024 /P=C:\AUTOEXEC.BAT
 9?SHELL    =C:\DOS\BIN\4DOS.COM C:\DOS\BIN /E:1024 /P=C:\AUTOEXEC.BAT

AUTOEXEC.BAT

@ECHO OFF

SET /R C:\DOS\ENV\DEFAULT.VAR

    REM -h = Human readable file size
    REM -a = Show all files
    REM -G = Do not show user group
    REM -X = Sort by extension
ALIAS LS=*LS --color=auto -haGX
ALIAS REBOOT=FDAPM WARMBOOT 
ALIAS HALT=FDAPM POWEROFF
ALIAS SPINDOWN=FDAPM SPINDOWN

BREAK ON

IF "%CONFIG%"=="9" GOTO NODRIVERS

    LH DIRCOLORS -b C:\DOS\ENV\DIRCOLOR.CFG

    CALL YMF719

        REM FastVid 001
    CALL FV 0

        REM CuteMouse
        REM /P = PS/2 port
        REM /3 = Three-button mouse
    IF "%CONFIG%"=="1" LH CTMOUSE /P /3

        REM Logitech mouse driver
        REM PS2   = PS/2 port
        REM Sn    = Speed n
    IF "%CONFIG%"=="2" LH MOUSE PS2 S05

    LH FDAPM APMBIOS

        REM $P = Current directory in uppercase
        REM $g = >
    PROMPT $P$g

        REM Rate  32 = 30 cps
        REM Delay  1 = 1/4 sec
    MODE CON: RATE=32 DELAY=1
    
    CLS

:NODRIVERS