얼마전 블랙프라이스데이에 저렴하게 Retro-CM3 기기가 판매되어서 구매해 보았습니다.
64G 메모리에 기본적인 세팅이 되어있기 때문에 바로 사용가능하지만, 개인 취향껏 세팅해 보았습니다.
Retro-CM3 구성품
- retro-cm3 본체
- 싸구려 이어폰
- usb 5pin 충전 케이블
- 글자가 작아서 안보이는 사용 설명서
- 파우치
- 64GB Sandisk Ultra MicroSD

Retro-CM3 사양
- Raspberry Pi CM3L
- 3.2인치 / IPS / 480x320 / 60Hz
- 좌측 아날로그 스틱 (PSV2000)
- L1, R1 버튼
- WiFi 지원 (Rtl8188)
- 3500mAh 리튬이온 배터리 (GBA 6시간 구동)
- 최대 256GB 외장 메모리 지원
- 내장 스피커 1W
- 3.5mm 오디오잭
- 구매처 : http://bit.ly/38C4t4z
시도는 안해봤지만, 아마 다음 기능은 안될것 같습니다.
- AV 출력 X (?)
- HDMI 출력 X
- 블루투스 장치 연결 X
- 외장 USB 장치 연결 X

Retro-CM3 조작
- 전원 On : 전원 버튼 2초 누름
- 화면밝기 : 전원버튼 짧게 누르면 5단계로 조절
- 볼륨 : Select+↑, Select+↓ (Retroarch Hotkey 설정이므로, Retroarch core 게임 실행중 설정 가능)
- 게임종료 : Select+Start
- 전원 Off : Start버튼 > quit > shutdown system
- 강제 전원 Off : 전원 버튼 2초 누름
- Wifi On/Off : 전원버튼 짧게 2번 누름

이미지 백업
기존에 사용하던 RaspberryPi 3와 조금 환경이 다르기 때문에, 혹시 모를 불상사를 대비하여 micro sd의 원본 이미지를 백업하였습니다.
Win32 Disk Imager에서 이미지를 저장할 경로를 설정 후 Read 버튼을 누르면 64gb의 이미지를 생성합니다.
이후 128gb의 microSD를 SD Card Formatter로 포멧 후 Win32 Disk Imager로 Write하였습니다.
64gb 이미지를 128gb에 write하였기 때문에 파티션 확장이 필요하여 DiskGenius를 사용하였습니다.

Wi-Fi
SSH로 연결하여 설정을 진행해야 하기 때문에 우선 WiFi 설정을 진행하였습니다.
- Boot:\wifikeyfile.txt 수정
- 전원 버튼 2번 눌러 무선랜 활성화
- WiFi 국가 설정 : RetroPie > Raspi-Config > 4 Localisation Options > I4 Change Wi-fi CountrySet : IT
- RetroPie > WiFi > 3 Import from /boot/wifikeyfile.txt
- 참고 : https://github.com/RetroPie/RetroPie-Setup/wiki/Wifi

개인 설정
SSH로 Retro-CM3에 접근하여 아래와 같이 개인적인 취향껏 설정을 진행하였습니다. 초기 ID/PW는 pi/raspberry 입니다.
[비밀번호 변경]
$ sudo passwd pi
$ sudo passwd root
[환경설정]
$ sudo apt-get update
$ sudo apt-get install vim
$ vi .profile (pi, root 계정)
alias ll='ls -alF'
alias vi='vim $*'
alias h='history'
export PS1="[\[\e[36;1m\]\u@\[\e[32;1m\]\h:\[\e[31;1m\]\$PWD\[\e[0m\]]\\$ "
$ source .profile
[키보드 변경]
$ sudo vi /etc/default/keyboard
XKBLAYOUT="us"테마
root 권한으로 /etc/emulationstation/themes/에 사용할 테마들을 복사해 넣었습니다.
기본적으로 설치되어 있는 space와 switch-light 테마도 마음에 들어서 약간 수정하여 사용해 보았습니다. 한글 지원을 위해 폰트만 변경하려면 아래의 파일을 교체하면 됩니다.
- /etc/emulationstation/themes/space/_art/font.ttf
- /etc/emulationstation/themes/switch-light/assets/font.ttf
작은 화면용으로 수정한 pandora 테마입니다.

switch-light 테마는 retro-cm3 해상도에 맞게 수정해 보았습니다.

