#소박한인생로망프로젝트
라즈베리파이(RaspberryPi3)를 이용해 어린시절 갖고싶었던 오락실 게임기를 만들어 봤습니다.

케이스를 만들어 모니터와 스피커, 조명 등을 설치하고, 시트지로 외관을 마무리 하였습니다. 이제는 게임기의 핵심이라 할 수 있는 게임 구동을 위한 소프트웨어와 조이스틱, 전기배선등의 연결작업이 남았습니다.

게임기 에뮬레이터 설치 및 세팅

13267893_10204666629304781_6301216276076965229_n.jpg

게임기의 소프트웨어 부분은, 라즈베리파이(RaspberryPi3) + 리콜박스OS(RecalBox OS)의 조합으로 선택했습니다. 라즈베리파이에 OS를 설치하고, 선호하는 에뮬레이터를 설치하는 방법도 있지만, 리콜박스를 이용하면 다양한 에뮬레이팅에 최적화된 OS를 손쉽게 설치할 수 있습니다. 오픈소스프로젝트로 제공되고 있으며, 리콜박스 이외에 레트로파이(RetroPie)와 라라카(LaLaKa) 등이 있습니다.

  • 레트로파이 : 오래된 소프트웨어로, 오래된 역사만큼 다양한 커뮤니티가 형성되어 있습니다. 가장많은 에뮬레이터를 지원하고 있으며(PSP, Dreamcast 도 지원), 터미널 모드에서 사용자가 자신의 입맛에 맞게 환경을 설정할 수 있습니다. 그러나 터미널 작업을 위해서는 최소한의 지식이 있어야 하기에 컴퓨터 시스템을 잘 알지 못하는 사용자에게는 부담이 있습니다.
  • 리콜박스 : 레트로파이보다 늦게 시작된 프로젝트지만, 터미널 모드 필요없이 편리한 UI를 제공하여 손쉽게 설치할 수 있어 최근에 많이 사용되고 있는 소프트웨어입니다. 그러나 사용자환경 설정 부분이 극히 제한적인 부분은 아쉽습니다.
  • 리콜박스가 지원하는 게임 시스템 : Arcade, Nes, FDS, Super Nintendo, Master System, Playstation, Genesis, GameBoy, GameBoy Advance, Atari 7800, GameBoy Color, Pc Engine, Atari 2600, Sega SG, MSX 1/2/2+, Nintendo 64, Sega 32X, Sega CD, ScummVM, Game and Watch,Vectrex, Game Gear, Virtual Boy, Lynx, Wondoerswan Color, NeoGeo Pocket Color, NeoGeo/NeoGeo CD, Supergrafx, Odyssey 2 Videopac, Amstrad CPC, Sinclair ZX81, Atari ST, Sinclair ZX, Moonlight 등 ( 자세히보기 )

micro SD를 포맷하여 리콜박스OS 이미지 파일을 복사하여 라즈베라파이 실행하면 설치는 간단히 성공합니다. 리콜박스OS 설치하기 영상 참고)
– 설치가 완료된 이후 USB의 조이스틱(혹은 xbox360, PS3)을 연결하여 기본 키와 무선인터넷 등을 설정해 줍니다.
– 이후 리콜박스가 설치된 microSD카드의 share/roms 폴더 하위에 원하는 게임의 롬 파일을 복사하면 됩니다.
– 라즈베리파이3 모델은 블루투스와 무선인터넷 모듈이 기본으로 제공되어, 무선인터넷을 세팅하면 FTP, samba 을 통해 롬 파일을 microSD카드에 복사할 수 있습니다.

(update. 2017/5/25. 다양한 패지키 사용과 사용자 설정, 키맵핑의 편리함등으로 인해 Retropie 로 재설치 하였습니다.)

세팅을 완료한 라즈베리파이는 이후 업데이트와 관리를 쉽게 할 수 있도록 모니터 뒷면의 MDF판에 부착했습니다.

IMG_6708.JPG

아날로그 조이스틱 연결하기

