//D1Prin3z.bcpl More of procedure to prettyprint DMux //DMux addresses 70B-107B printed here. // 23 May 1983 get "d1.d" manifest [ get "d1dmux.d" ] external [ // MPRINS PrinV0; NWss; PrinV1; NWss1 // MPATTERN @PATTERN // D1PRIN2 PrintWrdByt // Defined here PrintDMXz ] let PrintDMXz(Addr) be [ let T = nil switchon Addr into [ case dFLTMEM: NWss("ProcSrn← ",#10000) NWss("Faults ") NWss("LoadFltSrn ") NWss("ReportFault ") NWss("MapPEInMem ") NWss("MapTroubleInMem ") NWss("RfshInMem ") NWss1("WriteInMem ") NWss1("MemWP ") NWss1("IOFetchInMem ") NWss1("RefUsesD10InMem ") NWss1("RefUsesDInMem ") NWss1("DirtyIOFetchInMem"); return case dRFSSRN: NWss("STPerr ",#100000) NWss("MapPerr ") NWss("HitPerr ") NWss("WantRfsh ") NWss("NeedRfsh ") NWss1("StartMema ") NWss1("StkWake ") NWss1("←FaultInfoDly ") PrinV1("MapSrn[0:3]",PATTERN<<nib2) PrinV1(" MemSrn[0:3]",PATTERN<<nib3); return case dEC1MAKE: NWss("StartEc2 ",#100000) NWss("Ec1Free ") NWss("Ec1Idle ") PrinV0("Ec1Func[0:1]",(PATTERN rshift 11) & 3B) PrinV0(" Ec1State[0:2]",(PATTERN rshift 8) & 7B) NWss(" EcWantsAa",#200) NWss(" FoutNext") NWss1("MakeFout←D ") NWss1("MakeD←CD ") NWss1("MakeD←Dbuf ") NWss1("MakeF←D ") NWss1("MakeMD←D ") NWss1("MakeMDM←D "); return case dMAPCTRL: PrinV0("MapbufHi[0:1]",PATTERN rshift 14) NWss(" MapRAS",#20000) NWss(" MapCAS") NWss(" MapWE") NWss(" RefWE") NWss(" DirtyWE") NWss1("MapWait ",#200) NWss1("WantMapWait ") NWss1("ValidMapFltInEc2 ") PrinV1("MapFnc[0:1]",(PATTERN rshift 3) & 3B) PrinV1(" MapState[0:2]",PATTERN & 7B); return case dPEEC: PrinV0("PEsrn[0:3]",PATTERN<<nib0) PrinV0(" Ec1Srn[0:3]",PATTERN<<nib1) NWss(" CacheLoad",#200) NWss(" Ec2Free") NWss1("Ec2Idle ") PrinV1("Ec2Func[0:1]",(PATTERN rshift 3) & 3B) PrinV1(" Ec2State[0:2]",PATTERN & 7B); return case dINMAP: NWss("RefUsesDInMap ",#100000) NWss("RefUsesD10InMap ") NWss("DirtyIOFetchInMap ") NWss("WriteInMap ") NWss("IOFetchInMap ") NWss1("←MapInMap ") NWss1("Store←InMap ") NWss1("EcWantsPipe4 "); return case dKSTATE: NWss("IndexTW ",#40000) NWss("SectorTW ") NWss("SeekTagTW ") NWss("RdFifoTW ") NWss("WrFifoTW ") NWss("ReadData ") NWss("WriteData ") NWss1("EnableRun ",#200) NWss1("DebugMode ") NWss1("RdOnlyBlock ") NWss1("WriteBlock ") NWss1("CheckBlock ") NWss1("Active ") PrinV1("Select[0:1]",PATTERN & 3); return case dKSTAT: NWss("SeecInc ",#100000) NWss("HeadOvfl ") NWss("DevCheck ") NWss("NotSelected ") NWss("NotOnLine ") NWss("NotReady ") NWss("SectorOvfl ") NWss("FifoUnderflow ") NWss1("FifoOverflow ",#200) NWss1("ReadDataError ") NWss1("ReadOnly ") NWss1("CylOffset ") NWss1("IOBParityErr ") NWss1("FifoParityErr ") NWss1("WriteError ") NWss1("ReadError "); return case dKRAM: PrinV0("RamAddr[0:3]",PATTERN rshift 12) PrinV1("Ram[4:15]",PATTERN & 7777B); return case dKTAG: NWss("DriveTag ",#100000) NWss("CylinderTag ") NWss("HeadTag ") NWss("ControlTag ") NWss1("Tag.000 ",#4000) NWss1("Tag.00 ") PrinV1("Tag[0:9]",PATTERN & #1777); return case dKFIFO: NWss("ShiftIn ",#100000) NWss("ShiftOut ") NWss("ComputeECC ") NWss("NextBlock ") NWss("LoadTag ") NWss("CntDone ") NWss1("OutRegFull ") NWss1("InRegFull ") PrinV1("FifoWaddr[0:3]",PATTERN<<nib2) PrinV1(" FifoRaddr[0:3]",PATTERN & 17B); return case dERX0: PrinV0("PDInput",PATTERN rshift 14) PrinV0(" PDCnt[0:3]",(PATTERN rshift 10) & #17) NWss(" PDCntCtrl",#1000) NWss(" ReportCollisions") NWss(" RxWakeupsOn") NWss(" RxBOP") NWss1("EthData.18 ") NWss1("RxCRCError ") NWss1("RxDataLate ") NWss1("RxBusRegFull ") NWss1("RxFifoFull ") NWss1("RxFifoEmpty"); return case dETX: PrinV0("TxState[0:2]",PATTERN rshift 13) NWss(" TxEOP",#10000) NWss(" TxBusRegFull") NWss(" TxGone") NWss(" TxSREmpty") NWss(" TxCntDwn") NWss(" TxCRCEnbl") NWss1("TxGo ") NWss1("TxData ") PrinV1("TxSRCtrl[0:1]",(PATTERN rshift 3) & 3) NWss1(" PEOutput",#4) NWss1(" TxFifoFull") NWss1(" TxFifoEmpty"); return case dERX1: PrinV0("RxState[0:2]",PATTERN rshift 13) NWss(" RxCollision",#10000) NWss(" PDCarrier") PrinV0(" PDEvent[0:1]",(PATTERN rshift 9) & 3) NWss(" RxSRFull",#400) NWss(" RxEOP") NWss1("RxSync ") NWss1("RxIncTrans ") NWss1("RxCRCReset ") NWss1("RxCRCClk ") NWss1("RxData ") PrinV1("RxSRCtrl[0:1]",PATTERN & 3); return default: endcase ] PrintWrdByt(nil,lv PATTERN,nil,8) return ]