-- File: Alto1822Defs.mesa -- Last Edit: HGM September 23, 1980 9:02 PM -- Last Edit: L. Stewart September 17, 1978 3:50 PM DIRECTORY Mopcodes USING [zLIW, zJRAM, zSTARTIO]; Alto1822Defs: DEFINITIONS = BEGIN -- 1822 Interface Stuff -- Useful Types Bit: TYPE = [0..1]; ON: Bit = 1; OFF: Bit = 0; Byte: TYPE = [0..377B]; -- SIO codes SioParameter: TYPE = RECORD [WORD]; inputSioCode: SioParameter = [002000B]; outputSioCode: SioParameter = [001000B]; controlSioCode: SioParameter = [003000B]; -- Command Word codes AICommandCode: TYPE = RECORD [WORD]; doNothing: AICommandCode = [000000B]; masterReset: AICommandCode = [000001B]; setLastWord: AICommandCode = [000002B]; tryClearIWD: AICommandCode = [000003B]; turnOnTestMode: AICommandCode = [000004B]; turnOffTestMode: AICommandCode = [000005B]; turnOnRelay: AICommandCode = [000006B]; turnOffRelay: AICommandCode = [000007B]; turnOnLastBit: AICommandCode = [002000B]; turnOffLastBit: AICommandCode = [001000B]; -- Buffer Descriptor AIBufferDescriptor: TYPE = MACHINE DEPENDENT RECORD [ start: POINTER, end: POINTER]; -- Microcode Status codes allOK: Byte = 001B; iBufFull: Byte = 002B; iBufLenZero: Byte = 003B; iBufFullDone: Byte = 004B; -- Post Word AIPostStatus: TYPE = MACHINE DEPENDENT RECORD [ mcStat: Byte, blank: [0..31], impWasDown: Bit, impNotReady: Bit, hostNotReady: Bit]; notPosted: AIPostStatus = [0, 0, 0, 0, 0]; -- Command Block AICommandBlockHandle: TYPE = POINTER TO AICommandBlock; AICommandBlock: TYPE = MACHINE DEPENDENT RECORD [ command: AICommandCode, blank: WORD, inputBuffer: AIBufferDescriptor, outputBuffer: AIBufferDescriptor, controlPost: AIPostStatus, controlBits: WORD, inputPost: AIPostStatus, inputBits: WORD, outputPost: AIPostStatus, outputBits: WORD]; -- RAM Stuff setConPtrAddr: CARDINAL = 1420B; -- Ram address of microcode SetControlPtr: PROCEDURE [ControlPointer: UNSPECIFIED] = MACHINE CODE BEGIN Mopcodes.zLIW, setConPtrAddr/256, setConPtrAddr MOD 256; Mopcodes.zJRAM; END; StartIO: PROCEDURE [Command: SioParameter] = MACHINE CODE BEGIN Mopcodes.zSTARTIO; END; END. -- Alto1822Defs.mesa