아날로그 조이스틱은 가장 대중적인 ‘삼덕사 303F’ 모델을, 버튼 역시 삼덕사의 207-H모델(28mm 사이즈) 16개(조작키 6개, start 1, select 1)를 사용했습니다. 일반적으로 버튼을 전선과 연결할 때는 납땜으로 연결해야 하는데, 삼덕사의 207-H 모델의 경우 커넥터 구조로 되어 있어서 납땜작업 없이 쉽게 연결할 수 있는 장점이 있습니다.

삼덕사 207-H (출처:루리웹 )

조이스틱과 버튼 외에 준비할 것이 부품이 하나 더 있습니다. 아날로그 조이스틱의 입력신호를 라즈베리파이에서 인식하기 위해서는 ‘Encoder(엔코더)’를 이용해 입력을 변환해줘야 합니다. 엔코더 장치에는 입력 반응속도가 가장 좋은 iPac 제품이 많이 사용되고 있으며, 좀 더 손쉬운 세팅방법을 제공하는 Arcade USB Encoder 사용하기도 합니다. (조이스틱과 버튼스틱부를 제외하고는 점퍼에 순차적으로 꽂고, 이후 리콜박스에서 세팅만 하면 끝)

각 부품들이 모두 준비 되었으니, 조이스틱과 버튼, 엔코더를 케이스의 조작부에 설치를하고 케이블을 연결해 줍니다. 케이블간의 간섭으로 인한 조작 오류를 막기 위해, 케이블의 각 연결부에는 실리콘 재질의 커버를 모두 삽입하여 처리 하였습니다.

IMG_6691.JPG IMG_6693.JPG

그리고 1p, 2p 의 아날로그 조이스틱과 버튼을 엔코더에 케이블로 연결해 줍니다. (조이스틱은 상하좌우를 구분하여 연결해 줘야 하며, 그 외 버튼들은 키 배열순서에 상관없이 차례로 연결하면 됩니다.)

IMG_6697.JPG IMG_6696.JPG IMG_6695.JPG IMG_6694.JPG

케이블로 조이스틱, 버튼과 엔코더를 연결한 모습입니다. 이제 엔코더의 USB케이블을 라즈베리파이에 연결하고 리콜박스의 키설정 화면에서 키를 세팅하면 완료됩니다. 만약 LED조명이 들어오는 버튼으로 세팅한다면 전원연결을 위한 케이블을 추가로 연결하면 됩니다.

전원연결 그리고 코인기 설치

전원과 연결된 게임기를 쉽게 켜고 끌 수 있도록 케이스 뒷면에 파워스위치 설치하였습니다. 혹시 모를 과전류로 인한 화재를 막기 위해 퓨즈가 내장된 전기스위치를 사용했습니다. (IEC Fused Power Inlet with a Lighted Swich 250v 10a) 집에서 흔히 사용하는 멀티콘센트 케이블을 자른 후, 다음의 사진처럼 케이블을 연결해 주면 됩니다.

이 사진은 예전 국제표준의 케이블 사진으로, 최근에는 블루(검정), 브라운/레드(화이트), 그린+엘로우(그린/ 접지선) 색으로 변경되었습니다. 각각에 해당하는 색의 케이블 위치에 맞춰 연결하면 됩니다. newwiki.carcadecontrols.com

IMG_6698.JPG IMG_6699.JPG

오락실 게임의 백미는 뭐니뭐니해도 동전투입 시스템입니다. select버튼을 눌러 게임을 시작할 수 있지만, MAME와 NEO-GEO 등 고전의 오락실 게임들은 100원짜리 동전을 넣어야 플레이되도록 세팅하였습니다. 이를 위해 게임기 우측에 코인키를 설치하였습니다.(어렸을 때, 테니스줄을 이용해 튕기기(?)로 공짜로 게임을 즐기는 방법이 있었는데, 그 원리를 알고 말았습니다. +_+;)

IMG_6705.JPG IMG_6706.JPG

동전수거와 라즈베리파이 관리를 위해 뒷문을 만들었고, 전면의 조이스틱부와 함께 ‘빠찌링’이라는 자석을 설치하여 자주 여닫을 수 있도록 하였습니다.

