You are not logged in.
I've tried looking around and all I get is 'reserved space'. But there must have been some reason it's there, or we could have had twice as much RAM to use! Does anyone know why Nintendo actually put it in there?
It’s a bug in the hardware. Some of the address lines are tied to others, so reading from ECHO gives you data from other parts of memory.
They could have changed it, but that would have broken backwards compatibility (from what I’ve heard, some games did read from echo, even though Nintendo warned against it). Later, the GBC did get more memory without sacrificing backwards compatibility, by adding more WRAM banks.
Ah, thanks man. I guess they just didn't want to admit to the error when they told everyone it was prohibited.
It's not an error o.o" It's actually just what it is, an are that was not supposed to be used.
This is basically what happens when you do minimal address decoding with don't-care states. This just happens to be one of them and whoever made the map decided that one of the higher address bits was not needed for decoding. You kind of have a very childish approach to this.
7654| Map to ------------------------- 0XXX| Cartridge (ROM) 100X| VRAM 101X| Cartridge (SRAM) 11XX| WRAM 1110| OAM 1111| CPU
It just so happens that WRAM addresses are decoded using address bits 4:0 only. Which is why E0 ^= C0 under this assumption.