;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; ; D O R A D O C o n t r o l P r o g r a m ; ; M i d a s - K n o w n L o c a t i o n s ; ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; filed on DoradoMidasHooks.masm ; E. McCreight ; last modified August 20, 1981 10:14 AM .RDX 16 .EXPORT ZCodeVersion .EXPORT ZPtr .EXPORT ZPC,ZS,ZP,ZA,ZX,ZY .EXPORT ZSubPC,ZSubS,ZSubP,ZSubA,ZSubX,ZSubY .EXPORT ZSimBlk .EXPORT Timer100ms,SupplyBadTime .EXPORT PowerOutOfSpec .EXPORT VoltageTable,CurrentTable,EnvironmentLen .EXPORT VDD,VEE,VTT,VCC .EXPORT IDD,IEE,ITT,ICC .EXPORT Thermometers .EXPORT BaseTemp,CBTemp,CATemp .EXPORT ProcLTemp,ProcHTemp,IFUTemp .EXPORT MemCTemp,MemXTemp,MemDTemp .EXPORT CurEnvironment,FirstEnvironment .EXPORT MinEnvironment,MaxEnvironment .EXPORT BadSupplySpec,Problems .EXPORT NormalWait,CouldntBootDorado,TransientPowerProblem .EXPORT CurrentPowerProblem,OverTemp,ShutDown .EXPORT CantGetCPControl,MeltDownTemp ; State for Midas interface. Starts at location 0. ; Midas must know where this is! .LOC MidasHooks ; The microcomputer code version. ZCodeVersion: .BLK 1 ; Information about power supplies and temperature. PowerOutOfSpec: .BLK 1 ; for voltages and currents ; from high to low order: ; VDD,VCC,VTT,VEE,IDD,ICC,ITT,IEE CurEnvironment: VoltageTable: VDD: .BLK 1 ; .0619 volts/count [+12v nom] VCC: .BLK 1 ; .0262 volts/count [+5v nom] VTT: .BLK 1 ; -.0101 volts/count [-2v nom] VEE: .BLK 1 ; -.0259 volts/count [-5.2v nom] CurrentTable: IDD: .BLK 1 ; .971 amps/count ICC: .BLK 1 ; .971 amps/count ITT: .BLK 1 ; .971 amps/count IEE: .BLK 1 ; 4.29 amps/count Thermometers: BaseTemp: .BLK 1 ; -1 means no board installed CBTemp: .BLK 1 ; 0 means board but no thermometer CATemp: .BLK 1 ; otherwise 1.96 deg K/count ProcLTemp: .BLK 1 ProcHTemp: .BLK 1 IFUTemp: .BLK 1 ; Temperatures cannot be read MemCTemp: .BLK 1 ; unless the -5.2v supply is good MemXTemp: .BLK 1 MemDTemp: .BLK 1 DskEthTemp: .BLK 1 DisplayTemp: .BLK 1 .BLK 1 EnvironmentLen = .-CurEnvironment FirstEnvironment: FirstVoltageTable: FirstVDD: .BLK 1 FirstVCC: .BLK 1 FirstVTT: .BLK 1 FirstVEE: .BLK 1 FirstCurrentTable: FirstIDD: .BLK 1 FirstICC: .BLK 1 FirstITT: .BLK 1 FirstIEE: .BLK 1 FirstThermometers: FirstBaseTemp: .BLK 1 FirstCBTemp: .BLK 1 FirstCATemp: .BLK 1 FirstProcLTemp: .BLK 1 FirstProcHTemp: .BLK 1 FirstIFUTemp: .BLK 1 FirstMemCTemp: .BLK 1 FirstMemXTemp: .BLK 1 FirstMemDTemp: .BLK 1 FirstDskEthTemp: .BLK 1 FirstDisplayTemp: .BLK 1 .BLK 1 MinEnvironment: MinVoltageTable: MinVDD: .BLK 1 MinVCC: .BLK 1 MinVTT: .BLK 1 MinVEE: .BLK 1 MinCurrentTable: MinIDD: .BLK 1 MinICC: .BLK 1 MinITT: .BLK 1 MinIEE: .BLK 1 MinThermometers: MinBaseTemp: .BLK 1 MinCBTemp: .BLK 1 MinCATemp: .BLK 1 MinProcLTemp: .BLK 1 MinProcHTemp: .BLK 1 MinIFUTemp: .BLK 1 MinMemCTemp: .BLK 1 MinMemXTemp: .BLK 1 MinMemDTemp: .BLK 1 MinDskEthTemp: .BLK 1 MinDisplayTemp: .BLK 1 .BLK 1 MaxEnvironment: MaxVoltageTable: MaxVDD: .BLK 1 MaxVCC: .BLK 1 MaxVTT: .BLK 1 MaxVEE: .BLK 1 MaxCurrentTable: MaxIDD: .BLK 1 MaxICC: .BLK 1 MaxITT: .BLK 1 MaxIEE: .BLK 1 MaxThermometers: MaxBaseTemp: .BLK 1 MaxCBTemp: .BLK 1 MaxCATemp: .BLK 1 MaxProcLTemp: .BLK 1 MaxProcHTemp: .BLK 1 MaxIFUTemp: .BLK 1 MaxMemCTemp: .BLK 1 MaxMemXTemp: .BLK 1 MaxMemDTemp: .BLK 1 MaxDskEthTemp: .BLK 1 MaxDisplayTemp: .BLK 1 .BLK 1 ; Timer that gets incremented every 102.4 ms. Low-order byte ; first. Initialized to 0 when microcomputer is reset. Timer100ms: .BLK 6 ; Copy of the 100 ms timer made the last time a power ; supply was out of spec. The value of PowerOutOfSpec ; at that time is recorded in BadSupplySpec. SupplyBadTime: .BLK 6 ; The pointer by means of which Midas accesses any ; memory location ZPtr: .BLK 2 ; pointer for memory reads and writes ; The saved state when the Midas interrupt was taken ZPC: .BLK 2 ; saved program counter, low-order byte first ZS: .BLK 1 ; saved stack pointer ZP: .BLK 1 ; saved processor state register ZA: .BLK 1 ; saved accumulator ZX: .BLK 1 ; saved X register ZY: .BLK 1 ; saved Y register ; A description of what supplies were measured bad, the last ; time any supplies were out of tolerance. BadSupplySpec: .BLK 1 ; same format as PowerOutOfSpec ; A description of what the microcomputer thinks is wrong ; with the machine. Problems: .BLK 1 NormalWait = 80 CouldntBootDorado = 40 TransientPowerProblem = 20 CurrentPowerProblem = 10 ShutDown = 8 OverTemp = 4 CantGetCPControl = 2 ; State which Midas can set up for calling microcomputer ; subroutines ZSubPC: .BLK 2 ; subroutine program counter, low-order byte first ZSubS: .BLK 1 ; subroutine stack pointer ZSubP: .BLK 1 ; subroutine processor state register ZSubA: .BLK 1 ; subroutine accumulator ZSubX: .BLK 1 ; subroutine X register ZSubY: .BLK 1 ; subroutine Y register .BLK 1 ZSimBlk: .BLK 10. ; Block for simulated instruction execution, of the form ; Sim Instr; Normal jump; Alternate jump MeltDownTemp: .BLK 1 ; threshold temp for meltdown: 1.96 deg K/count .END