-- Copyright (C) 1983, 1985 by Xerox Corporation. All rights reserved. -- EERom.mesa, HGM, 6-Apr-85 11:35:31 DIRECTORY Ascii USING [NUL], Boot USING [Location], System USING [GreenwichMeanTime]; EERom: DEFINITIONS = BEGIN bootLocationVersion: CARDINAL = 1; dataVersion: CARDINAL = 1; maxChars: CARDINAL = 3574; -- Fill up everything beyond the first page bytesPerChip: CARDINAL = 2048; numberOfChips: CARDINAL = 2; totalWords: CARDINAL = (bytesPerChip*numberOfChips)/2; trap: CARDINAL [0..1) = totalWords - SIZE[WholeEERom]; WholeEERom: TYPE = RECORD [ bootLocation: BootLocation, unused: ARRAY [SIZE[BootLocation]..256) OF WORD, data: Data]; BootLocation: TYPE = RECORD [ checksum: WORD, version: CARDINAL ← bootLocationVersion, write: System.GreenwichMeanTime, location: Boot.Location ]; StoreBootLocation: PROCEDURE [LONG POINTER TO BootLocation]; FetchBootLocation: PROCEDURE [LONG POINTER TO BootLocation]; Data: TYPE = RECORD [ checksum: WORD, version: CARDINAL ← dataVersion, write: System.GreenwichMeanTime, used: [0..maxChars), data: PACKED ARRAY [0..maxChars) OF CHARACTER ← ALL[Ascii.NUL] ]; StoreData: PROCEDURE [LONG POINTER TO Data]; FetchData: PROCEDURE [LONG POINTER TO Data]; SmashData: PROCEDURE; END.