2023-03-20

메가드라이브 컴팩트R 제작기

레트로꼴뚜기님의 패미콤R을 보고 게임 롬팩이 변하는 게임기를 저도 만들어보고 싶었습니다.
제작에 필요한 부품을 하나둘 주문해서 모았습니다. 시간 날 때 틈틈 만들어서 한 달쯤 걸린 것 같습니다.

1. 라즈베리파이 제로2 준비
제가 보유한 라즈베리파이 제로2에는 GPIO 헤더핀이 없어서 핀을 구해 납땜해야 했습니다. 이렇게 작은 납땜 포인트는 난생 처음이라 힘들었습니다. 지저분하게 납땜되었지만, 다 작동은 하네요.

그래도 불안해서 나중에 몇몇 부분은 다시 납땜해줬습니다. 열이 꽤 있단 평이라 CPU엔 방열판을 붙여줬습니다. 제로2는 라즈베리파이3와 비슷한 성능이고, 각종 포트 수가 줄어든 대신, 크기가 작다는 장점이 있습니다. MSX, 패미컴부터 플레이스테이션1 게임까진 무난히 돌아갑니다.

2. 호환기 선택 및 분해
게임기 케이스로 쓸 호환기는 뭘로 할까 고민했습니다. 패미컴은 전에 다른 기판으로 만든 적이 있어서 이번엔 다른 걸로 만들고 싶었어요. 패미컴은 책상에 올려두면 공간을 좀 차지해서 그보단 작게 만들고 싶었죠. 게다가 작은 크기의 라즈베리파이 제로2용이니 더.

고민 끝에 선택한 호환기는 FEIHAO ZD01이라는 메가드라이브 호환기입니다.

알리익스프레스에서 2만원대에 구입할 수 있는 기기입니다. 메가드라이브2를 축소한 디자인이 마음에 들었습니다. 검은색이라 황변은 없겠군요.

기기의 나사를 풀고 부품들이 자리잡을 공간을 확인합니다. 전면의 전원 리셋 스위치 기판만 활용하고 나머지는 필요 없기에 모두 뜯어냅니다. 혹시 나중에 실기용으로 쓸지 모르니 보관해뒀습니다.

3. LCD 연결 및 테스트
롬팩 이미지 뷰어로 쓰일 3.5인치 LCD는 작업 전에 제로2에 끼워서 미리 테스트해봤습니다.

끼운다고 바로 되는 게 아니라 레트로파이OS에서 아래처럼 어드밴스 마퀴 프로그램 설치 작업이 필요합니다. DOS 시절 명령어 치듯이 긴 줄을 입력해야 합니다.

https://cafe.naver.com/raspigamer/44812

바로 되면 좋았을 텐데, 테스트한 마퀴 이미지는 안 나오고 하얀 화면만 나왔습니다. 원인은 코드에서 LCD 종류를 잘못 입력했기 때문입니다. 그 문제를 해결했더니 이번엔 화면이 좌우 반전되는 문제가 발목을 잡더군요. 라즈동에 문의해서 수정 코드를 받았습니다.

제 LCD는 LiangHaoCai라는 회사의 싸구려 제품인데, Waveshare 정품 LCD가 아니라서 그런지 코드가 좀 다른 것 같습니다. 어쨌든 겨우 해결해서 레트로파이OS에서 마퀴 이미지를 LCD에 띄우는 데 성공했습니다.

원래는 라즈베리파이의 GPIO 핀에 바로 끼워서 쓰게끔 만든 LCD이지만, 게임 롬팩 안에 집어넣기 위해서는 연결 부위를 제거하고 전선으로 납땜해서 제로2의 GPIO와 연결해야 합니다. 이 과정이 굉장히 힘들었습니다.

다른 분들의 패미콤R 제작기를 보고 지정된 선만 연결했더니 LCD가 작동하지 않더군요. 원인을 알 수 없어 무식하게 모든 선을 다 연결하기로 했습니다. GPIO 핀과 연결한 선을 LCD의 깨알 같은 26개의 포인트에 다 납땜했습니다. 이 작업이 힘들었고, 시간도 오래 걸렸습니다.

작업 끝내고 테스트해보니 여전히 안 되길래 포기 직전까지 갔는데, 마지막으로 레트로파이OS를 다시 깔아 어드밴스 마퀴 설치 명령어를 처음부터 다시 입력하니 되더군요.

나중에 작업하다가 납땜한 곳에서 선 두 가닥이 떨어져나갔는데, 그게 떨어져 나가도 LCD가 작동하길래 잘 됐다 싶어 그 두 가닥 선은 GPIO에서 빼버렸습니다. 더 떨어져나가는 걸 방지하기 위해 납땜 약한 곳은 새로 했고 그 위에 글루건을 발라버렸습니다.

