Ronald & Lynn Marcuse DISKETTE LIBRARIAN APX-20056 CONTENTS INTRODUCTION.................................................. 1 Overview................................................ 1 Required accessories.................................... 1 Optional accessories.................................... 1 Terms used in this manual............................... 2 GETTING STARTED............................................... 3 Setting up.............................................. 3 Sample session.......................................... 4 Preliminary work........................................ 5 Volume number....................................... 5 Maximum lengths for other fields.................... 5 USING THE DISKETTE LIBRARIAN.................................. 7 Introduction............................................ 7 Entering data, selecting options, and answering prompts. 7 Diskette write protect feature.......................... 7 Option 1--AUTO-CATALOG.................................. 8 Option 2--LIST DIRECTORY................................ 9 Option 3--ADD DISK-NON DOS.............................. 9 Option 4--INQUIRY/LIST.................................. 10 Option 5--UPDATE RECORD................................. 11 Option 6--SORT LIBRARY.................................. 12 Option 7--RUN PROGRAM................................... 12 Option 8--END SESSION................................... 12 ADVANCED TECHNICAL INFORMATION................................ 13 System elements and design.............................. 13 Increasing file storage or volume of data............... 13 Creating additional DISKETTE LIBRARIAN diskettes........ 13 Modifying the display screen margins.................... 14 LIST OF FIGURES Figure 1 CATALOG OPTIONS Menu....................................... 3 2 INQY/LIST Search Key Submenu............................... 4 3 INQY/LIST LIST Output Submenu.............................. 4 4 INQY/LIST LIST Display Screen.............................. 5 5 Insert Disk Prompt......................................... 8 6 Insert DISKETTE LIBRARIAN Diskette Prompt.................. 8 7 Option 1 (ADD) Data Entry Format........................... 8 8 UPDATE Search Key Prompt................................... 1l 9 UPDATE Display Screen...................................... 11 INTRODUCTION OVERVIEW With the DISKETTE LIBRARIAN you can generate a detailed program library catalog You don't need programming experience to use this system. You use the catalog through a series of menu selections and prompts for information. Several key functions are automatic in that you need only insert a disk to perform the function. These functions include posting additions or updates to the catalog for new or existing diskettes, creating a "label" to identify a diskette to the system and automatically running most of your cataloged programs from the library. Besides the standard data system functions of searching, adding, updating, and deleting information and records, other functions you can perform include sorting the library on any key, printing a program catalog, and browsing through the catalog. DISKETTE LIBRARIAN keeps track of the following data! 1. Volume number of disk (or tape) 2. Program or file name 3. Description of program or file 4. Type of program or file 5. Source 6. Date 7. Number of disk sectors (or tape counter) REQUIRED ACCESSORIES 24K RAM ATARI 810 Disk Drive ATARI BASIC Language Cartridge OPTIONAL ACCESSORIES ATARI 825 8O-Column Printer or Epson MX-80 Printer -1- TERMS USED IN THIS MANUAL Before discussing in detail how to use the DISKETTE LIBRARIAN, let's go over several terms used in this manual. The program library (or catalog) is a file composed of records. Each record is made up of a set of data fields. Each field can also be a search key, which you can use as part of a search statement to locate records. You may search with a complete or a partial key (field) value. Your fields also have labels preceding field values in the displayed or printed records. In addition, the system assigns every field a number. To illustrate each term, we'll use the sample program catalog already on your diskette. This file has seven fields (1) volume number, (Z) file name, (3) description, (4) type, (5) source of program, (6) date, and (7) number of sectors. One record holds the following information: (1) D000 (2) PROGLIB.DB (3) PROG LIBRARY FILE (4) DATA (5) PROGLIB (6) 050181 (7) 003. Working definitions of the underlined terms are as follows: FILE--a set of records having the same attributes. In our example, the file is the program catalog itself. RECORD--one set of fields containing all the information about one entity. In the library file, one record contains the information about the entry for the file names PROGLIB.DB on volume number D000. FIELD--one kind of information within a record. In the library file, volume number is one field, file name is another field, and so on. FIELD NUMBER--the order of a field within the set of fields comprising a record. In the library file, volume number is field 1. SEARCH KEY--a field by which the system locates records in response to a search statement. In the library file, we can search on any of the seven fields--volume number, file name, description, and so on. -2- GETTING STARTED SETTING UP 1. Insert the ATARI BASIC Language Cartridge in the (Left Cartridge) slot of your computer. 2. Turn on your disk drive. 3. When the BUSY light goes out, open the disk drive door and insert the DISKETTE LIBRARIAN diskette with the label in the lower right-hand corner nearest to you. (Insert it in disk drive one if you have more than one drive.) 4. Turn on your computer and your TV set. 5. If you're planning to use your printer, turn it and the ATARI 850 Interface Module on. 6. At the READY prompt, type RUN "D:PROGLIB" and press the RETURN key. The system loads in 10 to 12 seconds and the CATALOG OPTIONS menu then displays: ATARI PROGRAM LIBRARY CATALOG OPTIONS 1 AUTO-CATALOG 5 UPDATE RECORD 2 LIST DIRECTORY 6 SORT LIBRARY 3 ADD (NON DOS) 7 RUN PROGRAM 4 INQUIRY/LIST 8 END SESSION SELECT OPTION ==>__ Figure 1 Catalog Options You're now in the DISKETTE LIBRARIAN and ready to work. -3- SAMPLE SESSION Let's go through a simple session of the DISKETTE LIBRARIAN to give you an idea of how easy it is to use. We'll use the catalog file already on this diskette to inquire into the catalog file and list all records located on volume number D000. First, we select option 4,INQUIRY/LIST, of the CATALOG OPTIONS menu by pressing the numeric 2 key. The system displays the INQY/LIST submenu: ATARI PROGRAM LIBRARY - INQY/LIST KEY: 1 VOL # 2 FILE ID 3 DESCRIP 4 TYPE 5 SOURCE 6 DATE 7 SECTORS 8 ALL RECORDS E END SELECT OPTION ==>__ Figure 2 INQY/LIST Submenu (Note. In this and other menus, the END option returns you to the next higher level of activity. In this case, if we select option E, we return to the CATALOG OPTIONS menu.) We want to search the catalog to find all the programs on diskette number D000 (the recommended volume number structure is explained in the section titled "Preliminary Work"). Therefore, our search key is 1, VOL #, and we press key number 1 to specify this key for searching the file. The system then displays the following prompt: ENTER VALUE? We enter the volume number (D000 in this case) and press the RETURN key. The system then displays the following submenu for us to select our preferred output mode: OUTPUT: 1. INQUIRY 2. BROWSE 3. LISTING SELECT OPTION ==>__ Figure 3 INQY/LIST Output Submenu For the sample session, we'll select option 1, INQUIRY, by pressing the 1 key. The system then searches through the library file and displays the first record satisfying our search criterion 0000 in this case). The display looks as follows: -4- 1 VOL D000 2 FILE ID AUTORUN.SYS 3 DESCRIP PROGLIB MACHINE SORT 4 TYPE PROCESS 5 SOURCE APX 6 DATE 080181 7 SECTORS 001 (E=END) OR PRESS ANY KEY TO CONTINUE Figure 4 INQY/LIST Display Screen We can continue the search based on volume number D000 by pressing any key other than E, or we can end our search by typing E. This completes the sample session. After a brief discussion of some preliminary decisions you need to make before setting up your own catalog, we'll turn to examining the various activities possible in the DISKETTE LIBRARIAN. PRELIMINARY WORK The DISKETTE LIBRARIAN is very easy to use and the computer will do many things for you. But you do need to make a few decisions before setting up your library. Volume number The volume number is one of the principal fields in the records. Besides letting you file your diskettes in some logical order, it is also the basis for an internal label the program writes to the diskette. For the latter reason, any diskette you catalog must have a free sector (the label requires only one sector). If you have a diskette with no free sectors, move one of its files to a less crowded diskette. For purposes of cataloging, you must also remove the write protect tape from the notch before inserting the diskette into your disk drive. A second feature of the volume number is that the system assumes different media for different initial letters. Those starting with the character "C" are tape files (i.e., D001 - D009). The system takes this initial letter into account during option 7, RUN PROGRAM. Use the character "D" as the initial volume letter for your diskette-based files (D001 - D999). (Don't use D000, since the DISKETTE LIBRARIAN diskette uses this value.) Use the character "X" as the initial letter for program cartridges you want to catalog. Maximum lengths for other fields The other fields that you directly control--DESCRIPTION, TYPE, SOURCE and DATE--each have maximum lengths. These are: DESCRIPTION - 22 TYPE - 7 SOURCE - 7 DATA - 6 -5- The information you type in when prompted can be no longer than these maximum lengths. For the TYPE and SOURCE fields, analyze your requirements and assign values enabling you to construct an organized catalog. For TYPE, examples would be "GAME" for all of your games, "BATA" for your data files, and so on. For SOURCE you can assign "COMPUTE" for programs typed in from that magazine, "ATARI" for their software, and the program name for data files processed by a particular program (e.g., the Program Library file has for its source "PROGLIB"). -6- USING THE DISKETTE LIBRARIAN INTRODUCTION The CATALOG OPTIONS MENU illustrated in Figure I shows the eight major functions of the system. Option 1 (AUTO-CATALOG) lets you automatically catalog or update catalog entries for a DOS diskette. Option 2 (LIST DIRECTORY) displays the DOS directory of the diskette located in disk drive 1. Option 3 (ADD - NON DOS) lets you manually add any program or file not located on a diskette with a DOS directory, Option 4 (INQY/LIST) lets you search and/or print records from the library file. Option 5 (UPDATE) lets you update the various fields located in a record. Option 6 (SORT) lets you resequence the entire file on any of the seven fields. Option 7 (RUN PROGRAM) lets you execute any program that has been stored in SAVE format. Option 8 (END SESSION) terminates your work in the DISKETTE LIBRARIAN and returns you to BASIC. For system integrity, the BREAK key has been disabled, ****CAUTIONS**** AVOID USING THE SYSTEM RESET KEY. USING IT AT THE WRONG TIME MAY DESTROY YOUR CATALOG FILE. DO NOT USE THE AUTO-CATALOG OPTIONS ON NON-DOS DISKS. ENTERING DATA, SELECTING OPTIONS, AND ANSWERING PROMPTS When you enter letters in response to system prompts, use only uppercase letters. The computer doesn't interpret uppercase and lowercase variations of the same letter identically, When you enter field values for various activities (e.g., to add or update records or to enter a search value), you'll need to press the RETURN key to signal completion of your input. All other input consists of entering numbers or letters in response to prompts, For example, you enter a 1 through 8 to select an option from the CATALOG OPTIONS menu and you enter a Y in response to a prompt asking whether you want a record updated, In these cases, pressing the RETURN key isn't necessary. In some cases, when you answer a prompt by simply pressing the RETURN key without first entering a value, you automatically return to the next higher level of activity. In other cases, the system won't accept your pressing the RETURN key without first entering something else, In these instances, either you'll see an ERROR message in inverse video or the prompt will display again, and the system will patiently wait for you to enter a value. DISKETTE WRITE PROTECT FEATURE Because the DISKETTE LIBRARIAN uses both input and output record processing, you must leave uncovered the hardware write protect notch on the diskette. -7- OPTION 1 -- AUTO-CATALOG Use option 1 to add the file names for a new diskette to the library or to update the entries for a previously cataloged diskette. After you press the 1 key, the system displays the following prompt: INSERT DISK TO BE CATALOGED PRESS ANY KEY TO CONTINUE Figure 5 Insert Disk Prompt Insert the diskette to be cataloged in drive 1 and press any key. If the diskette has not been cataloged before, the system displays this prompt: ENTER DISK # (Dnnn) where "Dnnn" represents a diskette volume number. Type in the volume number of the diskette (see the section "Preliminary Work" far a discussion of volume numbers) and press the RETURN key. If you press RETURN without entering a number, you'll return to the CATALOG OPTIONS menu. Once the program assigns a volume number to the diskette (note that it will be written to the diskette as an internal label) the system displays this prompt: FILES FOUND= nnn, FREESPACE= nnn DISK IS # Dnnn, INSERT D:PROGLIB.DB PRESS ANY KEY TO CONTINUE Figure 6 Insert DISKETTE LIBRARIAN Diskette Prompt where the first "nnn" in line one represent the number of files found, the second "nnn" represents the number of free sectors remaining on the diskette, and "Dnnn" in line two represents a diskette volume number. Insert the DISKETTE LIBRARIAN diskette and press any key. The system then compares the diskette directory to the Program Library file based on the volume number and program (file) name. For new files located on the diskette, the system prompts you for the DESCRIPTION, TYPE, SOURCE and DATE. The format of these displays looks like this (where "Mile name>" is the name you assign this file): TO ADD <file name> ENTER: [ --------------------- ] DESCRIP ? [-------] TYPE ? [-------] SOURCE ? [-------] DATE ? Figure 7 Option 1 (ADD) Data Entry Format For each field, type in the applicable data and press the RETURN key. The length of each -8- field is indicated graphically by the dashed line. After you complete your data entry, the system displays the entire record (see Figure 4) followed by the prompt: TYPE Y IF OK? Press the Y key to add the record to the catalog file, Press any other key to return to the beginning of the data entry prompts for a second try (and to abort the work you did to this point), The system repeats this procedure for each new file or program on the diskette. The system won't add the file names DOS.SYS, DUP.SYS, MEM.SAV and DISK.CAT to the program library file, This function works only for diskettes formatted by DOS I or DOS II, Don't use this option for other diskettes or for cassettes or cartridges (see option 3, ADD - NON DOS, for the proper way to add such files), The system also deletes entries in the program catalog file when the diskette directory no longer contains the file name, The files being deleted will be accompanied by a deletion message appearing on the screen: <file name>, DELETED ON Dnnn where "<filename>" is the name of the removed file and "Dnnn" is the diskette volume number on which it resided. The SECTOR field will be updated on the program library file for all directory entries that have been successfully matched to the file, When the system completes the AUTO-CATALOG procedure, you return automatically to the CATALOG OPTIONS menu, OPTION 2 -- LIST DIRECTORY Use option 2 to query and display the directory for the diskette resident in drive 1. The format of the display is similar to the DOS directory function, but the following information is appended: FILES FOUND= nnn, FREESPACE=nnn PRESS ANY KEY TO CONTINUE where "nnn" represents the number of files cataloged on the diskette and "nnn" represents the number of free sectors on the diskette. By pressing any key, you return to the CATALOG OPTIONS menu (see Figure 1) OPTION 3 -- ADD - NON DOS Use this option to add non-DOS entries to the catalog file. Non-DOS entries can include cassette tapes and program cartridges as well as diskettes formatted with no DOS directory. Because these storage media have no provision for file names, the file name field is for your information only. In addition, the SECTOR field has meaning only for cassette files, where the DISKETTE LIBRARIAN lets you store' the starting position of the tape counter, This field is especially significant for option 7, RUN PROGRAM, Cassette files must have a volume number beginning with the character "C" (C001 - C999). -9- The procedure for adding entries to the file is similar to option 1 above (see Figure 7), but with additional prompts far entering the VOLUME *, PROG/FILE ID and SECTOR fields, When you complete the data entry, you return automatically to the CATALOG OPTIONS MENU. OPTION 4 -- INQUIRY/LIST Use option 4 to locate entries in your program library and to print a library catalog. Pressing the 4 key in response to the CATALOG OPTIONS menu causes the INQY/LIST search key submenu to display (see Figure 2). You can now search the catalog on any key (respond to the submenu items by pressing the appropriate numeric key). Or, you can see the entire file by pressing the 8 key. Typing an E returns you to the CATALOG OPTIONS menu. If you search the file on a key, for example, on TYPE, the system then prompts you to enter the value for your search key: ENTER VALUE? Enter a search value the system can use to locate matching records, To extract all your files of the type "game", for example, you could enter GAME for the search value, Press the RETURN key after entering the value. You can use a truncated search key to locate records fitting a general class, such as D02 to extract all volume numbers between D020 and D029, Next, you select the output format for your records. The system displays the OUTPUT submenu (see Figure 3), In this submenu, INQUIRY displays one complete record at a time on your TV screen, Press any key to page through the records or press E to return to the CATALOG OPTIONS menu. BROWSE displays the volume numbers, program/file names, and descriptions of the first 19 records meeting your search statement. After your TV screen has filled, the system prompts you to press any key to continue the display. LISTING causes the system to print the complete record(s) on your 80-column printer. Make sure your printer is attached to your interface module, the printer and module are turned on, and the printer is in ONLINE mode, If the system can't send output to the printer, it displays a CHECK PRINTER ERROR 138 message, After the system displays all records meeting your search statement, it returns you to the CATALOG OPTIONS menu. -10- OPTION 5 -- UPDATE Use option 5 to modify fields in a catalog record or to delete whole records (Note. Option 1, AUTO-CATALOG, does these functions automatically if your added or-deleted files are on a diskette). When you press the 5 key, the RECORD UPDATE prompt displays to formulate your search key requirement: ATARI PROGRAM LIBRARY - RECORD UPDATE KEY: 1 VOL # 2 FILE ID 3 DESCRIP 4 TYPE 5 SOURCE 6 DATE 7 SECTORS 8 ALL RECORDS E END SELECT OPTION ==> Figure 8 UPDATE SEARCH KEY Prompt Create your search statement by working through the same prompts as in option 4. The system then displays a record meeting your search criteria and prompts you for updating/deleting: 1 VOL D000 2 FILE ID PROGLIB 3 DESCRIP ATARI PROGRAM LIBRARY 4 TYPE PROCESS 5 SOURCE APX 6 DATE 080181 7 SECTORS 062 TYPE FIELD # TO UPDATE, D TO DELETE PRESS ANY KEY TO CONTINUE Figure 9 UPDATE Display Screen Enter the number of the field for which you want to change the value. For example, to change TYPE from PROCESS to DATA, press the 4 key. The system displays the field name and maximum length reminder, You then enter the revised value and press the RETURN key. The system redisplays the record with the same prompt, allowing you to make further revisions. When you're satisfied with the updated record, press any key but D or a field number. The system then displays the next record meeting your search statement, if any. Otherwise, it displays the number of records it located that met your search statement and returns you to the CATALOG OPTIONS menu. To remove a record from the program library, type D when the record is displayed. -11- OPTION 6 -- SORT Use option 6 to reorder the records in your catalog before searching and displaying--that is, if you prefer an order different from the records' current one. (Note, If you didn't turn on your disk drive and the computer with the DISKETTE LIBRARIAN diskette inserted in drive one, the computer will lock during this operation. At this point, you'll need to turn the computer off and then on again to proceed. Records added before executing the sort option will already be saved on the diskette.) When you press the 6 key, the system prompts you for the sort key (i.e., the field) in the same way it prompts for a search key in options 4 and 3. You then type a Y in response to the system prompt: TYPE Y TO SORT ON FIELD #n where "n" is the field number you typed in. Several messages display as the system loads the sort program, compresses, sorts and saves your library on the diskette. The system automatically reloads the main DISKETTE LIBRARIAN program. (Technical note. The sort program deletes records that the system flagged for deletion in the record delimiter byte.) If you press any other key in response to the prompt, you'll abort the sort and return to the CATALOG OPTIONS menu. OPTION 7 -- RUN PROGRAM Use the RUN PROGRAM option to RUN any program that you have stored in SAVE format (rather than in LIST format). The system prompts you for the file name: ENTER PROG/FILE ID ==> ? Type in your file ID and press the RETURN key. The system will locate the program in the catalog and prompt you to insert a particular diskette into drive one or insert a cassette tape into the program recorder. Press ADVANCE on the tape recorder to position the tape at the counter number the system requests. Then type Y in response to the prompt displayed on your TV screen to RUN this program, If you don't type a Y or if you didn't enter a program ID in response to the first prompt, you return to the CATALOG OPTIONS menu. If the program isn't on the disk you insert or if an error occurs on the recorder, an appropriate error message displays. For recorder errors, the DISKETTE LIBRARIAN attempts to reload itself from drive one. OPTION 8 -- END SESSION Use this option to terminate your session in the DISKETTE LIBRARIAN and return to BASIC. -12- ADVANCED TECHNICAL INFORMATION SYSTEM ELEMENTS AND DESIGN The DISKETTE LIBRARIAN comprises three programs'# PROGLIB, PROGSORT and AUTORUN.SYS. PROGLIB is the main library program. PROGSORT is a short BASIC program used to read the entire file into RAM. Control then passes to AUTORUN.SYS, a high-speed machine language "bubble sort". The program library or catalog file consists of 62-byte records (the 62nd character is a "delimiter" or "delete" byte) and is named PROGLIB.DB. Two key concepts drive the system. The first involves the DOS directory and its treatment as a file to be matched to the program library file. Additions and deletions to the catalog are noted during the process. The second involves the assignment of a volume number to each diskette cataloged by the system. The volume number is written to the diskette for future use as an "internal label". When a cataloged diskette is reintroduced, the system locates this volume number and proceeds from there. The sort program, called by the main program, is not normally resident in RAM. This technique allows the dimensioning of the large string necessary to sort the file. The variables controlling the sort program are poked into safe locations while still under control of the main program. INCREASING FILE STORAGE OR VOLUME OF DATA The number of records and/or the volume of data you can store on one diskette depends on several factors. After subtracting the space used by the Disk Operating System (DOS) and the DISKETTE LIBRARIAN, more than 550 unused sectors remain for the DISKETTE LIBRARIAN file. This amount of space can a accommodate more than 1100 catalog records. You can also delete the DUP.SYS filespec from this diskette, effectively increasing the number of sectors available to 590. But remember that you won't be able load the full version of DOS with these diskettes. CREATING ADDITIONAL DISKETTE LIBRARIAN DISKETTES You can create other DISKETTE LIBRARIAN diskettes by following this procedure: 1. Load the DISKETTE LIBRARIAN diskette into RAM as described in the GETTING STARTED section under the subsection "Setting Up". 2. When the READY prompt displays, type DOS and press the RETURN key. This version of ATARI'S DOS (DOS II) loads in about 20 seconds. 3. When the DOS menu displays, insert the new diskette and type I for option I (FORMAT DISKETTE) to erase any previous data on the diskette and format it. 4. When the DOS menu redisplays, type H for option H (WRITE DOS FILE) to write the DOS files to this blank, formatted diskette. -13- Because DOS I (9/24/79) and DOS II are not compatible, you must follow this procedure with DOS II loaded in your computer, not DOS I. In addition, make sure you don't format the DISKETTE LIBRARIAN diskette (if you do, DOS will erase all of the DISKETTE LIBRARIAN files). 5. Finally, use option 0 (DUPLICATE FILE) to copy the files needed to run DISKETTE LIBRARIAN. The files are: AUTORUN.SYS, PROGSORT, and PROGLIB. You can also follow these steps to create backup copies of your library file. Just substitute the file name PROGLIB.DB during the copy process. Because no computer or storage mechanism is foolproof, backing up your files is strongly recommended. MODIFYING THE DISPLAY SCREEN MARGINS The DISKETTE LIBRARIAN uses a full 40-column line on your TV screen. This length presents no problem if your screen is correctly balanced. If it isn't, however, the system will use a standard 38-column line if you delete the first line of the program code, which contains a POKE statement adjusting the margins to 40 columns. You need do this once and the program will thereafter use a 38-column display line (the extra two character maximum lines will "wrap" to the next line). To make this modification, load the program into computer memory (RAM) as follows. First, clear out RAM by typing the direct mode NEW command. Then, type the command: LOAD "D:PROGLIB" and press the RETURN key. When the program has loaded and the READY prompt displays, type a 1 and press the RETURN key. This erases line one from the program code. You'll then want to store this revised version back on diskette by typing the command' SAVE "D:PROGLIB" -14-