MDIR - Memory resident DIRectory MDIR is a small (assembly language based) memory resident routine that will display directory entries. MDIR gives both an "automatic" mode, where the current directory is shown sorted alphabetically, and a "command line" mode, where MDIR will "screen" files (like the DOS DIR command does), and display the file list with your choice of sort mechanism (by date/time, name, extension, unsorted). This routine takes about 14k of memory when installed, and can make use of a second screen (if you have both monochrome and color/graphics installed). This routine will put the directory on the "alternate" screen if two monitors are available. Usage: MDIR MDIR 2 causes MDIR to install itself in memory. The 2 indicates that both a color and a monochrome monitor are available on the system. (MDIR does NOT check to see if the second monitor is actually installed.) If you tell the routine that both monitors are available, the directory will be printed to the monitor that is NOT currently being used. If only ONE monitor is installed, or if MDIR is executed without the '2' on the command line, then the directory will be shown on the monitor that is currently being used. If this is the case, MDIR will "save" the screen currently being used, and restore it when done. To use MDIR once it has been installed, it is activated by pressing either the <8> or the <9> key combinations together (where the number keys are those above the alpha keys on the keyboard, NOT the ones from the numeric keypad). If you press the <8> keys, the directory will be displayed in alphabetical order. If you press <9>, MDIR will prompt you for a "command line" to be used. The command line can duplicate a command given to the DOS DIR command. For example: [assume the <9> keys have been pressed together] MDIR prompt your response results ΙΝΝΝΝΝΝΝΝΝΝΝΝΟΝΝΝΝΝΝΝΝΝΝΝΝΝ» ΙΝΝΝΝΝΝΝΝΝΟΝΝΝΝΝΝΝΝΝΝ» ΙΝΝΝΝΝΝΝΝΝΟΝΝΝΝΝΝΝΝΝΝ» command line (/H for help): *.* all files in the current directory \masm\files all files in the sub- directory named \masm\files *.pas any file in the current directory with the extension .PAS \masm\files\*.arc any file in the sub- directory named \masm\files with the extension .ARC b:*.* all files in the current directory on drive B: In addition, there are several options, detailed below, that are triggered by the / switch. /H given at the command line will list the options. [options] * /A - List hidden files. * /W - wait when screen full. * /R - Include directory entries. * /M - Display Modified entries only. /X - Sort by extension. /S - Sort by size. /D - Sort by date/time. /N - Do not sort, original order. /H - Help - only display options. Default = *.* sorted by name.ext with screen erase. * - Option may be combined with other options. CAVEATS: 1. Because MDIR reads information from the disk, avoid "triggering" this utility when an operating program is working with the disks -- results can be unpredictable (and fatal). 2. The code is set up to prevent MDIR from being triggered twice in a row -- a key other than the "trigger" keys must be pressed between uses. 3. MDIR currently saves space for 256 directory entries. If you need more space, please adjust the source code. 4. MDIR does its best to trap floppy disk errors -- such as an open door on a floppy disk drive. MDIR does NOT check to see if a hard drive is ready. 5. Some software saves information in the alternate pages of the video memory IF you are using a color/graphics adaptor (PC-Write, for example, stores its help screens in the memory of the other c/g pages). MDIR only saves the current video page, so you can scramble help screens when MDIR switches monitors. 6. MDIR doesn't check if a drive has been ASSIGNed. If you request a directory for drive B:, MDIR will look for physical drive B:. I've used this routine with a variety of software, including: Lotus' 123 PC-Write PC-TALK TURBO Pascal Source code (with its origins mentioned) is included in this archive. Please do with it what you will to tweek it to your system/preferences. Please let me know about any bugs/comments that you have via Gene Plantz' IBBS, 312-882-4227. Mike Pechnyo ID1206