오늘 소개할 툴은 고전게임 롬파일계의 맥가이버라는 별명을 가진 만능도구 유콘64(uCON64) 입니다
툴 자체의 기능이 꽤 방대하다보니 전부 소개하기는 어려운데 그나마 수퍼패미컴 한국어화에 관련된 사례만 하나 콕찝어서 소개하고자 합니다
참고로 지원하는 기종은 아래와 같습니다
- 아타리 시리즈
- 코레코비전
- 패미컴
- 수퍼패미컴
- 버추얼보이
- 게임보이
- 게임보이어드밴스
- 닌텐도64
- 닌텐도DS
- 네오지오
- 네오지오 포켓
- 세가 마스터시스템
- 세가 메가드라이브
- 세가 드림캐스트
- PC엔진
- 플스1
- 원더스완
툴의 자세한 기능은 같이 배포되는 readme.html이나 faq.html을 참고해주시면 될거 같습니다
툴에 기능이 방대한데다가 구동환경도 리눅스, 윈도우 가리지 않아서 그런지 모르겠지만 아쉽게도 기본적으로 GUI를 지원하지 않습니다
별도로 공식웹에서 배포되는 프론트엔드 GUI가 있긴하지만 저는 제대로 작동하지 않아서 포기하고 그냥 커맨드라인 형태로 쓰기로 했습니다
우선 공식배포처부터 소개하고자 합니다
공식 사이트 URL – https://ucon64.sourceforge.io/
공식배포처에는 MinGW버전이나 Cygwin, 리눅스 버전도 배포하고 있으니 원하시는 버전이 있으시면 가급적 공식배포처에서 내려받으시는걸 권장합니다
제가 올려둔 버전은 윈도우 플랫폼용 비주얼C++버전 입니다
해당 버전은 비주얼C++ 재배포 패키지가 실행에 필요할수도 있습니다
해당 포스팅에서는 제가 한국어화를 진행하고자 하는 프론트미션 건하자드를 예시로 사용법을 조금 알려드리고자 합니다
우선 프론트미션 건하자드에는 불법복제 방지용 조치가 취해져 있는 게임입니다.
패미컴시절 불법복제 롬팩(게임팩 하나에 게임이 64개 혹은 124개가 들어있는 게임팩을 기억 하시는분도 계실겁니다. 현대컴보이 시절 사용해보신 경험들이 있으실텐데요… 사실 그거 전부다 불법복제 게임팩이였던거죠)에 게임회사들이 시달렸었는데 그러다보니 불법복제 방지용 락도 발전을 했었습니다.
그 예시중 하나가 프론트미션 건하자드인데요. 게임팩의 내용물이 조금이라도 변경되면 아예 사용 못하게끔 조치가 되어있습니다
그러다보니 당연히 한국어화를 하기위해서 롬에 한국어폰트를 그려넣는 순간 다음과 같은 화면을 보게됩니다

카세트가 망가져있습니다
스퀘어 로고까지는 정상적으로 출력되는데 그다음에 게임의 오프닝이 안나오고 저런 메세지가 출력되면서 게임 플레이가 정상적으로 되지않는 문제가 생겨버립니다
이 문제를 해결해줄 툴이 바로 오늘 소개할 유콘64 입니다
이 툴에는 불법복제 방지를 위한 프로텍션을 깰수있는 기능이 있습니다
그럼 바로 한번 시도해 보도록 하겠습니다
우선 유콘64를 특정 폴더에 압축을 풀어줍니다 GUI가 지원되지 않아 윈도우 명령프롬프트를 통해서 프로그램을 실행시켜야 하기때문에 가급적 경로를 짧게 해주시는게 사용하시기 편할 겁니다
그리고 불법복제 락을 풀어줄 롬파일도 같은 폴더에 넣어줍니다
저는 프론트미션 건하자드를 가지고 시도해 볼껍니다

그러면 대충 요렇게 배치되게 됩니다. fmgh.sfc가 락을 풀어줄 롬파일 입니다

이제 명령프롬프트를 실행시켜 줍니다 윈도우키를 누르고 cmd 라고 입력해주면 위 화면과 같이 명령 프롬프트를 쉽게 선택할수 있습니다
일단 명령어를 입력해서 프로그램을 실행하기전에 필요한 명령어를 한번 확인해 보겠습니다
프로그램과 함께 배포되는 readme.html을 열어보면 명령어 종류와 설명이 적혀있습니다

-k 명령어를 사용하면 된다고 나와있네요
그럼 이제 명령 프롬프트에 직접 입력해보죠

명령 프롬프트 사용에 익숙하신분은 금방 쉽게 쓰시겠지만 그렇지 않으신경우에는 조금 고생하실수도 있을 겁니다
조금 설명을 드리자면 cd 라는 명령어는 특정 경로로 이동할수있는 명령어 입니다
저는 E 드라이브에 해당 경로가 있다보니 먼저 E: 를 입력해서 드라이브를 바꿔주고 cd 명령어로 경로 이동을 해줬습니다
E:
cd KorPatchUtils\ucon64
그런 다음에 다음과 같이 입력해 줍니다
ucon64.exe fmgh.sfc -k
한번 해보면 생각보다 간단할겁니다
그리고 이 프로그램의 특징이라면 롬파일에 대한 체크섬을 진행을 합니다
일단 불법복제 락을 걷어내면서 롬파일에 체크섬이 변경되게 되는데 해당 롬파일에 동일한 작업을 수행해주면 다음과 같이 체크섬 항목에 Bad가 뜨게 됩니다
롬파일에 락을 걷어내기전에 수정작업을 해줘도 마찬가지로 체크섬이 변경되면서 Bad가 뜨게 되는데 그래도 락 해제는 정상적으로 진행되므로 신경쓰지 않으셔도 됩니다

그럼 한번 제대로 락이 해제됫는지 확인해 보겠습니다

yychr에서 숫자 2 폰트칸에 다음과같이 7 처럼 바꿔주겠습니다

보면 네모칸 친자리에 폰트가 정상적으로 출력되지 않는걸 볼수 있습니다

원본 롬을 보면 이렇게 정상적으로 숫자 21이 표시되어야 하지만 수정을 잘못해줘서 폰트 자체가 아예 표시가 정상적으로 되지 않네요
그렇지만 롬 내용변경으로 인해 처음처럼 카세트가 망가져있습니다는 에러메세지는 출력되지 않고 정상적으로 게임이 진행되는걸 볼수 있습니다
이렇게 한국어화 작업을 정상적으로 해주려면 락을 풀어줘야 하는 게임들이 몇몇 있습니다

대표적으로 록맨X1도 그런 게임중 하나라고 하네요
참고로 루나 익스팬드로 롬을 확장시켜주는 것 또한 롬 내용물 변동으로 치기때문에 카세트가 망가져있습니다는 에러를 표시하게 됩니다
따라서 루나 익스팬드를 쓰건 롬 내에 폰트를 수정을 하건 어떻게든 게임 내용물에 변동이 생겨도 정상적으로 작동하게 하려면 유콘64는 필수적으로 사용을 해주셔야 합니다
답글 남기기