라즈베리 파이를 게임기로 만들기

2012년 10월 라즈베리 파이를 Mame을 사용해서 게임기로 만들기라는 제목으로 포스팅을 했었다. 저 포스팅을 참조하여 Raspberry Pi 3로 다시 게임기를 만들어 보기 위해서 삽질을 했지만 오래 되어서 그런지 어떤 라이브러리는 기본적으로 설치가 안되었고, 구글링을 해서 라이브러리를 받아서 설치를 했지만, 혹시나 해서 AdvencedMame를 검색을 해보았다. AdvencedMame는 많은 변화가 있었다. 4년이 넘게 지난 지금 AdvencedMame는 2016년 4월 v3.0을 릴리즈 하면서 Raspberry Pi를 공식적으로 지원하게 되었다. 현재 버전은 v3.4이다.


다운로드

설치 방법은 아주 간단해졌다. 

http://www.advancemame.it/download에서 직접 다운로드를 받아서 scp, ftp 등을 사용하여 raspberry pi로 설치파일을 옮겨주자. 

또는 아래 처럼 wget 으로 바로 받아도 된다.

wget https://github.com/amadvance/advancemame/releases/download/v3.4/advancemame_3.4-1_armhf.deb


설치하기

그리고 아래 명령어로 패키지를 설치 해준다. sudo dpkg --force-all -i advancemame_3.4-1_armhf.deb

그러면 /usr/local/bin/에 관련 실행 파일이 설치가 된다. 


설정하기

최초 한 번의 advmame 명령어를 입력하면 기본 설정 파일이 생성된다. 그리고 /home/pi/.advance/rom:/usr/local/share/advance/rom를 기본 롬 탐색 디렉토리로 사용한다고 나온다. 혹시 탐색 디렉토리를 변경하고 싶으면 /home/pi/.advance/advmame.rc 설정 파일에서 dir_rom /home/pi/.advance/rom:/usr/local/share/advance/rom 이부분을 변경하면 된다. 

advcfg 명령어로 화면 설정을 한다. 아래 그림 처럼 LCD 모니터 또는 HDTV를 선택하고, 적당하게 테스트를 해보고 정상적으로 나오면 save를 하고 나온다. 


키보드를 사용해서 게임을 해도 되지만, 알리익스프레스에서 약 3달러에 판매하는 NES 조이스틱 사용하는 것도 편리하다. 배송에는 약 1달이 걸린다. OTL


게임롬

게임롬은 mame rom으로 구글링을 하면 많이 나온다. 


실행방법

pi@raspberrypi:~/.advance/rom $ ls
bublbobl.zip  ddragonu.zip  ddragonw.zip  ddragon.zip  dkong.zip  suprmrio.zip

rom 디렉토리에 위와 같이 zip파일가 있으면 advmame 게임이름으로 아래와 같이 명령어로 실행을 하면 된다. 

advmame bublbobl


참조: 키 리매핑 방법

advj 명령어로 조이스틱 키 입력값을 확인하니, 기존에 구입했던 거와, 새로 구입한 조이스틱의 입력 값이 달랐다. 새로운것은 thumb가 0번, thumb2이 1번으로 설정되어 보글보글 게임시 문제가 없었는데, 기존에 가지고 있던 것은 thumb이 3번, thumb2가 2번으로 되어서 게임시 버튼이 하나 인식이 안되는 경우가 있어서, 아래와 같이 설정파일에 추가를 해주니 제대로 인식이 되었다. 

input_map[p1_left] joystick_digital[0,stick,x,left]
input_map[p1_right] joystick_digital[0,stick,x,right]
input_map[p1_up] joystick_digital[0,stick,x,up]
input_map[p1_down] joystick_digital[0,stick,x,down]
input_map[p1_button1] joystick_button[0,thumb2]
input_map[p1_button2] joystick_button[0,thumb]










​ ​​마음에 드셨으면 아래 추천 버튼을 꾹 눌러주세요. :]


저작자 표시 비영리
신고
Posted by KraZYeom

라즈베리 파이 튜토리얼 작성을 위해서 구입한 닌텐도 컨트롤러를 일단 맥에서 잘 돌아가나 테스트를 하기로 마음 먹었다.

