You are on page 1of 16

MDGx MAX Speed WinDOwS �Tricks � Secrets � Bugs � Fixes

�����������������http://www.mdgx.com/������������������
��������������������
Key Remapping + DOSSHELL Tips for the DOS fanatics ;-)
������������������������������������������������������

These topics refer STRICTLY to ALL Microsoft Windows 95/98/ME [a.k.a. MS-DOS
7.00/7.10/8.00] + MS-DOS 5.00/6.xx retail/final/gamma/Gold/RTM/OEM/MSDN
English releases, unless specified otherwise.

Please send me feedback online:


http://www.mdgx.com/form.htm

DOSTIPS.TXT Contents:

F1-F12 Remapping = MS-DOS Mode + ANSI Driver


MS DOSSHELL = MS-DOS File Manager

DOS tips + info on the Internet:


- Why You Should Use DOS:
http://www.textfiles.com/uploads/whydos.txt
- MS TechNet: Batch Commands [MS-DOS 5.00-6.22]:
http://technet.microsoft.com/library/cc722477.aspx
- Getting started with batch files:
http://www.robvanderwoude.com/batchstart.php
- Batch Files & Batch Commands:
http://www.robvanderwoude.com/batchcommands.php
- DOS... The Ghost in The Machine:
http://web.archive.org/web/20070403224035/http://www.devedia.com/dosghost/dos/dosw3
1.asp
- The DOS HeadQuarters:
http://dos.rsvs.net/
- Programming MS-DOS with Power:
http://www.fysnet.net/index.htm
- The Useful Site - DOS tips:
http://web.archive.org/web/20070916223048/http://www.salokin.demon.co.uk/dos.htm
- History of MS-DOS Operating Systems:
http://inventors.about.com/od/computersoftware/a/Putting-Microsoft-On-The-Map.htm
- Open Directory DOS Programming Batch Language:
http://www.dmoz.org/Computers/Software/Operating_Systems/x86/DOS/Programming/Langua
ges/Batch/
- Eric's Windows 9x/DOS 7 Batch Programming:
http://www.ericphelps.com/batch/
- Batch Programming Elements:
http://student.vub.ac.be/~dvandeun/batcoll.all
- MS-DOS Batch Files:
http://www.merlyn.demon.co.uk/batfiles.htm
- DOS Batch File Tutorial:
http://www.chebucto.ns.ca/~ak621/DOS/BatBasic.html
- DOS Batch Scripts:
http://web.archive.org/web/20080611141151/http://www.batchfiles.co.nr/
- MS-DOS BATch File Programming:
http://web.archive.org/web/20100726220322/http://www.comp-air.com/vfrazee/batch/
- DOS: Batch File Programming:
http://web.archive.org/web/20100413201539/http://home.att.net/~gobruen/progs/dos_ba
tch/dos_batch.html
- Batch File Commands:
http://academic.evergreen.edu/projects/biophysics/technotes/program/batch.htm
- DOS Batch Language: A personal view:
http://web.archive.org/web/20051025175528/gearbox.maem.umr.edu/batch/batchtoc.htm
- Batch File Tutorial and Reference:
http://web.archive.org/web/20120401142611/http://www.allenware.com/icsw/icswidx.htm
- MS-DOS FAQ:
http://dostutor.pwp.blueyonder.co.uk/html/faq.html
- MS-DOS Tweak Center:
http://www.smallvoid.com/articles/ms-dos/
- See SECRETS.TXT (included) for more DOS tips + links:
http://www.mdgx.com/secrets.htm
- See "MS-DOS 5.00 - 8.00 ESSENTIALS" in SOFTWARE.TXT (included):
http://www.mdgx.com/dos.htm
- See "Reference: Memory Management Terms + System Files @ Wikipedia" in
MEMORY.TXT (included):
http://www.mdgx.com/mem7.htm#WKL
______________________________________________________________________________
������������������������������������������������������������������������������

F1-F12 Remapping = MS-DOS Mode + ANSI Driver

These key remapping tips are valid for ALL MS-DOS releases starting with 5.00
up to 8.00 [MS-DOS 7.00 is bundled with Windows 95 (retail) and 95a OSR1
(upgraded with SP1), MS-DOS 7.10 is included with Windows 95B/95C OSR 2.x and
Windows 98/98 SE(U) and MS-DOS 8.00 comes with Windows ME), and they work ONLY
on 101-107 (or more) extended serial, PS/2 and USB keyboards [with or without
extra Win95/Win98 WinKey (Windows Logo) keys], ONLY with an ANSI DOS CONsole
device driver/accelerator loaded in memory!
This may also be achieved using older or 3rd party DOS (DR-DOS, PC-DOS,
FreeDOS, Novell DOS, IBM DOS etc) releases, but I haven't tried any.

A MUST:
Microsoft REMOVED COMPLETELY the access to native/real/true/pure MS-DOS mode
from Windows Millennium Edition (ME), a.k.a. MS-DOS 8.00.
But you CAN get it back by applying the Unofficial WinME DOS Patch:
http://www.mdgx.com/dos.htm#ME
which modifies COMMAND.COM + IO.SYS (from C:\Windows\Command\EBD) +
REGENV32.EXE (from C:\Windows\System) to allow Windows ME to boot to native
MS-DOS and use custom DOS mode startup files (AUTOEXEC.BAT + CONFIG.SYS),
Windows 95/98 style.

The included KEY.TXT + X.TXT files are plain ANSI batch (ASCII text) files
designed to reassign the "extra" function keys: from F1 up to F12 on extended
keyboards, using ANSI driver capabilities.

