Хабрахабр

[Перевод] 492-байтная демка на ATtiny5

Ведь не приходится тратить ресурсы на взаимодействие с пользователем и дополнительные расчёты. Демки обычно отличаются более сложной графикой, чем игры того же объёма. Rakettitiede — это по-фински «ракетная наука» (в т.ч. Предлагаемая программа работает на микроконтроллере ATtiny5 с 512 байтами ПЗУ, 32 байтами ОЗУ и 16 регистрами процессора. в том же значении, что и в английском фразеологизме), а также название компании, разрабатывающей ПО.

Схема платы для работы демки:

Это тактовый генератор, конфигурируемый резистором. Здесь знакомо всё, кроме компонента LTC1799. Подойдёт и другой достаточно стабильный генератор прямоугольных импульсов на ту же частоту. Он работает на частоте в 12 МГц. Каждый из выходов может быть переключён программой в нуль, единицу и высокоимпедансное состояние. Чтобы получить необходимые VGA-монитору пять сигналов с трёх выходов микроконтроллера, применены делители на светодиодах и резисторах, в которых задействованы также 75-омные резисторы, встроенные в монитор.

Поскольку приём заявок на конкурсе Hackaday заканчивался, автор отправил туда промежуточную версию демки, которая делала всё то же самое, кроме вывода текста:

Она занимала 394 байта, или 197 16-битных слов:

avra -l pentaveega.lst pentaveega.asm
AVRA: advanced AVR macro assembler Version 1.3.0 Build 1 (8 May 2010)
Copyright (C) 1998-2010. Check out README file for more info AVRA is an open source assembler for Atmel AVR microcontroller family It can be used as a replacement of 'AVRASM32.EXE' the original assembler shipped with AVR Studio. We do not guarantee full compatibility for avra. AVRA comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of avra under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING. Pass 1...
Pass 2...
done Assembly complete with no errors.
Segment usage: Code : 197 words (394 bytes) Data : 0 bytes EEPROM : 0 bytes

После оптимизации демку удалось уменьшить до 354, а затем и 352 байт. Но затем автор решил добавить в картинку текст, после чего программа и стала занимать 492 байта:

Код лежит на Bitbucket здесь, а также на Hackaday в виде отдельных файлов: pentaveega.asm, tn5def.inc и pentaveega.hex.

0, файлы в отдельной папке проекта на Bitbucket). Собрать устройство можно в трёх вариантах: на макетках двух видов с применением переходных плат, а также на печатной плате (под CC-BY-SA 4. Обратите внимание на способ подключения разъёма монитора при сборке по первому варианту:

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть