advmame 에서 키보드 없이 상태저장/불러오기

개요

얼마전 로터리 게임들을 advmame에서 설정했습니다.
advmame 설정중 save state와 load state 기능도 단축키를 할당했는데요.
아쉽게도 키보드로 저장할 slot을 숫자로 지정해 줘야하는 문제점이 있더군요.

자주 사용하는 기능인데 키보드 없이 save/load state 기능을 수행하고 싶어서
특정 버튼이 눌러지면 키보드 누르는 동작을 수행하도록 꼼수를 부려봤습니다.
저는 라즈베리파이로 동작시 뷰릭스에서 안쓰는 버튼(GUIDE버튼)이 있어서
여기에 키보드의 “1” 값을 매핑하였습니다.

패키지 설치

관련 파일 설치

첨부된 파일의 위치를 참고하여 적당한 위치에 파일을 복사합니다.
저는 kimstar라는 디렉토리에 필요한 파이썬파일을 넣어두었습니다.
실행과 종료를 수행할 스크립트는 실행권한을 아래와 같이 설정합니다.

port에는 매핑프로그램을 시작/종료하는 스크립트를 넣었습니다.
/home/pi/RetroPie/roms/ports/gamelist.xml 파일을 첨부파일을 참고하여 수정해주세요.

버튼 이름 확인

매핑할 버튼의 이름을 확인합니다.

저는 여기서 300이란 값의 버튼을 모른다는 오류가 발생하여,
해당 패키지에 300에 해당하는 버튼 이름을 추가하였습니다.

다시 실행해 보면 버튼을 누를때 버튼이름이 출력됩니다.
확인하였으면 Ctrl+C로 빠져나갑니다.

startButton2key.py 수정

startButton2key.sh 파일을 열어서 “KEY_VEWLIX_GUIDE” 부분을 원하는 버튼이름으로 변경하고 저장합니다.

실행방법

1) ports에서 START를 실행하면 매핑 프로그램이 동작합니다.
2) 원하는 mame 게임을 실행하고, save state 또는 load state 버튼을 누릅니다.
3) slot을 입력하라고 나오면 설정한 버튼을 누르면position 1에 저장/로드되었다고 화면에 표시됩니다.
4) 게임 종료 후 더이상 매핑이 필요없으면, ports에서 STOP을 수행합니다.

데모

댓글 남기기