--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 PM
By: JoseAction: Create file
Time: October 7, 1980 6:09 PM
By: JoseAction: Change type of BadSector arg.
Time: January 13, 1981 2:37 PM
By: Forrest Action: add density, rearrange.