Welcome, Guest. Please login or register.

Author Topic: Description of reset 'sequence'  (Read 5936 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Thomas

Re: Description of reset 'sequence'
« on: June 24, 2005, 08:12:12 AM »

There is a detailed description in the RKRM:Libraries in the section about expansion.library I think. And there are commented ROM disassemblies around. At least I had one of Kickstart 1.3.

From memory I'd describe it like this:

First thing is to set the power LED bit in the CIA. Then it sets the screen background color to dark grey or something. Then it checks the ROM checksum. If it is incorrect -> make the screen red and guru. If it is ok -> check if there is a valid pointer to exec.library base in address 4. If it is (warm reboot) -> call the resident modules. If it is not (cold reboot) -> find the amount of chip ram by a ram test (if it is less than 256KB -> make the screen green and guru), find the amount of fast ram by I don't know what (IMHO autoconfig is not yet active), create the exec.library base, initialise expansion.library and do the autoconfig stuff to include all the expansions.

Now we are back from both cold and warm reboot and have a list of bootable devices. Check for a bootblock from highest to lowest priority, load and execute the boot block. The boot block initialises dos.library (at least for floppy disks, HDDs work different).

There is not a big difference between cold and warm reboot. It just reuses the exec.library if it is still there. And exec.library base may contain a list of resident memory areas which are allocated automatically and a list of resident modules which are called automatically.

Bye,
Thomas