Kickstart (Amiga)

Last updated
Kickstart 3.0 ROM chips installed in an Amiga 1200 Amiga 1200 Kickstart 3.0 ROMs.jpg
Kickstart 3.0 ROM chips installed in an Amiga 1200
Kickstart 1.2 floppy disk Kickstartdiskette-1.2.jpg
Kickstart 1.2 floppy disk

Kickstart is the bootstrap firmware of the Amiga computers developed by Commodore International. Its purpose is to initialize the Amiga hardware and core components of AmigaOS and then attempt to boot from a bootable volume, such as a floppy disk. Most Amiga models were shipped with the Kickstart firmware stored on ROM chips.

Contents

Versions

The default boot screen displayed under Kickstart 1.3 Kickstart1 3.png
The default boot screen displayed under Kickstart 1.3

Commodore's AmigaOS was formed of both the Kickstart firmware and a software component 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]

Version summary

Kickstart versionV-numberRetailed with Amiga modelsLaunch dateROM capacity Autoconfig present in ROM [2] Early boot menuBoot from PCMCIA and ATAAutodetect memory
<0.4 [3] <V24 [4] Lorraine, first prototype [5]    1983 [6] 64 KB [5] NoNoNoNo
0.4 [7] V23 V24 [4] Amiga "Velvet" [7]    1984 [7] 128 KB [7] NoNoNoNo
0.6, 0.7, 0.9 [8] V26 V27 V29 [2] Amiga 1000 Beta1985256 KBNoNoNoNo
1.0 [9] (none) [2] Amiga 1000 1985256 KBNoNoNoNo
1.1 [10] V31 (NTSC) / V32 (PAL) [4] Amiga 1000 1985–1986256 KBNoNoNoNo
1.2 [11] V33 [4] Amiga 500, Amiga 1000, Amiga 2000 1987256 KBNo Auto Boot from Hard DiskNoNoNo
1.3 [12] [13] [14] [15] [16] [17] V34 [4] Amiga 500, Amiga 2000, Commodore CDTV, Amiga 3000 1988256 KBYesNoNoNo
1.4 [18] V35 [4] Amiga 3000 1990512 KB
2.02.05 [19] [20] [21] [22] V36-38 [4] Amiga 500+, Amiga 600, Amiga 2000, Amiga 3000, Commodore CDTV-CR1990512 KBYesYes2.05+No
3.0 [23] V39 [4] Amiga 1200, Amiga 4000 1992512 KBYesYesYesNo
3.1 [24] V40 [4] Amiga 1200, Amiga 4000T 1993512 KBYesYesYesYes
Amiga CD32 19931 MB
3.1.4 [25] V46 Amiga 500, Amiga 600, Amiga 2000, Amiga 1200 2018512 KB
3.2 (1996 beta) [26] V43 Amiga Walker, last prototype19961 MB
3.2 (2020) [27] V47 Amiga 500, Amiga 600, Amiga 2000, Amiga 1200 2020512 KB

