//D1Prin3z.bcpl More of procedure to prettyprint DMux
//DMux addresses 70B-107B printed here.
// Last edited: 14 July 1979
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")
NWss1("EthData.18 ")
NWss1("RxCRCError ")
NWss1("RxDataLate ",#10)
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
]