I figure that someone here probably knows why CBM's basic RAM always
started at $xx01 addresses, like $0801, $0401, $1001, $1c01 instead of $0800, $0400, $1000, $1c00?
What is sitting in that one byte, or what role is it playing?
I am not sure about the other systems, but on the C64 the Byte at $800 indicates your intention to use the following bank for Basic. If you store anything other that 0 in that Byte, then Basic programs will not run.
* Origin: Future World II - fw2.cnetbbs.net:6800 (1:130/230)