The first Amiga model, the A1000, required that Kickstart 1.x be loaded from floppy disk into a 256  KB section of RAM called the writable control store (WCS). Some A1000 software titles (notably Dragon's Lair ) provided an alternative code-base in order to use the extra 256 KB for data. Later Amiga models had Kickstart embedded in a ROM chip, thus improving boot times. Many Amiga 1000 computers were modified to take these chips.

Kickstart was stored in 256 KB ROM chips for releases prior to AmigaOS 2.0. Later releases used 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.

Early A3000 models were, like the A1000, also shipped with Kickstart on floppy disk, and used a 1.4 BETA ROM as bootstrap. Either Kickstart 1.3 or 2.0 could be extracted to a partition specifically named WB_1.3 or WB_2.x, respectively, and put in DEVS:kickstart, an absolute system location from where the A3000 system will find it at bootstrap and copy its image into RAM. This early A3000 supported both ROM based Kickstarts and disk-based Kickstarts, although not simultaneously. An A3000 configured to use disk-based Kickstart images had the benefit of being able to boot various versions of AmigaOS without additional tools, simply by selecting the appropriate Kickstart image at boot time.

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.

AmigaOS 2.1 was a pure software update and did not require 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 include matching ROM upgrades instead requiring Kickstart 3.1, with ROM-file based Kickstart components replacing those in ROM. Kickstart modules of AmigaOS 4 are stored on the boot disk partition.

Up to Kickstart v2.0 (V36) only 512-byte blocks were supported. [28] Motorola 68040 uses write caches that requires the use of the functions CacheClearU() and CacheControl() to flush cache when program code has been modified. These functions are only available in Kickstart 2.0 or better. [29]

Function

The default boot screen displayed under Kickstart 2.0, requesting the user to insert a boot disk Amiga kickstart2 boot screen.png
The default boot screen displayed under Kickstart 2.0, requesting the user to insert a boot disk

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 check for 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. Insertion of such a bootable disk (other than workbench-like disk) will result in:

a) a command line interface ("CLI") prompt to operate with ROM-internal and disks commands (including programs, scripts) (if the disk is non-workbench, or empty), or

b) a (basic) point and click UI named "Workbench" if the disk contains at least "loadwb" in the "startup-sequence" script residing inside the "s"-folder on this disk.

c) the disk booting into a customized workbench or an application, keeping the OS "alive" in the background.

d) a game or other application directly starting up, taking over all the hardware resources of this computer by avoiding to establish core Exec multitasking, driver initialization etc.

The Kickstart contains many of the core components of the Amiga's operating system, such as:

Kickstart 1.3 is the first version to support booting from a hard disk drive. [30]

From AmigaOS release 2.0 onwards Kickstart also contained device drivers to boot from devices on IDE controllers, support for PC Card ports and various other hardware built into Amiga models.

Diagnostic test

At power-on self-test will run from the ROM, this is a short program that can produce a color on the screen corresponding with a fault.

If everything works correctly, the following screen color sequence will be displayed on older Kickstarts:


The following colors indicate a problem:

However, if an Amiga received a colorcode, it does not always mean that the error comes from a hardware fault, red can also happen if a ROM is mapped to fastmem or by ROM-patches from software. For yellow it can be unstable software in memory. Some Amigas can give a short color on screen at power-on which can be the last background color. Keep in mind that bad activity on the databus that should not be there can have effect on other chips on the bus.

The keyboard LED uses blink codes that come from the keyboard controller chip where:

Usage

In general, to run a specific Workbench version, it is generally required to run a Kickstart with a corresponding or greater version number.

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, as 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. Several third-party vendors produced hardware Kickstart switchers (dual-boot systems) in the form of socket doublers in order to allow two ROM chips to plug into a single motherboard socket with some mechanism to switch between them. These became popular with users who had problems with later Kickstart versions causing incompatibility with earlier software titles.

An MMU-enabled Amiga is able to "shadow" 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. Similar shadowing functions were also developed for some devices without MMU hardware.

Related Research Articles

<span class="mw-page-title-main">Amiga</span> Family of personal computers sold by Commodore

Amiga is a family of personal computers introduced by Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 16/32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and significantly improved graphics and audio compared to previous 8-bit systems. These systems include the Atari ST—released earlier the same year—as well as the Macintosh and Acorn Archimedes. Based on the Motorola 68000 microprocessor, the Amiga differs from its contemporaries through the inclusion of custom hardware to accelerate graphics and sound, including sprites and a blitter, and a pre-emptive multitasking operating system called AmigaOS.

<span class="mw-page-title-main">Amiga 500</span> Personal computer by Commodore

The Amiga 500, also known as the A500, was the first popular version of the Amiga home computer, "redefining the home computer market and making so-called luxury features such as multitasking and colour a standard long before Microsoft or Apple sold these to the masses". It contains the same Motorola 68000 as the Amiga 1000, as well as the same graphics and sound coprocessors, but is in a smaller case similar to that of the Commodore 128.

<span class="mw-page-title-main">BIOS</span> Firmware for hardware initialization and OS runtime services

