# Dev notes — 2023-08-28 Two current goals: ## 1. Implement a new CLI interface - New arg-parser - Allow setting clock speed with a command line flag ## 2. Re-architect - Move the bulk of cpu.js to cpu.lib.js - Add a way to register functions to be called each cycle - Create a new 'cardiograph.js' - imports cpu.lib.js - registers functions for logging, updating display - (split those apart) - provides terminal interface - get machine code input from stdin (or like, file stream?) - `./assembler.js | ./cardiograph.js - see below re: changes to assembler - Assembler - Move CLI interface into assembler.js and delete run-assembler.js - Add a --json flag, which causes the assembler to print the json of {machineCode, debugInfo} on stdin - Otherwise, print hex/bin to stdin