+-+-+-¢ THE DISK DIRECTORY HEADER Version II¢ =====================================¢ By John Foskett September 1993¢ Brought to you by OL' HACKERS AUG, NY¢¢ ('DIRHEAD2.BAS' will be found on this¢ side of the disk!)¢¢ WHAT IS IT?¢ By reading the directory of¢ commercial disks it can be seen that¢ in many cases the directory contains a¢ header of some form giving some¢ details like a title, version, date,¢ etc. Such a header could be written to¢ a newly formatted disk by using a disk¢ sector editor but this can be¢ confusing and time consuming, since it¢ must always be remembered how a disk¢ stores its data.¢¢ BIRTH OF A SOLUTION!¢ In order to overcome these¢ problems in a user friendly way, "The¢ Disk Directory Header" was born.¢¢ WHAT CAN IT DO?¢ The Disk Directory Header can¢ create a header consisting of upto¢ eight lines, completely filling the¢ first directory sector if required¢ where each line can consist of upto¢ eleven characters, the normal file¢ name length.¢¢ NINE EXTRA HEADERS.¢ The Disk Directory Header¢ provides nine standard headers which¢ can be selected from the main menu as¢ well as a way of creating a custom¢ designed header.¢¢ THE SCREEN:¢ The top section of the screen¢ comprises of the title. The central¢ and the lower sections comprise the¢ main working part of the screen.¢¢ USING THE DISK DIRECTORY HEADER:¢ When The Disk Directory Header is¢ first run, the centre section contains¢ a menu and a prompt. To select one of¢ the nine standard headers, press the¢ appropriate number key, the menu will¢ be erased and the chosen header¢ printed in its place on the left side¢ of the screen. If the chosen header¢ requires a date then this will be¢ requested before prompting for the¢ formatting details.¢¢ CHANGES ANYONE?¢ As a part of the main menu, the¢ bottom line of the screen contains a¢ small two option menu, as a reminder,¢ that at any time START can be used to¢ cycle through the background colours¢ whilst SELECT is used to reset the¢ colour back to blue.¢¢ CUSTOM DESIGNED HEADERS?¢ If a custom designed header is¢ selected from the menu, the menu is¢ again erased and the necessary details¢ printed to enable its construction. As¢ each line is entered, it is printed to¢ the screen and a menu is displayed on¢ the bottom line. Select "N" to¢ continue and enter the next line, "P"¢ to exit early and to prepare the disk¢ or ESCAPE to exit back to the menu. If¢ and when an eighth line is entered,¢ the 'N/P/ESCAPE' menu is bypassed and¢ control is passed directly to the¢ 'Prepare disk' section.¢¢ PREPARE A DISK!!¢ This section is entered after a¢ header is completed and RETURN¢ pressed, ESCAPE will exit back to the¢ menu. 'Prepare disk' allows a disk to¢ be first formatted in either single or¢ enhanced density, ESCAPE again is used¢ to exit. "S" is pressed to select¢ single density or "E" is pressed for¢ enhanced density. After selecting,¢ 'CAUTION' is displayed on screen¢ requiring "Y" to be pressed to¢ continue. Any other key will return¢ back to the previous stage to select¢ the format density.¢ Upon pressing "Y", the disk which¢ is currently in drive #1 is formatted¢ and the header written into the¢ directory. After this, the disks¢ directory is read and printed to the¢ right hand side of the screen to¢ confirm its presence.¢¢ TO FINISH!¢ Once the header has been written¢ and the directory displayed, the¢ option to write the DOS.SYS file is¢ given. Upon pressing "Y", the¢ directory display on screen is erased¢ and the DOS.SYS file written to the¢ disk and locked. The disks directory¢ is then once again read and¢ displayed.¢¢ ANOTHER DISK HEADER?¢ Regardless whether or not the¢ DOS.SYS file has been written to the¢ disk, the option to prepare another¢ disk with the same header is¢ presented. Pressing "Y" will allow the¢ format density for this disk to be¢ selected. Any other key will exit back¢ to the menu.¢¢ MODIFYING THE STANDARD HEADERS.¢ Naturally the standard built-in¢ headers will need to be amended to¢ incorporate the users name rather than¢ my own name. The standard headers are¢ stored at the end of the listing in¢ the form of basic DATA. When modifying¢ the headers, the single line format¢ must be maintained due to the way that¢ the program selects the various¢ headers. Each set of header DATA¢ terminates with the '@' character¢ which is most probably the least¢ likely character required for a¢ header. It can be used within a line¢ of characters but must not be used¢ alone. The limitation of a maximum of¢ eight lines where each line comprises¢ of a maximum of eleven characters must¢ also be maintained. The main menu¢ should also be modified to reflect the¢ changes made.¢¢ DATE NEEDED?¢ If a modified header needs a¢ date, then its position must be¢ considered so that the details can be¢ printed within the header on screen¢ and for inclusion into the string for¢ writing into the first directory¢ sector of the disk. For this reason it¢ may prove more convenient to leave the¢ date position where it is and to¢ simply modify the header around it.¢¢ TECHNICAL DETAILS:¢ A VBI routine is used to control¢ the background colour cycling, to¢ disable the attract mode and to¢ disable the CONTROL-1 stop-start¢ toggle. It also provides an optional¢ keyboard lock to ensure that only the¢ normal uppercase character set ascii¢ codes can be used when selecting from¢ the menus. This part of the VBI¢ cancels any accidental operation of¢ the respective two keys. The keyboard¢ lock is disabled when the custom¢ designed header is selected to enable¢ the use of all characters.¢ All text erasing is achieved by¢ using a machine code routine which¢ defaults to erasing the lower section¢ of the screen only, unless otherwise¢ set up.¢ The cursor used within the data¢ entry section is 'player zero', its¢ colour is also controlled by the VBI¢ according to the background colour. A¢ small machine code routine is used to¢ ensure that the player zero stripe is¢ clear before the cursor is defined.¢¢ MACHINE CODING!¢ A small machine code routine is¢ used to access the internal routines¢ enabling data to be written to the¢ disk. A custom display list enables¢ the use of a mixed mode text screen.¢ The above stated machine code¢ routines are stored in the form of¢ relocatable machine code strings. The¢ display list is also stored as a¢ relocatable string. The strings being¢ directly defined to eliminate¢ initialising time caused by the¢ loading of data.¢ =-=-=¢