75 lines
1.6 KiB
Markdown
75 lines
1.6 KiB
Markdown
# 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) |