라즈베리파이에 Batocera 를 사용하여 레트로 게임기 만들기
목차
Batocera 로 라즈베리파이에 올려서 개임기를 만들수 있다
코드도사의 레트로 게임기 시리즈. 이번에는 게임 구동 OS 중에 레트로파이에 이어서 “Batocera” 로 라즈베리파이에서 게임기를 만드는 법에 대해 알아봅니다.
라즈베리파이에 올릴 수 있는 게임 OS에 대해서는 아래 글에서 설명을 드린 바 있습니다.
소개해 드린 게임 OS 는 리눅스 기반이 대다수이며 오픈소스로 배포되기 때문에 누구나 다운로드 하여 겡미기를 만드는게 가능합니다.
그 중에서 특히 “Batocera” 는 라즈베리파이 뿐만 아니라 Odroid, 오렌제파이 등등의 다양한 기기에 올려서 사용할 수 있으므로 그 활용범위가 넓다고 볼 수 있습니다.
Batocera 는 오래된 구형 PC나 아톰 프로세서 등에서도 올려서 돌릴 수 있기 때문에 집에 굴러다니는 구형 PC나 노트북에서도 올려서 사용할 수 있기 때문에 레트로파이나 다른 게임 OS 에 비해 확장성이 용이하다고 볼 수 있겠습니다.
이번 글에서는 Batocera 를 사용하여 제가 가지고 있는 “라즈베리파이 3B+” 에서 레트로 게임기를 만드는 법에 대해 소개해 보겠습니다.
Batocera 이미지 다운로드
Batocera 는 이 앞전에서 소개해 드렸듯이 리눅스 기반의 오픈소스 게임 OS 입니다. 따라서 누구나 공식 사이트에서 이미지를 다운로드 받아서 사용하실 수 있으며 다양한 기기를 지원합니다.
먼저 Batocera 를 다운로드 받기 위해 공식 사이트의 다운로드 페이지로 이동합니다. (위 링크로도 이동가능) 그런 다음에 제가 가지고 있는 라즈베리파이 3B+ 의 이미지를 다운로드 합니다.
Batocera 의 경우에는 라즈베리파이의 모델별로 이미지 파일이 별도로 제공되기 때문에 내가 가지고 있는 라즈베리파이의 모델에 따라서 이미지를 선택하여 다운로드를 하면 됩니다. 저는 위와 같이 라즈베리파이 3B+ 용 이미지를 다운로드 하였습니다.
Batocera 이미지를 SD 카드에 설치
압축된 이미지 파일을 해제하면 이미지 파일 사이즈가 대략 4.7 GB 정도 됩니다. 따라서 SD 카드는 적어도 8GB 이상의 SD 카드를 준비하는게 좋습니다.
현재 Batocera 의 버전은 39입니다. 이미지 파일의 데이터를 SD 카드로 복사하기 위해 “Win32diskimager” 를 실행합니다. (설치가 안되어 있다면 아래 링크에서 다운로드 및 설치하세요)
자 그런 다음에 Win32diskimager 를 실행하고 좀전에 다운로드 받았던 Batocera 이미지 파일을 불러옵니다. SD 카드 리더기에 SD 카드를 꼽고 PC의 USB 포트에 연결한 다음 해당 USB 디바이스를 선택한 다음에 “Write” 버튼을 눌러서 Batocera 이미지 데이터를 SD 카드로 복사하면 됩니다. (레트로 파이와 동일합니다)
라즈베리파이에서 Batocera 로 부팅하기
SD 카드의 복사가 끝났으면 SD 카드를 빼서 라즈베리파이의 SD 카드 슬롯에 끼운 다음 부팅을 해봅니다.
그럼 요렇게 Batocera 가 부팅이 시작됩니다.
부팅이 완료된 초기 화면의 모습입니다. 레트로파이와 화면 구성이 유사해 보이지만 약간은 차이가 있네요. 초기에 몇개의 게임기가 있는데 게임기를 변경할때마다 배경화면이 바뀝니다.
일반적으로 전체적인 화면 구성은 레트로파이와 비슷한 부분이 많아 보입니다. 그런데 좀더 게임기같은 느낌은 “Batocera” 가 더 강해 보이는군요^^
게임패드(조이스틱) 연결
게임패드의 경우에는 시중에 파는 모든 게임패드 사용이 가능할거 같습니다. 최근에 알리에서 구입한 저렴한 게임패드도 사용이 가능하네요. 블루투스 게임패드 또한 연결이 가능합니다.
키 버튼은 위 그림을 참고하시면 될거 같습니다.
참고로 저는 “DataFrog S80 블루투스 게임패드” 를 알리 익스프레스에서 저렴하게 구입하여 사용중입니다. 블루투스로 연결하여 조작하는데 나름 쓸만하네요.
WiFi 연결 및 SSH 패스워드 설정
먼저 WiFi 를 연결해 보겠습니다. 게임패드(조이스틱) 의 Start 키나 키보드의 스페이스 키를 누르면 “메인 메뉴” 로 진입할 수 있습니다.
Batocera 는 위와 같이 한국어를 지원합니다. 한국어 설정을 하시고 싶다면 “시스템 설정” 쪽을 들어가면 설정이 가능합니다.
언어를 Korean 으로 설정하면 자동적으로 타임존이 Seoul 로 설정이 됩니다. 이렇게 하고 “뒤로” 버튼으로 갑니다. 그런 다음 메인 메뉴중에 “네트워크 설정” 이 있습니다. 네트워크 설정을 선택을 합니다.
여기서 WiFi 를 활성화 해준 다음에 WiFi SSID를 검색하고 패스워드를 넣어준 다음에 “뒤로” 버튼으로 이동합니다. 그러면 WiFi 연결을 시도하게 됩니다.
WiFi 가 정상적으로 연결되면 SSH 사용이 가능합니다. 초기 SSH 접속 계정 및 패스워드는 다음과 같습니다.
- root
- linux
그런데 기본 패스워드는 보안상 취약하니 root 패스워드를 바꿔보도록 하겠습니다. 현재 설정되어 있는 root 의 패스워드를 알아보려면 다음과 같이 입력해 줍니다.
batocera-config getRootPassword
그럼 현재 설정되어 있는 root 패스워드가 나타납니다.
현재 기본 SSH 로그인은 root 계정으로 할 수 있습니다. 그런데 패스워드를 바꾸기 위해선 다음과 같이 시스템 설정에서 보안 설정을 활성화 해줍니다.
메인메뉴 – 시스템 설정에서 “보안”을 선택합니다.
여기서 기본적으로는 보안 강화 기능이 비활성화 되어 있는데 요걸 활성화 하면 비밀번호의 변경이 가능합니다. 활성한 뒤에 패스워드를 바꾸려면 다시 SSH로 돌아가서, 다음과 같은 명령어로 바꿀 수 있습니다.
batocera-config setRootPassword [PASSWORD]
패스워드를 바꾸실때는 최소 8자이상으로 바꾸시길 바랍니다. 저 같은 경우에는 그 이하로 했을 때 SSH가 정상적으로 접속이 안되는 문제가 있네요. 보안상 짧은 문자열은 허용하지 않는거 같습니다.
바꾼 패스워드를 SSH가 정상적으로 접속이 된다면 이후에 파일 공유를 위한 삼바 접속도 가능해 집니다. Batocera 가 할당받은 IP로 Windows 에서 접속을 시도해 봅니다.
접속이 잘 됩니다. 여기서 share 폴더로 이동하면 계정과 패스워드를 묻는데 ID 는 root, 패스워드는 설정해준 패스워드를 입력하면 됩니다.
Batocera 내부 파일 시스템으로 접속이 잘 되는 걸 볼 수 있습니다. 이제 게임 파일을 공유할 수 있겠군요.
게임파일 복사 및 게임 실행하기
자 이제 게임을 하기 위해 게임 롬(ROM) 파일을 라즈베리파이로 복사를 해야죠? 삼바가 활성화 되어 있기 때문에 \\share\roms 에 복사를 하면 됩니다. roms 안에 들어가면 각 게임기 에뮬레이터 별로 폴더들이 쫘악~ 나열해 있습니다.
요렇게 말이지요. 그중에서 NES 게임 롬파일들을 해당 폴더로 복사를 해보겠습니다. 참고로 Batocera 의 겨우에도 RetroArch 를 사용하여 게임 에뮬레이터를 구동합니다.
RetroArch 에 관해서 위 글을 참고해 보셔도 좋습니다.
먼저 NES로 들어가봅니다. 게임 롬 파일을 복사를 하였더니 Batocera 에서도 게임 롬파일들이 보입니다.
게임들이 많아서 일단 저의 최애 게임인 “Bubble Bobble” 을 검색했습니다. 실행을 해봅니다. (레트로 파이와 실행 방법은 동일합니다)
네 실행에는 별 문제가 없네요. 잘 됩니다.
게임도 문제없이 잘 동작합니다. ㅎㅎ
이번에 구입한 블루투스 게임패드 입니다. Batocera 와 연동도 잘되고 게임 하는데 전혀 지장이 없네요. 참고로 Batocera 도 블루투스 게임패드 연동에 전혀 문제 없이 잘 동작합니다.
이 외에 다른 게임 에뮬레이터에 게임 추가와 관련된 내용은 위 Batocera 위키 글을 참고하셔서 넣어보시기 바랍니다. 아마 RetroArch 기반이기 때문에 비슷할 거라 추측됩니다.
지금까지 Batocera 로 라즈베리파이 3B+ 에 올려서 레트로 게임을 하는 방법에 대해 알아봤습니다. 이번에 Batocera 를 잠깐 사용해 보니 화면 UI 구성이나 편리성은 Batocera 가 좀더 메리트가 있어 보이는군요. 한글 지원도 깔끔하고 GUI 가 예쁘다 보니 Batocera 로도 게임을 즐기는 재미가 있을거 같습니다.
저 개인적으로는 Batocera 로 게임기를 만드는 것도 괜찮아 보입니다.