Most Amiga computers have Kickstart (the core of the operating system) on ROM. But the original Amiga 1000 instead loaded Kickstart from disk. It had boot ROM that would run some self tests and then load Kickstart from disk into a special memory area, the Write Controlled Store, or WCS. Then it was able to set the WCS to be read only, and proceed to boot Kickstart.
The boot process on an Amiga with a ROM Kickstart (e.g. A500) is well known. The ROM is mapped to 0xF80000 in the address space. As the Amiga comes out of reset, a signal from one of the CIA chips to Gary makes Gary alter the address decoding so that the ROM is additionally mapped at memory address zero (hiding an area of RAM). The 68000 reads the initial PC from low memory and starts executing code; the code jumps to the "real" ROM location around 0xF80000, and switches the CIA-Gary signal so that the ROM mirror at location zero disappears and ordinary memory appears again.
However there seems to be very little information floating around about the early boot process for the Amiga 1000 and I'm curious to know how the boot ROM and WCS change things. In particular:
- What does the memory map look like when an Amiga 1000 powers on? Where is the boot ROM and where is the WCS?
- What's the programmatic interface to the WCS? Does it appear as normal RAM in this early boot stage, meaning the CPU can simply copy the Kickstart data there, or is there a different way of loading it?
- How is the WCS switched to read-only mode, and what exactly happens when it does?
- Is it possible to access the boot ROM or WCS after Kickstart has booted?