From d48ead819f5d3b924cebaa4bdbacaa173521192d Mon Sep 17 00:00:00 2001 From: n loewen Date: Mon, 21 Aug 2023 14:46:25 +0100 Subject: [PATCH] (docs) readme - Change memory map + Add section on CPU start-up Memory map: - Change to a 5x5 display - Remove pointer to keypad (I can't see why you would want to relocate it) - Add placeholder for bank-switching flag - Remove `$30` as initial value of IP - that's covered (differently) by the new CPU start-up section --- readme.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/readme.md b/readme.md index 58762ac..30b70b9 100644 --- a/readme.md +++ b/readme.md @@ -67,16 +67,19 @@ With single stepping + verbose debugging output: C = 0 - (bitwise, `0000 = NZOC`) -## Memory map +## CPU start-up -- `00-0F` - display (4x4) -- `10-19` - reserved for future use -- `20 ` - keypad - value of the most recent keypress -- `21 ` - pointer to display memory -- `22 ` - pointer to keypad memory -- `23-2F` - reserved for future use / variable storage -- `30 ` - initial value for IP -- `30-FF` - free +When starting up, the CPU executes a `JMP $FF`. + +Put differently: it starts executing instructions at the address contained in `$FF`. + +## Cardiograph memory map + +- `00-19` - display (5x5) +- `1A ` - pointer to display memory +- `1B ` - keypad: value of latest key pressed +- `1C ` - reserved for future use (bank switching flag) +- `1D-FF` - free ## Peripherals