User Tools

Site Tools


sd:appendix_3_memory_map

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sd:appendix_3_memory_map [2026/04/14 06:09] – created appledogsd:appendix_3_memory_map [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
 += Appendix 3. Memory Map
  
 +This is Appendix 3 of the [[SD-8516 Programmer's Reference Guide]].
 +
 +== Memory Map
 +=== BANK 0 – User RAM & System Variables ($00,0000–$00,FFFF)
 +
 +^ Address Range ^ Size ^ Name / Area ^ Description / Notes ^
 +| $000000–$00FFFF | 61,184 B | User RAM | General purpose free RAM |
 +| $000100–$00FF00 | ~64 KB | BASIC Program Area | Main BASIC program storage (see int0x05h.sda) |
 +
 +**Total free in Bank 0:** ≈65,280 bytes
 +
 +=== BANK 1 – KERNAL ROM & HARDWARE ($010000–$01FFFF)
 +
 +^ Address Range ^ Size ^ Name / Symbol ^ Description / Notes ^
 +| $010000–$0100FF | 256 bytes | Kernal Variables | Reserved for Kernal Variables\\ //(ex. HEXMON uses MON_ADDR=$0100D0, MON_ADDR2 = $0100D3 and MON_MODE=$0100D6).// |
 +| $010100–$013FFF | ~16 KB | Kernal Code | Main KERNAL routines + limited expansion space |
 +| $014000–$01DBFF | 40,960 bytes | RESERVED | Reserved for future KERNAL expansion |
 +| $01DB00–$01DBFF | 256 bytes | PATB_TBUF | ROM BASIC tokenizer scratch space (currently underused?) |
 +| $01DC00–$01DFFF | 1,024 bytes | Stack Space | Hardware stack (grows down from $01DFFF; overflow if SP < $01DC00) |
 +| $01E000–$01E7FF | 2,048 bytes | VM1_CHAR_ROM | PETSCII font data (copied from character ROM at initialization) |
 +| $01E800–$01E8FF | 256 bytes | Kernal Workspace | Reserved for KERNAL internal use |
 +| $01E900–$01EBFF | 768 bytes | INT_VECTOR_TABLE | Interrupt vector table (256 vectors × 3 bytes = 24-bit addresses, little-endian) |
 +| $01EC00–$01ECFF | 256 bytes | SCRATCH_BUFFER | General-purpose scratch space (used by INPUT, expression eval, parsing, etc.) |
 +| $01ED00–$01EDFF | 256 bytes | INPUT_BUFFER | Input line buffer (also used as part of PATB system variables) |
 +| $01EE00–$01EEFF | 256 bytes | PATB_VARIABLES + stacks etc. | PATB_BASIC variables, expression stack, GOSUB/FOR stacks, program pointers |
 +| $01EF00–$01EF0B | 12 bytes | Video System Registers | VIDEO_MODE, VIDEO_COLUMNS, VIDEO_ROWS, VIDEO_CHAR_WIDTH/HEIGHT, VIDEO_CLOCK |
 +| $01EF0C–$01EF0F | 4 bytes | Cursor System | CURSOR_BLINK, CURSOR_STATE, CURSOR_X, CURSOR_Y |
 +| $01EF10–$01EF31 | 34 bytes | Keyboard System | KBD_STATUS_FLAGS, KEYBOARD_COUNT, KEYBOARD_BUFFER (32 bytes) |
 +| $01EF32–$01EF3A | 9 bytes | Input/Syscall System | INPUT_MODE, INPUT_LENGTH, SYSCALL_STATUS/ADDR, KBPC (BASIC program counter) |
 +| $01EF3B–$01EF42 | 8 bytes | FREE | Reserved for future use |
 +| $01EF43–$01EF49 | 7 bytes | Extended Video System | VIDEO_COLOR_MODE, VIDEO_TEXT_BASE, VIDEO_COLOR_BASE |
 +| $01EF4A–$01EF7F | 54 bytes | FREE | Reserved for hardware expansion |
 +| $01EF80–$01EFBF | 64 bytes | Sound System (4 voices) | see: [[Appendix 5 Sound System|SD-450 Sound System]] |
 +| $01EFC0–$01EFFF | 64 bytes | FREE | Reserved for sound system expansion |
 +| $01F000–$01F3E7 | 1,000 bytes | VM1_TEXT_BASE | Video Mode 1 -- 40×25 text character map |
 +| $01F3E8–$01F7FF | 1,048 bytes | FREE (text area) | |
 +| $01F800–$01FBE7 | 1,000 bytes | VM1_COLOR_BASE | Video Mode 1 -- 40×25 color attribute map |
 +| $01FBE8–$01FFFF | 1,048 bytes | FREE (color area) | |
 +
 +=== BANK 2 -- USER/VIDEO RAM ($020000-$02FFFF)
 +
 +^ Address Range ^ Size ^ Name / Area ^ Description ^
 +| $020000–$02FFFF | 65,536 B | User RAM | Mode 1: Free |
 +| $020000–$02FFFF | 65,536 B | User RAM | Mode 2: Free |
 +| $020000–$02FFFF | 65,536 B | User RAM | Mode 3+: Reserved |
 +
 +=== BANK 3 -- USER RAM ($030000-$03FFFF)
 +
 +^ Address Range ^ Size ^ Name / Area ^ Description ^
 +| $030000–$03FFFF ^ 65,536 B | User RAM | free |
 +
 +=== Quick Free Space Summary
 +
 +^ Bank ^ Free Bytes ^ Notes ^
 +| 0 | 65,280 | Mostly user RAM + small BASIC area |
 +| 1 | ~40,960 | Reserved for future KERNAL expansion |
 +| 2 | 65,536 | Mode 1 and 2: Free / Graphics Mode 3 and up: Reserved |
 +| 3 | 65,536 | Completely free |
 +| **Total** | **237,312** | Available for user programs & data |

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki