plato:architecture:structures:plato.file

PLATO Disk Structures

PLATO disk structures as based on a set of common primitives:

A pack consists of three principal structures.

  1. 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.
  2. 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.
  3. 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 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

The steps required to access a PLATO file are straightforward:

  1. Look up the filename in the Pack Directory.
  2. Look up the corresponding File Information Word (using the same offset) in the FIW List.
    1. Obtain the Length of the file (a 6-bit value) indicating the number of spaces used by the file.
    2. Obtain the starting Disk Space Number relative to space ZERO in this pack's structure.
    3. Obtain the filetype character stored in the FIW
  3. Load the first block from the indicated space.
    1. VERIFY that the filename sought is the same as that indicated in the first word of block zero.
    2. 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:

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) 
  • plato/architecture/structures/plato.file.txt
  • Last modified: 2026/01/02 15:09
  • by 0.0.0.0