Dec 252017
DOS Shell, with editor, user menus, and complete ASM source.
File PMS15D.ZIP from The Programmer’s Corner in
Category File Managers
DOS Shell, with editor, user menus, and complete ASM source.
File Name File Size Zip Size Zip Type
CRLF.ASM 2870 1318 deflated
CRLF.COM 293 275 deflated
PMS.COM 33802 19015 deflated
PMS.DOC 24006 8851 deflated
PMS.ICO 766 159 deflated
PMS.PIF 545 142 deflated
PMSNEW.ASM 235224 59186 deflated
PMS_MIN.MNU 552 352 deflated
PMS_SMPL.MNU 5090 2092 deflated
PM_FIND.ASM 11835 3952 deflated
PM_FIND.COM 1321 951 deflated

Download File PMS15D.ZIP Here

Contents of the PMS.DOC file

Path Miser Shell V 1.50d by Jerry Rebold and Howard Flank

This DOS shell and editor was inspired by an early, now public-domain version
of a popular program. While commercial shells like PC-Tools, Xtree and
Norton Commander have burgeoned into disk gobbling behemoths, this one is
short, written in assembler, and quick. You can use it from programs that
can call other programs or "shell" to DOS, such as ProComm, AutoCAD and (yes)
Windows. It is in daily use by its writers, so it probably has no really
horrible bugs.

It is both for techies who can't type and want a known shell/editor when
working on a strange machine and also for the novice who needs something
easy to use for looking at directories and editing .BAT files.

Just run PMS to see what it does. The Lotus-style menus show shortcut keys and
hints on the prompt line. No command line options are required.

If you save your setup, it is written into the PMS.COM file. No other files
are needed - you can just run PMS.COM from a floppy on someone else's machine
(though it runs faster if you make a temporary directory for it and your
utilities and menu).

PMS.ICO is a Windows icon that can be installed to use PMS from Windows.

Your menu file, PMS.MNU, must be in the same directory as PMS.COM.
It is ASCII text. The sample menus PMS_SMPL.MNU and PMS_MIN.MNU contain

The Editor works like a low class word processor. It will not stick odd
control characters in the file.
In the Editor, you can point to a file and have its full D:\PATH\NAME.EXT
inserted in your text.
You can create a custom Application Menu by using the Editor to create a
PMS.MNU file, for point-&-shoot operation.
File Print takes a 'Number of Copies', for labels, etc., and or the
right mouse button will stop printing immediately.
Command-to-DOS retains three lines of DOS commands.
Displays and edits hidden files without un-hiding them.
Can copy files to the Root Directory on another Drive without waiting to
change drives.
Remembers the last File position when you change back to a drive, and when
you have just copied a file to a drive.
File Bak copies a file to .BAK, or an optional d:\path\name.
You can escape from most "hung" programs using / ,
which also instantly stops a printer on LPT 1 - 3.
Can pre-position to a file or directory specified on the command line
Now takes mouse input.

PMS lacks fancy features such as encryption, brief menus, activity log, help
screens, etc. PMS also does not release all its memory when it runs a program,
but that hardly matters for a program this short (especially with a '386+ and
QEMM, etc, to load your TSR's above 640K).
PMS cannot be loaded 'high' by QEMM or DOS 5+.

Key combinations: means hold down and press .
The names of menu items are in square brackets; [Option] [User] [Novice] means
select [Option] from the main menu, then [User] from the Option menu, and
finally [Novice].
You can also press just the first letter: , or click the left mouse
button on the item.

PMS [d:][\path][\filename.ext]

If the optional drive, path, and/or filename.ext are included, PMS will
initially position its highligh bar there.
If the file does not exist, the highligh bar will be on the root directory
(or the last directory in the path that does exist).


The prompt line (just under the menu line) describes the highlighted item and
shows shortcuts and hints. Highlight an item with the Left and Right
arrow keys, then hit . Or, hit the first capital letter (actually the
first non-lower case character) in its name. Or, click the left mouse button
on the item. returns to a previous menu.

Input Window Keys
, arrow keys move the cursor one character.
/ move the cursor to the Beginning/End of the line.
Erases the character to the left of the cursor.
Erases the character under the cursor.
Deletes the entire line.
Executes the input.
Ends text input and returns to a previous menu, saving your input.
/ moves up or down one line in [Cmd-to-DOS].

Directory List Movement Keys
/ moves the list up or down one line.
returns the hightlight bar to the root directory.
moves the highlight bar to last line.
/ moves up or down nine lines.
opens the highlighted directory and displays the files in it.
closes the directory the highlight bar is on or in.
, (right of the numeric keypad) move the highlight bar
to the next or previous directory, moving past long open directories.
changes to drive . When returning to a previous
drive, the highlight bar will be where you left it.
displays on the right side of the screen the date, time and attributes
for each file.
returns the Status Screen to the right side of the screen.
/ same as / (for lap tops).

Clicking the mouse on the upper border line is the same as PgUp; on the
lower border line is the same as PgDn.

Clicking on the and arrows on the hilight line is the same as Gray+
and Gray-.

Select the file to operate on by placing the highlight bar on that file,
then select the menu item to do.

Clicking on a file or directory moves it and the mouse cursor to the highlight

Some operations work on multiple files, such as copying, moving, and erasing.
Mark the desired files by clicking on them or highlighting them and then
pressing the space bar. This toggles a mark to the left of that file.
will open directories while marking.

You can mark or unmark all files in an open directory by putting the highlight
bar on the directory and hitting the space bar.

To change to another drive:
use [Option] [Drive] [letter], or
hit , or
hold and press the drive letter, or
click the middle mouse button, then click on the drive letter.
Yes, Ctrl-C goes to drive C:.
When you return to a previously accessed disk, the highlight bar will be where
you left it.

If you have a mouse and a Microsoft-compatible driver installed, PMS will
display a "block" mouse cursor which can select most of its functions.
. Pick a Menu item by "clicking" the Left Button (LB) with the mouse cursor
on that item.
. Clicking on the top or bottom border is the same as or .
. Clicking on items on the bottom Help line is the same as pressing that key.
. Clicking on a file or directory puts that item under the highlight
bar and moves the mouse cursor with it. In file marking mode, clicking on
a file will mark or unmark it without moving it.
. If you click on a directory that is already highlighted (or double
click on any other directory), it will toggle open or closed.
. If you click on a file that is already highlighted (or double click on
any other file line), that file will be edited.
. The Right Button is the same as pressing .
. The Middle Button is Option Drive (takes you to the drive letter menu).

Runs the .COM, .EXE, or .BAT file that is under the highlight bar.

PMS can exit from most "hung" programs, or an unfamiliar program you don't know
how to get out of: hit or to exit back to PMS.
(pressing before rebooting on some '386 AMI BIOSs causes the XCMOS memory
to reset to the default).
It will exit most programs (except Windows, of course) as long as the keyboard
interrupt is still enabled, saving the contents of your RAM disk.
If you program in Assembler, this will exit from many crashes. If you have a
printer on LPT1-3, it will also reset the printer port, stopping the printer
instantly. All TSR's (Resident programs) installed since you ran PMS will be
removed, so you can use it to free up memory.

Note: NEVER press during a disk access, or when shelled out.
Also it's a good idea to reboot as soon as convenient after using it, since
there is no telling what the program was doing at the time and in exactly what
state the computer was left. Caveat emptor.

will stop copying after a short delay.
Copies selected file(s) to:
Another subdirectory on the same drive.
After selecting, place the highlight bar on the destination directory
and press .
Another drive. After selecting, press . Then select the
destination drive. The Directory list will then show the destination
drive. Put the highlight bar on the desired directory and press .
Use to open directories to get to a desired subdirectory.
The root directory of another drive. This is faster then [Drive].
Sends the highlighted file to the printer (PRN:).
Hit to print one copy, or enter a number up to 99 copies.
[Option][PrinterSetup] sets a setup string to be sent to the printer first.
Asks for a new name for the highlighted file.
Moves files from any directory or group of directories to another directory.
This is very fast since only the directory entry is changed, the data itself
remains in place.
Deletes files from any directory or group of directories.
Note: if you have set User level to Expert, no confirmation will be
requested before deleting files.
Changes the 4 file attributes:
Makes marked files hidden.
Most programs and the DOS "DIR" command will not find hidden files.
PMS will display hidden files (in parentheses) if [Option] [Hidden] [Show]
has been selected.
Unhides marked files. You must first display them using
[Option] [Hidden] [Show].
Sets the "read-only" bit. These files can not be deleted or updated
without first being "deprotected".
Clears the "read-only" bit.
Resets the "archive" bit, indicating the files have been backed up.
This bit is set by DOS any time the file is updated. Backup programs
will now think these files have not been changed and will not back them
up again (if incremental or differential backup modes are used).
Some programs (like Central Point Backup) show this attribute backwards
from PMS.
Sets the "archive" (it should be named 'changed' or 'un-archived') bit.
Makes a copy of the highlighted file with a default extension of .BAK, or
you can supply a new filename and path.

Opens the highlighted directory and displays the files and
subdirectories in it. The shortcut key is .
Closes the directory that the highlight bar is on or in. All lower
directories are also closed. The shortcut key is .
Creates a new directory in the highlighted directory. To create a
directory at the highest level, put the highlight bar on "Root Dir". You
will be prompted for the directory name.
Removes the highlighted directory. It must be empty.
Prompts for a new name for the highlighted directory.
Selects the sort sequence for displayed files and directories:
Alphabetically by filename, the default.
Alphabetically by extension.
In ascending order by date.
In the reverse of the order they occur in the DOS directories.

[Edit] will run the internal Editor and load the highlighted file or create a
new file in the highlighted directory. The PMS full screen editor is more than
a dumb editor but much less than a full word processor. It is an excellent tool
to edit or view .BAT files and other small ASCII files.
It cannot load files larger then 65,536 bytes.
To edit a file, put the highlight bar on the file name and press or or
click on it.
To exit the Editor use to bring up the Edit Menu and to quit.

Editor Keys
,,, keys move the cursor one character or line.
Erases the character to the left of the cursor.
Erases the character under the cursor.
Deletes the entire line and places it in the Copy Buffer.
Deletes to the end-of-line and places that in the Copy Buffer.
Toggles Insert/Overwrite mode.
/ Moves cursor to the Beginning/End of the current line.
/ Moves the cursor right/left one word.
/ Moves cursor to the First/Last line on the screen.
/ Moves cursor to the First/Last line of the file.
Inserts superscript "2" ( decimal 253)
Inserts pi ( decimal 227)
Inserts cents ( decimal 155)
Inserts degrees ( decimal 248)
Inserts plus/minus ( decimal 248)
Inserts the solid horizontal bar ( decimal 196)
or Inserts "approximate" ( decimal 247)
Deletes a marked block and puts it in the Copy Buffer.
Inserts the contents of the Copy Buffer at the cursor.
Just copies the marked block to the Copy Buffer.
Toggles text marking on or off.
Replaces the next occurrence.
Finds the next occurance.
Saves the current edited text back into the original file.
Inserts an char in the text.
Brings up the Editor Menu

The Editor Menu (Activated by )
Lets you export a marked block to a [File] or the [Printer].
Brings up the file list, then allows you to highlight an ASCII text
file to insert at the cursor location when you press .
[Insert] inserts contents of the Copy Buffer at the cursor. Same as .
[Delete] deletes marked block and puts it in the copy buffer. Same as .
[Copy] copies the marked block to the Copy Buffer. Same as .
Turns text marking mode on or off. Same as
[Begin] moves the cursor to the first line of the file. Same as
[End] moves the cursor to the last line of the file. Same as
[First] moves cursor to the first line of the screen. Same as
[Last] moves the cursor to the last line of the screen. Same as
Prompts for a case-sensitive string to find. Same as .
Prompts for a string to find, then a string to replace it with. .
[Update] toggles the update-on-exit switch. When ON, [Quit] will
update the file (if any changes were made) and exit.
When OFF, if any changes were made you will asked to either [Update] or
[Auto-Indent] When ON, pressing will cause the cursor to auto-indent
to the same place as the preceding line.
[Status] reports the state of the auto-indent and update-on-exit switches,
free memory available to the Editor, and the (unchangable) tab setting.
Brings up the file directory screen then lets you select a
d:\path\filename to insert at the cursor location by highlighting that file
or directory and pressing . This is handy for writing your PMS.MNU
file, or for just looking at the current directory.

Just shows the special characters ( and ) typed with Alt held down.

After many items on the [Options] menu, you will be asked if you want to
"Save changes".
For changes to be in effect only for the current session of PMS, press or
. Permanent changes are rewritten to the PMS.COM file. If you use PKLITE
to compress PMS.COM, remember to PKLITE it again to save your changes.
Changes to another drive. The shortcut is , or click
the middle mouse button then click the LB on the drive letter.
Turns the error beep off or on. If you hear a beep after making this
selection the beep is on.
Customizes screen colors. Select the item to recolor, use and
or the Left mouse button to scroll through the foreground colors,
and and or the Middle mouse button to scroll through
background colors. The color indicator at the right of the top line and
all applicable parts of the screen will change to the new color.
Press when you have the desired color and you will return to the
Color Menu to continue changing colors.
Press to exit from the Color Menu and have the option of saving the
new colors.
On a monochrome monitor, PMS uses a separate color set. If you change
colors while on a mono screen, they become the new default colors.
If you then run on a color screen and feel the Mono color set is yucky,
will restore the color screen colors.
If you change colors on a color screen, it will not affect the mono colors.
So, you can use PMS on dual-screen systems and still have custom colors.

The items to recolor are described in the prompt line of the menu.

[Restore] Restores all colors to the original defaults, if you get
totally frustrated (as when fore- and background are the same, making the
menu unreadable).

When setting colors, toggles the blink attribute.

You will be asked to confirm many operations (such as [File] [Erase])
with "Yes"/"No".
There will be no prompts for most operations, including [File] [Erase].
Selects whether hidden files will be displayed. You can see hidden files
without unhiding them with [Option] [Hidden] [Show]. You can then press
to see the file attributes. If you unhide a file in a copy-protected
program, it may fail to run. If so, just hide it again (with ).
When removing some copy-protected programs from your hard disk, you may find
you can't erase the directory; hidden files may be left behind. Use [File]
[Attrib] [Reveal] (you might need to Deprotect them, too), then erase them.
Hidden files will be displayed, but in parenthesis. Use this to Edit or
"unhide" a hidden file.
Hidden files will not be displayed.
Shows the status of the "Hidden", "Sound" and "User" switches, whether the
options have been "Saved", and the PrinterSetup string.
Sets a setup string to be sent to the printer before a file is printed
with [File] [Print]. You can enter most non-character codes by holding
down and typing the decimal code on the numeric keypad.
For example, a common code for compressed type is decimal 15.
types the character. The printer setup string is preset for a
Panasonic 1524.
Runs the highlighted program with no command line. You must use
Command-To-DOS to run with a command line.
Always prompts for a command line before running the highlighted program.

You can design your own multi-level menu by creating a PMS.MNU file, so you
can run your programs by simply pressing a few keys. You can set command line
parameters to pass to a program, including part or all of the currently
highlighted filename. You may also specify the drive and directory to be in
while the program runs, and request user input to the command line.

For example, your word processor takes a command line for a file to edit (you
usually enter, say, "WP myfile"). You can set up a menu entry to run
your word processor and have it load a file just by highlighting the file and
(for [Application-Menu] [WordPerf]).
You can use the same keys to run the word processor with no file loaded (or to
begin a new file) by highlighting a directory when you press

See the two sample menus PMS_SMPL.MNU (a complex menu file with instructions),
and PMS_MIN.MNU (a minimum example that just runs programs).
You can copy one of them with File Bak, Edit it to your specifications and then
name it PMS.MNU so PMS can use it.

If you change PMS.MNU, PMS must reload your new version. You can do this by
pressing , or just run any program or command to DOS.
The new PMS.MNU will be loaded when returning to PMS.

The PMS.MNU file is located by checking the Environment for PMS's \path\name,
so it must be in the same directory.

Executes DOS commands directly. PMS has a three line buffer for saving
previous commands. Use the and cursor keys to select a line.
Enter a new command, edit the existing command, or use the command on that line
as it is. executes the command on the current line.
DOS commands are executed by running a secondary copy of COMMAND.COM and
passing it the command line. In some cases there may not be enough memory to
run COMMAND.COM or for COMMAND.COM to execute the command. It is more
efficient of memory to run programs by using [Run].

Press to exit, or , , or to return to PMS.

Instead of DOS function 4Bh, PMS uses undocumented INT 2Eh to run programs.
This allows the DOS "SET" command to modify the Master Environment, and
can exit Microsoft programs like QuickBasic. This scheme
won't work under versions of 4DOS prior to 3.02 unless you run the INT 2Eh
fixup TSR available for 4DOS.
The code to get size of extended memory skips if XT, uses Int 15h if no
XMS driver is loaded, else tries CMOS.

When you exit to some versions of DOS from PMS:
may not recall the last command line.
The DOS prompt may be on a strange line.

With DOS 3+, there is no need to CD \TOOLS, Just run C:\TOOLS\PMS.

On some old machines, if PMS is run from a .BAT file, e.g. from AUTOEXEC.BAT,
it gives 'Bad command or file name' the first time you try to run a program.

PMS has been tested on 286, 386, 386SX, and 486 clones with PC-DOS 3.3,
MS-DOS 3.3, Compaq DOS 3.31, and MS-DOS 5.0 and 6.0. It runs (but not
thoroughly tested) under DOS 2.1 and 4.01, on 8088s, 8086s, V20s, and V30s.


Leave a Reply