diff --git a/2023-09-11.md b/2023-09-11.md index 69644bb..df11dd2 100644 --- a/2023-09-11.md +++ b/2023-09-11.md @@ -1,2 +1,75 @@ # 2023-09-11 — Dev notes +## ISA + +### To do + +- Remove the END instruction, and use `$00` for NOP + +### Goals + +I want to keep a basic "bare minimum" set at `$00`-`$0F`, since that serves the educational goal. + +That leaves the high byte free for adding more complex/convenience features. + +### Possible additions + +#### Things that are hard to do otherwise + +- bitwise operations + - rotate left + - rotate right + +#### Conveniences + +- multiplication +- division +- add with carry +- sub with borrow +- comparisons + - less than + - greater than + +### Layout idea + +Maybe try to roughly map additional features onto the same areas as the basic ones: + +| x | Mnm | Mnm | +|---|-----|-----| +| 0 | NOP | | +| 1 | STO | ROL | +| 2 | STO | ROR | +| 3 | LDA | ARL | +| 4 | LDA | ARR | +| 5 | ADD | MUL | +| 6 | ADD | MUL | +| 7 | SUB | DIV | +| 8 | SUB | DIV | +| 9 | HOP | HLT hop < | +| A | HOP | HLT hop < | +| B | JMP | HGT hop > | +| C | JMP | HGT hop > | +| D | FTG | | +| E | FHP | | +| F | | | + +### Extended system + +- Additional 'B' accumulator?? (cf. motorola 6800) + +### Earlier notes + +- [2023-08-23](2023-08-23.md#isa---instruction-set-layout-notes) +- [2023-09-04](2023-09-04.md#isa) +- [2023-09-07](2023-09-07.md#isa) + +## Pinout + +- [ ] TODO: review highlights in Petzold book + +### Earlier notes + +- [2023-09-07: 1802 note](2023-09-07.md#1802-note) +- [2023-09-07: pinout brainstorm ](2023-09-07.md#cpu-pinout-brainstorm) +- [2023-08-30: 1802](2023-08-30.md#1802) +- [2023-09-04: screen memory as DMA area](2023-09-04.md#screen-memory-as-dma-area-general-purpose) \ No newline at end of file