
Game ini, yang sangat terinspirasi oleh Space Invaders, ditulis dari awal untuk ATtiny2313 dan dikirim ke
kontes 1-kilobyte yang baru-baru ini diadakan
di Hackaday .
Tidak mudah untuk menempatkan game seperti ini dalam 1024 byte. Tetapi penulis memutuskan untuk mendapatkan game yang berfungsi penuh dengan skor, suara dan output VGA-video dengan resolusi 640x480 dan frekuensi 60 Hz.
Tentu saja, semua kode sepenuhnya ditulis dalam assembler, dan untuk pembuatan suara dan video, diprogram untuk mendapatkan interval waktu yang akurat.
Interupsi timer sesuai dengan persyaratan untuk sinkronisasi horizontal VGA, dan karena frame rate diperoleh dengan membagi garis horizontal dengan integer, kedua jenis sinkronisasi dapat ditempatkan dalam satu prosedur pemrosesan interupsi. Untuk melakukan ini, prosedur menghitung siklus secara akurat.
Frekuensi garis 31,5 kHz diambil dalam prosedur yang sama dengan dasar untuk menerima suara.
Rutin pemrosesan interupsi memakan waktu 90% dari waktu alat berat, sehingga semua logika permainan dihitung selama balok balik. Beberapa mesin negara mengontrol pergerakan karakter, menentukan posisi rudal, dll.
Generator karakter kecil digunakan untuk menyimpan font untuk menampilkan skor, serta ubin dan sprite.
Hanya beberapa jam sebelum penerimaan bahan berakhir, kode sudah siap dan dikirim ke kompetisi. Semuanya ternyata terwujud di dalamnya. Generasi sinyal VGA standar (walaupun resolusi sebenarnya jauh lebih rendah dari 640x480 - "piksel kuadrat besar"), kontrol dari gamepad untuk SNES atau klonnya dengan tiga Clock, Latch, Sinyal data, program sprite dengan gerakan halus, daripada melompat dari keakraban dalam keakraban, penilaian, perubahan siklus ubin seperti pada aslinya ...
Gamepad yang sama:

Anda juga dapat membuat perangkat yang sama dan memainkan analog Space Invaders 1-kilobyte. Pasang sirkuit (kuarsa pada 20 MHz tidak ditampilkan, terhubung ke pin 4 dan 5, konektor di kanan atas adalah untuk programmer). Penulis mengklaim bahwa ia menggambar diagram ini di smartphone pukul 4 pagi segera sebelum mengirimnya ke kontes. Tentu saja, adaptor Parallax bersifat opsional, Anda bisa menggunakan konektor VGA.

Saat menggunakan adaptor, perangkat terlihat seperti ini:

Kompilasi sumber (
file program dan
header ) menggunakan AVR Studio atau GCC, atau cukup isi
file HEX terlampir - ini lebih cepat, tetapi Anda tidak akan bisa menggali ke dalam kode. Dan Anda dapat melihat sendiri bahwa analog Space Invaders yang sesuai dalam satu kilobyte adalah kenyataan.