| MemBurnin.burdock, HGM, 23-Apr-85 18:17:22 |
| Setup for 1 board. Quits after 100 errors. Output to MemBurnin.log. |
Boot[];
Load[MemTest];
CP[00, 0]! sticky ← FFFF;
errorCount= CP[00, 0]! errorCount ← 0;
passCount= CP[01, 0]! passCount ← 0;
lowBank= CP[03, 0]! lowBank ← 0;
highBank= CP[04, 0]! highBank ← 7;
address= CP[07, 0]! $address;
expected= CP[08, 0]! expected;
found= CP[09, 0]! found;
CP[0A, 0]! found2;
CP[0B, 0]! found3;
diff= CP[0C, 0]! diff ← 0;
picked= CP[0D, 0]! picked ← 0;
dropped= CP[0E, 0]! dropped ← 0;
toCommand= CP[10, 0]! toCommand ← 0;
toData= CP[11, 0]! toData ← 0;
toAddr= CP[12, 0]! $toAddr ← 0;
pc= CP[00, 2]! .TPC 0;
reason= CP[01, 2]! reason;
Break[DataMismatchButNoParityError];
Break[DataMismatchAndParityError];
Break[MesaIntIsProbablyAParityError];
Break[AnotherGoodPass]; | reason = 1 |
Break[AnotherHundredGoodPasses]; | reason = 2 |
OpenToAppend["MemBurnin.log"];
WriteTime[];
Write[" Start of Memory burnin test. LowBank = "];
WriteLoc[lowBank];
Write[", HighBank = "];
WriteLoc[highBank];
WriteLine["."];
WriteLine[];
Close[];
SetMP[passCount];
Loop:
Continue[0];
SetMP[passCount];
IF reason = 1 { GOTO[Loop]; };
OpenToAppend["MemBurnin.log"];
IF reason = 2 {
WriteTime[];
WriteLine[" Another hundred good passes."];
Close[];
GOTO[Loop]; };
IF errorCount = 1 {WriteLine[" Err Pass Addr Exp Fnd Diff Pick Drop Cmd Data ToAddr Reason"];};
WriteTime[];
WriteLoc[errorCount, 4];
WriteLoc[passCount, 5];
WriteLoc[address, 8];
WriteLoc[expected, 5];
WriteLoc[found, 5];
WriteLoc[diff, 5];
WriteLoc[picked, 5];
WriteLoc[dropped, 5];
WriteLoc[toCommand, 6];
WriteLoc[toData, 5];
WriteLoc[toAddr, 7];
Write[" "];
WriteLoc[pc];
WriteLine[];
Close[];
IF errorCount < 100 {GOTO[Loop];};