//D0test.bcpl -- machine-dependent part of "Test" overlay // Last edited: 4 December 1979 manifest [ get "d0regmem.d" ] external [ // MDATA @LowAddress; @HighAddress // MCMD ErrorExit // MTEST LastVal // D0MEM KIMloMax; KIMhiMin // D0VM SetVirtP // D0TABLES @NREGS // Defined here ValidateTest ] //X = RegX, NREGS+MemX, or NREGS+NMEMS+OtherX let ValidateTest(X) be [ SetVirtP(false) LastVal = X //Adjust address ranges to avoid KERNEL for IMX and RM test X eq NREGS+IMXx ifso [ if LowAddress!1 < KIMloMax then LowAddress!1 = KIMloMax+1 if HighAddress!1 ge KIMhiMin then HighAddress!1 = KIMhiMin-1 unless LowAddress!1 le HighAddress!1 do ErrorExit("IMX address range overlaps KERNEL") ] ifnot if X eq NREGS+RMx do [ test LowAddress!1 < #300 ifso unless HighAddress!1 < #300 do HighAddress!1 = #277 ifnot ErrorExit("RM address range conflicts with KERNEL") ] ]