diff --git a/issues/issues.md b/issues/issues.md index 818bfd9..f3d648a 100644 --- a/issues/issues.md +++ b/issues/issues.md @@ -2,20 +2,23 @@ ## Open -### #1 - Improve CLI interface +### #4 - Add single stepping -I'm thinking of an interface like this... +Q: should this be part of a more complex monitor interface? See note from [2023-08-31](../2023-08-31.md#microprocessor-trainer-style-keypad) - $ ./cpu.js -mc code.bin - $ ./cpu.js code.asm - $ ./cpu.js --debug code.asm +Or, a simpler option would be to add a command line flag: -Full list of flags I want: - - -d --debug -s --singlestep - -p --prettydisplay - -mc --machinecode + +(Adapted from [#1](#1---improve-cli-interface)) + +### #3 - Add plain-text display output + +With a command line option on `cardiograph.js`: + + -p, --prettydisplay + +(Adapted from [#1](#1---improve-cli-interface)) ### #2 - Startup: Execute `JMP $FF` @@ -43,4 +46,19 @@ More step-by-step: - Load ROM data into memory at CPU startup (`startCPU(RAM, ROM)`) -## Closed \ No newline at end of file +## Closed + +### #1 - Improve CLI interface + +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 \ No newline at end of file diff --git a/issues/todo.md b/issues/todo.md index f69af32..66ba41b 100644 --- a/issues/todo.md +++ b/issues/todo.md @@ -4,52 +4,26 @@ This is a quick todo list. For extended commentary, see [issues](issues.md). -## Open +## Todo -### Todo - -- Finish WIP on run-cli arg parsing -- Pass CYCLE_COUNT as a cli arg - -- (cpu) !! Fix overflow flag +- Add support for single stepping (cf. [#4](issues.md#4---add-single-stepping)) +- Re-build support for plain-text output (cf. [#3](issues.md#3---add-plain-text-display-output)) +- Pass `defaultCycleLimit` setting as a cli arg - Add a flag for bank-switching to the ~zero-page -- 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 +## Features -- (cpu) allow arrow keys, too - [fix] (cpu) Execute `JMP $FF` on startup / Implement ROM — see [#2](issues.md#2---startup-execute-jmp-ff) - (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 +- (cpu) Consider adding a VIP-style keypad-based machine code monitor - [Extended system (secret bonus operations)](../notes/2023-08-07.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 +... -### Testing +## Test programs - Display (hex) numbers - Greater than -- Minimal LOGO-ish interpreter for turtle graphics - - -## Closed - -- 2023-08-26 - [fix] (logging) - 'undefined operand' situation is caused by assembling to an initial IP of $1C, which is an odd number -- (assembler) Pass asm line thru to cpu to print when debugging - - -## Abandoned - -- (assembler) Return pure machine code when printing to stdout (and not in debug mode) \ No newline at end of file +- Minimal LOGO-ish interpreter for turtle graphics \ No newline at end of file