Бывшие некогда популярные 8- и 16-битные видеоприставки уже давно утратили свое лидерство на рынке игровых развлечений и вытеснены новыми поколениями консолей. Однако, игры, написанные в те времена, когда оперативная память исчислялась всего несколькими десятками килобайт, частота процессора - единицами мегагерц, а код и данные игры "влазили" в ПЗУ объемом порядка сотни килобайт, и по сей день не утратили своей "играбильности" и актуальности, и еще вполне могут конкурировать с современными многогигабайтными гигагерцовыми монстрами по степени интересности. Сегодня существует множество различных эмуляторов старых приставок, а китайской промышленностью по сей день выпускаются как сами приставки, так и джойстики для них.
В журнале "Радио" №1 за 2007 г. опубликована статья С.Рюмика с описанием адаптера, позволяющего подключить к шине USB компьютера до четырех джойстиков от приставок Dendy, либо до двух джойстиков от SEGA MegaDrive-II или Sony PlayStation. Автор использует микроконтроллер ATMega8-16PI в корпусе DIP для прошивки которого на плату выведен разъем ISP-интерфейса последовательного программирования. Для работы с разным видами и разным количеством джойстиков предложен набор прошивок (всего 9 штук). Поскольку при подключении нескольких джойстиков вемя опроса увеличивается пропорционально их числу, для получения минимального времени отклика (для прошивки на один джойстик оно составляет 10мс, для двух - 20мс, для четырех - 40мс) есть смысл "заливать" именно ту прошивку, которая предназначена для этого количества джойстиков. Т.к. устройство подключается к ПК через шину USB, для смены прошивки вместо ISP-программатора очень удобно использовать USB-bootloader. Я развел печатную плату под SMD-компоненты и добавил в схему кнопку S1, которая служит для включения режима загрузчика. В результате схема адаптера выглядит так:
В качестве загрузчика был использован BootloadHID.
Схема подключения джойстиков Dendy:
Схема подключения джойстиков SEGA:
Схема подключения джойстиков Sony PlayStation:
Загрузчик записывается ISP-программатором, провода от которого можно подпаять к соответствующим выводам МК на печатной плате. Если в качестве программатора используется связка usbasp + avrdude, то следующей командой можно записать фьюзы:
avrdude -pm8 -cusbasp -u -Ulfuse:w:0x2e:m -Uhfuse:w:0xc8:m
Запись загрузчика:
avrdude -c usbasp -p atmega8 -U flash:w:bootloader.hex:i
После успешной установки загрузчика программатор уже не понадобится, а загрузка нужной прошивки производится командой
bootloadHID.exe <имя файла прошивки>
По ссылкам ниже можно скачать схему и разводку печатных плат в Eagle, прошивку загрузчика и прошивки адаптера для разных джойстиков. Также эти прошивки вместе с авторскими вариантами печатных плат и схемой можно загрузить с ftp-сервера журнала "Радио".
- прошивка загрузчика
- прошивки для разных джойстиков
- печатную плату и схему Eagle
Источник
|