DiskDISK - Simulate a disk with a file The DiskDISK utility package allows the user to simulate a logical floppy disk drive by means of a disk file on a physical drive. This is useful for creating mirror image backups from a drive with larger storage capacity to a drive with lesser storage. It is also useful for partitioning a large disk volume (i.e. hard disk) into smaller regions. This effectively overcomes the limitation of 256 directory entries per "disk". DiskDISK consists of two separate modules DDFORM/CMD - a formatter program which initially creates a DiskDISK, and... DD/CMD - a program with either sets up an existing DiskDISK file as a drive, or disables an active DiskDISK. ================================================================================= | | | DDFORM filespec (parm, parm, ... ) | | | | filespec This is the name of the DiskDISK file to be created. | | Standard operating system rules regarding file names apply. | | | | TYPE=t t is one of 1, 2, 5, or 8. This indicates the type of | | DiskDISK to be created. The default is 5. | | | | SIDES=s s is either 1 or 2, indicating the number of | | "logical" sides to assign to the DiskDISK file. The | | default is 1. | | | | DENSITY=d where d is either "D" for double density or "S" for | | single. This is the "logical density. The default | | is "D". | | | | CYLINDERS=c where c is a value between 3 and 96. This indicates | | the number of "logical" cylinders to allocate within | | the DiskDISK file. The defaults are 40 for type 5, | | and 77 for type 8. | | | | SIDES and DENSITY have no meaning in regard to types 1 and 2. | | CYLINDERS must be specified for types 1 and 2. | | | | | | DD :drivespec filespec (DISABLE) | | | | drivespec is the logical drive slot in which to install the | | DiskDISK file. The colon is optional. | | | | filespec is the filespec of the DiskDISK file to be installed. | | | | DISABLE Disables an existing DiskDISK file. | | | | All Parameters may be abbreviated to their first character | | | ================================================================================= LDOS DiskDISK Utility - for LDOS 5.1 and TRSDOS/LDOS 6.x Copyright (C) 1983 by Logical Systems, Incorporated All Right Reserved LDOS is a trademark of Logical SYSTEMS, Incorporated TRSDOS is a trademark of Tandy Corporation LSI DiskDISK Utility - Page 1 /page CREATING a DiskDISK The DDFORM utility creates a DiskDISK file based on information given my the user. One can create a DiskDISK file from the O/S, or from inside BASIC or from withing an applications program (in most cases). The syntax to create a DiskDISK file is: DDFORM filespec (parameters) filespec is the destinations filespec of the DiskDISK file. If filespec is not specified, a prompt will appear asking for it. If sufficient disk space is not available, no DiskDISK file will be created, and the DiskDISK utility will abort, displaying the error message "DISK SPACE FULL". If a file already exists by that name, the utility will abort, displaying the error message "File Already Exists". There are four optional parameters that can be used in creating a DiskDISK: TYPE=t, where t is either 1, 2, 5 or 8 (the default is 5), indicating the type of DiskDISK. A type 1 DiskDISK uses an optimized storage technique, allocating file in the smallest blocks possible (1 sector/granule, 8 granules/cylinder). Using type 1, a file will only use the minimum disk space possible under the O/S. However, it is not possible to use a type 1 DiskDISK as a system disk. The maximum size of a type 1 DiskDISK is 192k. A type 2 DiskDISK uses larger blocks, but can also be twice as large as type 1 (2 sectors/granule, 8 granules/cylinder). Types 5 and 8 refer to the type of floppy drive to simulate as a DiskDISK (5" or 8"). SIDES=s, where s is a value of 1 or 2 (the default is 1), indicating the number of logical sides (1 or 2) to allocate in a DiskDISK file. DENSITY=d, where d is "D" for double density, or "S" for single density. This refers to the "logical" density within the DiskDISK file. The Default is double density. CYLINDERS=c, where c is a value between 3 and 96 indicating the number of "logical" cylinder to allocate within the DiskDISK file. The default value for c is 40 for 5" drive types or 77 for 8" drive types. SIDES and DENSITY may not be used with types 1 and 2. CYLINDERS must be specified if type is 1 or 2. All parameter names may be abbreviated to their first initial. If no parameters are entered when creating a DiskDISK, then prompts will be displayed requesting the parameter values. Pressing in response to a prompt will indicate using the default value for that parameter. Invalid responses will cause reprompting until valid values are entered. If one or more of the parameters are entered on the command line, no prompts will appear, and the default values for parameters not entered will be used. Pressing to any prompt will cause the create utility to abort. SETTING UP AN EXISTING DiskDISK FILE The DiskDISK setup utility installs a driver program into high memory (or low memory in LDOS 6.x, if available) which interfaces the DiskDISK file with the system. In addition to the driver, one linkage program is installed for every DiskDISK drive used. A DiskDISK may be re-installed using the same logical drive number as often as desired. No additional memory will be used on subsequent installations. Therefore, it is possible to set-up a DiskDISK, BACKUP files to it, set-up another, BACKUP files to it, etc. It is also possible to SYSGEN with an active DiskDISK, but the DiskDISK file must be present on the same drive it was SYSGENed on, and in EXACTLY the same physical position, or disastrous results will occur. DD :drivespec filespec drivespec is the logical drive number 1-7 to use as the DiskDISK. The colon is optional. If the drivespec is not specified, or is invalid, a prompt will appear asking for it. LSI DiskDISK Utility - Page 2 /page filespec is the filespec of the DiskDISK file. The default extension for DiskDISK files is "/DSK". If filespec is not specified, a prompt will appear asking for the filespec. Obviously, filespec cannot be on the same drive number as drivespec. If this should happen accidentally, the message "DiskDISK drivespec identical to FILE drivespec" will be displayed, and the assignment will be aborted. Most commands available from the O/S can be used on the DiskDISK drive. Do not use any form of REMOVE, PURGE or KILL commands on a file that is serving as an active DiskDISK drive. Disable the DiskDISK drive prior to removing the file. Also, do not attempt to COPY filespec1 to filespec2, where filespec2 is an active DiskDISK file. This is not the proper method of swapping active DiskDISKs. LDOS 6.x keeps active DiskDISK files open, so the error "File Already Open" my be displayed on certain functions attempting to access the file. Generally speaking, don't do anything which will modify an active DiskDISK file, or a logical drive slot (DCT) that is currently assigned to a DiskDISK. DiskDISKs can be used as system disks within certain limits: 1) The DiskDISK file to be used as a system disk cannot be a type 1 DiskDISK. Only type 2, 5, or 8 can be used as system disks. Type 2 will provide for the most efficient storage of the operating system. 2) The DiskDISK to be used as a system disk cannot be located on the physical drive or DiskDISK that is currently serving as drive 0 (the system drive). Also, no currently active (installed) DiskDISKs may be located on the current drive 0 or on the destination disk or DiskDISK when executing ANY form of the SYSTEM (SYSTEM=d) command. DISABLING A DiskDISK The syntax to DISABLE a DiskDISK is: DD :drivespec (DISABLE) D may also be used as an abbreviation for DISABLE. If drivespec is omitted, a prompt will appear asking for it. Disabling a DiskDISK drive does not affect the contents of a DiskDISK file. The main purpose of disabling the DiskDISK is to reclaim memory used by the drive/linkage, and close the DiskDISK file. If it is not desired to reclaim the memory used by the linkage, simply use the DOS command "SYSTEM (DRIVE=d,DISABLE)". Sometimes it is not possible to reclaim the memory used by the driver. This may be the case if some module was installed after the DiskDISK, or additional DiskDISKs are operational. DiskDISK EXAMPLES To create a DiskDISK file DRIVE/DSK:3, with 30 cylinders and optimized allocation (Type 1): DDFORM DRIVE5:3 (C=30,T=1) Note that the default extension of /DSK will be added to the filespec given unless the filespec contains an extension, or the filespec contains a null extension. To install the DiskDISK as logical drive 5: DD 5 DRIVE5:3 Again, note that the default extension is /DSK. LSI DiskDISK Utility - Page 3 /page The syntax for creating a 5" double-sided, double density DiskDISK file named DDFILE is: DDFORM DDFILE/ (S=2) To Install it as logical drive 7, type: DD :7 DDFILE/ Note that in both cases, a "/" with nothing after it was used to force a filename with no extension. To create a mirror-image of a floppy disk on a drive of larger capacity, simply create a DiskDISK that exactly matches the desired diskette in cylinders, density and number of sides. Next, install the DiskDISK with DD. Now simply perform a mirror-image backup from the floppy disk to the DiskDISK. This DiskDISK can now be used to make floppy disk copies (though mirror-image backup, or another suitable utility), or for almost any other purpose. For example, let's say that a 5", single density, 35 cylinder diskette is to be placed on a Hard Disk system, which is set up on drive 5. Drive slot 7 is available. First, DDFORM DISKDISK:5 (C=35,D="S") Note that the defaults of 5" and 1 side will be used, and the extension of /DSK will be assigned. Second, DD :7 DiskDISK This will install the file in logical drive slot 7. Now, assuming that drive 3 is a floppy disk, BACKUP :3 :7 would make a mirror-image copy of the floppy disk in drive 3. Note also that if DDFORM is entered without giving any parameters, all necessary information will be prompted for, as shown in the following examples: DDFORM - DiskDISK Creation Utility Copyright (C) 1983 by Logical Systems Inc. Version x.x.xx Enter Filespec : diskdisk:7 Enter Disk Type {1, 2, 5, or 8 - default = 5} : 1 Enter Cylinders {Note : 1 Cyl = 2.00K} : 50 DiskDISK File Created or Enter Filespec : diskdis2:7 Enter Disk Type {1, 2, 5, or 8 - default = 5} : 5 Enter Sides {Default = 1 side} : 2 Enter Density {Default = double} : Enter Cylinders {Note 1 Cyl = 9.00K} : 12 DiskDISK File Created If only the key is pressed in response to a prompt, the default value for that parameter will be assumed. If there is no default value, the prompt will re-appear. LSI DiskDISK Utility - Page 4 /page DiskDISK - FILE STRUCTURE The DiskDISK file contains BOOT/SYS and DIR/SYS, just as any floppy does. It also contains an additional sector not accessible on a logical drive basis. Relative record X'0000' of the DiskDISK file contains an ID field to distinguish it from a non-DiskDISK file. It also contains DCT slot information which will be used to reinstall this DiskDISK next time. DiskDISK - DRIVER and LINKAGE The DD installation utility will attempt to install a driver program ($DD), and a linkage module ($DL), in high memory (or low memory driver zone for LDOS 6.x, if room is available). The $DD driver will use the DCT for all cylinder/sector calculation. Therefore, it will only be installed once - even if there are multiple DiskDISKs. However one $DL module will be installed for every DiskDISK used. The driver removal program will reclaim memory IF POSSIBLE. This is a BIG if! If there is ONLY one DiskDISK active, and nothing was installed underneath it (if installed in high memory), or above it (if installed in the driver area on LDOS 6.x), then the memory will be reclaimed. If there is more than one DiskDISK active, the driver WILL NOT be disabled, because it is necessary to service the other DiskDISKs. NOTICE OF WARRANTY This product is sold on an "as-is" basis. Logical Systems, Incorporated makes no expressed or implied warranty of any kind with regard to the software or documentation. All products sold and manufactured by Logical Systems, Incorporated, hereinafter referred to as LSI, grant the purchaser certain customer support privileges. This support shall be limited to the privilege of having the Master diskette updated as often as desired for the current update fee. This is limited to updates within the current Series of the program. LSI will also provide a lifetime warranty on the physical diskette media of the original program, replacement media will be provided at no charge. This does not include the media that has been damaged in shipment from user to LSI, or media that has been damaged by the user or their equipment. To receive this support, the user MUST fill out and return a specific registration card pertaining to the product, within thirty days of purchase. Should a user find a valid error in the program and clearly define it in writing to LSI, every effort will be made to correct the error. All support shall only apply to registered owners. Logical Systems, Incorporated and its associates assume no liability whatsoever, with regard to the reliability and/or fitness of their products. All data entrusted to these programs and the computer that they are operating on are the sole responsibility of the user. Under no circumstances will LSI or its associates be held liable for the loss of TIME, DATA, PROGRAMS, FILES or for any consequential damages incurred by the user. Logical Systems, Incorporated 8970 North 55th Street P.O. Box 23956 Milwaukee, WI 53223 (414) 355-5454 LSI DiskDISK Utility - Page 5 /page Appendix A - DiskDISK Error Messages Possible error messages for DDFORM: Requested file would require more than 12 extents ! This error message will occur if the DiskDISK file to be created would be broken into an excessive number of non-contiguous pieces. This is normally indicative of a diskette that is very fragmented. Usually a BACKUP-BY-CLASS to a empty, formatted diskette will reduce this fragmentation. Parameter Error One or more of the parameters entered when invoking DDFORM were either incorrectly specified or misspelled. File Already Exists The filename specified is already in use on the specified destination drive. Possible error messages for DD: Parameter Error One or more of the parameters entered when invoking DD were either incorrectly specified or misspelled. Can't install DiskDISK, memory not available An attempt was made to alter a DiskDISK configuration that would require additional memory, and this additional memory is not available. This will occur if an attempt is made to install an additional DiskDISK from inside of BASIC, for example. However, swapping of DiskDISK files in already installed drive slots is allowed. Drive is not a DiskDISK The DD disable parameter was specified, and the indicated drive slot was not an active DiskDISK. File Contains too many extents Any DiskDISK file is limited to a maximum of twelve extents. To this end, DDFORM will not allow creation of a DiskDISK with more. If a DiskDisk file is copied from one diskette to another, it is possible that the destination file will have more than twelve extents. To avoid this, copy large DiskDISK files only to relatively "empty" diskettes, and check the number of extents on the destination file with the "DIR :d (A)" command. Unable to reclaim both driver and linkage memory This is a non-fatal error. It simply indicates that a disable command was issued, and DD could not totally free memory. There are two major causes for this. First, there was more than one DiskDISK active. The driver cannot be removed because it must service the other DiskDISK. Second, some program, driver or filter used after DD is using memory. DD cannot release its memory because it has been "trapped" by this second program. The best way to recover this memory is to re-boot. Illegal DiskDISK file The file specified for installation with DD was not a DiskDISK file created by DDFORM. DiskDISK drivespec identical to FILE drivespec An attempt was made to install a DiskDISK file into a logical drive slot occupied by the media or DiskDISK containing the DiskDISK to be installed. LSI DiskDISK Utility - Page 6 /end