From 245da348ea2e4a2ee06ef78ae59c40bf39066e6f Mon Sep 17 00:00:00 2001 From: n loewen Date: Tue, 15 Aug 2023 15:38:09 +0100 Subject: [PATCH] Docs: Add dev notes on memory bank-switching --- notes/2023-08-15--dev-notes.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/notes/2023-08-15--dev-notes.md b/notes/2023-08-15--dev-notes.md index 29533c4..ee9e88c 100644 --- a/notes/2023-08-15--dev-notes.md +++ b/notes/2023-08-15--dev-notes.md @@ -8,8 +8,9 @@ - [ ] 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 - - [ ] bank-switching flag in 0 page - [ ] Implement any changes necessary for writing a program? - [ ] Write a program @@ -19,4 +20,18 @@ 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. \ No newline at end of file +> 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 \ No newline at end of file