EmulationStation을 위한 팩 에뮬레이터

개요

눼이버님의 팩 에뮬레이터를 구현을 위해 파이썬으로 작업해 보았습니다.
[팩 에뮬레이터]는 라즈베리파이와 연결된 슬롯에 게임팩을 꼽고 전원을 켜면, 해당 게임이 실행되는 레트로 감성의 재미난 아이디어입니다.
EmulationStation에 기본 설치된 python2 환경에서 테스트해보았습니다.
눼이버님의 관련 포스트는 아래와 같습니다.

파일 저장

첨부된 파일중 적당한 gamepack.py 파일을 /home/pi/gamepack/ 경로에 넣어주세요.

자동실행 변경

라즈베리파이가 초기 구동을 변경하기 위해 autostart.sh 를 수정합니다.

emulationstation은 실행되지 않도록 주석처리하고,
gamepack.py이 실행하도록 아래와 같이 변경하고 저장합니다.

환경설정

GPIO를 제어하기 위해 아래와 같이 gpiozero를 설치합니다.

게임목록 설정

/home/pi/gamepack/gamepack.ini 파일을 열어서 원하는 키/에뮬레이터/롬을 설정합니다.
에뮬레이터는 gamepack.py 안의 emulDic을 참고하시면 됩니다.
Key값은 5개의 1(On), 0(Off) 조합입니다.

GPIO 연결

신호 입력을 위해 GPIO의 5,6,13,19,26에 순서대로 연결합니다.
GND는 원하는 곳에 연결합니다. (저는 GPIO26 왼쪽에 꼽았습니다.)

구동방식

  • 라즈베리파이 전원 ON
  • gamepack.py 실행
  • Key값에 따라 아래와 같이 동작합니다.
    • 정상 Key : GPIO중 연결된 Key값의 Game을 실행
    • 비정상 Key : 검출된 Key값을 출력만 합니다.
    • Key없음(00000) : EmulationStation 실행

참고사항

라즈콘솔파이 Ver1.22에는 /opt/retropie/configs/all/emulationstation/es_systems.cfg 파일에 코어 설정이 있어서 해당 파일을 읽어오도록 방식입니다.
지원하는 에뮬 종류는 아래와 같습니다.
또한 ES 또는 KODI도 실행할 수 있습니다.

  • amstradcpc, arcade, atari2600, atari5200, atari7800, atari800
  • atarilynx, dreamcast, fba, fds, gamegear, gb, gba, gbc
  • mame-advmame, mame-libretro, mame-mame4all, mastersystem
  • megadrive, n64, neogeo, nes, ngp, ngpc, pc, pcengine, ports
  • psx, retropie, sega32x, segacd, sg-1000, snes, vectrex, zxspectrum

8. 구동영상 및 소스파일

아래는 구동 영상입니다. (일부러 게임 실행되기 전에 촬영을 끊었습니다.)

Download

Notice

  • 이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용할 수 있습니다. 크리에이티브 커먼즈 라이선스
  • 저작권과 관련된 파일요청 및 작업요청을 받지 않습니다.
  • 댓글에 대한 답변은 늦을 수도 있습니다.
  • 2 댓글

    1. 핑백: 가방형 라즈베리파이 게임기 - Kimstar 3.0

    2. 핑백: ES/AT/Kodi 부팅 선택기 - Kimstar 3.0

    댓글 남기기