N-EMU · 레트로 게임 에뮬레이터v1.11.3
개발 이야기작성일 thorv1.0.7

다른 에뮬레이터의 저장 데이터를 가져올 수 있도록

델타에서 사용하던 닌텐도 DS 저장 데이터를 가져올 수 없다는 제보를 받았습니다. 파일 형식뿐 아니라 N-EMU의 가져오기 기능이 어떤 파일을 받는지부터 확인해야 했습니다.

클로즈 베타 테스트

델타를 사용하던 분이 N-EMU에서 닌텐도 DS 저장 데이터를 가져올 수 없다고 알려 주셨습니다.

먼저 저장 파일 형식을 확인했습니다. N-EMU는 닌텐도 DS 코어로 melonDS를 사용합니다. 가져오려던 .dsv 파일은 DeSmuME 형식으로, N-EMU의 저장 파일과 확장자나 파일 끝에 붙는 정보가 달랐습니다.

가져오기 기능에도 제약이 있었습니다. N-EMU에서 만든 백업 파일만 지원해 다른 앱의 게임 내 저장 파일을 직접 가져올 수 없었습니다. 저장 파일은 앱 전용 공간에서 관리하므로 사용자가 파일을 옮겨 넣기도 어려웠습니다. 닌텐도 DS뿐 아니라 다른 기종에도 해당하는 문제였습니다.

DeSmuME의 .dsv 파일은 게임 내 저장 데이터 뒤에 40바이트의 부가 정보가 붙는 구조입니다. 이 정보를 확인하고 제거하면 N-EMU에서 읽을 수 있는 저장 데이터를 얻을 수 있습니다.

사용자가 별도의 변환 도구를 쓰지 않아도 되도록 가져오기 과정에서 파일 형식을 확인하게 했습니다. DeSmuME의 부가 정보가 있으면 검증한 뒤 제거하고, 일반 저장 파일은 그대로 읽습니다.

가져올 때는 파일 크기가 지원 범위에 맞는지도 검사합니다. 이 검사를 통과하지 못한 파일은 가져오지 않습니다. 저장 데이터를 여러 파일로 관리하는 슈퍼 패미컴과 PSP는 단일 파일만으로 복원할 수 없어 이번 지원 대상에서 제외했습니다.

지원되는 기종과 파일 형식이라면 다른 에뮬레이터에서 사용하던 게임 내 저장 데이터를 가져와 이어서 플레이할 수 있습니다. 직접 사용하며 불편한 점을 알려 주신 덕분에 가져오기 기능의 제약을 개선할 수 있었습니다. 제보해 주셔서 감사합니다.

  1. 개발 이야기v0.9.5알파 테스트

    계정 없이 저장 데이터 옮기기

    여러 게임의 저장 데이터와 설정을 파일 하나로 옮길 수 있게 했습니다. 복원하기 전에 바뀔 데이터를 확인하고 옮길 항목을 선택합니다.

  2. 개발 이야기v0.5.1초기 개발

    저장 데이터를 파일로 보관하기

    Google Drive를 연결하지 않아도 저장 데이터를 파일로 보관하거나 다른 기기로 옮길 수 있습니다.

목록으로지원 기종과 기능