Hi,
I thought I would type up a few paragraphs from "The Amiga System Programmer's
Guide" published by Abacus, ISBN 1-55755-034-4 which relate to this.
Amiga 1000 WOM
--------------
The Amiga 1000 models have additional special features. Owners of these
machines may be surprised that we keep talking about a Kickstart ROM, even
though the Amiga 1000 loads the Kickstart from disk when it's turned on. The
situation with the Amiga 1000 was the following: The hardware was done, the
machines were ready to be sold, but the software in the form of the Kickstart
operating system wasn't complete and still had some bugs in it. A decision was
made to provide the Amiga with special RAM which would be loaded with the
operating system when the computer was turned on. After this, the Amiga would
prevent write accesses to this RAM, making it behave like a 256K ROM.
Commodore called the WOM, or Write-Once Memory. Now the first Amigas could be
delivered with the incomplete Kickstart 1.0. After the new Kickstart versions
were complete (1.1 and 1.2), the Amiga owner simply had to insert new
Kickstart disks.
Since this WOM is naturally more expensive than a simple ROM, the Amiga 500 and
2000 are not equipped with it, since by then the final Kickstart (V1.2) was
finished.
The WOM raises some questions, however: Where is the program which loads
Kickstart? How can Kickstart be changed, since it is RAM?
Normally the Amiga 1000 operates just like the newer models, with Kickstart at
$FC0000 to $FFFFFF with a mirror at $F80000. If you try to write into
Kickstart, nothing happens. Write access is not possible. The boot ROM which
loads Kickstart is also nowhere to be found in memory.
The whole process is controlled by the reset line. After a reset, whether by
turning the computer on, by pressing the Amiga, Commodore and Control keys or
by executing a 68000 reset command, the memory configuration changes.
Reset
-----
Immediately after a reset, the boot ROM is at $F80000 (since on a reset the OVL
line is set, the reset vector also comes from the boot ROM) and it is possible
to write into Kickstart. It can be changed as desired! This condition holds
only until you try to write something in the boot ROM range from $F80000 to
$FBFFFF. Then the boot ROM is masked out again and the Kickstart memory is
write-protected. In short:
Reset keeps the Kickstart WOM in memory and enables the boot ROM.
A write access to an address between $F80000 and $FBFFFF disables the write
protection and the boot ROM. [This should read "enables the write protection
and disables the boot ROM."]
-- Mark