Demonstração de 492 bytes no ATtiny5



As demonstrações geralmente têm gráficos mais complexos que os jogos do mesmo volume. Afinal, você não precisa gastar recursos em interação do usuário e cálculos adicionais. O programa proposto é executado em um microcontrolador ATtiny5 com 512 bytes de ROM, 32 bytes de RAM e 16 registradores de processador. Rakettitiede está na “ciência de foguetes” finlandesa (incluindo o mesmo significado das unidades fraseológicas em inglês), bem como o nome de uma empresa de software.

A placa de circuito para a demonstração:



Tudo aqui é familiar, exceto o componente LTC1799. Este é um relógio configurado por um resistor. Opera com uma frequência de 12 MHz. Outro gerador bastante estável de pulsos retangulares na mesma frequência é adequado. Para obter os cinco sinais necessários para o monitor VGA das três saídas do microcontrolador, divisores são usados ​​nos LEDs e nos resistores, que também usam resistores de 75 ohms embutidos no monitor. Cada uma das saídas pode ser comutada pelo programa para zero, um e um estado de alta impedância.

Como a aceitação das inscrições na competição Hackaday estava terminando, o autor enviou uma versão intermediária da demo para lá, que fez o mesmo, exceto pela saída do texto:


Ele ocupava 394 bytes ou 197 palavras de 16 bits:

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 

Após a otimização, a demonstração foi reduzida para 354 e, em seguida, 352 bytes. Mas o autor decidiu adicionar texto à imagem, após o que o programa começou a ocupar 492 bytes:


O código está no Bitbucket aqui , bem como no Hackaday como arquivos separados: pentaveega.asm , tn5def.inc e pentaveega.hex .

O dispositivo pode ser montado em três versões: em dois tipos de modelos de placa de ensaio usando placas adaptadoras, bem como em uma placa de circuito impresso (no CC-BY-SA 4.0, arquivos em uma pasta de projeto separada no Bitbucket). Preste atenção na maneira de conectar o conector do monitor durante a montagem, de acordo com a primeira opção:





Source: https://habr.com/ru/post/pt455168/


All Articles