Using Super* with Multiple Drives by Joe Griffin Superscript originated with the PET and Superbase came with the C-64. Both these programs allowed the user to access more than one disk drive. When starting the Original Superscript, Superscript 2 or Easyscript the User was asked to supply the disk unit number. This could be any valid device number in the range 8 to 15. Unfortunately, in my opinion, when Simon Tranmer produced Superscript 3 for the 64 and 128 he made two annoying changes from previous versions. Firstly he omitted the ability to load a disk directory into the program. While this can be done from BASIC, it is annoying to have loaded the program, only to realise that you have got to exit again, because you have not yet made a SEQ file of a disk directory. Secondly, Superscript allows the user to access devices 8 and 9 only. Again, this can be overcome by pre-planning but why-oh-why did Simon restrict the choice to 8 and 9. His later product 'Super Discdoc' allows 8 to 11 and Superbase allows any unit number. When considering the way in which Superscript & Superbase handle disk commands, it is important to grasp the concept of a logged-in disk drive. Both programs default to drive 0 of device 8. Superscript can set both unit and drive with menu commands. Once set, file loading and saving will be from that disk drive. With Superbase, the user logs in to a particular drive by specifying it within the DATABASE command string. There is one small difference between the two programs in their handling of the logged drive. Superscript will only list the directory of the logged drive of a twin drive unit, Superbase will display the directories of the disks in both drives. In the Superbase manual, there is little mention of device numbers and one serious omission is that there is no indication that MAINTAIN operates on the currently logged disk drive. Hence within Superbase, one can header a disk in unit 9, using MAINTAIN NEW DISK, but only if the user has first selected a database on unit 9, by issuing the command DATABASE "dbname",9,0. Superbase V3.0 has an extension to the IMPORT and EXPORT commands. In earlier versions of Superbase, you could only use these commands to transfer data on the same disk drive. Thus if you were fortunate to have a 4040 or 8x50 drive connected to your computer, you could use EXPORT "1:dbase.exp" to place the export file on drive 1 of a twin drive unit. If however you were limited to a single drive (1541/1571), then the exported file had to be on the same disk. With Version 3, Precision have given the ability to export and import across drives. While on the 8250, EXPORT "1:bdase.exp" still exports from the logged database on drive 0 to drive 1; using EXPORT "8:dbase.exp" will place the file on drive zero of device 8, irrespective of the currently logged drive. Sadly although the logged drive can have any value, target devices are limited to either 8 or 9. Backups and Data Security Firstly let me define what I mean by a BACKUP. For the purposes of this article I will define a backup as an identical copy of the disk. In general backups can be made with a single command on dual-drive units or by running a utility program on single drive units. A number of commercial copiers allow users to make backups using two single drives. I will define a SECURITY COPY of the data as a complete copy of all the data required for the database. This data need not be stored in a form which can be immediately used but it must be possible to reconstruct the database from the stored information. For users of dual drives, the internal facilities of the drive are the obvious method of making backups. The remainder of this article concerns users with one or more single drive units. The user has two methods of making backup copies of the database files. From inside Superbase the MAINTAIN BACKUP command can be used. The disadvantages of this method are that it is slow, with a lot of disk swapping. However it is a very reliable method, in my experience. Even if the user has two drives attached to the computer it cannot backup between devices. It can be done, outside Superbase, using some form of disk copier utility. For the C-128 Commodore supply the 'DOS Shell' program (which I have found fairly unreliable) and for the C-64 there is 'sd.backup.c64'. With the 1581 they supply backup routines for both computers. Various other copier utilities exist, including some commercial products. In order to make security copies of the database, three methods are available, depending upon the exact hardware configuration. Firstly, the user can export the data to a sequential file, then use a file copier ('unicopy' if there is only one disk drive on the system) to copy the export file and screen definitions to another disk. Secondly, if a second drive is available and if Superbase V3.0 is in use, then the data can be exported to the other device, using EXPORT "9:database.exp". Finally, the UTILITY program supplied with Superbase can be used to copy the entire database across to another disk, either on the same or a different drive. This method, while time consuming does have the advantage that you end up with a working database on the new disk and that corrupted databases can be recovered. My own methods I run databases on two different drives, according to need. On the 8250, I merely backup from drive 0 to drive 1. For the 1581 I use Commodore's 'backup128-1581' program which came with the drive. It uses the RAM pack, so does not require much disk swapping. I have tried using a number of commercial copiers with varying rates of success. Those that I have tried do not utilise the RAM pack, so disk swapping is involved. I do not use the 1571 for databases. Having fixed the bugs in the drive and released the Version 5 ROM, Commodore brought out the Cost-reduced version of the 128D, and sure enough, it corrupts Superbase databases. (See my article in the March/April ICPUG Newsletter). [0;34m[PRESS RETURN[0;34m]:[1;37m