FYI: If you don't know what these abbreviations mean: ASCII, ANSI, RAM, TSR,
UMB, USB, VGA etc, please look them up in GLOSSARY.TXT (included):
http://www.mdgx.com/glossary.htm
and/or online:
- Google:
http://www.google.com/
- Wikipedia:
http://www.wikipedia.org/
First you need to load Microsoft ANSI.SYS device driver in your CONFIG.SYS
with the /X switch, to enable DOS mode key remapping, AFTER the lines that
load the Microsoft HIMEM.SYS + EMM386.EXE "combo" or other 3rd party memory
manager capable of providing Upper Memory Blocks (UMBs) for loading
devices/drivers/TSRs "high": Uwe Sieber's UMBPCI.SYS, Symantec (Quarterdeck)
QEMM386.SYS, McAfee (Helix) NetRoom RM386.EXE, Lineo (Caldera) DR-DOS
EMM386.EXE, Qualitas (IBM) 386MAX.SYS etc.
MS ANSI.SYS occupies 4.2 KB of upper DOS RAM ONLY IF loaded with DEVICEHIGH
from CONFIG.SYS.

TIP: See MEMORY.TXT (included) for memory management guidelines to learn how
to MAXimize your memory resources in DOS + Windows 9x/ME.

ANSI.SYS CONFIG.SYS line (default install directories used here):

- MS-DOS 6.00 - 6.22 users:

DEVICEHIGH=C:\DOS\ANSI.SYS /X

- Windows 95/98/ME [a.k.a. MS-DOS 7.00/7.10/8.00] users:

DEVICEHIGH=C:\WINDOWS\COMMAND\ANSI.SYS /X

The "/X" switch allows extended keys to be remapped independently on 101 (or
more) enhanced keyboards.

If using MS DISPLAY.SYS to display DOS mode international (in a language other


than English) character sets, make sure to position the ANSI.SYS line AHEAD of
the DISPLAY.SYS command in your CONFIG.SYS [example using Romanian (RO)
language support ;-/]:

- MS-DOS 6.00 - 6.22 users:

CONFIG.SYS lines:

DEVICEHIGH=C:\DOS\ANSI.SYS /X
COUNTRY=040,852,C:\DOS\COUNTRY.SYS
DEVICEHIGH=C:\DOS\DISPLAY.SYS CON=(EGA,852,2)
INSTALLHIGH=C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS

AUTOEXEC.BAT lines:

C:\DOS\MODE.COM CON CODEPAGE PREPARE=((852)C:\DOS\EGA2.CPI)


CHCP 852
C:\DOS\MODE.COM CON CODEPAGE SELECT=852
C:\DOS\KEYB.COM RO,,C:\DOS\KEYBRD2.SYS

- Windows 95/98/ME [a.k.a. MS-DOS 7.00/7.10/8.00] users:

CONFIG.SYS lines:

DEVICEHIGH=C:\WINDOWS\COMMAND\ANSI.SYS /X
COUNTRY=040,852,C:\WINDOWS\COMMAND\COUNTRY.SYS
DEVICEHIGH=C:\WINDOWS\COMMAND\DISPLAY.SYS CON=(EGA,852,2)
INSTALLHIGH=C:\WINDOWS\COMMAND\NLSFUNC.EXE C:\WINDOWS\COMMAND\COUNTRY.SYS

AUTOEXEC.BAT lines:

C:\WINDOWS\COMMAND\MODE.COM CON CODEPAGE PREPARE=((852)C:\WINDOWS\COMMAND\EGA2.CPI)


CHCP 852
C:\WINDOWS\COMMAND\MODE.COM CON CODEPAGE SELECT=852
C:\WINDOWS\COMMAND\KEYB.COM RO,,C:\WINDOWS\COMMAND\KEYBRD2.SYS

Alternatively you can use any other compatible ANSI device driver with the
built-in ability to remap the F1 - F12 extended keys and/or any other "normal"
keys (if you like) to replace Microsoft's default ANSI.SYS.

1. An excellent example (the BEST in my opinion) is Daniel Kegel's NANSI.SYS


v4.0d DOS CONsole Driver Accelerator, fastest and most versatile replacement
for MS ANSI.SYS, with built-in support for key remapping [63 KB, free GPL]:
http://ericauer.cosmodata.virtuaserver.com.br/soft/by-others/nansi40d.zip
More info:
http://www.kegel.com/nansi/
NANSI.SYS takes only 3.2 KB of upper DOS RAM ONLY IF loaded with DEVICEHIGH in
CONFIG.SYS (example using NANSI.SYS specific command line switches to enable
key remapping):

DEVICEHIGH=drive:\path\NANSI.SYS /X

2. Another alternative is ANSI.COM v1.3L [42 KB, free]:


http://www.filegate.net/camelot/miscfile/ansi13l.zip
ANSI.COM has the advantage of being able to load/unload at will, ONLY IF it is
the LAST TSR that loaded in memory.
ANSI.COM can be loaded from AUTOEXEC.BAT or from the plain DOS prompt.
BUG:
If using ANSI.COM to assign EXIT (and probably other internal DOS commands
built into COMMAND.COM) to any of your remapped keys, tapping the arrow keys
will display invalid commands! :(
ANSI.COM takes only 2.7 KB of upper DOS RAM ONLY IF loaded with LOADHIGH in
AUTOEXEC.BAT (example):

LOADHIGH=drive:\path\ANSI.COM

An upper/extended/expanded memory manager (see examples above) MUST be present


in CONFIG.SYS for these ANSI devices to load in Upper Memory Area (UMA).

You can use ANSI.SYS, NANSI.SYS or ANSI.COM ASCII sequences to create colorful
DOS prompts, start ANY DOS program [including Windows 3.1x/9x/ME GUI :)] at
the touch of a single key, by remapping the keys on enhanced 101-107 (or more)
keyboards, and much more.