Run Command
게임 실행시 텍스트 박스가 나오고 있어서, 이미지로 변경해 주었습니다.
run command launching 이미지를 저장할 경로가 pi와 root로 권한이 뒤죽박죽이여서 pi로 소유를 변경하였습니다.
$ sudo chown -R pi:pi /opt/retropie/configs이후 pi 권한으로 /opt/retropie/configs에 필요한 파일들을 복사해 주면 됩니다.
참고 : https://github.com/ehettervik/es-runcommand-splash


Slide Show
화면보호를 위해 슬라이드쇼를 설정하였습니다.
pi 권한으로 /opt/retropie/configs/all/emulationstation/slideshow/image 경로에 480x320 이미지를 넣어주었습니다.
- start버튼 > UI Settings > Screensaver Settings > Screensaver Behavor : slideshow
- start버튼 > UI Settings > Screensaver Settings > Slideshow Screensaver settings > Swap Image After : 30s
- start버튼 > UI Settings > Screensaver Settings > Slideshow Screensaver settings > Use custom Images : On
- 초기화면에서 select버튼 눌러서 확인


Flycast Core 설치
드림캐스트 구동을 위해 reicast가 설치되어 있지만, retroarch로 구동되는게 아니라서 볼륨조절이 안됩니다.
이 때문에 lr-flycast 코어를 설치하였습니다.
- $ sudo /home/pi/RetroPie-Setup/retropie_setup.sh
- S Update RetroPie-Setup script
- P Manage packages > exp Manage experimental packages > lr-flycast > B Install from binary
- 드림캐스트 게임실행시 a 연타하여 core 변경

Splash
부팅시 보여지는 Splash는 그냥 기본 이미지를 사용하였습니다.
- RetroPie > Splash Screens > Choose splashscreen > RetroPie splashscreens > 8

Rom 복사
microSD를 PC에 연결하면 Windows에서 인식할 수 있는 파티션에 roms 폴더가 있습니다.
여기에 필요한 게임들을 복사해 넣었습니다.


Custom Collection
pi 계정으로 /home/pi/.emulationstation/collections 에 collection 정의파일을 넣어줬습니다.
예를 들어 제작사가 cave이거나, mario 게임 등의 collection을 정의할 수 있습니다.
collection을 EmulationStation에서 보여주기 위해서는 아래의 절차를 수행해야 합니다.
- start버튼 > Game Collection Settings > Custom Game Collections > 원하는 collection 선택

Custom Core 추가
DsNo님이 배포하는 fbneo 코어로 교체하였습니다. 이를 통해 custom rom을 사용할 수 있습니다.
- 최신 다운로드 : https://dsno.tistory.com/7322
- 지원 목록 : https://dsno.tistory.com/6093
root 계정으로 /opt/retropie/libretrocores/lr-fbneo/fbalpha_libretro.so 파일을 교체하였습니다.
FBA 게임실행시 A버튼을 눌러 기본코어를 fbneo로 변경하였습니다.

주변기기
큰 의미는 없지만 하드웨어적으로 약간의 튜닝을 해주었습니다.
- PS Vita용 Stick cover
- 다이소 3000원짜리 게임 그립 (약간 튜닝 필요)
- 액정 보호 필름 (테블릿용 잘라서 붙임)

하드웨어 정보



[pi@retropie:/home/pi]$ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 1
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 2
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 3
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
Hardware : BCM2835
Revision : a220a0
Serial : ------생략------
[pi@retropie:/home/pi]$ cat /proc/meminfo
MemTotal: 766808 kB
MemFree: 335264 kB
MemAvailable: 577272 kB
Buffers: 33532 kB
Cached: 220896 kB
SwapCached: 0 kB
Active: 262988 kB
Inactive: 80584 kB
Active(anon): 89456 kB
Inactive(anon): 9808 kB
Active(file): 173532 kB
Inactive(file): 70776 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 102396 kB
SwapFree: 102396 kB
Dirty: 4 kB
Writeback: 0 kB
AnonPages: 89140 kB
Mapped: 38264 kB
Shmem: 10124 kB
Slab: 75484 kB
SReclaimable: 63236 kB
SUnreclaim: 12248 kB
KernelStack: 896 kB
PageTables: 1600 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 485800 kB
Committed_AS: 199076 kB
VmallocTotal: 1294336 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
CmaTotal: 8192 kB
CmaFree: 6272 kB
[pi@retropie:/home/pi]$ vcgencmd get_mem arm
arm=768M
[pi@retropie:/home/pi]$ vcgencmd get_mem gpu
gpu=256M
[pi@retropie:/home/pi]$ uname -a
Linux retropie 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux설정 자료
제가 Retro-CM3에 사용한 자료들입니다.
각 폴더에 저장할 위치를 텍스트 파일로 넣었으니 참고하시기 바랍니다.
설정 내역
2020.01.07 테마추가
자기전에 Retro-CM3를 즐겨 사용하곤 하는데요. 사용하는 테마의 눈뽕이 심해서 Dark 하게 수정하였습니다. 해당 테마는 Retro-CM3 해상도에 최적화 되어 있습니다.
다운로드 : https://mega.nz/#!K7BEHYCB!nKEvETU5oIG7xzor8cdHuW7uVFemOnZOtqIsfdi15Bk