IMG_6719.JPG IMG_6722.JPG IMG_6723.JPG IMG_6702.JPG

전면부의 아크릴, 마키 작업으로 마무리

케이스의 앞 부분은 내부를 가려 전체 마감의 완성도를 높임과 동시에 모니터를 보호하기위해 투명 아크릴(T3)과 블랙 시트지를 이용하여 설치하였습니다. 상단의 마키 부분은 포토샵으로 이미지를 제작(오프라인 인쇄물이기때문에 CMYK 컬러셋으로 작업을 해야 원하는 색상의 출력물이 나옵니다.)하여 인쇄업체에 PVC캘(조명이 있는 광고판에 사용하는 접착 인쇄물)재질로 컬러 출력을 의뢰하였습니다. 그리고 투명아크릴(2T)에 붙여 마무리~ 푸른색 조명이 들어오면 아주 멋집니다.

arcad(160702-CMYK).jpg

드디어 완성, 또 하나의 추억이 만들어졌습니다.

게임기 제작이 드디어 끝났습니다. 게임기를 만들기 위해 정보수집과 구상에 1개월, 만드는데 1개월 정도가 소요되었습니다. 98% 제가 구상한대로 나온것 같아 매우 만족합니다.(다음에는 수납공간이 함께있는 입식 케이스를 만들어 볼까 합니다.) 이제는 어린시절 추억을 떠올리며 매일 밤 게임을 즐기는 일만 남았습니다.

IMG_6764.JPG IMG_6760.JPG IMG_6756.JPG IMG_6734.JPG IMG_6761.JPG

게임기 제작 부품 정보

게임기 제작에는 총 35만원 정도가 들었습니다. 여러곳으로 발품을 판 덕분에 완제품의 게임기를 사는것보다는 조금 저렴한 비용으로 제작을 하였습니다. 별 차이 없는데 그냥 완제품을 사지 왜 이런 고생을… 이라고 생각하시는 분이 계시다면 ‘추억’을 위한 소박한 취미로 여겨주시면 감사하겠습니다.

재료를 준비할 때, 너무 정보가 없거나 혹은 너무 많은 정보로 인해 이를 재료 구입에 판단이 어려웠었습니다. 부품을 구매에 해외사이트들을 많이 참고하였습니다. 그러면서 느낀것이 해외는 DIY에 대한 다양한 정보와 제품들이 넘쳐나고, 가격 또한 저렴했습니다. 반면 우리나에서는 재료에 대한 정보도 많지 않을뿐더러 제품 또한 구입하기 쉽지 않았습니다. 참 아쉽더군요.

그 어려움을 몸소 체험하였기에, 게임기를 제작하시는 분들이 부품 구입 정보을 알아보는 시간을 조금이라도 아껴드리고자 부품 구매처와 비용을 같이 정리했습니다.(단, 부품가격은 시기에 따라 변동이 있을 수 있습니다.)

* 라즈베리파이(Raspberry Pi 3) + 케이스 + micro SD 32GB : $67.99 (구매처)
* zero delay Arcade USB Encoder Pc to Joystick : $13.99 * 2 (구매처)
* 삼덕사 조이스틱/버튼 2Set : 삼덕사 303F 조이스틱(2개/ 40,000원), 삼덕사 207-H 버튼(16개/ 25,000원) / 대림상가 삼덕사
* 퓨즈 내장 전원스위치 : 2,000원 / 대림상가
* 100원 코인기 : 8,000 / 대림상가 삼덕사
* 게임기 케이스 MDF T12 CNC 작업 : 60,000원 (구매처)
* 미니앰프 MA-170 : 14,900원 (구매처)
* 스피커 유닛 삼미 FR-100B09 4인치 : 5,800원 * 2 (구매처)
* LED T5 조명(Blue) : 8,000원 (구매처)
* 아크릴판(T2, T3) : 10,000원 (구매처)
* 시트지 2m + 프라이머 : 17,200원 (구매처)
* 마키(Marquee) 디자인 출력 : 3,000원 (구매처)
* 기타 재료 : 나사못, 사포, 빠찌링 등 / 8,000원
* “17 모니터 / HDMI2VGA 젠더 / 멀티콘센트 : 집 냉장고 구석(?)
* 소프트웨어 : RecalBoxOS (다운로드) / 스트리트파이이터2 및 기타 게임 롬 파일

