A Disk Operating System for the CGRS PEDISK
Dr. J. A. Dilts
When I first saw the PEDISK in operation nearly three years ago, I was not overly impressed. The capabilities at the time were limited to saving and loading programs with no data file handling. It was not long before this original disk operating system, KMMM (by Wilserv Industries, PO Box 115 Haddon Field, NJ 08033) had been expanded to include full file handling abilities.
The great advantage of any operating system in RAM is relative ease of updating and incorporating improvements. When working with a disk system, the time spent in loading software is not a major problem.
The basic configuration involves initialization via a SYS call to a ROM based boot which loads the DOS into the top end of memory. The user must specify his memory configuration when ordering the DOS software for, although a 24K version will work on a 32K configuration, the top 8K will be unavailable for normal basic programs.
After initialization, the user has a chance to specify a change in the date or his configuration (i.e. number of drives, printer, maximum number of files, etc.).
After any changes have been made, the user may return to the BASIC operating mode or to the DOS monitor. The DOS resides in about 3K of memory so a good minimum memory to use with this system is 16K.
The usual BASIC commands such as LOAD, SAVE, etc. are preceeded by a SYS 999 when used with the disk. This saves the user the task of remembering the address of the entry point of the DOS. If the second cassette buffer is being used for an assembly language routine, the 999 address can be replaced by the actual address of the DOS entry point.
All special disk commands can be executed from BASIC. Routines for printing the volume table of contents, compressing a disk, deleting a program, etc. are included here, but the routines are loaded from disk into low memory and may write over a resident BASIC program.
The volume table of contents gives address information on the disk as well as memory. It also provides the date of creation of the disk file and in the case of program files, how many times, and date of, updates.
Provision is made for renaming files and altering the file load point. The copy/compress routine offers the capability for copying individual files or the total disk. Copying is possible with only a single drive. The format on the disk is the IBM 3740 standard and the capacity is about 80K.
Data files in the present version are sequential only. These may be opened as read or write files but not both and the number of sectors reserved for a file must be specified at the time the file is created. Provision is made when initializing a diskette for omitting the boot, thereby saving more room when only files will be stored. File commands are like tape file commands except they are preceded by the SYS 999 command. Closing a file does not automatically write an end of file mark; this must be done under program control before the file is closed.
Up to 9 disk files can be open at one time (or the maximum number specified at the time the system was initialized). When a disk is formatted without the bootstrap capability, the maximum number of files for that diskette is specified (from 3 to 67).
The only means of updating a file with the present version is to open a second file for writing (with a different name or on a different drive) then read from the first file and write the modified or added information on the second file.
One neat feature of this system is its ability to chain programs. When the SYS999 LOAD' file name' is executed from a BASIC program, the named program will load and run with variables from the first program intact as long as the calling program is at least one sector greater than the program.
Either the contents of a disk or the VTOC may be routed to a printer if the printer option is specified when the system is initialized. The printer must operate on the IEEE port and its specified address.
In the year that I have been using this current and an earlier version of the KMMM DOS, I have found it to be very flexible. It has offered an excellent solution for disk capabilities for PETs with old ROMs.