[Перевод] Ужать аналог Space Invaders в 1 килобайт (оригинал 1978 года занимает 8)
|
|
Суббота, 06 Апреля 2019 г. 07:41
+ в цитатник
Эта игра, в значительной мере вдохновлённая Space Invaders, написана с нуля для ATtiny2313 и отправлена на недавно прошедший
конкурс 1-килобайтных программ на Hackaday.
Непросто поместить такую игру в 1024 байта. Но автор решил получить в результате полнофункциональную игру с подсчётом очков, звуком и VGA-видеовыходом с разрешением в 640х480 и частотой в 60 Гц.
Разумеется, весь код полностью написан на ассемблере, причём для генерации звука и видео запрограммировано получение точных временных интервалов.
Прерывание по таймеру соответствует требованиям к строчной синхронизации VGA, а поскольку кадровая частота получается делением строчной на целое число, оба вида синхронизации можно поместить в одну процедуру обработки прерывания. Для этого в процедуре производится точный подсчёт циклов.
Строчная частота в 31,5 кГц берётся в той же процедуре за основу при получении звуков.
Процедура обработки прерывания отнимает 90% машинного времени, поэтому вся логика игры просчитывается во время обратного хода луча. Несколько конечных автоматов управляют перемещением персонажей, определением положения ракет, и т.п.
Читать дальше -> https://habr.com/ru/post/446984/?utm_source=habrahabr&utm_medium=rss&utm_campaign=446984
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-