추가1. 게임을 보다 제대로 즐기기 위한 세팅 정보

  •  게임마다 키 설정이 다르기 때문에, 에뮬레이터마다 키 설정을 해줘야 게임을 제대로 즐길 수 있습니다. (키 설정 방법)
  • 리콜박스의 비디오출력의 기본값은 CRT모니터로 되어 있습니다. 때문에 제가 사용할 17인치 LCD 모니터에서 최적으로 사용하기 위해서는 비디오 세팅이 필요합니다. 17인치의 경우 아래 정보로 세팅하면 됩니다. CEA는 브라운관 모니터 모드, DMT는 디지털모니터 모드 – Video Configuration detailled)

    recalbox.conf 와 /boot/config.txt 파일을 모두 수정해야 함.
    //config.txt 파일에서 다음 코드라인 수정
    hdmi_group=1
    hdmi_mode=32
    //recabox.conf 파일에서 다음 코드라인 수정
    global.videomode=DMT 35 HDMI

  • 라즈베리파이 본체의 GPIO 를 이용하여 별도의 장비없이 조이스틱의 신호를 바로 입력할 수도 있습니다. (GPIO conteroller)

추가2. 아케이드 제작 시 참고 사이트

소박한인생로망프로젝트 – 오락실 게임기 만들기

1. RaspberryPi 를 이용해 게임기(아케이드 캐비넷) 만들기 – 1. 개요 및 준비 편
2. RaspberryPi 를 이용해 게임기(아케이드 캐비넷) 만들기 – 2.케이스 제작 편
3. RaspberryPi 를 이용해 게임기(아케이드 캐비넷) 만들기 – 3.소프트웨어/배선 그리고 마무리 편