4. 게임 롬팩 가공과 LCD 넣기
LCD를 넣을 게임 롬팩 선택은 좀 고민했습니다. 메가드라이브 롬팩을 우선 고려했는데, 패미컴 팩보다 작아 내부 공간이 좁고, 기기에 꼽아 세웠을 때 LCD 아래 면이 가릴 수 있겠다고 봤습니다.

알리익스프레스에서 파는 짝퉁 패미컴 팩 케이스 중 투명 제품을 사서 넣는 방법도 있는데, 투명이 블랙밖에 없어서 LCD 화면의 색감이 어두워지는 게 걸리더군요.

크기가 크고 메가드라이브 롬팩처럼 윗면이 둥글게 처리된 알팩을 찾았는데, 남코의 패미컴 롬팩들이 그 조건에 맞더군요. 남코의 <패밀리 서킷 91> 롬팩을 희생양으로 삼기로 합니다.

정품 롬팩이니 스티커와 기판은 잘 떼어서 다른 케이스로 옮겼습니다. 롬팩 여는 건 일본분들 동영상을 보고 열었습니다.

LCD가 보이도록 앞면을 잘라야 하는데, 플라스틱은 깔끔하게 자르기가 어렵다는 걸 간과했습니다. 이런저런 방법을 궁리하다가 불에 달군 커터칼로 LCD 화면 크기만큼 잘라냈습니다

역시 예쁘게 잘리진 않았네요. 잘린 부분을 그라인더로 사포질 했지만, 여전히 지저분합니다. 울퉁불퉁... 후에 스티커 등으로 가리는 작업을 해줘야겠어요.

LCD를 롬팩 내부에 고정한 뒤, 글루건으로 붙였습니다. LCD 화면에 글루건이 붙지 않도록 미리 화면에 테이프를 붙여놨습니다.
글루건은 참 유용한 도구더군요.

롬팩 안에서 LCD가 흔들리지 않을 정도로 꽉 고정된 걸 확인한 다음, 롬팩 케이스가 잘 닫히는지 맞춰봤습니다.

5. 제로 전원과 기판의 납땜
라즈베리파이 제로의 밑면에는 5V 전원용 납땜 포인트 두 곳이 있습니다. 윗면의 USB 포트에 전원을 연결해서 쓰면 간단하겠지만, 호환기의 전원 스위치와 LED를 쓰려면 전선을 납땜해서 호환기의 전원 기판에 연결할 필요가 있습니다.

제로2의 5V 납땜 포인트와 기판의 전원 스위치 납땜 포인트를 전선으로 연결했습니다. 전원 스위치의 납땜 포인트는 대충 여기가 아닐까 찍었는데, 운 좋게 맞았습니다. 이 포인트부터 다시 DC커넥터로 가는 선도 납땜해둡니다. DC커넥터는 어댑터 끼우는 용도입니다.

LED는 납땜 포인트를 잘 못 찾아서 그냥 기판으로부터 선을 떼어 버리고 곧바로 DC커넥터로 연결하는 식으로 해결했습니다. 전선 중간에 저항을 하나 납땜해줬습니다. 저도 몰랐는데, 저항을 연결해야 불이 지나치게 밝아지지 않는다고 합니다.

호환기의 리셋 버튼도 쓰기 위해서 납땜을 해서 제로2의 GPIO와 연결해줬습니다. 역시 납땜 포인트를 대충 찍었는데 몇 번 틀려서 다시 납땜했습니다. 리셋 기능은 필요없기에 레트로골뚜기님의 게임 종료 스크립트를 이용했어요. 전 소스를 고쳐서 29번 GPIO5를 썼습니다.

라즈베리파이는 LCD까지 쓸 경우, 5v론 전원 부족 현상이 있어서 흔한 12v짜리 어댑터를 연결한 뒤, 강압 보드로 5.1~5.3v로 낮춰서 쓰는 분이 꽤 있습니다. 하지만, 호환기 내부를 보니 강압 보드까지 넣긴 어려워 보여서 저는 아예 LG에릭슨 5.1v 0.7a 어댑터를 구했습니다.

그러나 나중에 테스트해보니 10분 안에 재부팅되는 일이 빈번하여 암페어(0.7A) 부족이라고 판단해서 5.2v 2Aa 어댑터로 바꿨습니다. 그 이후엔 그런 증상이 사라졌네요.


6. 스테레오 아웃 젠더, micro SD 카드 연장선 설치
기기를 스피커 없는 모니터에 연결할 일도 있을지 모르니 제로2의 GPIO 32(R), 33(L), 34(G)에 스테레오 변환 젠더를 연결했습니다. 기기 내부가 협소해서 자리잡기가 곤란했는데, 마침 제가 사고를 친 게 전화위복이 되었습니다.

