{File LispTrident.dfn -- for trident assembly
Lichtenberg 30-Jun-84 17:22:37
Edited: 7-Jul-84 20:32:47 changed regs. U0C04, U2C04 because of conflict with display registers}


{Trident constants}
Set[CCSB64k, 1];
Set[CCSBHi, 40]; {set addr of CSB for Device0 to be physical loc 14000}
Set[CCSBLo, 1];
Set[CNextDev, 4];
Set[CCSBNextDev, 4];
Set[CLastDev, 10];
Set[CDsk3, 0C];
Set[CDsk2, 8];
Set[CDsk1, 4];

Set[CDisplIOCB, 4];
Set[CDisplCHdSec, 1];
Set[CDisplDtPtr, 4];
Set[CDisplPgCnt, 7];
Set[CDisplCStat, 8];
Set[CDisplDStat, 9]:
Set[CDisplDHdr, 0A];
Set[CDisplBSAdr, 11];
Set[CDisplLblWd5, 25];
Set[CDisplClntLbl, 20];
Set[CRelDisplDskLbl, 10];
Set[CDisplECC, 3C];

Set[CNotRdy, 8];
Set[CTstRecalEr, 0B];
Set[CTstSkEr, 0B];
Set[CRecal, 0A];
Set[CTstRecal, 1];
Set[CTstFirstIOCB, 10];
Set[CDskCheck, 1];
Set[CTestForVrf, 7];
Set[CECCXfer, 0C8];

Set[CWURdy, 60];
Set[CWUAnyAtt, 10];
Set[CWUIndxFnd, 20];
Set[CWUSecFnd, 30];
Set[CWUDtReq, 40];

Set[CHDelRdSet, 8];
Set[CHDelWrSet, 1];
Set[CLDelRdSet, 2];
Set[CDDelRdSet, 2]; {Constants may have to be redefined}
Set[CHNRDelRdRst, 2];
Set[CHWVDelRdRst, 5];
Set[CLWVDelRdRst, 3];

Set[CCtlTag, 20];
Set[CHdTag, 40];
Set[CCylTag, 80];

Set[CHdAdv, 1];
Set[CRead, 40];
Set[CRstAtt, 40]; {this is actually the Read bit}

Set[CMaxSec, 1D];
Set[CRetry, 5A]; {look at 90 headers before giving up}

Set[CMemErrorTri, 0E];
Set[CHdrNotFnd, 10];
Set[CRecalError, 20];

Set[CGoodCompl, 40];
Set[CInProgress, 80];


{*** Trident Registers ***}


RegDef[RHAdr, RH, 7]; {DiskTrident}
RegDef[UDskAdr, U, 7F]; {Trident}

RegDef[USvAdrHi, U, 74]; {Trident}
RegDef[USvAdrLo, U, 73]; {Trident}
RegDef[USIP, U, 71]; {Trident - Set in InitDLion to 0}
RegDef[UF000, U, 0A7]; {Trident - Sequence constant}

RegDef[UBitSignAdr, U, 82]; {Trident}
RegDef[UHdOffset, U, 84]; {Trident}
RegDef[UHdrOp, U, 85]; {Trident}
RegDef[UHCmd, U, 86]; {Trident}
RegDef[UHCntl, U, 87]; {Trident}
RegDef[UHMask, U, 88]; {Trident}
RegDef[ULblOp, U, 89]; {Trident}
RegDef[ULCmd, U, 8A]; {Trident}
RegDef[ULCntl, U, 8B]; {Trident}
RegDef[ULMask, U, 8C]; {Trident}
RegDef[UDtOp, U, 8D]; {Trident}
RegDef[UDCmd, U, 8E]; {Trident}
RegDef[UDCntl, U, 8F]; {Trident}
RegDef[UCylAdr, U, 83]; {Trident}

RegDef[U0C04, U, 098]; {Trident} { ** Changed because of lisp/display conflict}
RegDef[U2C04, U, 097]; {Trident} { ** Chagned because of lisp/display conflict}
RegDef[U2C05, U, 0AF]; {Trident}
RegDef[UCurHdSec, U, 7C]; {Trident}
RegDef[UCStat, U, 79]; {Trident}
RegDef[UDtPtrLo, U, 75]; {Trident}
RegDef[UDtPtrHi, U, 76]; {Trident}
RegDef[UPgCnt, U, 78]; {Trident}
RegDef[ULblWd5, U, 70]; {Trident}
RegDef[UDMask, U, 80]; {Trident}
RegDef[URetry, U, 7D]; {Trident}
RegDef[UCStatMask, U, 72]; {Trident - Set in InitDLion to 1E07}
RegDef[UIOCBLink, U, 7E]; {Trident}
RegDef[UScratch, U, 77]; {Trident}

RegDef[UDStat, U, 7A]; {Trident}
RegDef[UIntMask, U, 81]; {Trident}

{** New U register constant for MCtl← usage}

RegDef[U8C02,U,0CF];


{ E N D }