GBA 에뮬레이터 저장 오류를 플래시 128K로 고치는 방법
iGBA에서 GBA 게임 저장이 실패한다고 뜨면 거의 항상 128K 플래시 칩이 필요한 게임이 64K로 돌아가고 있다는 뜻입니다. 2.14.0 이상으로 업데이트하면 자동이 게임 파일 자체에서 맞는 크기를 읽어옵니다. 그래도 오류가 계속되면 설정 → 저장에서 플래시 메모리 크기를 플래시 128K로 바꾸고 게임을 다시 여세요.
빠른 해결 방법
- App Store에서 iGBA를 업데이트하세요. 2.14.0 버전부터 저장 메모리를 감지하는 방식이 바뀌어서 이런 오류 대부분이 사라집니다.
- 설정 → 저장을 열고 플래시 메모리 크기를 확인하세요. 처음에는 자동으로 두세요.
- 게임을 완전히 종료한 다음 다시 여세요. 아래 안내에는 "다음 게임 실행 시 적용됩니다"라고 쓰여 있는데, 말 그대로입니다: 게임 중에 바꿔도 아무 효과가 없습니다.
- 게임 자체 메뉴에서 저장해 보세요. 그래도 오류가 나면 뒤로 가서 플래시 128K를 선택하고 게임을 다시 열어 저장해 보세요.
왜 어떤 GBA 게임은 128K 저장 메모리가 필요한가
GBA 카트리지는 SRAM, EEPROM, 플래시 세 종류 중 하나에 저장했습니다. 큰 플래시 칩은 128K를 64K씩 두 뱅크로 나눠 담고, 게임은 명령으로 두 뱅크를 전환합니다.
그 게임에 64K 칩을 주면 뱅크 전환이 갈 곳이 없습니다. 쓰기 작업이 첫 번째 뱅크 위에 그대로 겹쳐 쓰이고, 게임이 확인하려고 다시 읽어보면 다른 데이터가 나와서 자체 저장 오류를 띄웁니다. "백업 메모리를 교환하라" 같은 문구가 여기서 나옵니다. 실제 기기에서는 그것만이 유일한 설명이었기 때문에 게임은 카트리지를 탓하는 겁니다.
이게 타이밍도 설명해 줍니다. 한동안 이것 때문에 헷갈렸는데, 초반 저장은 첫 번째 뱅크 안에 들어가서 몇 시간은 문제없이 잘 작동합니다. 오류는 게임이 두 번째 뱅크에 속하는 기록을 처음 쓸 때만 나타나는데, 보통 스토리 후반부입니다.
2.14.0 이전에는 iGBA가 내장 목록에 있는 게임이거나 디스크의 .sav 파일이 이미 131,072바이트일 때만 128K를 사용했습니다. 팬이 만든 핵과 일부 지역판은 거기서 빠져서 64K로 돌아갔습니다. 2.14.0부터는 자동이 게임 파일 자체가 선언하는 플래시 타입을 읽고, 128K를 선언하는 게임에서는 수동으로 설정한 64K가 무시됩니다.
지금 게임이 어떤 메모리로 돌아가는지 확인하는 방법
짐작할 필요 없습니다. 저장이 안 되는 게임을 열고 설정 → 저장으로 가서 플래시 설정 바로 아래 저장 진단까지 스크롤하세요. 게임이 열려 있지 않으면 먼저 게임을 열라는 안내만 나옵니다.
중요한 줄은 두 개입니다: core:로 시작하는 줄(에뮬레이터가 실제로 쓰는 칩)과 file:로 시작하는 줄(.sav 파일 크기)입니다.
| 화면에 보이는 것 | 의미 | 할 일 |
|---|---|---|
core: flash 128K와 131072바이트 파일 | 메모리가 맞습니다 | 그래도 실패하면 저장 자체가 손상된 것입니다. 다음 섹션 참고 |
후반에 실패하는 게임에서 core: flash 64K | 절반의 메모리로 돌아가는 중입니다 | 2.14.0 이상에서는 자동으로, 아니면 플래시 128K로 바꾸고 게임을 다시 여세요 |
| 128K 카트리지인데 64K 파일 | 이전 세션이 64K로 저장됐습니다 | 그 저장분의 절반은 기록된 적이 없습니다. 더 오래된 복사본을 복구하세요 |
file: no .sav on disk yet | 게임이 한 번도 저장되지 않았습니다 | 게임 메뉴에서 한 번 저장한 뒤 다시 확인하세요 |
이 패널은 읽기만 합니다. 직접 복사하지 않는 한 어디로도 전송되지 않습니다. 도움을 요청할 때는 이 텍스트를 붙여넣는 게 가장 유용합니다.
GBA 에뮬레이터 세이브 파일 손상: 예전 저장 되살리기
여기서부터는 불편한 이야기입니다. 게임이 이미 64K로 돌아가는 중에 저장을 써버렸다면, 설정을 바꿔도 그 파일은 고쳐지지 않습니다. 설정은 앞으로의 저장이 어떻게 쓰일지를 정할 뿐, 파일에 도달하지 못한 데이터를 되살리지는 못합니다.
그다음, 가장 가벼운 방법부터 최후의 수단까지 순서대로:
- 일시정지 메뉴의 게임 내 저장 복구는 자동 불러오기 전의 저장을 되돌립니다. iGBA가 그런 복사본을 남겨둔 경우에만 나타나므로, 보이지 않으면 없는 겁니다.
- 오류가 나기 전의 상태 저장: 상태 저장에서 불러온 다음 올바른 메모리 크기로 게임 자체 메뉴에서 저장하세요. 2.14.0에서는 오래된 상태도 만들어졌을 때의 64K가 아니라 게임이 필요로 하는 크기로 불러와집니다.
- 설정 → 저장 → 백업으로 만든 백업. 복원하면 같은 이름의 저장이 덮어씌워지므로 먼저 현재 것을 내보내세요.
- 일시정지 메뉴의 게임 다시 시작 및 로드 저장은 자동 저장을 건너뛰고 .sav에서 바로 부팅합니다. 자동 저장 쪽이 문제라고 의심될 때 씁니다.
저장과 상태 저장, 이 문제에서는
상태 저장은 콘솔 전체를 그대로 얼려두기 때문에 게임 자체 저장처럼 실패하는 일이 없습니다. 그래서 게임 저장은 그만두고 상태 저장만 쓰고 싶어질 수 있습니다. 저라면 그렇게 하지 않겠습니다. 내보내고 백업하고 다른 사람과 주고받는 건 게임 자체의 .sav이고, 손상된 파일은 그 밑에서 상태 저장과 상관없이 계속 손상된 채로 남아 있습니다.
다른 에뮬레이터의 .sav 가져오기
게임 라이브러리의 ⋯ 메뉴에 있는 .sav 가져오기는 맞는 게임에 저장을 적용합니다. 먼저 크기를 확인하세요. 128K 게임의 저장은 131,072바이트여야 합니다. 다른 에뮬레이터가 65,536바이트로 썼다면 그곳에서도 이미 절반의 메모리로 돌아가고 있었던 겁니다. iGBA는 게임을 128K로 돌리지만, 그 파일에서 빠진 절반은 복구할 수 없습니다.
iGBA에는 게임이 포함되어 있지 않습니다. 본인이 사용할 권리가 있는 게임 파일만 쓰세요.
자주 묻는 질문
왜 저장 오류가 게임 후반에만 나타나나요?
플래시 128K를 항상 켜 둬도 되나요?
플래시 128K로 바꾸면 이미 손상된 저장도 고쳐지나요?
플래시 설정이 GBC 게임에도 영향을 주나요?
iGBA 가이드 더 보기
- GBA 에뮬레이터에서 상태를 저장하고 다시 불러오는 방법
- GBA 에뮬레이터에서 실수를 되감고 배속을 올리는 방법
- GBA·GBC 에뮬레이터에서 치트 코드 사용법
- GBA 통신 케이블을 근처에서나 온라인으로 쓰는 방법, 아이폰 한 대로 혼자 교환하기
- 아이폰 GBA 에뮬레이터에서 Xbox·PS5 컨트롤러 사용하는 방법
- 애플워치에서 GBA·GBC 게임을 플레이하는 방법
- 재설치나 새 폰 전에 GBA 저장 파일을 백업하는 방법
- GBA 세이브를 아이폰과 안드로이드 사이에서 옮기는 방법
- 아이폰에서 iGBA로 ROM을 패치하고 롬핵을 실행하는 방법
- 아이폰에서 Radical Red 하기: 패치부터 저장 파일까지
- 아이폰에서 Unbound 하기, 예전 저장까지 가져오기
- 롬핵 흰 화면: 잘못된 패치가 하는 일과 해결법
- iGBA 관련 질문 전체
- iGBA 페이지로 돌아가기