cardiograph-computer/notes/todo.md

57 lines
1.4 KiB
Markdown

# To do
## Research
- [ ] Learn how the C64's PC gets initialized (what is the initial value? how is it set?)
- [ ] Review CHIP-8
- read about the spec / ISA
- read these, and add them to the bibliography:
- Steve Losh: https://stevelosh.com/blog/2016/12/chip8-input/
- https://tonisagrista.com/blog/2021/chip8-spec/
## Documentation
- [ ] Improve docs for flags register
- [ ] Play with JSDoc
## Design
- [ ] Add a flag for bank-switching to the ~zero-page
- [ ] Consider adding a VIP-style keypad-based machine code monitor
### For consideration
- [ ] Subroutine stack
- [ ] [Extended system (secret bonus operations)](2023-08-07--dev-notes.md)
## Programming
- [ ] Write some more complex test programs
- [ ] Display (hex) numbers
- [ ] Greater than
- [ ] Minimal LOGO-ish interpreter for turtle graphics
## Run-scripts
- [ ] Change interface to run in non-debug mode by default, and use a flag to select debug mode:
- `./run-cpu.js foo.asm`
- `./run-cpu.js --debug foo.asm`
- `./run-cpu.js -d foo.asm`
## Simulator
### Assembler
- [ ] Validate labels
- [ ] Return pure machine code when printing to stdout (and not in debug mode)
### CPU
- [/] Add single-stepping
- [ ] Make it work with simulated keypad
### Possible under-the-hood improvements
- [ ] Do a proper binary version... (or lose the typed arrays?)
- [ ] Extract debugging to its own module
- [ ] DRY out addition and subtraction