F-Zero X, 구형 3DS에서도 된다…확장팩은 New 3DS용

F-Zero X 3DS 이식판은 구형 3DS에서도 대부분의 그랑프리 코스가 59~60fps로 돈다고 제작자가 밝혔다. 내 기기에는 어느 빌드를 고르고, 게임 데이터는 어떻게 준비할까?

F-Zero X, 구형 3DS에서도 된다…확장팩은 New 3DS용
세 줄 요약
  • 구형 3DS·2DS는 O3DS, New 기종은 N3DS 빌드를 고른다.
  • 배포 파일에는 게임 데이터가 없어 소유한 카트리지의 데이터를 PC에서 변환해야 한다.
  • 구형도 대부분의 그랑프리 코스에서 59~60fps를 기록했지만, 무거운 코스는 30fps로 떨어질 수 있다는 제작자 설명이다.

구형 3DS는 O3DS, 확장팩은 New용 파일을 고른다

F-Zero X를 구형 닌텐도 3DS에서도 실행할 수 있는 비공식 포트가 나왔다. 10월 공개된 G-Diffuser 3DS 1.0은 기본 게임을 구형 3DS·2DS와 New 기종으로 나눠 제공한다. 배포 페이지에서 고를 파일은 다음과 같다.

기기와 원하는 콘텐츠ZIP 파일
구형 3DS·2DS에서 기본 게임G-Diffuser-3DS-O3DS-v1.0.0.zip
New 3DS·New 2DS XL에서 기본 게임G-Diffuser-3DS-N3DS-v1.0.0.zip
New 계열에서 64DD 확장팩까지G-Diffuser-3DS-N3DS-EK-v1.0.0.zip

O3DS와 N3DS는 단순한 화질 옵션이 아니다. 기기 안내에 따르면 메모리 배치부터 달라 New용 파일을 구형 기기에 넣으면 실행 단계에서 실패할 수 있다. 확장팩도 기본판에 덧붙이는 파일이 아니라 별도 빌드다.

실행 파일만 받아서는 게임 데이터가 채워지지 않는다

프로젝트 README가 요구하는 원본은 본인이 소유한 F-Zero X 미국판 초기 버전(USA, rev 0)의 ROM 덤프다. 실행 환경으로 Luma3DS가 필요하고, 소리를 내려면 자기 기기의 DSP 펌웨어도 추출해야 한다. 게임 ROM과 확장팩 디스크 이미지는 배포물에 들어 있지 않다.

준비 과정은 PC에서 원본을 변환한 다음 SD 카드로 옮기는 방식이다. ROM 자체를 3DS에 넣어 읽히는 구조가 아니다.

  1. 기기에 맞는 ZIP과 PC 운영체제용 gdx-extract를 받는다.
  2. 프로젝트 저장소에서 tools/prebake/prebake.py와 decomp 서브모듈을 준비한다. 변환 스크립트는 실행용 ZIP에 없고, GitHub의 소스 ZIP만 받으면 서브모듈이 비어 있다.
  3. 자신의 ROM을 변환해 나온 fzerox.o2r와 gdiffuser.o2r를 sdmc:/3ds/gdiffuser/에 넣는다.
  4. 홈브루 런처용 .3dsx 또는 HOME 메뉴 설치용 .cia를 사용한다. 확장팩 빌드에는 별도로 소유한 일본판 64DD 디스크 이미지도 필요하다.

세부 설치는 공식 기기 안내의 SD 카드 배치와 함께 진행해야 한다. 특히 게임은 켜지는데 소리만 없다면 sdmc:/3ds/dspfirm.cdc 준비 여부가 확인 항목이다.

구형도 60fps에 접근하지만 모든 코스가 고정 60은 아니다

제작자의 개발 회고는 구형 3DS에서 대부분의 그랑프리 코스가 입체 3D로 59~60fps에 도달했다고 기록한다. 다만 Silence와 Sand Ocean처럼 부하가 큰 코스에서는 프레임 건너뛰기가 작동해 경기 중 30fps로 내려갈 수 있다.

확장팩을 New용으로만 배포하는 이유도 실제 실행 품질에 있다. 구형용 실험 빌드는 존재하지만, 기기 안내에는 64DD 코스의 끊김과 음악·편집기 반응 문제가 적혀 있다. 구형에서 부팅됐다는 사실과 플레이용 배포판으로 제공한다는 결정은 다르다.

F-Zero X에 맞춰 만든 전용 포트다

이번 결과를 모든 N64 게임의 3DS 실행 가능성으로 넓힐 수는 없다. G-Diffuser 3DS는 F-Zero X 디컴파일과 PC 포트를 바탕으로 만든 전용 구현이다. 회고에 따르면 구형 성능 개선 과정에서는 경주를 그리는 코드를 작은 루프로 다시 구성해 16KB 명령 캐시에 맞췄다.

1.0은 네이티브 렌더러를 기본으로 사용한다. 구형 기기를 가진 사람은 기본 게임용 O3DS와 원본 데이터부터 준비하면 되고, 코스 편집기 등 64DD 콘텐츠가 목적이라면 New 계열과 확장팩 데이터를 함께 갖춰야 한다.