Kickstart (Amiga)
From Wikipedia, the free encyclopedia
Kickstart is a commonly used term for the bootstrap of the Amiga computers developed by Commodore.
The Kickstart contains the code needed to boot standard Amiga hardware and many of the core components of AmigaOS. The function of Kickstart is comparable to the BIOS plus the main Windows kernel in IBM PC compatibles. However, Kickstart provides more functionality available at boot time than would be typically expected on PC, for example, the full windowing environment.
Contents |
[edit] Versions
Commodore's AmigaOS was formed of both Kickstart ROM chips and software provided on disk (with the software portion often termed as Workbench). For most AmigaOS updates the Kickstart version number was matched to the Workbench version number. Confusingly, Commodore also used internal revision numbers for Kickstart chips. For example, there were several Kickstart revisions designated as version 2.0 [1].
[edit] Version Summary
Kickstart version | Retailed with Amiga models | Launch date | ROM capacity |
---|---|---|---|
1.0 - 1.1 | Amiga 1000 | 1985 | 256 kB |
1.2 | Amiga 500, Amiga 2000 | 1987 | 256 kB |
1.3 | Amiga 500, Amiga 2000, Commodore CDTV | - | 256 kB |
2.0 | Amiga 500+, Amiga 600, Amiga 2000, Amiga 3000 | 1990 | 512 kB |
3.0 | Amiga 1200, Amiga 4000 | 1992 | 512 kB |
3.1 | Amiga CD32, Amiga 1200, Amiga 4000T | 1993 | 512 kB or 1 MB |
On the first Amiga model, the A1000, Kickstart 1.x was not stored on ROM chips but loaded from disk into a special section of memory called the writable control store (WCS). In later Amiga models Kickstart was embedded in a ROM chip. The Amiga 1000 could also be modified to take these chips.
Kickstart was stored in 256 kB ROM chips for releases prior to AmigaOS 2.0 with later releases using 512 kB ROM chips containing additional and improved functionality. The Amiga CD32 featured a 1 MB ROM (Kickstart 3.1) with additional firmware and an integrated file system for CD-ROM.
AmigaOS 2.1 was a pure software update and did not have matching Kickstart ROM chips. Workbench 2.1 ran on all Kickstart ROMs of the 2.0x family. Later releases of AmigaOS (3.5 and 3.9) were also software only and did not come with a matching Kickstart upgrade but instead required Kickstart 3.1.
The Commodore CDTV featured additional firmware ROMs which are not technically part of the Amiga Kickstart. The CDTV's original firmware ROMs must be upgraded in order to install a Kickstart version later than 1.3.
[edit] Function
Upon start-up or reset the Kickstart performs a number of diagnostic and system checks and then initializes the Amiga chipset and some core OS components. It will then examine connected boot devices and attempt to boot from the one with the highest boot priority. If no boot device is present a screen will be displayed asking the user to insert a boot disk - typically a floppy disk.
The Kickstart contains many of the core components of the Amiga's operating system, such as:
- Exec - the Amiga's multi-tasking kernel
- Intuition - functionality for GUI, screens, windowing and handling of input/output devices
- Autoconfig - functionality to automatically initialize or boot from compliant expansion hardware
- Floppy disk device driver and file system to read and boot from floppy disk
- DOS library for file access and handling
- AmigaDOS - Command Line Interface (CLI) functionality and a number of core CLI commands
- Graphics library for basic drawing and raster graphics functions using the native Amiga chipset
- Audio device driver for the native Amiga sound hardware
- Device drivers for the Amiga keyboard and mouse/gameports
From AmigaOS release 2.0 onwards Kickstart also contained device drivers to boot from devices on IDE and SCSI controllers, support for PC Card ports and various other hardware built into Amiga models.
[edit] Usage
In general, to run a specific Workbench version a Kickstart with a matching or greater version number is required.
It is not generally possible to boot directly into the Workbench windowing environment from Kickstart alone. Though much of the functionality required for Workbench is contained in Kickstart some disk based components are needed to launch it.
From release 2.0 onwards it is possible to enter a boot menu by holding down both mouse buttons at power on or reset. This allows the user to choose a boot device, set parameters for backwards compatibility and examine Autoconfig hardware.
With third party software, it is possible to use an alternate Kickstart to the version stored in the embedded ROM chip. Such software allows a Kickstart version to be loaded from file into RAM - for example Kickstart 1.3 may be loaded in order to run old software incompatible with Kickstart 2.0 or later. Kickstart switching hardware was also available which allowed a user to have more than one set of Kickstart ROM chips installed in the computer and some mechanism to switch between them before power on.
A MMU-enabled Amiga is able to make a copy of Kickstart from the embedded ROM chip (or from file) into RAM and pass control to it at start-up. This is often preferable as RAM access times are significantly faster than ROM, particularly on expanded systems. At subsequent resets the copy of Kickstart is re-used, reducing boot time and allowing faster access and execution of Kickstart functionality. An Amiga 3000 could fully cold-boot in 11 seconds and warm-boot in 7 seconds.