2020.05.17 볼륨 컨트롤 추가
기기에 볼륨 조절은 select + 상/하로 조절해야 하는데, RetroArch 단축키를 사용하는 기능이므로, EmulationStation에서는 적용되지 않습니다.
볼륨을 직관적으로 조절하고자 Gameboy용 부품을 스피커쪽에 연결하였습니다.










제 CM3엔 스위치 테마가 없었는데 덕분에 쓰게됐습니다. 감사합니다.
그리고...질문 하나만 드리겠습니다.혹시 PSP는 gamelist.xml 이 문서가 없던데 게임과 스냅영상 몇개가
기본으로 깔려있더군요. 게임을 더 추가하고 싶은데 어디서 롬리스트가 제어 되는건지 아시는지요?
아....N64도 gamelist.xml 이 문서가 없던데 게임과 스냅영상 몇개가 기본으로 깔려있더군요.
게임을 더 추가하고 싶은데 어디서 롬리스트가 제어 되는건지 아시는지요?
제가 주문한 Retro-CM3의 MicroSD는 윈도우에서 인식되는 버전이였는데요.
판매자의 설정마다 다를 수 있지만, 일반적으로 다음 폴더에 롬/이미지/비디오/gamelist.xml 을 위치하면 됩니다.
USB:\roms\n64\
USB:\roms\psp\
아래는 제가 사용중인 디렉토리 구조중 일부입니다.
USB:\roms\psp\
│....메탈슬러그 XX.cso
│....파로디우스 포터블.cso
│....gamelist.xml
└─snap
.....파로디우스 포터블.png
.....메탈슬러그 XX.png
기본설정으로는 해당 폴더에 롬만 넣으면 EmulationStation 목록에는 보이지만,
이미지/동영상/설명 등을 목록에서 제대로 보기 위해서는 gamelist.xml에 명시해줘야합니다.
아...그러고보니 기존 다른에뮬처럼 설정하면 되는지를 확인을 제가 안했었네요.
다른에뮬들처럼 게임리스트 만들고 되나 한두개로 실험해봐야겠습니다. 감사합니다.
두에뮬만 형식이 달라서 아예 다르게 접근해야되는 줄 알았습니다.
이름 그대로 저한테 한줄기 빛이 십니다. 매번 따라 배우고 있고 이번에도 하나하나 따라하면서
레트로 CM3세팅도 완료했네요. 레트로계에 학원강사가 따로 없으세요.다시한번 감사드립니다.
제글이 세팅하시는데 도움이 되었다니 기쁘네요.
감사합니다. ^^
혹시 root폴더에 config.txt파일 공유 부탁드려도 될까요? 사운드 문제로 셋팅에 필요해서요 감사합니다
gmail 로 보내드렸습니다.
와....작업대행은 안하시나요 ㅠㅠ
뭣도모르고 라즈베리 구매했다가 지금
아무것도 못하고있습니다...
작업대행은 안하고 있습니다.
키세팅이 꼬였는데 키셋팅 파일만 구할수있나요
구체적으로 어떤 경로의 어떤 파일을 원하시는 건가요?
질문 한가지만 하겠습니다
똑같은 기기인데요 마이크로sd 카드 뺴다가 날라가서 분실헀습니다
새로 세팅 해야 되는데
기본 이미지 있는곳 아시면 알려주세요
저도 잘 모르겠습니다. 판매자에게 문의하는게 좋을듯합니다.