납땜 작업 중에 인두기를 호환기 케이스 뒷면에 놓는 바람에 타서 자국이 생겼거든요. 뒷면 윗쪽에 생긴 탄 자국을 스텝드릴로 아예 구멍으로 만들어 그쪽에 스테레오 변환 젠더를 빼버렸습니다.
라즈 오디오 설정에서 헤드폰으로 바꾼 뒤, 여기에 스피커를 연결하면 작동한다고 합니다.

제로2의 micro SD 카드는 케이스를 닫으면 뺄 수 없게 되는 위치여서 쉽게 카드를 뺄 수 있도록 연장선을 달기로 했습니다. 와이파이로도 파일 작업할 순 있겠지만, 카드가 뻑날 때를 대비해서 자유롭게 뺄 수 있는 편이 낫겠더라구요.

카드 연장선을 제로2에 끼운 뒤, 호환기 앞면의 게임 패드 2P 포트를 제거하고, 거기에 카드 삽입구를 붙였습니다.

7. 라즈베리파이 제로2와 롬팩의 고정
부품들을 어디에 자리잡는 게 가장 좋을지 한참 궁리한 뒤, 글루건으로 고정하기 시작했습니다. 호환기의 백패널은 micro USB, mini HDMI, 전원 어댑터 구멍이 노출되도록 최소한으로 가공했습니다.

제로2는 L자형 PCB서포트로 쉽게 고정할 수 있을 줄 알았는데, 백패널 구멍에 맞도록 높이 조절이 필요해서 쉽게는 안 되네요.

결국 PCB서포트를 원하는 높이에 맞게 겨우 잘라내서 해결했습니다. 서포트를 글루건으로 밑면에 붙인 뒤, 서포트 위에 제로2를 볼트로 고정했습니다.

LCD를 장착한 게임 롬팩도 적절한 위치에 세워서 고정하는 데 힘들었습니다. 너무 낮게 세우면 LCD가 롬팩 삽입구에 가려버려서 서포트를 2개씩 써서 높였습니다.

롬팩 양쪽 아래에 가공한 서포트 2개씩 꼽아서 붙인 뒤, 서포트 밑면에 글로건을 발라 롬팩을 세웠습니다.

롬팩과 제로2 GPIO에 연결된 선들을 필요 이상으로 긴 걸 쓴 바람에 케이스를 닫는 데 쉽지 않았습니다. 선들을 이리저리 공간에 밀어넣고 자리잡은 뒤 겨우 닫았습니다. 안 닫히면 GPIO의 선들을 짧게 잘라서 다시 납땜할 생각이었어요.
두 번 다시 열고 싶지 않은 내부입니다.

8. 완성
테스트 해보니 LED가 안 들어와서 다시 열었네요. DC커넥터에 LED의 +, - 선을 반대로 끼운 탓인가보네요. 바꿔 끼우니 잘 들어옵니다.

겨우 완성.
투박하지만, 다 잘 작동합니다.

‘메가드라이브 컴팩트R’로 이름을 지었습니다. 아쉬운 점은 롬팩에 들어간 LCD의 시야각입니다. 조금만 정면 시야에서 벗어나도 색이 변하네요. 누가 싸구려 아니랄까봐. IPS로 할 걸 그랬나... 하지만 다시 뜯고 싶질 않네요. ㅎㅎㅎ

9. 소감
롬팩 마퀴 기능에 혹해서 한 달 넘게 부품 모으고 작업했는데요.
레즈베리파이 다루는 게 처음이고, 작업 경험도 지식도 부족해서 고수분들에게 물어물어 가며 투박하게 겨우 만들었습니다.
만드는 재미고 나발이고 상상 이상으로 애먹어서 지금 생각 같아선 또 만들고 싶진 않습니다. ㅋㅋㅋ

단순히 게임을 즐기는 목적이라면 이렇게 고생하지 말고, 기성품을 사는 게 훨씬 저렴하고 마감도 좋습니다.
혹시 만드신다면, 저 같은 초짜도 완성했으니 누구나 하실 수 있을 겁니다.

사용한 부품과 공구 목록입니다.

<부품>
라즈베리파이 제로2
40핀 GPIO 헤더
방열판
메가드라이브 호환기 FEIHAO
패미컴 알팩 패밀리서킷91
micro SD 카드 연장선 (15cm)
3.5인치 LCD 480x320 노터치 TN패널
수-암 점퍼 케이블
LG 5.2v 2a 어댑터 (외경 5.5 내경 2.1)
3.5 스테레오 터미널 변환 젠더
터미널 to DC커넥터
저항 330옴
PCB서포트 L자형 + 볼트

<공구>
인두기 & 납
무선 그라인더
니퍼
펜치
글루건
커터칼
스텝드릴

<소프트웨어>
레트로파이
https://cafe.naver.com/raspigamer/48110

어드밴스 마퀴
https://cafe.naver.com/raspigamer/44812

댓글 없음:

댓글 쓰기