The arrangement
of the EPROM
We are treating the EPROM as two parts, 2K each.
It might make sense to use two 2K EPROMs here, but
it doesn't take much longer to program 4K as 2K, and using
just the one EPROM reduces the chip count and simplifies address
decoding.
Therefore: &F000 to
&F7FF Application ROM &F800 to &FFFF BIOS
ROM
These divisions are to
be set in stone. Just work it like a partitioned harddisc,
okay?
The Application
Code
Once
Amélie
has
initialised, control is passed to the first byte of the "application
code".
This
is responsible for two things:
Firstly it should do whatever it
is that this Amélie actually does (i.e.
manage the heating, home security, whatever).
Secondly, if a serial interface is required
for set-up purposes, then this should 'talk' to the serial port (via
the BIOS) and provide the necessary prompts and reading/writing of memory
locations.
It is not always necessary to have
a serial communication, perhaps a small keypad (a
BCD-to-binary chip will convert seven keys into three lines
which can be read using a VIA) would be all that is
required.
There is no further
description of the application code as it is entirely
application-dependent.
The
BIOS
Amélie does
not have an operating system. She
has a BIOS. The Basic Input/Output System takes care of
background functions such as the clock tick and basic
interrupt handling and vectoring.
The BIOS also offers a collection
of routines to 'talk' to the hardware; rather like a callable
library.
When
Amélie is started or reset, the BIOS is called at
&F800. This code sets up
the initial environment, resets the hardware, tests memory
(etc). After all of this has been completed, control passes
to &F000
which is assumed to be the first instruction of the application
code.
There is
currently no further description of the BIOS code -
it is hard to discuss something that doesn't
exist...
(it is anticipated that, in the future,
the BIOS API will be described here - in
detail) |