diff --git a/src/assembler.js b/src/assembler.js index d054906..c55a0fd 100644 --- a/src/assembler.js +++ b/src/assembler.js @@ -127,7 +127,7 @@ function decodeNumericOp(arg) { /** * @param {string} op - * @param {object} labels // TODO document better + * @param {object} labels // TODO - document labels object * @param {number} IP * @returns {Array} - array of labels **/ diff --git a/src/cardiograph.js b/src/cardiograph.js index 35dc9e9..194ff2b 100644 --- a/src/cardiograph.js +++ b/src/cardiograph.js @@ -5,7 +5,7 @@ const CPU = require('./cpu.js'); const io = require('./io.js'); -// TODO TEMPORARY - replace with reading STDIN: +// TODO - replace with reading STDIN: const assembler = require('./assembler.js'); const fs = require('fs'); @@ -37,7 +37,7 @@ async function tick() { } function logDisplay() { - io.showDisplay(cpu.memory, true); // TODO more compled printing + io.showDisplay(cpu.memory, true); // FIXME - display - allow printing hex as well as pretty-printing } function logCPUState() { diff --git a/src/cpu.js b/src/cpu.js index 22649de..54df653 100644 --- a/src/cpu.js +++ b/src/cpu.js @@ -35,11 +35,11 @@ module.exports = class CPU { this.memory.set(machineCode, 0); } - peek() { return; } // TODO + peek() { return; } // TODO - implement Peek - poke() { return; } // TODO + poke() { return; } // TODO - implement Poke - /** @param {Array} info **/ // TODO type info + /** @param {Array} info **/ // TODO - document type for 'sourceInfo' loadSourceInfo(info) { this.dbg.sourceInfo = info; } @@ -54,7 +54,7 @@ module.exports = class CPU { this._cycleStartCallbacks.forEach((fn) => fn()); if (this.IP >= this.memory.length) { - console.error('HALTING - IP greater than memory size'); // TODO -- should this throw an error instead? + console.error('HALTING - IP greater than memory size'); // FIXME - halting the CPU should throw an error instead this.running = false; } else { this.instruction.opcode = this.memory[this.IP]; @@ -68,7 +68,7 @@ module.exports = class CPU { // Temporary limit as a lazy way to halt infinite loops if ((this._cycleLimit > 0) && this.dbg.cycleCounter >= this._cycleLimit) { - console.warn(' HALTING - reached cycle limit'); // TODO -- throw error? + console.warn(' HALTING - reached cycle limit'); // FIXME - throw error instead this.running = false; } @@ -164,7 +164,7 @@ module.exports = class CPU { let bitSixCarry = 0; if ((this.acc & 64) && (lit & 64)) { bitSixCarry = 1; } // let overflow = bitSixCarry ^ (this.flags & 8); - // FIXME FIXME FIXME + // FIXME - re-implement overflow // I'm on a plane and can't remember how this works let overflow = 0; if (overflow) { @@ -192,7 +192,7 @@ module.exports = class CPU { let bitSixCarry = 0; if ((this.acc & 64) && (addr & 64)) { bitSixCarry = 1; } // let overflow = bitSixCarry ^ (this.flags & 8); - // FIXME FIXME FIXME + // FIXME - re-implement overflow // I'm on a plane and can't remember how this works let overflow = 0; if (overflow) { @@ -220,7 +220,7 @@ module.exports = class CPU { let bitSixCarry = 0; if ((this.acc & 64) && (lit & 64)) { bitSixCarry = 1; } // let overflow = bitSixCarry ^ (this.flags & 8); - // FIXME FIXME FIXME + // FIXME - re-implement overflow // I'm on a plane and can't remember how this works let overflow = 0; if (overflow) { @@ -248,7 +248,7 @@ module.exports = class CPU { let bitSixCarry = 0; if ((this.acc & 64) && (addr & 64)) { bitSixCarry = 1; } // let overflow = bitSixCarry ^ (this.flags & 8); - // FIXME FIXME FIXME + // FIXME - re-implement overflow // I'm on a plane and can't remember how this works let overflow = 0; if (overflow) { @@ -293,7 +293,7 @@ module.exports = class CPU { flag_toggle: (flagNum) => { if (flagNum === null) { console.error('Invalid flag number'); - process.exit(); // TODO review + process.exit(); // FIXME -- throw error instead } const flagName = this.flagNums[flagNum]; this.dbg.currentMnemonic = `FTG ${flagName}`; diff --git a/src/io.js b/src/io.js index 0bd3b24..ec7f413 100644 --- a/src/io.js +++ b/src/io.js @@ -13,7 +13,6 @@ function getKeypadInput(cpu) { process.stdin.setRawMode(true); } process.stdin.on('keypress', (str, key) => { - // TODO: is it possible to turn this off again? if (key.sequence === '\x03') process.exit(); let name = key.name.toUpperCase(); if (name in CFG.keyMap) {