MINDEX/CMD AND MENU/CMD.
------------------------

These programs were written to run in conjunction with each other, although they are totally independent. Both are in machine code, and both are very fast.


MINDEX/CMD.
----------

MINDEX is a disk indexing program. Having used various similar programs I found
they were too slow for my liking (I hate sitting waiting for the computer!),
and wrote this with the sole aim of making it as fast as possible. Like MENU, 
it runs under TRSDOS 6.x or DOSPLUS 4. 

MINDEX requires all your disks to be named in a particular way. A disk name, 
under the DOS rules, must comprise 8 characters starting with a letter; names 
shorter than 8 characters must be padded out with spaces, but the DOS does this
automatically. Names for MINDEX must start with 4 characters of your choice, 
followed with up to 3 digits which are the disk number used in the index. The 
letter B (for back) may be added after the number if needed to indicate the 
second side of a double-sided disk where the two sides are separate and have 
separate directories (sometimes called a flippy disk). The following are valid 
disk names for MINDEX:
         DISK1     DISK1B    PLUS204   TRS624    X12Y333
In every case MINDEX ignores the first 4 characters and reads only from the 5th
onwards. In the above examples the disk numbers are 1, 1B, 204, 24, and 333.

    I usually (but not always!) use the first 4 letters as an indication of the
DOS used to format the disk, and the number of tracks, thus TRS4614 is disk 
614, formatted with 40 tracks by TRSDOS; PLU8120 is disk 120, formatted by 
DOSPLUS with 80 tracks.

     You may use the first 4 characters for anything you please - MINDEX will 
reproduce them in its displays, but won't do anything with them. Whether you 
want them or not, they must be there, must start with a letter, and must NOT 
include any spaces.

    MINDEX creates and uses an index file called INDEX20/DAT on the disk in 
drive 0. Since it needs to write to this file when it reads a disk, the disk in
drive 0 must not be write-protected (but see later note). There is no special 
significance in the name, but it is written into the program and is unlikely to
be used by any other programs you may have. 

    I have left my own index file on the disk so that you can try the program 
out without fear of damage to any disks. Simply copy both MINDEX/CMD and 
INDEX20/DAT on to your system disk, and to run type MINDEX <ENTER>.

    When it loads, MINDEX displays a menu as follows:

                   D - list a DISK
                   E - ERASE a disk
                   F - find a FILE
                   M - run MENU program
                   Q - QUIT and return to DOS
                   S - show disk free SPACE
                   U - UPDATE index by reading a disk.

This menu never reappears, but is shown in an abbreviated form at the bottom of
the screen in all subsequent displays.

    To try the program out, run it with the index supplied and type S to show 
the disk free space. You will get a display of all the disks listed in the 
index in numerical order (there are 72 on the index supplied). Each entry has 
the following information:
         No.       4-char prefix       Capacity            Free space
typically, this might appear as:
         11   PLU4  759  36 
which describes disk PLU411, saying that its formatted capacity is 759 kbytes, 
and that of those, 36 kbytes are free. There is a slight difference here 
between DOSPLUS and TRSDOS: DOSPLUS disks show 1 less than the total capacity, 
TRSDOS disks show the correct number.

    Now try out the other options:

    D    will prompt you for a disk number: enter only the number (1, 1B, 333, 
etc) and press <ENTER>. All the files on that disk will be listed in strict 
alphabetical order, prefixed by the disk number and followed by the file 
extension. The first line of the display will always show a duplicate of the 
free SPACE display for that disk, as described above. If there are more than 
enough files to fill the display, you will be prompted to "Press <P> to cycle 
pages". When you get to the last page, the menu summary will reappear on the 
bottom line. To go back to the start, press <P> again and cycle through the 
pages once more.

    F    will prompt you for a search key to the file you are looking for. If 
you type BASIC <ENTER> (don't include the extension), you will get a list of 
all the disks containing files starting with BASIC, in alphabetical order of 
filenames+extension. All the BASIC/CMD files will appear first, followed by 
BASIC/OV1, and so on. Within groups of identical names, they will be in 
numerical order of disk numbers. You do not have to enter the whole file name 
and you must not add the extension. Typing S <ENTER> will list ALL the files 
whose names begin with S, SA all the files beginning with SA, and so on. 

    U    will prompt you to insert a disk in drive 1 and press enter. When you 
do so MINDEX will first of all ask you what you think the disk number should 
be, as a check. It will then read the disk directory, including the number of 
the disk and compare it with the number you entered. If they differ, you will 
be given the option of leaving it as it is or changing it to the number you 
entered. (This procedure is made necessary by the fact that backing up a disk 
copies everything on it including the disk name/number, so you can end up with 
several disks with the same number. I write the disk number on a disk when I 
first buy it and never alter it.) If the disk doesn't have a number the Update 
prodedure is quite a good way to put it on. The disk directory as read will now
be added to the index, replacing any previous entry there was for that disk. 
The other entries will be shuffled up or down to allow for any difference in 
length. You will next be asked if you want to index another disk. If you reply 
Y, the procedure will be repeated. If you reply N, the index as updated will be
written back to the file on drive 0.

    E    will erase the entry for a particular disk altogether. This is not 
normally necessary unless you lose, give away, or destroy a disk, or re-format 
it for a different operating system without changing its number. MINDEX works 
with either TRSDOS 6.x or DOSPLUS without change. It will read the directories 
for any disk formatted with those DOSes (given compatible drives!), or disks 
formatted by TRSDOS 2.3 (Model I) or LDOS or DOSPLUS 3.4 and 3.5, also NEWDOS80
disks formatted in SINGLE DENSITY/SINGLE SIDE (NEWDOS formats double 
density and double sided disks differently and this version of MINDEX won't 
read them. Obviously, it will not read CPM disks either!)

    M    simply runs the MENU program.

    Q    returns you to DOS.

Installation.
------------

To instal your own index instead of the demo supplied, KILL (or REMOVE) 
INDEX20/DAT before running MINDEX . When it finds no index file on the disk, it
will create a new, empty file to receive your files using the <U>pdate option. 
Don't forget to index the system disk in drive 0; you do this by pressing 0 
instead of ENTER after entering the Update routine.

Personally, I like to keep drive 0 write protected at all times, and I do this 
with a software write-protect rather than a stick-on tab. I then define
drive :2  as drive 0 without the write protect. This means new files will 
always be written to drive :1 unless I specify drive :2. If you want to do this
it is necessary to amend MINDEX to look for INDEX20/DAT:2 instead of 
INDEX20/DAT:0. This is best done with a disk zapping program (or debug if you 
don't have one). In MINDEX/CMD alter byte 8D in Sector 0 from 30 to 32. 

Finally, there may be times when having read a disk using <U>pdate, you don't 
want to write the amended index to disk. To do this, when asked if you want to 
read another disk, reply Yes instead of No; when prompted for the disk number, 
press <F1> and you will leave the update mode without writing to the disk. The 
index in memory has still been amended, though, so you must remember not to 
update and save any other disks after doing this.

I don't think there are any bugs left in this, but if you find any or have 
difficulties let me know.


Henry Shepherd,
3,White House Close,
Shippon,
Abingdon,
OXON OX13 6LP
(Tel 0235-21921)
 