Kickstart — это загрузочная прошивка компьютеров Amiga , разработанная Commodore International . Её цель — инициализировать оборудование Amiga и основные компоненты AmigaOS , а затем попытаться загрузиться с загрузочного тома , например, с дискеты . Большинство моделей Amiga поставлялись с прошивкой Kickstart, хранящейся на микросхемах ROM .
AmigaOS от Commodore состояла из прошивки Kickstart и программного компонента, поставляемого на диске (программная часть часто называлась Workbench ). Для большинства обновлений AmigaOS номер версии Kickstart совпадал с номером версии Workbench. По странному стечению обстоятельств Commodore также использовала внутренние номера ревизий для чипов Kickstart. Например, было несколько ревизий Kickstart, обозначенных как версия 2.0. [1]
Первая модель Amiga, A1000 , требовала, чтобы Kickstart 1.x загружался с дискеты в раздел ОЗУ объемом 256 КБ , называемый записываемым хранилищем управления (WCS). Некоторые программные продукты для A1000 (в частности, Dragon's Lair ) предоставляли альтернативную кодовую базу для использования дополнительных 256 КБ для данных. Более поздние модели Amiga имели Kickstart, встроенный в микросхему ПЗУ, что сокращало время загрузки. Многие компьютеры Amiga 1000 были модифицированы для установки этих микросхем.
Kickstart хранился в 256 КБ микросхемах ПЗУ для выпусков до AmigaOS 2.0. Более поздние выпуски использовали 512 КБ микросхем ПЗУ, содержащих дополнительную и улучшенную функциональность. Amiga CD32 имел 1 МБ ПЗУ (Kickstart 3.1) с дополнительной прошивкой и интегрированной файловой системой для CD-ROM .
Ранние модели A3000 , как и A1000, также поставлялись с Kickstart на дискете и использовали 1.4 BETA ROM в качестве загрузчика. Kickstart 1.3 или 2.0 можно было извлечь в раздел, специально названный WB_1.3 или WB_2.x, соответственно, и поместить в DEVS:kickstart, абсолютное системное местоположение, из которого система A3000 найдет его при загрузке и скопирует его образ в ОЗУ. Этот ранний A3000 поддерживал как Kickstart на основе ROM, так и Kickstart на основе диска, хотя и не одновременно. A3000, настроенный на использование образов Kickstart на основе диска, имел преимущество в том, что мог загружать различные версии AmigaOS без дополнительных инструментов, просто выбрав соответствующий образ Kickstart во время загрузки.
Commodore CDTV имел дополнительные прошивки ROM, которые технически не являются частью Amiga Kickstart. Оригинальные прошивки ROM CDTV должны быть обновлены для установки версии Kickstart более поздней, чем 1.3.
AmigaOS 2.1 была чисто программным обновлением и не требовала соответствующих чипов Kickstart ROM. Workbench 2.1 работал на всех Kickstart ROM семейства 2.0x. Более поздние выпуски AmigaOS (3.5 и 3.9) также были только программными и не включали соответствующих обновлений ROM, вместо этого требуя Kickstart 3.1, с компонентами Kickstart на основе ROM-файлов, заменяющими те, что в ROM. Модули Kickstart AmigaOS 4 хранятся в разделе загрузочного диска.
До Kickstart v2.0 (V36) поддерживались только блоки размером 512 байт. [28] Motorola 68040 использует кэши записи, которые требуют использования функций CacheClearU() и CacheControl() для очистки кэша при изменении программного кода. Эти функции доступны только в Kickstart 2.0 или выше. [29]
При запуске или сбросе Kickstart выполняет ряд диагностических и системных проверок, а затем инициализирует чипсет Amiga и некоторые основные компоненты ОС. Затем он проверит наличие подключенных загрузочных устройств и попытается загрузиться с того, которое имеет наивысший приоритет загрузки. Если загрузочное устройство отсутствует, отобразится экран с просьбой вставить загрузочный диск — обычно это гибкий диск. Вставка такого загрузочного диска (кроме диска Workbench-like) приведет к следующему:
а) приглашение интерфейса командной строки («CLI») для работы с внутренними командами ПЗУ и дисками (включая программы, скрипты) (если диск не является рабочим столом или пуст), или
б) (базовый) пользовательский интерфейс «укажи и щелкни» с именем «Workbench», если на диске содержится как минимум «loadwb» в скрипте «startup-sequence», находящемся в папке «s» на этом диске.
в) загрузка диска в настроенную рабочую среду или приложение, поддерживающую работу ОС в фоновом режиме.
г) игра или другое приложение запускается напрямую, захватывая все аппаратные ресурсы этого компьютера, избегая установки многозадачности ядра Exec, инициализации драйвера и т. д.
Kickstart содержит многие основные компоненты операционной системы Amiga , такие как:
Kickstart 1.3 — первая версия, поддерживающая загрузку с жесткого диска . [30]
Начиная с версии AmigaOS 2.0, Kickstart также содержал драйверы устройств для загрузки с устройств на контроллерах IDE , поддержку портов PC Card и различного другого оборудования, встроенного в модели Amiga.
При включении питания запустится самотестирование из ПЗУ — это короткая программа, которая может выводить на экран цвет, соответствующий неисправности.
Если все работает правильно, на старых Kickstarter будет отображаться следующая последовательность цветов экрана:
Следующие цвета указывают на проблему:
Однако, если Amiga получила цветовой код, это не всегда означает, что ошибка вызвана аппаратной неисправностью, красный цвет также может быть, если ПЗУ отображается на fastmem или патчами ПЗУ из программного обеспечения. Желтый цвет может быть вызван нестабильностью программного обеспечения в памяти. Некоторые Amiga могут выдавать короткий цвет на экране при включении питания, который может быть последним фоновым цветом. Имейте в виду, что плохая активность на шине данных, которой там быть не должно, может повлиять на другие чипы на шине.
Светодиод клавиатуры использует коды мигания, поступающие от микросхемы контроллера клавиатуры, где:
Как правило, для запуска определенной версии Workbench требуется запустить Kickstart с соответствующим или большим номером версии.
Обычно невозможно загрузиться напрямую в оконную среду Workbench только из Kickstart. Хотя большая часть функциональности, необходимой для Workbench, содержится в Kickstart, поскольку для его запуска требуются некоторые дисковые компоненты.
Начиная с версии 2.0 можно войти в меню загрузки , удерживая обе кнопки мыши при включении питания или сбросе. Это позволяет пользователю выбрать загрузочное устройство, задать параметры для обратной совместимости и проверить оборудование Autoconfig .
С помощью стороннего программного обеспечения можно использовать альтернативный Kickstart для версии, хранящейся во встроенном чипе ROM. Такое программное обеспечение позволяет загружать версию Kickstart из файла в RAM — например, Kickstart 1.3 может быть загружен для запуска старого программного обеспечения, несовместимого с Kickstart 2.0 или более поздней версией. Несколько сторонних поставщиков выпустили аппаратные переключатели Kickstart ( системы с двойной загрузкой ) в виде удвоителей сокетов, чтобы позволить двум чипам ROM подключаться к одному разъему материнской платы с некоторым механизмом для переключения между ними. Они стали популярными среди пользователей, у которых возникали проблемы с более поздними версиями Kickstart, вызывавшими несовместимость с более ранними названиями программного обеспечения.
Amiga с поддержкой MMU может «слепить» Kickstart из встроенного чипа ROM (или из файла) в RAM и передать ему управление при запуске. Это часто предпочтительнее, поскольку время доступа к RAM значительно меньше, чем к ROM, особенно в расширенных системах. При последующих сбросах копия Kickstart используется повторно, что сокращает время загрузки и обеспечивает более быстрый доступ и выполнение функций Kickstart. Аналогичные функции слежения были также разработаны для некоторых устройств без аппаратного обеспечения MMU.