-- LoadStateFormat.mesa -- Last Modified by Sandman, June 30, 1980 4:58 PM -- Copyright Xerox Corporation 1979, 1980 DIRECTORY AltoDefs USING [PageSize], AltoFileDefs USING [FP, vDA], ControlDefs USING [GFTIndex]; LoadStateFormat: DEFINITIONS = BEGIN LoadState: TYPE = POINTER TO LoadStateObject; AltoVersionID: CARDINAL = 01280; PilotVersionID: CARDINAL = 01290; LoadStateObject: TYPE = MACHINE DEPENDENT RECORD [ versionident: CARDINAL, nBcds: CARDINAL, bcds: ARRAY [0..MaxBcds) OF BcdObject, gft: ARRAY [0..0) OF ModuleInfo]; ModuleTable: TYPE = DESCRIPTOR FOR ARRAY OF ModuleInfo; ConfigIndex: TYPE = [0..77B]; NullConfig: ConfigIndex = LAST[ConfigIndex]; ModuleInfo: TYPE = MACHINE DEPENDENT RECORD [ resolved: BOOLEAN, config: ConfigIndex, gfi: ControlDefs.GFTIndex]; NullModule: ModuleInfo = [resolved: FALSE, config: NullConfig, gfi: 0]; BcdObject: TYPE = MACHINE DEPENDENT RECORD [ fill: [0..37B] ← 0, exports, typeExported: BOOLEAN, pages: [1..256], body: SELECT type: * FROM alto => [fp: AltoFileDefs.FP, da: AltoFileDefs.vDA, base: CARDINAL], pilot => [base: LONG POINTER], ENDCASE]; Bcd: TYPE = POINTER TO BcdObject; MaxBcds: CARDINAL = (AltoDefs.PageSize - 2)/SIZE[BcdObject]; BcdArrayLength: CARDINAL = SIZE[BcdObject]*MaxBcds; BcdPageCount: TYPE = [1..256]; END...