37 lines
1.1 KiB
Markdown
37 lines
1.1 KiB
Markdown
# Dev notes — 2023-08-15
|
||
|
||
## Goals for today
|
||
|
||
- [x] Review planned changes to simulator
|
||
- [x] 'opcodes' and 'operands'
|
||
- [x] fix $00 contains $20 bug
|
||
|
||
- [ ] Review planned changes to the system
|
||
- [x] CHP, CFC -> FHP, FTG -- dev note 2023-08-07
|
||
- [/] bank-switching flag in 0 page
|
||
- added notes below, but decided to leave implementation for another day
|
||
- [ ] ? 5x5 display
|
||
|
||
- [ ] Implement any changes necessary for writing a program?
|
||
- [ ] Write a program
|
||
- [ ] LOGO turtle on 5x5?
|
||
|
||
## Overflow flag
|
||
|
||
Ken Shirriff, [The 6502 overflow flag explained mathematically](https://www.righto.com/2012/12/the-6502-overflow-flag-explained.html):
|
||
|
||
> A common definition of overflow is `V = C6 xor C7`. That is, overflow happens if the carry into bit 7 is different from the carry out.
|
||
|
||
## Bank switching
|
||
|
||
### Planned memory map
|
||
|
||
- `00-0F` - display (4x4)
|
||
- `10-1F` - keypad? (details TBD)
|
||
- `20 ` - pointer to display memory
|
||
- `21 ` - pointer to keypad memory
|
||
- `22 ` - pointer to memory bank
|
||
- `23-2F` - reserved for future use / variable storage
|
||
- `30 ` - initial value for IP
|
||
- `30-80` - free
|
||
- `80-FF` - free, can be bank-switched |