From c37d0a68ad42869810eaa230b954b54864d450b4 Mon Sep 17 00:00:00 2001 From: THEON-1 Date: Thu, 23 Oct 2025 22:15:02 +0200 Subject: [PATCH] changed memory layout, ram needs to be where the stack will be --- notes/memory-layout.md | 26 ++++++++++++++------------ notes/monochrome-video.md | 1 + 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/notes/memory-layout.md b/notes/memory-layout.md index 02640d6..9b6c3cf 100644 --- a/notes/memory-layout.md +++ b/notes/memory-layout.md @@ -4,28 +4,30 @@ | start | end | use | | :----- | :----- | :---------------------- | -| 0x8000 | 0x8000 | bank switching register | -| 0x8001 | 0xDFFF | RAM | +| 0x0000 | 0x5FFE | RAM | +| 0x5FFF | 0x5FFF | bank switching register | +| 0x6000 | 0xDFFF | --- to be mapped --- | | 0xE000 | 0xFFFF | ROM | # Default (0X00) | start | end | use | | :----- | :----- | :-- | -| 0x0000 | 0x7FFF | I/O | +| 0x6000 | 0xDFFF | I/O | # [Persistent Memory](./persistent-memory.md) (0x01) | start | end | use | | :----- | :----- | :------ | -| 0x0000 | 0x7FFF | storage | +| 0x6000 | 0xDFFF | storage | # [Monochrome Video](./monochrome-video.md) (0x0E, 0x0F) -| start | end | use | -| :----- | :----- | :--------------- | -| 0x0000 | 0x4AFF | VRAM | -| 0x6000 | 0x7FFF | character memory | +| start | end | use | +| :----- | :----- | :---------------- | +| 0x6000 | 0xAAFF | VRAM | +| 0xC000 | 0xDFFF | auxilliary memory | # [Color Video](./color-video.md) (0x10-0x19) -| start | end | use | bank | -| :----- | :----- | :--- | :-------- | -| 0x0000 | 0x7FFF | VRAM | 0x10-0x18 | -| 0x0000 | 0x3FFF | VRAM | 0x19 | +| start | end | use | bank | +| :----- | :----- | :---------------- | :-------- | +| 0x6000 | 0xDFFF | VRAM | 0x10-0x18 | +| 0x6000 | 0x9FFF | VRAM | 0x19 | +| 0xA000 | 0xDFFF | auxilliary memory | 0x19 | diff --git a/notes/monochrome-video.md b/notes/monochrome-video.md index cccb556..3f1ced4 100644 --- a/notes/monochrome-video.md +++ b/notes/monochrome-video.md @@ -8,6 +8,7 @@ - split in half - each half into page (0x0000 - 0x4AFF) - map character memory into top (0x6000 - 0x7FFF) +- offset of 0x6000 into memory bus -> (0x6000 - 0xAAFF), (0xC000 - 0xDFFF) ## Design - derive CS from bank register, leave LSB free -> wire to MSB of VRAM address