Бывшие некогда популярные 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 

Источник

   
delta24 # 1
 
 
тема вообще !


   
кт3102 # 2
 
 
у меня не заработало......система видит как неизвестное устройство=(


Обновления

Сообщения ФорумаОтветов
3D Модели для Авто0
Бакометр 2335
Touch Start-Stop Engine.587
Кодграберр17
Исправляем AVR фьюзы при помощ …109
Бакометр - измеритель остатка…4
IR конструктор на PIC12F62977
Универсальное зарядное устройство103
бaкoмeтр1974
Двунаправленный автомобильный…2
Программатор GENIUS G8401
Светодиодный тахометр34
Индикаторы ГРИ ИН1 - ИН141
Multiprog1
Управляющая программа LED CUB959
Универсальное зарядное устройство9
Изготовлю печатные платы29
Простой автоматический выключа…25