diff --git a/index.html b/index.html index e2ca4a7..a8d4293 100644 --- a/index.html +++ b/index.html @@ -50,10 +50,10 @@
- RAM : []
+ RAM : [] Lines:
- RAM (STACK):
+ RAM (STACK):
diff --git a/js/cpu.js b/js/cpu.js index f88633a..c9c32b4 100644 --- a/js/cpu.js +++ b/js/cpu.js @@ -70,6 +70,7 @@ const OECONTROL_RO = 0b11111 // RAM to DATABUS Enable let intval = null; let breakpt = null; +let ramlines = {value: 1}; function stringToRAM(rstring,ram,address) { for (let a = 0; a < rstring.length; a++) { @@ -182,15 +183,15 @@ function printTextOut(ram,startaddr,endaddr) { } } -function printRAM(ram,lines = 4) { - let addrSpan = lines; - let startADDR = (cpu.ADDRBUS & 0xfff0) - ((addrSpan*16)/2); +function printRAM(ram) { + let addrSpan = parseInt(ramlines.value); + let startADDR = (cpu.ADDRBUS & 0xfff0) - ((Math.ceil(addrSpan/2)*16)); if (startADDR < 0) startADDR = 0; if (startADDR > 0xFEFF) startADDR = (0xFF00 + (addrSpan*16)); let sp_ram = document.getElementById("RAM"); - let ramtext = "ADDR  :   0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F
"; + let ramtext = "ADDR    :   0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F
"; for (let a = startADDR; a < (startADDR+(addrSpan*16)); a+=16) { - ramtext += "0x" + formatHex(a,4) + ": "; + ramtext += "0x" + formatHex(a,6) + ": "; for (let b = 0; b < 16; b++) { if (cpu.ADDRBUS === (a)+b) { let bgcolor = "#ffff55"; diff --git a/js/main.js b/js/main.js index 5c65e46..88566a4 100644 --- a/js/main.js +++ b/js/main.js @@ -51,6 +51,7 @@ let btn_runtil = document.getElementById("btn_runtil"); let brkpt = document.getElementById("addrbrk"); let clkinterval = document.getElementById("clkinterval"); let clkcycles = document.getElementById("clkcycles"); +ramlines = document.getElementById("ramlines"); let btn_rst = document.getElementById("btn_rst"); let clk_counter = document.getElementById("clk_counter"); let clk_count = 0; @@ -65,6 +66,7 @@ btn_clk.addEventListener('mouseup', function(evt) { cpu.CLOCK(false); }); + btn_runtil.addEventListener('click', function(evt) { let addr = parseInt("0x" + brkpt.value); let cpi = parseInt(clkcycles.value);