Подключение приставочных джойстиков NES/Dendy к Raspberry Pi

АППАРАТНАЯ ЧАСТЬ

1. Оригинальный геймпад.

Вероятность того, что у Вас есть оригинальный геймпад NES, приблизительно, равна нуля, так что я оставлю это здесь и перейду к пиратским геймпадам.

2. Пиратский геймпад

Все очень просто. Разбираем разъем геймпада и по схеме (два варианта разъема 9 pin и 15 pin) ниже определяем что какому проводу (по цвету) принадлежит.

Далее подключаем геймпад к Raspberry Pi.
Питание – 3v3
Земля — GND
Data – GPIO 3  
Clock – GPIO 10
Latch – GPIO 11

В теории Pi может работать с 8 геймпадами, подключая Clock и Latch других джойстиков к GPIO 10 и GPIO 11 соответственно, а DATA к любому другому кроме GPIO 3. Правда будет необходим альтернативный источник питания(для трёх и больше падов).

ПРОГРАМНАЯ ЧАСТЬ

Тут еще все проще. Устанавливаем RetroPie (не забыв обновить модули процессора http://www.airspayce.com/mikem/bcm2835/index.html ) отсюда http://blog.petrockblock.com/2012/07/22/retropie-setup-an-initialization-script-for-retroarch-on-the-raspberry-pi/. После установки опять заходим в установочный скрипт RetroPie и делаем следущее

  1. Заходим в Setup
  2. Start SNESDev on Boot -> Option 2 -> Polling pads and button
  3. Install/Update multi/console gamepad driver for GPIO
  4. Enable gamecon_gpio_rpi with SNES-pad config
  5. Reboot
  6. В файле /etc/modules рядом с модулем драйвера, первую цифру меняем на 1, все остальные на 0.
  7. Reboot

Выходим из иксов, прописываем emulationstation, настраиваем геймпад для работы в меню и потом для игры (к слову в это меню можно зайти только через HDMI).