Comments

  1. 안녕하세요 글을 보다 궁금한점이 생겨 혹시 답을 얻을 수 있을까 해서 이렇게 글을 남깁니다.
    위 글 처럼 게임기를 만들기 보단 TV의 디스플레이만 이용해 조이스틱을 따로 만들어 라즈베리에 연결해 사용을 해볼 수 있을거 같다는 생각이 들었습니다. 그 부분에서 조이스틱을 무선으로 셋팅할 방법이 없을까 해서요.. kingsas@naver.com으로 메일을 보내주실 수 있다면 감사하겠습니다.

    1. 라즈베리파이에는 블루투스 모듈을 지원하여 Xbox360 이나 PS3,4 의 블루투스 컨트롤러를 연결하여 사용할 수 있습니다. 아케이드 스틱을 블루투스로 제작할경우 전원연결의 이슈가 발생하여 복잡해 질 듯 합니다.(이 부분에 대한 기술적인 지식은 저도 잘….)

      많이 사용하는 방식인 ‘라즈베리파이 + 조이스틱 조합’으로 작은 조이스틱박스를 만들어 휴대성을 확보하고, 이를 TV에 연결하는 방식이 오히려 심플할것 같습니다.

    1. 댓글 확인을 생각조차 하지 못해서 답이 늦었습니다 ㅠㅠ
      코인기 하단에 3개의 접지부가 있는데, 동전투입구 방향으로부터 2개 접지부를 전선으로 연결하고 반대편을 엔코더의 빈 슬롯에 꼽습니다. 그런 후 리콜박스 키설정에 들어가셔서 Select 항목을 선택 후 키입력을 하라고 할때, 동전을 넣어 신호를 주면 됩니다.
      실제해보면 별거 아닌데, 글로 설명하려니 어렵네요 ㅡ.ㅡ;

  2. 안녕하세요 코인기 배선연결법이랑 파워스위치 연결법 문의좀 드리고 싶습니다.

    파워스위치 뒷편 보면

    상하 간격이 짧은거랑 긴거 총 4개의 은색 전선 꽂는곳이 있잖아요 그거 연결하는 방법을 모르겠습니다.

    도와주세요

  3. 코인기 배선 연결은 위의 댓글에 내용이 있으니 참고하시면 될 것 같습니다.
    파워스위치의 경우 모델마다 연결형태가 다르지만 연결방식은 거의 같습니다. 이 글 중간에 연결사진을 참고하시거나, 해당 링크로 들어가시면 보다 자세한 정보를 얻을 수 있습니다. +_+; 답변이 되셨는지요 …

  4. 많은 도움이 된 블로그 글 이었습니다.. 딸아이 한테 좋은 선물이 될 것 같네요~ 좋은 글 감사드려요!

  5. 도움 많이 되었습니다. 저도 참조하여 게임기 자작을 하려고 이것 저것 부품은 준비하고 있는데 도면에서 문제가 생겼습니다. 제 PC가 허접해서 그런지 스케치업이 실행이 안되네요. 그래픽 가속 어쩌구 저쩌구 하면서 말입니다.
    올려주신 스케치업 파일 그대로 작업하려고 하는데 혹시 캐드파일로 변환된 파일이 있으시면 받아볼 수 있을지 염치 불구하고 부탁 드립니다.

    1. 저도 편하게 캐드포맷으로 공유하고 싶지만, 일부 유저들이 도면 캐드파일을 유료로 판매하는 사례들이 있더라구요.
      그래서 스케치업 파일로 공유하고 있습니다. 불편하시겠지만 이해해주세요 ㅠㅠ

      1. 감사합니다. 저도 인터넷 서핑하여 하나 구해서 만들고 있습니다.

  6. 이제 버튼 연결할 차례인데, 만드신것을 보면 조이스틱 옆 버튼 6개씩 있고 앞판 앰프 좌우에 버튼 두개씩 있는데요.
    조이스틱 옆의 버튼이야 게임에서 쓰는 것으로 할당하셨을텐데
    앰프 옆 좌우의 버튼 2개씩은 어떤 용도로 세팅을 하셨는지요?

    1. 조이스틱 우측의 버튼 6개는 게임용 버튼 ( A,B,X,Y,L1,R1)이고, 앰프 옆 버튼은 Start, Select (그리고 HotKey) 버튼입니다.
      Start 버튼은 게임화면 내에서 게임을 시작할 때 사용되고,
      Select 버튼은 메뉴선택, 컨티뉴, 그리고 HotKey + 키조합 으로 게임을 설정하거나 종료하는 용도로 사용됩니다.
      저는 Select버튼과 뒷편에 코인기를 같은 기능으로 할당해서 사용하고 있습니다.

      1. 매번 친절한 답변 감사합니다.

        앰프 좌우로 버튼이 두개씩 총 4개라 이 버튼들을 어떻게 할당할지 궁금해서 여쭤봤었구요.
        추가로 코인기와 select 버튼을 같은 기능으로 할당하려면 두개의 선을 엔코더에 하나로 물려서 연결해야 하나요?

        마메나 레트로게임할 때에는 코인기만 가능하게 하고 나머지는 게임시뮬에서는 select 버튼으로도 게임할 수 있게 하고싶은데 그렇게는 아예 불가능한 것 같더군요.

      2. 각 게임마다 사용자 키를 할당할 수 있습니다. 게임을 실행한 후 핫키 + B (리콜박스 기준) 를 누르시면 게임설정화면(Retroarch)에 진입할 수 있는데오, 그 곳에서 각 게임마다 사용자 키를 할당할 수 있습니다.
        직접 해보진 않았지만, 마메나 레크로게임에서는 Select를 코인기로 할당하고, 다른게임들은 Select버튼으로 할당하면 될 듯 싶네요.

  7. 제가 본 라즈베리파이 포스팅중 단연 최고네요…이상하게 머리에 쏙쏙 들어와요~

    1. 경험을 정리한 글인데 좋게 평가해 주셔서 감사합니다. :) 한번 도전해 보시면 어떨까요? ~

Leave a Reply