(issues) todo - Reformat todo list

This commit is contained in:
n loewen 2023-08-24 11:04:05 +01:00
parent be8b1ef272
commit 7074f0c5f5
1 changed files with 30 additions and 67 deletions

View File

@ -1,81 +1,44 @@
# To do
# To do — Summary
## Next
This is a quick todo list.
- [ ] **Implement "At start up, `JMP ($FF)`**
For extended commentary, see [issues](issues.md).
## Research
## Open
- [ ] Review CHIP-8
### Todo
- Add a flag for bank-switching to the ~zero-page
- (assembler) Pass asm line thru to cpu to print when debugging
- Remove run-scripts and add the ability to run `./cpu.js` and `./assembler.js` directly -- cf. [#1](issues.md#1---improve-cli-interface)
- [fix] (cpu) Make single-stepping work with simulated keypad
### Features
- [fix] Implement ROM — see [2023-08-24](../2023-08-24--dev-notes.md#cpu-start-up)
- (assembler) Return pure machine code when printing to stdout (and not in debug mode)
- (assembler) Validate labels
- (assembler) Extract debugging to its own module
- (cpu) Consider adding a VIP-style keypad-based machine code monitor
- (cpu) Add a mode that prints the display as text, but still animates
- (cpu) Allow running pre-compiled machine code
- (cpu) DRY out addition and subtraction
- [Extended system (secret bonus operations)](2023-08-07--dev-notes.md)
- (research) 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
### Documentation
- [ ] Improve docs for flags register
- Improve docs for flags register
## Design
### Testing
- [ ] Add a flag for bank-switching to the ~zero-page
- [ ] Consider adding a VIP-style keypad-based machine code monitor
- [ ] reconsider ISA order in light of supercat comment here
- [Why didn't the 6503 have increment/decrement opcodes for A?](https://retrocomputing.stackexchange.com/questions/13023/why-didnt-the-6502-have-increment-decrement-opcodes-for-a)
### Assembler
### 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
- [ ] Replace with running `./cpu.js` and `./assembler.js` diretly
## Simulator
### Assembler
- [ ] Return pure machine code when printing to stdout (and not in debug mode)
- [ ] Pass asm line thru to cpu to print when debugging
- [x] asm: create a second array that stores every line with code (nor blank or comment only lines) + its line number
- [ ] asm: pass that array as a return value
- [ ] cpu: accept an optional debugging array, print line # and statement
- [ ] Validate labels
### CPU
- [ ] Add a mode that prints the display as text, but still animates
- [ ] Make single-stepping work with simulated keypad
- [ ] Allow running pre-compiled machine code
I'm thinking of an interface like this...
$ ./cpu.js -mc code.bin
$ ./cpu.js code.asm
$ ./cpu.js --debug code.asm
Full list of flags I want:
-d --debug
-s --singlestep
-p --prettydisplay
-mc --machinecode
- Display (hex) numbers
- Greater than
- Minimal LOGO-ish interpreter for turtle graphics
### 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
## Closed