Demoscene
8 September 2009

Puls — революция в 256 byte intro

Прошедший в конце августа Chaos Constructions 2009 в Питере, к сожалению, не порадовал нас революционными релизами. Однако зарубежные братья демосценеры не дремлют!

image

Буквально на прошлой неделе на Riverwash 2009 простой чешский парень Jan Kadlec (aka Řrřola) забомбил PC 256 byte intro которое установило новый мировой порядок. Имя ему — Puls.

Итак речь идет о куске машинного кода в 256 байт для Intel x86 совместимой машины. Работает он под DOS, совершенно равнодушен к 3D возможностям вашей видеокарты и объемам установленного ОЗУ, но не откажется от быстрого CPU. Код генерирует динамическую визуальную сцену используя базовые возможности Intel архитектуры и стандартного видеорежима.
Версия под DOS «с трудом» заработает под Vista, 7 и XP, выдавая низкий fps – операционная система не дает напрямую использовать аппаратные ресурсы. Поэтому есть смысл смотреть адаптированную под Windows версию (которая занимает уже несколько килобайт). Она как бы намекает нам «насколько много ресурсов поедает ОС» (сравните размеры кода под DOS и Windows).

Собственно, надеюсь, у всех есть понимание что такое 256 байт в масштабах хотя бы текста SMS сообщения, и как в таком объеме можно уместить этот движняк для многих остается непонятным. При этом рядом исходник на ассемблере который заставляет уверовать.

Обычно в этом месте обыватель задает вопрос: “Здорово! А как мы это можем использовать?”

Отвечаю примером для 9-го класса:

«Вояджер-1» — 722-килограммовый автоматический зонд, исследующий солнечную систему и её окрестности с сентября 1977 года. Осенью 2008 г. «Вояджер-1» был примерно в 107,58 а. е. (16,093 млрд км) от Солнца выйдя за пределы солнечной системы. На борту корабля три радиоизотопных термоэлектрических генератора которые обеспечивают зонду питание. Радиосвязь с ним есть и корабль может передавать и принимать данные телеметрии.

Одна проблема – сигнал идет до земли 14 часов. При этом интернеты не говорят нам с какой скоростью идет обмен, но можно предположить, что она не превышает 300 бод (индустриальный стандарт тех времен).

Короче очень и очень медленно. Теперь представьте, что надо этому зонду ВНЕЗАПНО, одним пакетом, передать инфу о смене траектории движения, включении дальнего света и противотуманок, а так же запуске программы визуального приветствия жителей других галактик. Причем видеоряд этого приветствия надо передать на зонд заново — старая запись 1977 года уже не актуальна в свете последних политических изменений.

Вот в такой ситуации без искусства программирования компактного, но функционального кода под процессор стоящий на Вояджере-1 не обойтись!

Такой вот пример

Если по прямым http линкам будут проблемы со скачиванием используйте зеркало на ftp.scene.org/incoming/parties/riverwash2009/in256

+106
2.8k 36
Comments 144
Top of the day