home *** CD-ROM | disk | FTP | other *** search
- File: DRIVER.DOC
- Contents: Documentation on the DRIVER program.
- Author: Bryan Ashby, 850 Pine Avenue, Pacific Grove, CA 93950
- Date: 18-Feb-84
-
- D R I V E R
- ~~~~~~~~~~~
-
- The DRIVER program creates a menu of the COM files on Drives A & B,
- and executes the selected program. It was intended to be the main
- program in a menu-driven user interface to CP/M, for people like me
- who are depressed by command-driven systems. CP/M allows you to do
- only two things from the command line: execute a COM file or execute
- a built-in command. This program handles the first, and a second
- program (itself a COM file, so displayed in the DRIVER menu like any
- other program) would handle the built-in commands.
-
- The program reads the directory of disk A and lists in one column all
- the COM files that it finds. (NOTE: If there more COM files than
- will fit in one column, you're out of luck.) Also, any file starting
- with a hyphen is considered to be the disk "label", so that file name
- is displayed at the top of the column. A prompt then asks if you
- also want a list of the COM files on Disk B; if so, those files are
- listed in a second column. A pointer is placed against the first
- file name; pressing X will cause that program to be executed; any
- other key will move the pointer to another name. Most keys move the
- pointer down the list, but an Up Cursor, Left Cursor, Backspace, '<'
- or ',' will move the pointer up the list. When the cursor is moved
- beyond the bottom of one column, it jumps to the top of the other (or
- to the top of the same column if there is only one).
-
- The statement which causes the selected program to be executed does
- not set up an automatic return to DRIVER because it is assumed that
- DRIVER is the name in the CP/M auto-load field. If that is so, then
- CP/M causes DRIVER to be reinvoked, and you will never see the
- standard CP/M prompt line.
-
- DRIVER IS INCOMPLETE: it will execute any COM file you select, but
- will not accept command-line parameters, which many programs (the
- unfriendly ones) require. I spent a long time trying to do this,
- using the information in the CP/M Interface Guide and the SBasic
- Ap-Note #1, but in vain. DRIVER cannot fill its intended role until
- this facility is added. I invite you to add the required code. I
- have removed my own unsuccessful code so you will not be misled by my
- errors. (I suggest that when you add code to the program you follow
- my style of capitalization, indenting and commenting because a
- consistent style greatly improves readability.) I would be very
- interested in seeing your successful code, and any other changes you
- make to the program.
-
- ACKNOWLEDGEMENT: Much of the clever stuff in the code is derived
- from the XAMN program, which is anonymous but was probably written by
- Gilbert Ohnysty.