const { POINTER_TO_DISPLAY } = require('./machine.config'); const { num2hex } = require('./logging.js'); /** * Print the contents of display memory as hex number * @param {Uint8Array} mem - CPU memory **/ const printDisplay = (mem) => { const disp = mem[POINTER_TO_DISPLAY]; for (let i = disp; i < disp + 25; i += 5) { console.log(`${num2hex(mem[i])} ${num2hex(mem[i+1])} ${num2hex(mem[i+2])} ${num2hex(mem[i+3])} ${num2hex(mem[i+4])}`); } } /** * Print the contents of display memory using black and white emoji circles * @param {Uint8Array} mem - CPU memory **/ const prettyPrintDisplay = (mem) => { const disp = mem[POINTER_TO_DISPLAY]; const num2pic = (n) => n > 0 ? '⚫' : '⚪'; for (let i = disp; i < disp + 25; i += 5) { console.log(`${num2pic(mem[i])} ${num2pic(mem[i+1])} ${num2pic(mem[i+2])} ${num2pic(mem[i+3])} ${num2pic(mem[i+4])}`); } } module.exports = { "printDisplay": printDisplay, "prettyPrintDisplay": prettyPrintDisplay, }