In computing, BIOS is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the booting process. The BIOS firmware comes pre-installed on an IBM PC or IBM PC compatible's system board and exists in some UEFI-based systems to maintain compatibility with operating systems that do not support UEFI native operation. The name originates from the Basic Input/Output System used in the CP/M operating system in 1975. The BIOS originally proprietary to the IBM PC has been reverse engineered by some companies looking to create compatible systems. The interface of that original system serves as a de facto standard.

<span class="mw-page-title-main">History of the graphical user interface</span>

The history of the graphical user interface, understood as the use of graphic icons and a pointing device to control a computer, covers a five-decade span of incremental refinements, built on some constant core principles. Several vendors have created their own windowing systems based on independent code, but with basic elements in common that define the WIMP "window, icon, menu and pointing device" paradigm.

<span class="mw-page-title-main">Amiga 600</span>

The Amiga 600, also known as the A600, is a home computer introduced in March 1992. It is the final Amiga model based on the Motorola 68000 and the 1990 Amiga Enhanced Chip Set. A redesign of the Amiga 500 Plus, it adds the option of an internal hard disk drive and a PCMCIA port. Lacking a numeric keypad, the A600 is only slightly larger than an IBM PC keyboard, weighing approximately 6 pounds. It shipped with AmigaOS 2.0, which was considered more user-friendly than earlier versions of the operating system.

<span class="mw-page-title-main">Amiga 3000</span> Personal computer by Commodore

The Amiga 3000, or A3000, is a personal computer released by Commodore in June 1990. It is the successor to the Amiga 2000 and its upgraded model Amiga 2500 with more processing speed, improved graphics, and a new revision of the operating system.

<span class="mw-page-title-main">UAE (emulator)</span> Computer emulator which emulates Commodore Internationals Amiga.

UAE is a computer emulator which emulates the hardware of Commodore International's Amiga range of computers. Released under the GNU General Public License, UAE is free software.

<span class="mw-page-title-main">Amiga 4000</span> 1992 personal computer

The Amiga 4000, or A4000, from Commodore is the successor of the Amiga 2000 and Amiga 3000 computers. There are two models: the A4000/040 released in October 1992 with a Motorola 68040 CPU, and the A4000/030 released in April 1993 with a Motorola 68EC030.

Autoconfig is an auto-configuration protocol of Amiga computers which is intended to automatically assign resources to expansion devices without the need for jumper settings. It is analogous to PCI configuration through ACPI.

The Amiga Fast File System is a file system used on the Amiga personal computer. The previous Amiga filesystem was never given a specific name and known originally simply as "DOS" or AmigaDOS. Upon the release of FFS, the original filesystem became known as Amiga Old File System (OFS). OFS, which was primarily designed for use with floppy disks, had been proving slow to keep up with hard drives of the era. FFS was designed as a full replacement for the original Amiga filesystem. FFS differs from its predecessor mainly in the removal of redundant information. Data blocks contain nothing but data, allowing the filesystem to manage the transfer of large chunks of data directly from the host adapter to the final destination.

<span class="mw-page-title-main">Power-on self-test</span> Process performed by firmware or software routines

A power-on self-test (POST) is a process performed by firmware or software routines immediately after a computer or other digital electronic device is powered on.

The Amiga computer can be used to emulate several other computer platforms, including legacy platforms such as the Commodore 64, and its contemporary rivals such as the IBM PC and the Macintosh.

AmigaOS is the proprietary native operating system of the Amiga personal computer. Since its introduction with the launch of the Amiga 1000 in 1985, there have been four major versions and several minor revisions of the operating system.

<span class="mw-page-title-main">Minimig</span>

Minimig is an open source re-implementation of an Amiga 500 using a field-programmable gate array (FPGA).

<span class="mw-page-title-main">Amiga 4000T</span>

The Amiga 4000T, also known as A4000T, is a tower version of Commodore's A4000 personal computer. Using the AGA chipset, it was originally released in small quantities in 1994 with a 25 MHz Motorola 68040 CPU, and re-released in greater numbers by Escom in 1995, after Commodore's demise, along with a new variant which featured a 50 MHz Motorola 68060 CPU. Despite the subsequent demise of Escom, production was continued by QuikPak in North America into at least 1998.

