// D1Simini.bcpl--initialization procedures for SimTest and SimGo // 19 May 1983 get "mcommon.d" external [ // OS Zero // MASM ResetsCSS; @WssCSS // MDATA @LoopCount; GoVec // MRGN AddToEveryTimeList // MCMD SetAbortPure // MGO @QuitF; @CantContinue // MPATTERN @PATTERN // D1ASM ReadDMux // D1MEM TurnOffRefresh // D1GO SetupIMA // D1SIMRES SimGo; SimTestAbort; SimGoAbort; SimLp // D1SIMT LoadandDoInst; LoadSimGo // Defined here SimTest; StartSim; SimAborted ] static [ SimAborted ] //SimGo action gets here--call from StartBigOvlWithAddr in MGO.BCPL let StartSim(MB,AVec,MemX; numargs NA) = valof [ //Setup like regular single-step SetupIMA(false,AVec,MemX,NA,(NA ge 3 ? "SimGo ","SimContinue "),MB) SimSetup(lv SimGoAbort,SimGo) ReadDMux() Zero(LoopCount,2) SimAborted = false resultis lv LoadSimGo ] and SimSetup(lvAbortProc,EveryTimeProc) be [ SetAbortPure(lvAbortProc,0) QuitF = AddToEveryTimeList(EveryTimeProc,GoVec) //RunRefresh off to check memory stuff TurnOffRefresh() ] //SimTest action gets here--call from StartLargeOverlay in MCMD.BCPL and SimTest(nil,nil) = valof [ PATTERN = 4 //Random pattern CantContinue = CantContinue % didTest Zero(LoopCount,2) ResetsCSS() WssCSS("Testing DMux signals with random instructions...") SimSetup(lv SimTestAbort,SimLp) resultis lv LoadandDoInst ]