overview components memorymap downloads possibilities contact
 
ram io eprom
The Amélie project
The memory map - EPROM area
Doesn't "EPROM" sound like something from outer space? Like, as the SETI project scans the skies looking for Signs of Extra-Terrestrial Intelligence (like finding intelligence around this hunk of rock was maybe asking too much), it might stumble across a big ol' EPROM lurking around the region of Sirius (no! you can't be sirius maaan!). But you don't need to have bothered reading this, it has nothing to do with Amélie and is merely a flimsy excuse for including some cute clip-art... :-)

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)

© 2005 Rick Murray