492-байтная демка на ATtiny5

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!



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

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



Здесь знакомо всё, кроме компонента 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.

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





Источник: https://habr.com/ru/post/455168/


Интересные статьи

Интересные статьи

Принято считать, что персонализация в интернете это магия, которая создается сотнями серверов на основе БигДата и сложного семантического анализа контента.
Существует традиция, долго и дорого разрабатывать интернет-магазин. :-) Лакировать все детали, придумывать, внедрять и полировать «фишечки» и делать это все до открытия магазина.
В интернет-магазинах, в том числе сделанных на готовых решениях 1C-Битрикс, часто неправильно реализован функционал быстрого заказа «Купить в 1 клик».
В 1С Битрикс есть специальные сущности под названием “Информационные блоки, сокращенно (инфоблоки)“, я думаю каждый с ними знаком, но не каждый понимает, что это такое и для чего они нужны
С версии 12.0 в Bitrix Framework доступно создание резервных копий в автоматическом режиме. Задание параметров автоматического резервного копирования производится в Административной части на странице ...