--FormatSA800.mesa (last edited by: Forrest on: January 13, 1981  6:16 PM)
DIRECTORY
  FloppyChannel USING [DiskAddress, Status],
  PhysicalVolume USING [Handle, PageNumber];
FormatSA800: DEFINITIONS =
  BEGIN
  -- FormatDisk a track on the disk.
  --  Clients MUST set the context appropriately, and do IBM track0
  --  formatting if desired.
  FormatTracks: PROCEDURE [
    handle: PhysicalVolume.Handle, start: FloppyChannel.DiskAddress, trackCount: CARDINAL]
    RETURNS[status: FloppyChannel.Status, countDone: CARDINAL];
  -- FormatPilotDisk calls FormatDisk repeatedly to initialize a disk to the format
  --  expected on Pilot volumes.
  -- ScanPilotDisk reads each sector on a disk formatted for Pilot access
  -- BadSector is raised for each (non-fatal) bad page found.
  Density:     TYPE = {single, double, tryDoubleThenSingle};
  PilotResult: TYPE = {goodDisk, cantSetContext, badTrack0, badLabelArea};
  BadSector:   SIGNAL [p: PhysicalVolume.PageNumber]; -- RESUME’able
  FormatPilotDisk: PROCEDURE [
    handle: PhysicalVolume.Handle,
    name: STRING ← NIL, density: Density ← tryDoubleThenSingle]
    RETURNS[status: FloppyChannel.Status, result: PilotResult];
  ScanPilotDisk:   PROCEDURE [handle: PhysicalVolume.Handle]
    RETURNS[status: FloppyChannel.Status, result: PilotResult];
  END....
LOG
Time: September 26, 1980  3:09 PMBy: JoseAction: Create file
Time: October 7, 1980  6:09 PMBy: JoseAction: Change type of BadSector arg.
Time: January 13, 1981  2:37 PMBy: Forrest Action: add density, rearrange.