The
memory is split into three distinct sections, as can be seen
in the memory map
:
-
Read/write memory (RAM) Because we don't want
the hassles associated with refreshing dynamic parts, I
have chosen to go for a 2K static RAM. This provides us
with 2048 bytes of memory. The
first 768 bytes are claimed by Page Zero, the
processor stack, and the serial buffering. The next 256
bytes is reserved for the application code. The
remaining 1024 bytes is, currently, unallocated. It can be
used by the application if larger data storage
requirements are necessary.
-
I/O The Input/Output devices are memory-mapped,
so reading and writing bytes in the memory
map will read and write registers in
the hardware devices; the 6522
VIA and the 6551
ACIA.
-
Read-only memory (ROM) For our purposes, we
shall be comitting the application code and the BIOS into
a single 4K EPROM. Within Amélie, the application
and the BIOS are logically considered separate, and should
be thought of as two distinct blocks (within two 2K
EPROMs). Practically, this is nonsense, it is so much
easier to include the two parts within the one EPROM.
Smaller component count, less address
decoding...
For
information on the address decoding logic, please refer to the memory map
document. |