(구입처 : 알리 익스프레스 링크 가격 약 2.73달러 (배송비 무료)


일단 여러 종류의 맥용 MAME 가 있다. 이상하게 하나하나 돌려봐도 실행까지는 되나 이상하게 ROM 인식을 제대로 못 한다. 삽질의 삽질. 


SDLMAME for MAC ( http://sdlmame.lngn.net/ ). 이 것은 그나마 최근까지 활발하게 지원을 해주는 것같다. 최근 릴리즈가 17년 1월 25일. 우선 위 링크로 들어가서 파일을 다운로드 받는다. 64bit 버전 하나만 있어 리스트에서 1번째 것을 다운로드 받는다. ( 직접 링크 http://sdlmame.lngn.net/mame0182-64bit.zip ) 그리고 압축을 풀어 놓는다. 


ROM 파일은 하위 디렉토리에서 roms에 있어야 한다. roms 디렉토리가 없으면 생성하도록 한다. ROM 파일을 구글링을 통해서 다운로드 받는다. ( * 다운로드 받은 파일의 저작권 등은 본인이 책임지지 않습니다. ) zip으로 압축된 파일을 압축을 풀지말고 아래 그림 처림 roms 디렉토리에 이동하면 된다. 


mame64를 클릭해서 실행을 하면 이상한 에러와 함께 실행이 되지 않는다. 

SDLMAME를 사용하기 위해서는 SDL Rumtime Library ( http://www.libsdl.org/download-2.0.php )가 필요하다. 그래서 SDLMAME 인 듯 하다. SDL 라이브러리 홈페이지로 이동한다. 그리고 OSX 버젼의 라이브러리 파일을 받는다. ( http://www.libsdl.org/release/SDL-2.2.0.5.dmg )


다운로드 받은 파일을 마운트를 하면 아래 그림과 같이 마운트 된다. 



그런다음 SDL.framewok 디렉토리를 복사 ( Cmd + C )한다. 그리고 아래 그림과 같이 Cmd + SHIFG + G 를 눌러서 라이브러리 디렉토리의 프레임워크 디렉토리 ( ~/Library/Frameworks )로 이동한다. 없으면 만들도록 하자. 


그리고 Cmd + V 를 해서 복사해놓은 디렉토리를 붙여 넣기 한다. 이렇게 하면 준비 과정은 끝났다. 


이제 Finder에서 mame64를 클릭을 해서 실행을 하면 아래 그림 처럼 롬파일이 없다고 나온다. 여기서 정말 많이 삽질을 했다. 아무리 구글링을 해도 안나오는 것이다. ㅠㅠ mame64를 자세히 보니 콘솔 실행 파일이다. 


스크립트 에디터(애플리케이션 > 유틸리티 > 스크립트 에디터)를 실행해서 아래 스크립트를 입력을 한다. 빨간색 위치에 다운로드 받아놓은 mame의 디렉토리를 입력을 하자. 위 링크로 받고 압축을 풀었으면 아래링크와 동일하다. 삼각형 모양의 실행 버튼을 클릭해서 실행이 되는지 테스트를 한 번 해보자. 



tell application "Terminal"
    do script "cd ~/Downloads/mame0182-64bit
    ./mame64"
end tell



그리고 스크립트 에디터 메뉴 파일 > 내보내기를 선택을 한다. 




파일 포멧을 애플리케이션(응용 프로그램)으로 선택을 하고 저장을 하면 실행파일이 생긴다. 그것을 독(Dock)에 끌어다 놓으면 된다. 



이제 아래 그림 처럼 실행이 잘 되고, roms 파일에 넣었던 zip 파일의 게임들이 목록에 나타난다. 



USB 컨트롤러를 설정하기 위해서는 Configure General Inputs 메뉴를 선택한다. 



그런다음 Enter 키를 눌러서 Up/Down/Left/Right/Button 1/Button 2/Select/Start 에 대한 키를 맵핑 시키도록 한다. or 로 키보드도 함께 사용하고 싶으면 하나의 키를 맴핑후에 다시 Enter를 누른후, 재빨리 다른 키를 눌러서 맴핑하도록 한다. 몇 번 하다보면 익숙해진다. 



이제 USB 조이패드를 사용해서 게임을 재미있게 하면 된다!


저작자 표시 비영리
신고
Posted by KraZYeom

1. MAME 실행 파일을 다음링크에서 다운로드 받습니다. http://sheasilverman.com/rpi/raspbian/mameBin.zip 

pi@raspberrypi ~ $ wget http://sheasilverman.com/rpi/raspbian/mameBin.zip


2. 다운로드 받은 파일을 압축을 풉니다. 

pi@raspberrypi ~ $ unzip mameBin.zip 


3. sudo usermod -a -G video [your_username]

pi@raspberrypi ~ $ sudo usermod -a -G video pi


4. 초기 셋팅을 위해 advmame 실행을 합니다. 그러면 몇몇의 디렉토리가 생성 되고 ~/.advance에 옮겨집니다.

pi@raspberrypi ~ $ ./mameBin/bin/advmame 


5. 화면 셋팅을 위해서 ~/.advance/advmame.rc 에 설정값을 추가합니다. HDMI와 NTSC 구분해서 추가합니다.

pi@raspberrypi ~/.advance $ vim /home/pi/.advance/advmame.rc 


// HDMI TV 

device_video_clock 5 - 50 / 15.62 / 50 ; 5 - 50 / 15.73 / 60


// NTSC TV 용

device_video_clock 5 - 50 / 15.73 / 60

* vim 이 없을 경유 : nano 를 사용해도 됩니다.

* sudo apt-get install vim  으로 설치도 가능합니다. 


6. 다운로드 받은 게임을  ~/mameBin/share/advance/roms/GameFolderName 에 복사합니다.

* mame 게임은 구글링으로 mame rom 으로 검색하면 주루루루루룩 나옵니다. 

pi@raspberrypi ~ $ cd mameBin/bin/


7.  ~/mameBin/bin/advmame GameFolderName 으로 게임을 실행합니다.

pi@raspberrypi ~ $ ~/mameBin/bin/advmame GameFolderName


저작자 표시 비영리
신고
Posted by KraZYeom