# 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 - [x] Move the bulk of cpu.js to cpu.lib.js - [x] Add a way to register functions to be called each cycle - [x] Create a new 'cardiograph.js' - [x] 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 ## TODO - ? - Move notes, issues to their own branches - Make worktrees for those branches - NB: VS Code's git management tools work fine with worktree folders if you open them in a new window -- but opening them in a workspace doesn't work