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

1.1 KiB

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

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