Крошечные понг: Больше развлечений с Attiny45 и VGA
Я все еще жду своей дешевой модуль Bluetooth из Китая , который будет служить входной интерфейс для моего проекта табло . В то же время, я покажу вам, как превратить ваш ATtiny микроконтроллер в игру Pong (без участия до сих пор).
Таким образом, я использовал на табло источника базы и немного изменилось расположение выводов.
Attiny45
+ ----------------- +
| |
В ---- | 1 (PB5) (VCC) 8 | ---- +5 V
22pF | |
+ - | | ---- + ------ | 2 (PB3) (PB2) 7 | ---- HSYNC
| [] XTAL | |
+ - | | ---- + ------ | 3 (PB4) (PB1) 6 | ---- VSYNC
| 22pF | |
+ --------------- | 4 (GND) (PB0) 5 | ---- RGB
| | |
GND + ----------------- +
Теперь RGB связано с PB0, и есть веские основания для этого. Я до сих пор, используя тот же метод хранения, что я хочу сделать в регистрах, но вместо 4-х, на этот раз я использую 15 так я могу добиться горизонтальное разрешение в 120 на 96, чтобы как-то пикселей в квадрате. Теперь, чтобы быть в состоянии идти корыто 120 бит и включить вывод RGB / выключения соответственно (и равномерно), мне нужно было обрезать код, удалив петли (так что вы увидите много подобных код в той части, что делает линия) и условного Скип теперь заменен на "добавить с переносом" после изменения во временный регистр, который будет использоваться с "вне", которая является менее дорогостоящим, чем "ВОО" и "CBI".
Таким образом, с точки зрения оптимизации кода, это:
; R1 бит 0 r16 ЦБ РФ, 1 LSL r1 ADC r16, r22 выход, r16 ... повторяется 120 раз (8 раз в битной и 15 раз в регистре)
Это лучше, чем:
r16 LDI, 0x08 line44: РОЛ r8 brcc rgboff44 NOP ; RGB на ВОО порт, RGB; ВОО = 2 часов rjmp cont44 rgboff44: ; RGB с CBI порт, RGB; CBI = 2 часов NOP NOP cont44: Декабрь r16 NOP NOP NOP NOP NOP Brne line44
Есть и другие части кода, которые могут представлять интерес. Например, я использовать LFSR добавить некоторые псевдо-случайных величин в направлении мяча и весла "компьютер" движений. Кроме того, я использовал алгоритм линейного Брезенхэма для определения положения шара.
Недостающую часть, по-прежнему является входом. Я не уверен, как это будет работать только с одним контактным доступны, но я предполагаю, что я буду работать что-то с модулем Bluetooth и одну из синхронизации сигналов (если вообще возможно).
Я пытался добавить введение экран или "всплеск", но программа памяти настолько мала, что я быстро превысил 4096 доступны байт.
Скачать Крошечные понг 1,0 исходный код и наслаждайтесь!

Очень впечатляет! Спасибо, что поделились этим. Я люблю проекты, где Мощь процессора заменен мозги.
Любовь эта, хотя может у пытаться простое управление экране ноутбука, используя что-то вроде рис 12, а затем адаптироваться в ней и может сделать автомобиль шт LOL работы ГД на ур игра понг
@ TomF
Спасибо! Я получил некоторые хорошие идеи о том, как использовать свой единственный левый вывод управлять веслами, даст, когда я пытаюсь получить немного свободного времени ... ура
Привет, я просто хотел попробовать свои прохладные искаженным видео! Хороший один!