Demo 492 byte pada ATtiny5



Demo biasanya memiliki grafik yang lebih kompleks daripada game dengan volume yang sama. Lagi pula, Anda tidak perlu menghabiskan sumber daya untuk interaksi pengguna dan perhitungan tambahan. Program yang diusulkan berjalan pada mikrokontroler ATtiny5 dengan ROM 512 byte, RAM 32 byte, dan 16 register prosesor. Rakettitiede dalam "ilmu roket" Finlandia (termasuk dalam arti yang sama seperti dalam unit fraseologi bahasa Inggris), serta nama perusahaan perangkat lunak.

Papan sirkuit untuk demo:



Semuanya akrab di sini, kecuali untuk komponen LTC1799. Ini adalah jam yang dikonfigurasi oleh resistor. Ini beroperasi pada frekuensi 12 MHz. Generator pulsa persegi panjang lain yang cukup stabil pada frekuensi yang sama cocok. Untuk mendapatkan lima sinyal yang diperlukan untuk monitor VGA dari tiga output mikrokontroler, pembagi digunakan pada LED dan resistor, yang juga menggunakan resistor 75-ohm yang terpasang pada monitor. Setiap output dapat diubah oleh program ke nol, satu dan status impedansi tinggi.

Karena penerimaan aplikasi pada kompetisi Hackaday telah berakhir, penulis mengirim versi perantara dari demo di sana, yang melakukan hal yang sama kecuali untuk output teks:


Ini menduduki 394 byte, atau 197 kata 16-bit:

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 

Setelah optimasi, demo dikurangi menjadi 354, dan kemudian 352 byte. Tetapi kemudian penulis memutuskan untuk menambahkan teks ke gambar, setelah itu program mulai menempati 492 byte:


Kode ini terletak di Bitbucket di sini , serta di Hackaday sebagai file terpisah: pentaveega.asm , tn5def.inc dan pentaveega.hex .

Perangkat ini dapat dirakit dalam tiga versi: pada dua jenis papan tempat memotong roti menggunakan papan adaptor, serta pada papan sirkuit tercetak (di bawah CC-BY-SA 4.0, file dalam folder proyek terpisah di Bitbucket). Perhatikan cara menghubungkan konektor monitor selama perakitan sesuai dengan opsi pertama:





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


All Articles