-- File: TimingDefs.mesa -- Edited by Sandman on September 3, 1980 3:32 PM DIRECTORY Mopcodes USING [zMISC]; TimingDefs: DEFINITIONS = BEGIN HiLo: TYPE = {hi, lo}; Pair: TYPE = RECORD [value, factor: CARDINAL]; Fudge: TYPE = ARRAY HiLo OF Pair; Fudges: ARRAY Machine OF Fudge = [[[value: 2, factor: 1], [value: 1, factor: 1]], -- altoI [[value: 2, factor: 1], [value: 1, factor: 1]], -- altoII [[value: 2, factor: 1], [value: 2, factor: 1]]]; -- d0 MsPerTick: LONG CARDINAL = 38; MaxTick: LONG CARDINAL = 400000000B; Machine: TYPE = {altoI, altoII, d0}; HighTime: TYPE = MACHINE DEPENDENT RECORD [ SELECT OVERLAID * FROM split => [high: [0..1777B], low: [0..77B]], whole => [whole: CARDINAL], ENDCASE]; LowTime: TYPE = MACHINE DEPENDENT RECORD [ SELECT COMPUTED Machine FROM altoI => [low: [0..1777B], fill: [0..77B]], altoII => [fill1: [0..17B], low: [0..1777B], fill2: [0..3B]], d0 => [low: [0..1777B], fill: [0..77B]], -- version 3.0 ENDCASE]; RealTime: TYPE = MACHINE DEPENDENT RECORD [low: LowTime, high: HighTime]; ReadTime: PROCEDURE RETURNS [RealTime] = MACHINE CODE BEGIN Mopcodes.zMISC, 11B END; END..