Введение
Набор демо-версий для домашнего компьютера Amiga.
Set of demos for the Amiga home computer
Демо-программы Amiga – это программы, созданные для домашнего компьютера Amiga. "Демо" – это демонстрация мультимедийных возможностей компьютера (или, точнее, демонстрация мастерства создателей демо-программ). В 1990-х годах между лучшими программистами, художниками по компьютерной графике и музыкантами существовала ожесточенная конкуренция, чтобы постоянно превосходить друг друга в создании демо-программ. Поскольку аппаратное обеспечение Amiga было в значительной степени фиксированным (в отличие от современной индустрии ПК, где можно собирать произвольные комбинации оборудования), конкуренция заключалась в том, чтобы проверить пределы этого оборудования и выполнить теоретически "невозможные" задачи, переосмысливая подход к решению проблемы. В Европе Amiga была бесспорным лидером в области мультимедийных вычислений в конце 1980-х и начале 1990-х годов, хотя впоследствии её обогнала архитектура ПК. Некоторые демо-программы Amiga, такие как RSI Megademo, Kefrens Megademo VIII или Crionics & The Silents "Hardwired", считаются знаковыми работами в мире демо-сцены. Новые демо-программы для Amiga продолжают выходить и сегодня, хотя демо-сцена в основном перешла на платформу ПК. Многие разработчики игр для Amiga были активными участниками демо-сцены. Демо-сцена стала пионером в разработке мультимедийных методов программирования для Amiga, и новейшие визуальные эффекты, музыкальное сопровождение и 3D-алгоритмы, созданные на демо-сцене, часто использовались при разработке компьютерных игр.
Демонстрационное программное обеспечение
Большинство демо были написаны на языке ассемблера 68000, хотя некоторые – на C и других языках. Чтобы максимально использовать аппаратную производительность, демо для Amiga оптимизировались и писались целиком на ассемблере для одной конкретной задачи (избегая универсального и переносимого кода). Дополнительная производительность достигалась за счет использования нескольких сопроцессоров, включая блиттер, параллельно с 68000. Большинство демо обходили операционную систему и обращались к аппаратному обеспечению напрямую. Первые крупные демо появились в 1987 году, одним из них было "Tech Tech" от Sodan & Magician 42, выпущенное в ноябре 1987 года и многими считающееся классикой. Эрик Шварц создал серию анимированных демо, работавших с MoviePlayer – программным пакетом для анимации, похожим на Toon Boom. Анимированные демо в значительной степени вдохновлялись причудливостью и графическим стилем комиксов. Red Sector Incorporated выпустила программу RSI Demomaker, позволявшую пользователям создавать собственные демо, включающие бегущую строку, векторные шары, плазменные экраны и т.п. Полные демо варьируются в размере от менее 128 КБ до нескольких мегабайт. Было создано несколько тысяч демо во многих странах. Среди наиболее активных стран-участниц были Дания, Финляндия, Германия, Италия, Нидерланды, Норвегия, Швеция, Великобритания, Польша и другие.
Входные
Меньшие демо часто называют интро. Обычно их размер ограничен от 4 до 64 КБ. Интро изначально использовались как метки группами крякеров на компьютерных играх и другом программном обеспечении. Целью интро было продемонстрировать навыки взлома и распространения конкретной группы. Позже интро развилось в самостоятельное направление искусства. Многие демо- и интро-группы дистанцировались от сцены взлома и копирования, хотя те же люди могли по-прежнему быть в ней вовлечены.
Разрыв
Amiga процветала благодаря общественному достоянию, свободному программному обеспечению и другим некоммерческим разработкам. Архитектура не предоставляла существенных механизмов для защиты программного обеспечения от анализа. Чтобы прочитать память, достаточно было выполнить горячую перезагрузку (сохраняющую содержимое оперативной памяти), а затем загрузиться с специальной дискеты, которая могла просматривать и копировать содержимое памяти. Поэтому разработчики и хакеры часто "вытаскивали" музыку, графику и код, а затем использовали их повторно в своих проектах. Это приводило к острой конкуренции в определенных областях, например, в разработке программ для создания музыки и клонов Tetris, где каждая группа разработчиков стремилась превзойти существующий уровень. Более того, некоторые демо-сцены даже включали исходный код непосредственно в исполняемый файл, чтобы избавить хакеров от необходимости в дизассемблировании, хотя он и был изобилен язвительными комментариями для тех, кто захочет его улучшить.