<span class="mw-page-title-main">Workbench (AmigaOS)</span> Graphical user interface for the Amiga computer

Workbench is the desktop environment and graphical file manager of AmigaOS developed by Commodore International for their Amiga line of computers. Workbench provides the user with a graphical interface to work with file systems and launch applications. It uses a workbench metaphor for representing file system organisation.

<span class="mw-page-title-main">AmigaOS</span> Operating system for Amiga computers

AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions of AmigaOS required the Motorola 68000 series of 16-bit and 32-bit microprocessors. Later versions were developed by Haage & Partner and then Hyperion Entertainment. A PowerPC microprocessor is required for the most recent release, AmigaOS 4.

<span class="mw-page-title-main">Amiga 1200</span> 1992 personal computer

The Amiga 1200, or A1200, is a personal computer in the Amiga computer family released by Commodore International, aimed at the home computer market. It was launched on October 21, 1992, at a base price of £399 in the United Kingdom and $599 in the United States.

<span class="mw-page-title-main">Amiga Forever</span> Amiga preservation, emulation and support package published by Cloanto

Amiga Forever is an Amiga preservation, emulation and support package published by Cloanto, which allows Amiga software to run on non-Amiga hardware legally and without complex configuration.

In addition to the Amiga chipsets, various specially designed chips have been used in Commodore Amiga computers that do not belong to the 'Amiga chipset' in a tight sense.

References

  1. "The Big Book of Amiga Hardware - Custom Chips: Kickstart".
  2. 1 2 3 "Kickstart Roms Explained". Classic Amiga Wiki.
  3. "Version".
  4. 1 2 3 4 5 6 7 8 9 "Mysterious Ways - How to Code the Amiga - Important Kickstart Differences on Amiga". mways.co.uk. Archived from the original on 25 July 2014. Retrieved 2013-06-09.
  5. 1 2 "Amiga Lorraine". amigahistory.co.uk. 2007-06-10. Archived from the original on 2016-10-23. Retrieved 2013-06-09.
  6. "The History of the Amiga". amigahistory.co.uk. 2007-06-10. Retrieved 2013-06-09.
  7. 1 2 3 4 "Amiga 1000 Developer 'VELVET'". Stefan Egger. 2015–2016. Retrieved 2016-07-30.[ dead link ]
  8. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Beta 0.6, 0.7, 0.9".
  9. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 1.0".
  10. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 1.1".
  11. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 1.2".
  12. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 1.3".
  13. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 1.3.1".
  14. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 1.3.2".
  15. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 1.3.3".
  16. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 1.3.4".
  17. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 1.3/2024".
  18. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Beta 1.4".
  19. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Beta 2.0x".
  20. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 2.0".
  21. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 2.04".
  22. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 2.05".
  23. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 3.0".
  24. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Release 3.1".
  25. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): 3.1.4.1".
  26. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): Beta 3.2/4.0".
  27. "Workbench Nostalgia: The history of the AmigaOS Graphic User Interface (GUI): 3.2".
  28. "32 / Expansion Board Drivers / RigidDiskBlock and Alternate Filesystems". amigadev.elowar.com. Retrieved 2013-06-09.
  29. "Mysterious Ways - How to Code the Amiga - General Guidelines". mways.co.uk. Retrieved 2013-06-13.
  30. "WORDSYNC" ADDENDUM to the SupraDrive Operator s Manual" (PDF). 090429 amiga.resource.cx
  31. 1 2 3 4 amigahistory.co.uk - What your Amiga is telling you
  32. 1 2 3 4 5 "blinking power led/no screen on Amiga 500". abime.net. Archived from the original on 2012-04-03.
  33. 1 2 3 4 5 6 7 8 "A3000 Booting Problems". amiga.serveftp.net. Archived from the original on 2019-12-03. Retrieved 2011-11-03.