base:memory_management
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
base:memory_management [2015-04-17 04:32] – external edit 127.0.0.1 | base:memory_management [2018-05-29 07:35] – white_flame | ||
---|---|---|---|
Line 3: | Line 3: | ||
(Someone please integrate the texts on this page into one...) | (Someone please integrate the texts on this page into one...) | ||
- | Oswald/ | + | ====== Without Cartridges ====== |
- | the c64 has 64k ram overlapped with ROMs and IO register areas. | + | The low 3 bits of $01 control |
- | memory | + | ^Name ^Bit ^Region ^0 ^1 ^Notes^ |
+ | |LORAM|0|$A000-BFFF|RAM|BASIC|If KERNAL isn't mapped in, then BASIC won' | ||
+ | |HIRAM|1|$E000-FFFF|RAM|KERNAL| | | ||
+ | |CHAREN|2|$D000-DFFF|CHARROM|I/ | ||
- | < | + | * All other memory locations ($0000-9FFF, $C000-CFFF) always map to RAM. |
- | 0000-A000 RAM | + | |
- | A000-C000 RAM _OR_ BASIC ROM | + | |
- | C000-D000 RAM | + | |
- | D000-E000 RAM _OR_ IO _OR_ CHAR ROM | + | |
- | E000-FFFF RAM _OR_ KERNAL ROM | + | |
- | </ | + | |
- | Memory address | + | The mappings from combining these 3 bits are listed below. |
- | < | + | ^$01 value ^$A000-BFFF ^$D000-DFFF ^$E000-FFFF |
- | $01=$37 -> Basic Rom visible | + | |$30 +48 %000 |RAM |RAM |RAM| |
- | $01=$36 -> RAM visible A000-C000, IO visible at D000-E000, Kernal Rom Visible at E000-FFFF | + | |$31 +49 %001 |RAM |CHARROM |RAM| |
- | $01=$35 -> RAM visible A000-C000, IO visible at D000-E000, | + | |$32 +50 %010 |RAM |CHARROM |KERNAL| |
- | $01=$34 -> RAM visible A000-C000, | + | |$33 +51 %011 |BASIC |CHARROM |KERNAL| |
- | $01=$33 -> RAM visible A000-C000, CHAR ROM at D000-E000, | + | | |
- | </code> | + | |$34 +52 %100 |RAM |RAM |RAM| |
+ | |$35 +53 %101 |RAM |I/O |RAM| | ||
+ | |$36 +54 %110 |RAM |I/O |KERNAL| | ||
+ | |$37 +55 %111 |BASIC |I/O |KERNAL|Default| | ||
- | thats all. | + | The cartridge port also has the GAME and EXROM pins, which meddle with the memory map even further. See the Programmer' |
+ | |||
+ | - White Flame | ||
- | Char Rom behaves weird, as from the processors point of view normally its invisible, and if you turn it on the CPU " | ||
===== Related: from Graham' | ===== Related: from Graham' |
base/memory_management.txt · Last modified: 2022-04-17 05:36 by white_flame