Contents of the MENU.DOC file
Written by Mark M McCurry
For Key Software.
(c) 1989 Key Software
The Mountain Menus System was written for pro and
beginner alike. It is easy to set up and easy to use. It
can also run your most demanding software without
getting in the way. Although there are hundreds of menu
programs, all the ones we tried seemed to have the same
pitfall. They remained resident in some fashion or
another taking up precious ram space. Our desktop
publisher, and a few other graphic type programs, just
can't stand to share the system ram with anyone. Some of
our clients were not happy about having anything
resident while their important programs were running.
Others already had a bunch of their favorite resident
software running and the menu was just too much. Some of
the menus conflicted with other resident software. For
these situations, I wrote Mountain Menus.
When a program is run from Mountain Menus, the menu
itself completely disappears from memory. The only file
it opens is the batch file it creates to run your
application. If you are using batch files now to run
your programs, Mountain Menus provides a great way to
consolidate those files into one VERY user friendly
You can define one main menu and up to twenty nine
submenus. Each menu can have up to twenty items to chose
from. Each menu item has it's own full screen help window.
The text in each help window is up to you, anything you want.
Mountain Menus is fully moused if a mouse driver is
loaded. This feature alone makes it a pleasure to use. If
you have a Novell network, Mountain Menus can use Novell's
menu files, giving you the added features of a mouse and
context sensitive help.
USING MOUNTAIN MENUS
Setting up Mountain Menus does require some knowledge
of DOS. You should be familiar enough with directories to
be able to make one to put the required files in. You will
also need a text editor to create and modify the MAIN.MNU
and MMENU.HLP files. Any editor will do, even EDLIN if that's
all you have, or a word processor that can save files in
ASCII text format. Last, but not least, you should be
familiar with batch files, or at least know what to type at
the DOS prompt to get your programs to run.
MAIN.MNU The user definable menu structure file.
MMENU.HLP The user definable help screen text file.
MMENU.BAT This batch file is REQUIRED ! even
though it only contains one line
"MMMENU", it MUST be present or the menu
will not return after your program is
MMMENU.EXE The executable file.
If you wish to rename the executable file, you can,
but be sure to also change the contents of MMENU.BAT to
reflect the new name. MMENU.BAT must NOT be renamed.
As of release 2.0, the menu file MUST be named
MAIN.MNU, and the help file MUST be named MMENU.HLP.
Release 2.1 WILL be able to use any menu file specified
on the command line. Help files will be tied to menu
files by name. 2.1 is being tested right now, and other
features are being added, it should be out soon.
Getting around, and out of, the menus is a breeze.
If MOUSE.COM, or MSMOUSE.COM is loaded, you will see a
mouse cursor on the screen when the menu comes up. Use
the left button to select menu items or bring up help
windows by clicking on the word HELP. Use the right
button the same way you use the ape key.
Only five keys are used. The UP and DOWN ARROW keys are
used to highlight the menu items. These will wrap around
at the top and bottom of each menu. The ESCAPE key gets
rid of the current submenu bringing you to the menu
which it was called from. If only the Main Menu is
showing, The ESCAPE key exits the menu program and
returns to DOS. The ENTER key is used to select the
highlighted menu item. This will either run a program or
bring up a submenu. The key brings up a help window
sensitive to the item which is highlighted. The text in
these windows is user definable by modifying the text
file called MMENU.HLP. The function keys, F1 thru F10, and
SHIFT-F1 thru SHIFT-F10, may be used as shortcut keys to
select menu items. Press F5 instead of highlighting the
fifth item and pressing . Press SHIFT-F5 instead of
highlighting the fifteenth item and pressing .
The best way to learn how to set up the "MAIN.MNU"
file is to print out the example that is included and
run the menu program to see how each line is interpreted
by the menu program. The basic structure is as follows:
%MY COMPANY'S MAIN MENU <== the main menu title
ACCOUNTING <== main menu item #1
CD\PEACH <== batch command
PEACH <== batch command
WORD PROCESSING MENU <== main menu item #2
%WP MENU <== call up a submenu
DATABASE MENU <== main menu item #3
%DB MENU <== call up a submenu
RUN A DOS COMMAND <== main menu item #4
@1"ENTER COMMAND:" <== prompt user for input
LIST A FILE TO THE SCREEN <== main menu item #5
TYPE @1"ENTER FILE TO LIST:" <== prompt batch command
PAUSE <== batch command
%WP MENU,5,10 <== submenu title,x,y coords
WORD PERFECT <== submenu item #1
CD\WP <== batch command
WP <== batch command
WORD STAR <== submenu item #2
CD\WORDSTAR <== batch command
WS <== batch command
PC WRITE <== submenu item #3
CD\EDIT <== batch command
ED @1"ENTER FILE NAME TO EDIT:" <== prompt batch command
%DB MENU,12,3 <== submenu title,x,y coords
DBASE III+ <== submenu item #1
CD\DBASE <== batch command
DBASE <== batch command
ORACLE <== submenu item #2
CD\ORACLE <== batch command
ORACLE <== batch command
FOXBASE+ <== submenu item #3
CD\FOX <== batch command
MFOXPLUS <== batch command
Notice that I do not include commands to change
directory back to where I came from. This is done
automatically. Notice the @1"prompt" commands. This will
stop and ask for input from the user and put whatever
the user types in place of the @1. If I selected PC
WRITE from the menu and typed in "MYFILE" for file name to
edit, the "AK.BAT" file which is created would look like
The CD\MENU means the menu was originally run from the
menu directory of the C drive. It could read CD\DIRNAME,
depending upon which directory Mountain Menus was run
The TAB key brings up a full screen help window. The
text in the help window is sensitive to the menu item
which is highlighted when the TAB key was pressed. So
each item on each menu can have it's own help window.
The help screen text for each item can be entered, using
a text editor, into the file called MMENU.HLP.
The following page contains a sample of how
MMENU.HLP might look for the above example of the
Each text group begins with a percent sign and the
name of the menu item. The menu item must be an exact
match of the way it is entered in the MAIN.MNU file,
upper and lower case count. The order of the text groups
is not important.
This shows a Sample help file MMENU.HLP:
Here is the help text for the first item on the main
menu, which is PEACH ACCOUNTING. Remember you have 78
columns by 23 lines worth of space for each help item.
%WORD PROCESSING MENU
Here is the help text for the second item on the main
menu, which is the word processing menu. Pressing ENTER
here will bring up the word processing submenu.
Here is the help text for the third item on the main
menu, which is the database submenu.
Here is the help text for the first item on the second
menu defined in MAIN.MNU, which is WORD PERFECT.
Here is the help text for the second item on the second
menu defined which is WORD STAR.
Here is the help text for the third item on the second
menu defined which is PC WRITE.
Here is the help text for the first item on the third
menu defined which is DBASE III+.
Here is the help text for the second item on the third
menu defined which is ORACLE.
Here is the help text for the third item on the third
menu defined which is FOXBASE+.
Please note these are simple examples. Each help
screen is 23 lines tall by 78 columns wide. If your
editor can do lines and boxes, these screens can be
done up really nice.
One important thing to note is that batch files
must be handled differently when used in the MAIN.MNU
file. When a batch file is run from another batch file,
control does not return to the first batch file when the
second batch file finishes running. Clear as mud, right?
If you put the name of a batch file in the MAIN.MNU
file, the menu will not be re-run when your program
finishes. There is a solution to this dilemma. It uses
a seldom called for switch for COMMAND.COM.
To run a batch file from MAIN.MNU, replace the following
This tells DOS to run a temporary COMMAND.COM for
the sole purpose of running MYBATCH.BAT. When MYBATCH is
finished executing, the new COMMAND.COM disappears and
control returns to AK.BAT, which in turn, runs the menu
program again. The second COMMAND.COM will take up about
four thousand bytes of memory.
The BEST solution to this little problem is to
enter the commands from the batch file right into the
Users of DOS 3.3 have another alternative.
Which is to take advantage of a new batch command.
The above lines could be written;
If for any reason the menu does not return after
your program is finished, suspect a batch file is being
run from the MAIN.MNU without using one of the above
This little quirk can be an advantage. There are times
when I want the menu to drop me off at the DOS prompt in
a certain directory. I have included a simple batch file
called LANDAT.BAT. Note the way I use it in the MAIN.MNU file.
Remember to use an ASCII text editor to
build the MAIN.MNU and MMENU.HLP files. EDLIN is
the text editor which comes with DOS, although I
hope you have a better one than that. Any word
processor which allows files to be saved as ASCII
text files will do the trick. Release 2.2 will allow
menu items to be added or modified from within the
menu, no editor necessary.
Overall restrictions for Mountain Menus are as
1) A maximum of thirty menus may be defined in the
MAIN.MNU file. That's a main menu and twenty nine
submenus. If you define thirty-one menus, the last
one will not be read in.
2) Each menu can have a maximum of twenty items on
it. If you define more than twenty items for any menu,
only the first twenty items are used.
3) Menu titles and menu items may be a maximum of forty
characters wide. If they contain more than that, they
will be truncated at forty characters.
4) The batch file command list for any menu item is
limited to twenty commands. Each command line may be
up to seventy-five characters wide.
5) While the menu program completely disappears from
memory when it runs your applications, it does require
enough memory to store the items in the MAIN.MNU file.
My test MAIN.MNU file, which had thirty menus defined,
each with twenty items, managed to allocate about 150k
of memory. The only time I can see this being a problem
is if you run a LOT of resident software, AND you have a
very large MAIN.MNU file. If the program cannot find enough
memory, it returns to DOS with a message saying so.
I hope you enjoy the Mountain Menus system. Any
comments you have about Mountain Menus, ways to improve,
things it should do that it doesn't, things it does that
it shouldn't, etc., can be sent via EASYPLEX mail on
Compuserve. My CISID is 71500,1457.
For those who are interested, the program was
written in C using Borlands TurboC 1.5. The windows are
courtesy of The Window Boss, a library of windowing
functions created by Phil Mongelluzzo of Star Guidance
Consulting. The time necessary to write the program is
courtesy of my wife.
I have written several programs for my private use
and have, at this point, built up quite an arsenal of
source code. As a control systems programmer, much of
the coding I do deals with process control, gas plants
and the like, but in my spare time there's no telling
what I might dream up for myself to do. Mountain Menus
was a pleasure to write and I'm looking forward to
building it into a first class menuing system geared
toward the office P.C. You wouldn't believe what I've
got in mind for release 2.5 !!!
OWNERSHIP AND DISTRIBUTION OF
MOUNTAIN MENUS, version 2.0
MOUNTAIN MENUS is the property of Mark McCurry and
Key Software. Use and distribution of the
executable MOUNTAIN MENUS programs are controlled by
the following license terms:
1. A registered copy of MOUNTAIN MENUS can be obtained
from KEY SOFTWARE for payment of a $20.00 fee.
Checks should be made payable to Mark McCurry. If you
consider keeping Mountain Menus, Please register your
copy so my wife will learn to love me again.
Registered users will, of course, receive the next
release of Mountain Menus at no charge. I have
several ideas for the next release including command
line entry of any number of different menu files, not
just main.mnu, a pop up calendar where notes and
appointments can be posted for any date, a pop up
phone list, maybe even a dialer for those with
modems. Let me know what you'd like to see it do.
2. If you need some customization of the program, let me
know when you register. If the change is easy enough,
I'll just do it for you. If it requires substantial
work, we'll work something out. I charge a LOT less
for that sort of thing than Lotus does.
3. The holder of a free or registered copy of MOUNTAIN
MENUS is authorized to make and distribute FREE
copies of MOUNTAIN MENUS provided the files on the
distribution disk are copied unchanged, the disk is
copied in its entirety, and no compensation is received.
4. Bulletin Board SYSOPS are authorized to make
MOUNTAIN MENUS available on their boards provided
that all of the files from the distribution disk are
Please notify KEY SOFTWARE, simply as a matter
of information, if you put a copy on your board.
Use of this program acknowledges this disclaimer of warranty:
"This program is supplied as is. Key Software disclaims
all warranties, expressed or implied, including, and without
limitation, the warranties of merchantability and of fitness of
this program for any purpose. Key Software assumes no
liability for damages direct or consequential, which may result
from the use of this program."
Mark M. McCurry, President
P.O. BOX 8323
Corpus Christi, Texas 78468