API World for Mobile Developers

레트로파이 + GPIO 2인용 조이스틱 / MAME 환경 설정하기 본문

잡동사니

레트로파이 + GPIO 2인용 조이스틱 / MAME 환경 설정하기

미니렉스 2020. 12. 21. 16:18

2014년에 구입한 라즈베리파이 B+에 레트로파이를 설치한 후에 어떤 롬은 되고 어떤 롬은 안되고, 에물 바꾸면 되고 해서 관련 정보를 찾다보니 레트로파이 홈피에 자세히 사용할 수 있는 롬 목록이 제공되어 관련 정보를 정리하여 게재함

아케이드 에뮬레이션 시작하기

하기 내용을 참조하여 라즈베리파이 모델에 맞는 에물 및 ROM Full Set을 다운로드 하여 사용 할것을 권고(?)

<라즈베리파이 1 or Zero>

  • mame4all (MAME 0.37b5 / 2,270개 롬 지원)
  • pi-fba (FB Alpha v0.2.96.71 / 684개 롬 지원)

<라즈베리파이  2 or 3>

  • lr-mame2003 (MAME 0.78 / 4,720개 롬 지원)
  • lr-fbneo (FB Alpha v0.2.97.44-WIP , 4,896개 롬 지원)

참조링크 : retropie.org.uk/docs/Arcade/

 

마메 롬 경로

레트로파이에서 마메 롬 경로로 사용할 수 있는 3개의 경로는 1개 이상의 에뮬레이터가 사용하는 공유 디렉토리들로 구성되어 있음 : ( arcade, mame-libretro, mame-advmame)   압축된 롬 세트들의 성공적인 적재를 위하여 롬과 일치하는 아케이트 에뮬레이터 버전을 설정해해야 합니다.

다양한 아케이드 에뮬레이터를 위하여 여려개의 메뉴를 피하기 위하여, 모든 아케이드 기반 롬들은 아케이트 롬 폴더에 위치할 수 있으나, 런  명령어 메뉴에서 각각의 압축된 롬 에물레이를 지정해야 합니다.

에물레이터

에뮬레이터명 MAME Version Active Sets Control 비고
mame4all-pi 0.37b5 (July 2000) 2,241 Tab Key  
lr-mame2000
(MAME 200)
0.37b5 (July 2000) 2,241 RetroArch  
lr-mame2003
(MAME 2003)
0.78 (December 2003) 4,705 Tab key 
RetroArch
 
lr-mame2003-plus (MAME 2003-plus) 0.78-0.188 4,850 Tab key 
RetroArch
 
lr-mame2010
(MAME 2010)
0.139 8,782 RetroArch  
lr-mame2015/2016
(시험용 버전)
0.160
0.174
???? RetroArch  
Advance MAME 0.94 0.94 ( May 2005 ) 5,563 Tab key  
Advance MAME 1.4 0.106 ( May 2006 ) 6,166 Tab key  
Advance MAME3 0.106 ( May 2006 ) 6,166 Tab key  
MAME
(시험용 버전)
0.221 ( May 2020 ) ???? RetroArch  
lr-mame
(시험용 버전)
???? ???? RetroArch  

출처 :  retropie.org.uk/docs/MAME/

드라이버 설치

레트로파이 셋업 화면에서 Manage Packages, --> Manage Driver Packages,
mkarcadejoystick  설치후 F4키를 눌러 콘솔화면으로 나온후에
/etc/modprobe.d/mk_arcasde_jostick.conf 파일 수정  (설치직후에는 game controller 가 1개만 인식됨)

pi@retropie:~ $ cat /etc/modprobe.d/mk_arcade_joystick_rpi.conf
options mk_arcade_joystick_rpi map=1
pi@retropie:~ $ sudo vi /etc/modprobe.d/mk_arcade_joystick_rpi.conf
pi@retropie:~ $ cat /etc/modprobe.d/mk_arcade_joystick_rpi.conf
options mk_arcade_joystick_rpi map=1,2
pi@retropie:~ $ sudo reboot

재기동해야 부팅되면서 2개로 인식됨

GPIO 기반 조이스틱 배선

UP/DOWN 과 LEFT/RIGHT만 유의해서 연결하고 A/B/X/Y/TL/TR은 대충 버튼까지만 순서관계 없이 연결만 되면
Retropie Menu --> configure input 화면에서 실제 버튼 순서대로 매칭 가능함.
단,  JOYSTICK1 설정시 JOYSTICK2의 입력은 모두 무시되므로 연결시 주의가 필요

참조 : retropie.org.uk/docs/GPIO-Modules/#installation

www.raspberrypi.org/forums/viewtopic.php?t=83317

라즈베리파이 B+에 라스조이박스 구형 버전(2014년) 을 적용하며, GPIO의 핀이 controller 1, 2 로 배분이 되어 있으며, 1번 컨트롤러 설정시에는 2번 컨틀로러의 버튼 등이 인식 되지 않는다.

이에, 기존의 배선을 모두 정리하여 1번용 컨트롤러에서 인식하는 핀을 먼저 찾아 연결하고 , 2번 컨트롤러를 설정하니 2개 모두 동작하며, 2개 핀은 미사용 상태였는데 이번에 재정리 하며, 추가로 연결 진행함.

라스조이박스는 지피아이 8개 버트과 4방향키를 사용하여 컨트롤러당 12개 핀을 사용하며, 24개 핀을 모두 찾아 연결이 필요함.

스틱과 버튼별 동작 상태 확인을 위해서는

pi@retropie:~ $ jstest /dev/input/js0
Driver version is 2.1.0.
Joystick (GPIO Controller 1) has 2 axes (X, Y)
and 8 buttons (BtnA, BtnB, BtnX, BtnY, BtnTL, BtnTR, BtnSelect, BtnStart).
Testing ... (interrupt to exit)
Axes:  0:     0  1:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off ^C
pi@retropie:~ $

Ctrl-C 누를때까지 실시간으로 현재상태를 표시해주는 Joystick 1 화면이며, 
Joystick 2는 $ jstest /dev/input/js1 을 사용하면 보다 쉽게 GPIO 핀을 맵핑할 수 있음

참조 : retropie.org.uk/docs/RetroArch-Configuration/#determining-button-values

 

Comments