59 lines
1.4 KiB
Markdown
59 lines
1.4 KiB
Markdown
# To do
|
|
|
|
- [ ] Figure out why $00 contains $20
|
|
|
|
## 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/
|
|
|
|
## Misc
|
|
|
|
- [ ] Play with JSDoc
|
|
|
|
## Design
|
|
|
|
- [ ] Add keypad to memory map
|
|
- [ ] [Replace CHP/CFC with FHP/FTG](2023-08-07--dev-notes.md)
|
|
- [ ] Add a flag for bank-switching to the ~zero-page
|
|
|
|
### 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
|
|
|
|
## 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
|
|
|
|
- [ ] rewrite to call things 'opcodes' and 'operands'
|
|
|
|
### Assembler
|
|
|
|
- [ ] Pad up to 256 bytes
|
|
- [ ] Validate labels
|
|
- [ ] Return pure machine code when printing to stdout (and not in debug mode)
|
|
|
|
### CPU
|
|
|
|
- [ ] Add single-stepping
|
|
|
|
### Under-the-hood improvements
|
|
|
|
- [ ] Do a proper binary version... (or lose the typed arrays?)
|
|
- [ ] Extract debugging to its own module |