cardiograph-computer/2023-08-28--dev-notes.md

33 lines
1.1 KiB
Markdown

# 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