Memory Configuration The signals /CharEn, /HiRam and /LoRam are used to select the memory configuration. They can be set using the processor port $01. The following logic applies (if expression on the right side is true, area mentioned on the left side will be activated. Otherwise, there is RAM): Kernal ROM = (/HiRam) Basic ROM = (/LoRam AND /HiRam) That means, you cannot switch in Basic when the Kernal is off. Please note also, that an EPROM starting at $8000 will be disabled when you switch off the Basic ROM. Char. ROM = ((NOT (/CharEn)) AND (/LoRam OR /HiRam)) I/O-Area = (/CharEn AND (/LoRam OR /HiRam)) These two areas can just be activated, if at least one other signal is high. Then /CharEn selects either Char. ROM or I/O-Area. As a result, we get the following possibilities for the corresponding bits of $01: Bit+-------------+-----------+------------+ 210| $8000-$BFFF |$D000-$DFFF|$E000-$FFFF | +---+---+-------------+-----------+------------+ | 7 |111| Cart.+Basic | I/O | Kernal ROM | +---+---+-------------+-----------+------------+ | 6 |110| RAM | I/O | Kernal ROM | +---+---+-------------+-----------+------------+ | 5 |101| RAM | I/O | RAM | +---+---+-------------+-----------+------------+ | 4 |100| RAM | RAM | RAM | +---+---+-------------+-----------+------------+ | 3 |011| Cart.+Basic | Char. ROM | Kernal ROM | +---+---+-------------+-----------+------------+ | 2 |010| RAM | Char. ROM | Kernal ROM | +---+---+-------------+-----------+------------+ | 1 |001| RAM | Char. ROM | RAM | +---+---+-------------+-----------+------------+ | 0 |000| RAM | RAM | RAM | +---+---+-------------+-----------+------------+ ||| /CharEn|/LoRam | /HiRam |