IMPORTANT:
Sustitute ALL "drive" and "path" instances from ALL command lines in this
document with your ACTUAL drive/partition letters and directory/folder names,
respectively... and don't type the quotes! ;)

You can add this command as the last line in your AUTOEXEC.BAT:

TYPE drive:\path\KEY.TXT

After AUTOEXEC.BAT processing is finished (at the end of the boot sequence),
press one of your function keys (F1 through F12) at the native/real/true/pure
MS-DOS prompt, to start whatever DOS program you like (including internal
MS-DOS commands, like: COPY, DEL, DIR, REN etc), and ANY Windows version that
runs on top of MS-DOS (3.xx or 95/98/ME).
FYI: Windows NT, 2000, XP, 2003, Vista, 2008 + 7 have their own version of MS
ANSI.SYS, which can be loaded from a customized CONFIG.NT using the
DEVICE(HIGH) command, but key remapping canNOT be enabled, because these OSes
take over all hardware resources (the keyboard port + interrupt in this case),
thus disabling direct access to all DOS based software. :-(
To remap your keyboard in Windows 2000/XP/2003/Vista/2008/7/8/8.1/2012:
- see this guide:
http://www.ghacks.net/2010/06/06/the-ultimate-guide-to-keyboard-remapping/
- or this one:
http://www.ghacks.net/2009/01/02/remap-keyboard/
+ use SharpKeys (free):
http://sharpkeys.codeplex.com/
also here:
http://www.randyrants.com/2008/12/sharpkeys_30.html
To install + run DOS based programs + games from within Windows NTx (NT4,
2000, XP, 2003, Vista, 2008 + 7) OSes:
- use DOSBox (free GPL):
http://www.mdgx.com/dos.htm#BOX
- or install a Virtual Machine OS/software emulator [free(ware)]:
http://www.mdgx.com/xptoy.htm#VPC

CAUTION:
If using these function keys shortcuts from a Windows DOS box/session, be
CAREFUL which programs you run, so they won't interfere with Windows proper
operation. Programs that are Long File Names (LFNs) and/or FAT32/NTFS unaware
may DAMAGE your data under Windows 32-bit (Win32) OS, some may not run, or
even LOCKUP Windows!

To assign your own DOS commands to F1 - F12 in KEY.TXT, open it with EDIT.COM,
and type in the commands you want inside the quote-unquote areas ("PROGRAM" =
replace with your actual command/program/game name), to substitute the ones
already there.

LIMITATION:
You need to use EDIT.COM (MS-DOS default ASCII/text editor/viewer) or a
Notepad replacement that supports ANSI/DOS/OEM fixed pitch fonts, because MS
Notepad (Windows default ASCII/text editor/viewer) does NOT display extended
ASCII characters properly, like the ones I used in my KEY.TXT, X.TXT,
AUTOEXEC.BAT + CONFIG.SYS files (all included).

Quotation marks are necessary here. Leave NO spaces. Example:

$e[0;134;"WIN";13p

Make sure the DOS executables (.COM, .EXE) or batch files (.BAT) listed in
KEY.TXT reside in directories included in your PATH statement (set in your
AUTOEXEC.BAT or CONFIG.SYS), otherwise you need to add their actual paths
(drive/partition letter + directory/folder name) to the KEY.TXT command lines:

"drive:\path\PROGRAM"

No need to mention the file extension if it is a standard DOS executable:


.BAT, .COM or .EXE.
It is advised to keep the command lines between quotation marks as short as
possible. Too long command lines in KEY.TXT may result in "Out of environment
space" error messages!
If you DO get such messages anyway, you'll need to increase the size of your
DOS COMMAND.COM environment, by adding/modifying the "SHELL=" line in your
CONFIG.SYS.
Edit CONFIG.SYS with EDIT.COM in DOS or Notepad in Windows. Example of
CONFIG.SYS "SHELL=" lines:
- MS-DOS 6.00 - 6.22 users:

SHELL=C:\COMMAND.COM C:\ /E:1024 /P

- Windows 95/98/ME [a.k.a. MS-DOS 7.00/7.10/8.00] users:

SHELL=C:\COMMAND.COM C:\ /E:1024 /L:128 /U:128 /P

Make sure you have a copy of the COMMAND.COM file present in the root
directory of your boot drive/partition (default is C:\) for this to work!

Save your CONFIG.SYS file when done (BUT BACK IT UP FIRST!), and then reboot,
so the new command environment can take "charge".

You can also redefine ANY key functions from the DOS prompt.
Just run something like this:

PROMPT $e[0;59;"MSD";13p

to start MSD.EXE (MicroSoft Diagnostics utility) by pressing F1 from any DOS


prompt.
To revert F1 to its original assignment, run:

PROMPT $e[0;59;;p

When done, you need to reenable your original DOS PROMPT (default is C:\>), by
running:

PROMPT $P$G

To avoid such cumbersome changes to your DOS prompt, I recommend loading key
remapping settings from your AUTOEXEC.BAT by using KEY.TXT (example):

TYPE drive:\path\KEY.TXT

FYI: "$e" is equivalent to using the "Esc" ASCII 27 character. To save memory,
press and hold (in this specific order): Ctrl, P and the left square bracket
([) keys together in EDIT.COM to reproduce "$e" as a single character, which
looks like a left pointing arrow.

You can assign DOS commands to ANY key on your keyboard as long as it doesn't
interfere with any other functions that particular key might have (e.g. some
of the function keys are remapped by Microsoft DOSKEY.COM TSR driver).
To remap a key you need to learn its ASCII code. To observe the ANSI escape
sequences, run:

- MS-DOS 6.00 - 6.22 + Windows 98/98 SE [a.k.a. MS-DOS 7.10] users:

HELP ANSI.SYS

- Windows 95/98/ME [a.k.a. MS-DOS 7.00/7.10/8.00] users:

MSDOSDRV.TXT

to open it in Notepad and read the "ANSI.SYS" topic, or go to:


http://support.microsoft.com/kb/234868

Look at the ASCII codes by scrolling down towards the end of the ANSI.SYS
topic. NANSI.SYS and ANSI.COM also abide by the same standard rules.
LIMITATION:
Alt, Ctrl, Shift, Win95/Win98 (Windows Logo = WinKey), Menu and other
custom/proprietary/3rd party keys on 104+ keyboards are the ONLY ones that
canNOT be remapped this way!

Then open KEY.TXT with EDIT.COM in DOS or Notepad in Windows, and change a
key's ASCII code to the one you want, to have that particular key start your
favorite DOS program, or even start Windows from native MS-DOS. Example:
change "WIN" to "MSD".
To run certain DOS programs that rely on their own key mapping routines, you
may need to temporarily disable key remapping and revert back to their
original DOS key assignment. For this purpose I have created X.TXT (included).
Run the following MS-DOS command to "deactivate" (restore) all remapped keys:

TYPE drive:\path\X.TXT

FYI: Keys remapped/restored this way from a DOS box within Windows GUI apply
ONLY to that particular DOS session. To make ALL remapped keys "globally"
available to the system, run these commands from native/real/true/pure MS-DOS
(outside Windows), or add them as last lines to your AUTOEXEC.BAT file.

You can also add the lines below to a batch file to start your favorite DOS
program/game, to temporarily disable key remapping (by loading X.TXT), run
your application, and then add another TYPE command for KEY.TXT after your
program's command line, to reassign your keys once again. Example:

@ECHO OFF
TYPE drive:\path\X.TXT
drive:\path\PROGRAM
TYPE drive:\path\KEY.TXT

You can rename X.TXT and/or KEY.TXT to whatever you want, just keep the .TXT
extension for convenience. ;)

It's cool to assign your most used DOS commands to the function keys (F1 -
F12), for running them with just a single keypress, thus saving precious time,
and working more productively, instead of typing cryptic DOS commands that
most of us don't need to remember anyway. [DOS fanatics make exception! :-)]

HINT: Consider sticking a paper template/map or self-adhesive stickers


somewhere close to or on top of your F1 - F12 keys, to avoid memorizing your
most used reassigned function key commands.

With ANSI.SYS (or similar driver) installed you can also benefit from being
able to display custom colored DOS prompts, using the ANSI graphic escape
sequences. For a few examples, take a peek at my CONFIG.SYS + AUTOEXEC.BAT
files (both included) "SET PROMPT=" and "SET WINPMT=" lines, especially if
you are a DOS afficionado, and you'd like to have fun(k)y looking/colored DOS
prompts, like I do. ;)

Another example of cool DOS prompt, in which you can change different ANSI
parameters to obtain "exotic" color effects and/or force the prompt bar to
"dock" at the bottom of the screen instead of at the top: [;-)]

SET PROMPT=#[s#[1;1H#[1;1;37;43m#[K$P$G#[1;34H#[33m# My PC ##[32m# WinDOwS


#$_#[36;40m#[u$P$G#[0;36m

Replace "My PC" and "WinDOwS" strings above (without quotes) with your own
personalized text.
And make sure your COMMAND.COM environment size is large enough to accomodate
this long string, by adding/modifying the CONFIG.SYS "SHELL=" line (see
examples further above).

ANSI resources on the Internet:


- Wikipedia: ANSI.SYS:
http://en.wikipedia.org/wiki/ANSI.SYS
- Wikipedia: ANSI Escape Code:
http://en.wikipedia.org/wiki/ANSI_escape_code
- MS TechNet: ANSI.SYS [MS-DOS 5.00-6.22]:
http://www.microsoft.com/technet/archive/msdos/comm1.mspx
- Ansi.sys [MS-DOS 7.00/7.10]:
http://www.lagmonster.org/docs/DOS7/v-ansi-sys.html
- ANSI Keyboard Key Codes [MS-DOS 7.00/7.10]:
http://www.lagmonster.org/docs/DOS7/v-ansi-keys.html
- Ansi.sys - The Commands [MS-DOS 7.00/7.10]:
http://www.lagmonster.org/docs/DOS7/v-ansi-commands.html
- Ansi.sys - Entering "Escape Sequences" [MS-DOS 7.00/7.10]:
http://www.lagmonster.org/docs/DOS7/v-ansi-escseq.html
- The ANSI.SYS Device Driver:
http://gatsby.tafe.tas.edu.au/batch/html/ansi.html
- Change DOS prompt style (C:\):
http://www.smallvoid.com/article/style-dos-prompt.html
- ANSI sequences:
http://www.robvanderwoude.com/ansi.php
- ANSI.SYS Escape Sequences:
http://academic.evergreen.edu/projects/biophysics/technotes/program/ansi_esc.htm
- Microsoft DOS ansi.sys command:
http://www.computerhope.com/ansisys.htm
- Commands Reference: ANSI.SYS:
http://www.tekweb.dk/manuals/command/COMMANDS/A/ANSISYS.HTM
- ANSI: Modify prompt + screen color tutorial:
http://kb.iu.edu/data/aamm.html
- ANSI.SYS Guide:
http://web.archive.org/web/20070623224036/http://enterprise.aacc.cc.md.us/~rhs/ansi
.html
- ANSI Keyboard codes: Key and Extended Key Codes:
http://www.microvga.com/ansi-keycodes
______________________________________________________________________________

MS DOSSHELL = MS-DOS File Manager

Microsoft DosShell (DOSSHELL.EXE) is a DOS based (16-bit) graphical


CGA/EGA/VGA File Manager, task switcher/swapper, program launcher Menu + Shell
Graphical User Interface (GUI) with full mouse support, almost as good as its
more "sophisticated" Windows 3.xx/95/98/ME counterpart at performing extensive
disk/file routine operations. In fact both DOSSHELL and File Manager (FM =
%windir%\WINFILE.EXE), its Windows GUI based "cousin", use similar "hot"
keys/key "combos"/shortcuts (examples): Ctrl+click to select multiple separate
files, Ctrl+Forward slash or Ctrl+Question mark to select all files in current
directory, Shift+click to select multiple contiguous files, Alt+F4 (or F3 =
specific only to DosShell) to close/exit the interface, F1 for help menu etc.
Microsoft first introduced DosShell beginning with MS-DOS 4.00 (1991). LAST
(and CURRENT/NEWEST release) was bundled with MS-DOS 6.00 (1993). MS did (and
will) NOT issue ANY further updates or releases, because they consider it an
obsolete DOS (legacy) 16-bit tool. :(
A DOS mouse driver [see CTMOUSE.EXE under "FREE WinDOwS MOUSE DRIVERS + TOOLS"
in SOFTWARE.TXT (included)]:
http://www.mdgx.com/drv.htm#MOU
needs to be loaded in memory prior to starting DosShell in native MS-DOS mode,
to take advantage of its built-in point-and-click and click-and-drag mouse
functions.

FYI:
DosShell does NOT work from within Windows NTx OSes
(NT/2000/XP/2003/Vista/2008/7/8/8.1/2012) because they do NOT allow direct
access to hardware resources!

Its main purpose is file and directory listing and manipulation (copy, create,
delete, move, rename), program launcher (shell menu) and task swapper (program
switcher).
Two different directory trees (even located on different drives/partitions)
can be displayed simultaneously, together with the launcher menu, all on the
same screen.
Task Swapping is an added bonus, making possible to load multiple
programs/games in memory at the same time, and switching between them with the
Alt+Tab key "combo". But because MS-DOS is a single task operating system and
doesn't provide background execution nor multi-threading, only the currently
selected application can load into memory and run. DosShell's Task Swapper has
the ability to dump the running program together with its operating state to a
temporary disk file (DOSSWAP.SWP) and then load and run another program in the
same memory space. When switching between tasks, the current task state is
dumped to this file, and the other program operating state is loaded from the
file, making possible to continue with the other task.
CAUTION: DosShell is NOT capable of terminating hung/locked up applications.
Therefore if using task swapping make sure to save your work BEFORE switching
tasks!

DosShell requires a minimum of 384 KB of DOS conventional memory for proper


operation, and can use up to 500 KB, depending on the size of detected
directory trees and number of files, because it always scans the current
drive/partition structure upon startup, and then displays the entire directory
tree, starting from the root directory. The Task Swapper function takes an
additional 40 KB of RAM when enabled.

DosShell stores its settings in DOSSHELL.INI, a plain text/ASCII file found in


the same directory as the DOSSHELL executable (DOSSHELL.EXE). If DOSSHELL.INI
becomes corrupted or is missing, a new one will be created automatically next
time DOSSHELL starts, but custom configurations will be lost in this case. :(
DosShell can be used [among many other useful things :)] to rename/move
(sub)directories or as a DOS mode "task switcher", cool features, otherwise
not supported by the plain DOS prompt, without dedicated 3rd party tools.
Older MS-DOS releases do not have the capability of renaming/moving
directories/folders. Beginning with MS-DOS 6.00, the only way to rename/move
directories in DOS is to use MOVE.EXE, an external MS-DOS command (actual
executable). Examples:

- Renames a directory on the same drive/partition:

MOVE C:\OLDDIR C:\NEWDIR

- Moves a directory to a different drive/partition:


MOVE C:\MYDIR D:\

- Renames AND moves (at the same time) a directory to a different


drive/partition:

MOVE C:\OLDDIR D:\NEWDIR

But MOVE (unlike DOSSHELL) canNOT rename the currently displayed directory or
the directory inside which it resides. :(
DOSSHELL does NOT use ANY MS-DOS built-in (internal) commands like: COPY, DEL,
REN, MD, RD etc, but its own (native) routines for performing such tasks
instead.

LIMITATIONS:
* DOSSHELL is NOT Long File Names (LFNs) aware! Therefore ANY LFN
files/folders copied/moved by DOSSHELL will LOSE ALL LFNs information [will be
truncated according to DOS based 8.3 Short File Names (SFNs) format] IF using
Windows 95/98/ME or ANY other LFNs capable OS/Environment!
* If free conventional ("low") DOS memory is less than 600 KB, DOSSHELL will
display this warning popup message and may not list all files if a
(sub)directory contains 2000 files or more:
"Not enough memory. Operation cannot be completed."

For all MS DOSSHELL users I have included here my customized DOSSHELL.INI file
containing a list of 7 "fun(k)y" customized color schemes. Enjoy.
To use it, first BACKUP YOUR DOSSHELL.INI (e.g. rename it to DOSSHELL.INX),
and then copy this one to your DosShell directory.
Just make sure DOSSHELL is NOT running. :)
Now to preview/change to one of my DOSSHELL color schemes: run DOSSHELL ->
click Options -> select Colors -> scroll down to the desired color scheme ->
click Preview -> click OK/hit Enter to keep it if you like it, or click
Cancel/hit Esc to restore your original one.

To take a peek at my "Zen" custom DOSSHELL color scheme, open DOSSHELL.BMP


with Paint Brush (PBRUSH.EXE) in Windows/WfWG 3.1x and NT 3.xx, MS Paint
(MSPAINT.EXE) in Windows 9x/NT4/ME/2000/XP/2003, or your favorite graphic
viewer/editor tool [see SOFTWARE.TXT (included) for examples].
DOSSHELL.BMP is part of my Windows BitMaPs archive [1.61 MB, FREEware]:
http://www.mdgx.com/files/MYBMPS.ZIP
and can be also used as Windows background wallpaper: 640x480 pixels, VGA, RGB
encoded, 16 colors, 4-bit BitMaP.
You can further edit my DOSSHELL.INI file using EDIT.COM in DOS or Notepad in
Windows, and modify any colors in any of these color schemes to your liking.
Allowed COLOR values are (case insensitive):

COLOR
darkCOLOR
brightCOLOR

Substitute the COLOR string above with an actual color name from the list
below [0 - 8]. Supported DOSSHELL color names (the 16 standard VGA color
attributes):

0 = black
1 = blue
2 = green
3 = cyan
4 = red
5 = magenta
6 = yellow [or brown]
7 = white
8 = gray
9 = brightblue
A = brightgreen
B = brightcyan
C = brightred
D = brightmagenta
E = brightyellow [or brightbrown]
F = brightwhite

More info @ Wikipedia: Standard VGA colors:


http://en.wikipedia.org/wiki/ANSI_escape_code#Colors

You can substitute bright with dark to get even more color combinations.

You may find useful to add this line to your AUTOEXEC.BAT:

SET DOSSHELL=C:\SHELL

IF your DOSSHELL files reside in a directory (C:\SHELL in this example) other


than your default DOS directory, and IF this directory is NOT included in the
DOS PATH.
This environment variable dictates the location of DOSSHELL.INI.
IF your DOSSHELL files are located in your DOS directory or in any another
folder listed on your "PATH=" line (specified in AUTOEXEC.BAT or CONFIG.SYS),
you do NOT need to specify a "SET DOSSHELL=" line.
DOSSHELL creates its temporary files in the directory mentioned on the "SET
TEMP=" and "SET TMP=" lines, which can be modified/added to your startup files
(AUTOEXEC.BAT or CONFIG.SYS).
CONFIG.SYS supports SET commands ONLY in MS-DOS 6.00 and newer. Default
TEMP(orary) directory is C:\DOS (or C:\MSDOS) for MS-DOS 4/5/6 or
C:\WINDOWS\TEMP for Windows 95/98/ME if these 2 lines are absent.

MS DosShell complete files list (as included with MS-DOS 6.00):

File Name File Description


------------------------------------------------------------------------------
DOSSHELL.COM COMmand redirector (starts DOSSHELL.EXE) for compatibility
with older MS-DOS releases: you can safely delete it if using
MS-DOS 6.20 or newer. More info @ MSKB:
http://support.microsoft.com/kb/72113
DOSSHELL.EXE DOSSHELL EXEcutable + interface (GUI).
DOSSWAP.EXE Internal task SWAPper + switcher helper: you can safely delete
it if not using Task Swapper from within DosShell.
DOSSHELL.GRB Video mode GRaBber + detector.
DOSSHELL.HLP HeLP menu.
DOSSHELL.INI INItialization + configuration file.
DOSSHELL.VID CGA/EGA/VGA text + graphics VIDeo driver.

If DosShell's Task Swapper feature is enabled, DOSSWAP.EXE creates a temporary


file (DOSSWAP.SWP) in the DosShell directory every time you switch between
programs/games, writing (saving) the current program state to disk for future
recovery. Normally the .SWP file is automatically erased upon exiting
DosShell. But sometimes it persists even after DosShell exits, taking up
unnecessary disk space. In such cases you can safely delete it, but ONLY AFTER
closing DosShell.

To start DOSSHELL in different text or graphics video modes, you can run the
DOSSHELL executable from the DOS prompt (or from a dedicated batch file) with
command line parameters. To see all its available switches, run:

DOSSHELL /?

ONLY from within your DosShell directory.

This is the DOSSHELL help screen:

"Microsoft (R) DOS Version 6 MS-DOS Shell


Copyright (c) Microsoft Corp 1993. All rights reserved.

Starts MS-DOS Shell.

DOSSHELL [/T[:res[n]]] [/B]


DOSSHELL [/G[:res[n]]] [/B]

/T Starts MS-DOS Shell in text mode.


:res[n] A letter (L, M, H) and number (n) indicating screen resolution.
/B Starts MS-DOS Shell using black-and-white color scheme.
/G Starts MS-DOS Shell in graphics mode."

These are all available DOSSHELL video modes that can be specified as command
line parameters (case insensitive):

/G:L Low Graphics [25 lines]


/G:M1 Medium Graphics 1 [30 lines]
/G:M2 Medium Graphics 2 [34 lines]
/G:H1 High Graphics 1 [43 lines]
/G:H2 High Graphics 2 [60 lines]
/T:L Low Text [25 lines]
/T:H1 High Text 1 [43 lines]
/T:H2 High Text 2 [50 lines]

Note that not all DOSSHELL graphical resolutions may be available on your
computer, depending on the video modes supported by your video controller.
You can also change the DOSSHELL screen resolution from within its interface:
click Options -> click Display -> highlight desired resolution -> click
Preview -> click OK/press Enter to select or Cancel/press Esc to revert to
previous setting.
If you are trying to preview a resolution not supported by your video card,
you may get a black or garbled screen. In this case the only way to return to
the previous display is to hit Esc, ONLY IF your PC didn't freeze in the
process. :(
It is strongly recommended to (re)install the DOSSHELL video files properly by
running SETUP.BAT (see the "UPDATE" below) EVERY TIME you change/upgrade your
primary (2D) video adapter, to avoid such errors/lockups.

Microsoft suggests not to use DOSSHELL as a DOS menu (shell) to start other
GUI based applications/games (i.e. Windows) if using MS-DOS 5.00 or earlier.
I for one prefer QuikMenu III DOS graphical menu for this purpose:
http://web.archive.org/web/20090505071557/http://www.neosoftware.com/qm.html
QuikMenu III [511 KB, nag shareware :-(]:
http://web.archive.org/web/20090505071557/http://neosoftware.com/software/qm.zip
and have erased the entire DOSSHELL.INI MENU section, which also makes
DosShell load faster by reducing the size of DOSSHELL.INI.

If you decide to use my DOSSHELL.INI file, you should be WARNED that I have
eliminated ALL nagging screens for Mouse Operations, Copy, Move, Delete and
Replace commands. Example: when you highlight a single file/empty directory
and press the Del key or click Delete, it WILL BE DELETED IMMEDIATELY WITHOUT
ANY CONFIRMATION prompts/messages!
You can change these lines under the DOSSHELL.INI [savestate] section:

[savestate]
replaceconfirm=disabled
deleteconfirm=disabled
mouseconfirm=disabled

back to their original states, to read:

[savestate]
replaceconfirm=enabled
deleteconfirm=enabled
mouseconfirm=enabled

to get back the confirmation/nagging screens (default) for safer (but more
time consuming) copy/move/delete/mouse operations. [But that's no fun! :)]
You can also enable/disable DOSSHELL confirmation dialog boxes from within its
GUI: click Options -> click Confirmation -> (un)check the desired [X] box(es)
-> click OK/press Enter to save new option or Cancel/press Esc to revert to
previous setting:
- Confirm on Delete
- Confirm on Replace
- Confirm on Mouse Operation.

Also, if you try to run a batch (.BAT) file by double-clicking on it (or by


pressing Enter after highlighting it) within DOSSHELL, that file will open in
EDIT.COM for editing, instead of running the respective program! If you want
to have your batch files run normally from DOSSHELL, edit my DOSSHELL.INI with
EDIT.COM in DOS or Notepad in Windows, and delete the entire .BAT section:

association=
{
program=EDIT
extension=BAT
}

File types associated with EDIT.COM in my DOSSHELL.INI:

- .BAT
- .DOC
- .INF
- .INI
- .SYS
- .TXT

Note that DosShell canNOT run ANY Windows native programs and does NOT support
file associations with Windows executables, even if running from a DOS
box/session/window within Windows!
I have also associated the MS-DOS:
- .HLP files with HELP.COM (MS-DOS Help system executable).
- .BAS files with QBASIC.EXE (MS-DOS Quick Basic Editor/Viewer executable).
All these files should be found in the DOS directory (MS-DOS 5.00 - 6.22) or
in the %winbootdir%\COMMAND folder (Windows 95/98/ME).
I have also associated .ZIP files with PKUNZIP.EXE, which must reside in a
directory on your PATH, otherwise you need to type its full path name for this
association.
PKZIP.EXE + PKUNZIP.EXE are part of PKWare PK(UN)ZIP v2.50 16 + 32 bit, THE
standard DOS ZIPping/unZIPping tools, LFNs compliant ONLY in a Windows
95/98/ME DOS box [203 KB, no nag shareware]:
http://www.filegate.net/pkware/pkdos/PK250DOS.EXE
Similar DOS tools:
http://www.mdgx.com/dos.htm#ZIP
This way I unzip (decompress) a .ZIP file simply by double-clicking on it
while in DOSSHELL, restoring the original files contained in the ZIP archive
into the directory where the respective .ZIP file resides.
To force the files contained into a ZIP archive to decompress into the
directory of your choice, you can associate ZIP files with a BATch file I
called UNZIP.BAT (example):

@ECHO OFF
C:\ZIP\PKUNZIP.EXE %1 %TEMP%
EXIT

In this case all files in a ZIP will be unZIPped into the TEMP directory,
specified by the "SET TEMP=" and "SET TMP=" variables (example):

SET TEMP=C:\TEMP
SET TMP=C:\TEMP

in your AUTOEXEC.BAT or CONFIG.SYS (the latter is supported ONLY by MS-DOS


6.00 and newer).

To change/delete any of the above file associations, open my DOSSHELL.INI with


EDIT.COM in DOS or Notepad in Windows (MUST exit DOSSHELL FIRST!), and edit
the file associations found at the end of the file.
Each file association can be edited/deleted, or new ones can be created also
from the DOSSHELL interface, by clicking "Associate..." from the File menu,
after highlighting a file type, and manually typing the COMPLETE DOS based
program/game path (unless an executable resides in a directory on your PATH),
filename AND extension (.BAT, .COM or .EXE) of your choice.
Note that DOSSHELL is not as intuitive as Windows Explorer
(%windir%\EXPLORER.EXE = Win9x/ME users) or File Manager (FM:
%windir%\WINFILE.EXE = Win3.1x/9x/ME users), and won't let you just
point/browse to the default registered associated executable/application for a
particular file extension. :(

FYI: DOSSHELL is NOT included with MS-DOS 6.21, 6.22 or with Windows
95/98/ME anymore, therefore you need to download its Setup files from
Microsoft [762 KB, free]:
http://download.microsoft.com/download/win31/Update/1/DOS/EN-US/sup622.exe
as part of Microsoft MS-DOS 6.22 Supplemental Disk:
http://support.microsoft.com/kb/117600
if you own one of these "DOSSHELL crippled" Operating Systems.
More info:
http://www.microsoft.com/technet/archive/msdos/01_intro.mspx
MS-DOS 6.22 required to use most Supplemental files!
MS-DOS 5.00/6.xx or most any Windows OS required to use DOSShell!

UPDATE:
"Run the SUP622.EXE executable to extract the DOSSHELL installation files.
Beware that SUP622.EXE does NOT contain ANY text references on how to install
the DosShell video files, therefore you need to run SETUP.BAT, a DOS batch
file that installs DOSSHELL.VID and DOSSHELL.GRB on your system.
Only after that, you'll be able to run DosShell in graphic modes. SETUP.BAT
basically copies the DOSSHELL files to your DOS directory and renames the
appropriate *.VID and *.GRB files to DOSSHELL.VID and DOSSHELL.GRB
respectively, depending on your computer's video capabilities."
[Thank you Chris!]

TIP: You may need to create a new DOS (or MSDOS) directory (if not present) on
your root drive/partition (C:\) beforehand for SETUP.BAT to work properly.

WORKAROUND:
DosShell is configured by default (on most newer ISA/VLB/PCI/AGP color video
adapters that support it) for the better quality VGA display. If your older
and/or monochrome (CGA, EGA, MGA, PGA, 8514 etc) graphics card does NOT
support VGA modes, you MUST install the appropriate DosShell video (.GRB and
.VID) and initialization (.INI) files from SUP622.EXE (self extractive ZIP
archive), depending on your video controller capabilities.
Select ONLY the files that MATCH your particular video type:

Video Type DOSSHELL.GRB DOSSHELL.VID DOSSHELL.INI


------------------------------------------------------------
Low Res Mono MONO.GR_ N/A MONO.IN_
Hercules HERC.GR_ HERC.VI_ MONO.IN_
CGA CGA.GR_ CGA.VI_ CGA.IN_
High Res Mono VGAMONO.GR_ VGA.VI_ MONO.IN_
EGA/VGA [default] VGA.GR_ VGA.VI_ EGA.IN_

These installation files are compressed with Microsoft's proprietary (LZX


based) packing technology. Therefore you need to use the included EXPAND.EXE
tool (also bundled with MS-DOS 5/6) to unpack (decompress) them. Run these DOS
commands from any DOS prompt (example using a VGA card):

EXPAND VGA.GR_ DOSSHELL.GRB


EXPAND VGA.VI_ DOSSHELL.VID
EXPAND EGA.IN_ DOSSHELL.INI

Then move all these 3 DOSSHELL.* files to your DosShell directory, which
should be listed in your PATH for convenience, to run DosShell anytime, from
any drive/directory, and avoid using a "SET DOSSHELL=" statement.
Finally, type DOSSHELL [or include all necessary command lines in a dedicated
DOS mode batch (.BAT) file] from any DOS command prompt and hit Enter to start
the DosShell GUI.
In Windows 3.1x/9x/ME, just create a shortcut/item (.PIF file) for this batch,
to expedite things even further.
This is the batch file I use to start DosShell (DSHEL.BAT), located in
C:\SHELL (example):

@ECHO OFF
IF "%OS%"=="Windows_NT" GOTO END
SET DOSSHELL=C:\SHELL
C:
CD\SHELL
IF "%windir%"=="" GOTO D0S
C:\SHELL\DOSSHELL.EXE /G:H2
GOTO END
:D0S
C:\SHELL\DOSSHELL.EXE /T:H2
:END
SET DOSSHELL=
CLS
EXIT
DSHEL.BAT checks for Windows 3.1x/9x/ME GUI presence, starts DosShell with the
appropriate video resolution (VGA or CGA in these cases), and finally exits
automatically after I close the DosShell interface manually by pressing F3,
returning control to the running OS.
You can further modify DSHEL.BAT to suit your particular needs (using Notepad
in Windows or EDIT.COM in DOS), especially if using more than one different MS
OS in dual (multiple) boot setup. Just make sure to change all drive/partition
letters and/or directory/folder names to MATCH YOUR specific configuration.

DOSSHELL resources on the Internet:


- Wikipedia: DOS Shell:
http://en.wikipedia.org/wiki/DOS_Shell
- MSKB: Using Keystrokes in MS-DOS 5.0 or Later Shell:
http://support.microsoft.com/kb/74638
- MSKB: Troubleshooting Problems with MS-DOS Shell:
http://support.microsoft.com/kb/74177
- MSKB: All DOSSHELL related articles:
http://support.microsoft.com/search/?qu=DOSSHELL
- Wally: Installing DOSShell:
http://wally.hplx.net/dosshell.html
- Serenity Macros: Explorer Type Shell and Text Editor for DOS:
http://www.mvps.org/serenitymacros/dos7.html
- Commands Reference: DOSSHELL:
http://www.tekweb.dk/manuals/command/COMMANDS/D/DOSSHELL.HTM

Have fun.
______________________________________________________________________________
������������������������������������������������������������������������������