PLATO Disk Structures
PLATO disk structures as based on a set of common primitives:
PLATO Pack
A pack consists of three principal structures.
- The FLAW MAP contains the list of flawed “spaces” on the PACK pack. We disregard this structure because there are no “flaws” in the virtualized container system.
- The PACK DIRECTORY contains three subordinate structures:
- The Allocation Bitmap indicating the utilization state for each of the spaces in the pack structure. 1 = FREE, 0 = ALLOCATED.
- The Filename List a series of 60-bit words containing the displaycode version of the filename.
- The File Information Words, a series of 60-bit words containing the “state” information for each allocated PLATO file.
- The SPACES.
- A space (or a part) is a logical sequential group of 7 blocks.
- A block is a logical sequential group of 5, 64-word disk sectors.
This is an allocation unit of 320 words. - Therefore, a space is an allocation unit of 2240 words, or 7 blocks, or 35 sectors.
PLATO Files
PLATO files are contiguous allocations of one or more spaces. The limits of these allocations are filetype dependent.
All PLATO files have similar structures in the first 64 words (sector) and contains many key identifiers such as:
- Lesson Name
- File Name
- Number of blocks in the file
- Last Block in Use
- Creation Date
- Edit Date
- Security Codes
- Descriptions
- Author Contact Information
- … and more
Accessing a PLATO File
The steps required to access a PLATO file are straightforward:
- Look up the filename in the Pack Directory.
- Look up the corresponding File Information Word (using the same offset) in the FIW List.
- Obtain the Length of the file (a 6-bit value) indicating the number of spaces used by the file.
- Obtain the starting Disk Space Number relative to space ZERO in this pack's structure.
- Obtain the filetype character stored in the FIW
- Load the first block from the indicated space.
- VERIFY that the filename sought is the same as that indicated in the first word of block zero.
- VERIFY that the filetype character from the FIW matches the last character (6-bits) of the second word of block zero.
The remainder of block zero's contents are dependent upon the filetype:
Supported PLATO FileTypes
The following is a list of the known/supported filetypes, their respective single-letter types (T) and a brief description.
Filetype T Description ---------- - ---------------------------------------------- tutor a normal tutor lesson instruct a instructor file router a router lesson binary b lesson binary curric c curriculum file data d student data file compass e system source file ppt e system source file group f group file dataset g dataset plmcurr h CLM curriculum file pnotes h old-style pnotes file gnotes i group notes mailbox j nameset-type pnotes (NN) unknown j unknown format (utility) namesete k named-record dataset (ext) nameset k named-record dataset account l account catalog m catalog file notesfile n graphics notes file notes n notes file module o CLM module file pnotes p personal notes document q documentor file ccd3 r CCD3 course file pcd3 r PLATO CD3 course file lessonset s nameset-type lesson (NN) unknown s unknown format (utility) mailfile t graphics mail file (old) account t nameset-type account file (NN) exambase u exambase file (CYBIS) archive / archive file retrieval ( dummy file awaiting archive retrieval backup ) dummy file awaiting backup retrieval pholder $ dummy place holder file packdir ; pack directory (specially handled)