33 lines
1.1 KiB
Markdown
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 |