(notes) 2023-08-28 - Create note outlining plans to re-architect the simulator
This commit is contained in:
parent
2d210303e6
commit
ccebc6ec3d
|
|
@ -0,0 +1,26 @@
|
||||||
|
# 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
|
||||||
Loading…
Reference in New Issue