mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-03-07 19:51:51 +09:00
61 lines
2.6 KiB
JavaScript
61 lines
2.6 KiB
JavaScript
println("TERRAN Megatrends inc.");
|
|
//println("Main RAM:"+(system.maxmem() >> 10)+" KBytes");
|
|
|
|
var memptr = 0;
|
|
var memtestptn = [
|
|
// Overclockers will LOVE this!
|
|
[0x00,0x00,0x00,0x00 , 0xFF,0xFF,0xFF,0xFF , 0x00,0x00,0x00,0x00 , 0xFF,0xFF,0xFF,0xFF],
|
|
|
|
[0xAA,0x55,0xAA,0x55 , 0xAA,0x55,0xAA,0x55 , 0xAA,0x55,0xAA,0x55 , 0xAA,0x55,0xAA,0x55],
|
|
[0x00,0xFF,0x00,0xFF , 0xFF,0x00,0xFF,0x00 , 0x00,0xFF,0x00,0xFF , 0xFF,0x00,0xFF,0x00],
|
|
|
|
[0x69,0x69,0x69,0x69 , 0xA5,0xA5,0xA5,0xA5 , 0x69,0x69,0x69,0x69 , 0xA5,0xA5,0xA5,0xA5],
|
|
[0x0F,0x0F,0x0F,0x0F , 0x1E,0x1E,0x1E,0x1E , 0x3C,0x3C,0x3C,0x3C , 0x78,0x78,0x78,0x78],
|
|
|
|
[0xC7,0x1C,0x71,0xC7 , 0x8E,0x38,0xE3,0x8E , 0x1C,0x71,0xC7,0x1C , 0x38,0xE3,0x8E,0x38],
|
|
[0x71,0xC7,0x1C,0x71 , 0xE3,0x8E,0x38,0xE3 , 0x01,0x02,0x04,0x08 , 0x10,0x20,0x40,0x80],
|
|
|
|
//[0x00,0x00,0xFF,0xFF , 0x00,0x00,0xFF,0xFF , 0x00,0x01,0xFF,0xFE , 0x00,0x01,0xFF,0xFE],
|
|
//[0x00,0x03,0xFF,0xFC , 0x00,0x03,0xFF,0xFC , 0x00,0x07,0xFF,0xF8 , 0x00,0x07,0xFF,0xF8],
|
|
//[0x00,0x0F,0xFF,0xF0 , 0x00,0x0F,0xFF,0xF0 , 0x00,0x1F,0xFF,0xE0 , 0x00,0x1F,0xFF,0xE0],
|
|
//[0x00,0x3F,0xFF,0xC0 , 0x00,0x3F,0xFF,0xC0 , 0x00,0x7F,0xFF,0x80 , 0x00,0x7F,0xFF,0x80],
|
|
//[0x00,0xFF,0xFF,0x00 , 0x00,0xFF,0xFF,0x00 , 0x01,0xFF,0xFE,0x00 , 0x01,0xFF,0xFE,0x00],
|
|
//[0x03,0xFF,0xFC,0x00 , 0x03,0xFF,0xFC,0x00 , 0x07,0xFF,0xF8,0x00 , 0x07,0xFF,0xF8,0x00],
|
|
//[0x0F,0xFF,0xF0,0x00 , 0x0F,0xFF,0xF0,0x00 , 0x1F,0xFF,0xE0,0x00 , 0x1F,0xFF,0xE0,0x00],
|
|
//[0x3F,0xFF,0xC0,0x00 , 0x3F,0xFF,0xC0,0x00 , 0x7F,0xFF,0x80,0x00 , 0x7F,0xFF,0x80,0x00],
|
|
|
|
[0xFF,0xFF,0xFF,0xFF , 0xFF,0xFF,0xFF,0xFF , 0xFF,0xFF,0xFF,0xFF , 0xFF,0xFF,0xFF,0xFF]
|
|
];
|
|
|
|
try {
|
|
while (memptr < (8 << 20)) {
|
|
// just print a number
|
|
con.move(2,1);
|
|
var memptrtext = ""+((memptr + 1) >> 10);
|
|
print((memptrtext < 10) ? "00"+memptrtext : (memptrtext < 100) ? "0"+memptrtext : memptrtext);
|
|
|
|
// perform memory test
|
|
for (var ptn = 0; ptn < memtestptn.length; ptn++) {
|
|
for (var bi = 0; bi < memtestptn[ptn].length; bi++) {
|
|
sys.poke(memptr + bi, memtestptn[ptn][bi]);
|
|
if (memtestptn[ptn][bi] != sys.peek(memptr + bi)) throw "Memory Error";
|
|
}
|
|
for (var bi = 0; bi < memtestptn[ptn].length; bi++) {
|
|
sys.poke(memptr + bi, 255 - memtestptn[ptn][bi]);
|
|
if (255 - memtestptn[ptn][bi] != sys.peek(memptr + bi)) throw "Memory Error";
|
|
}
|
|
}
|
|
|
|
memptr += memtestptn[0].length;
|
|
}
|
|
}
|
|
catch (e) {
|
|
if (e == "Memory Error") {
|
|
println(" Memory Error");
|
|
}
|
|
else {
|
|
println(" KB OK");
|
|
}
|
|
}
|
|
|
|
con.move(4,1); |