Just a Blog

[MiSTer FPGA] PSP의 PSX 게임 세이브 데이터를 MiSTer의 PSX 코어에서 재사용하는 방법 본문

Game

[MiSTer FPGA] PSP의 PSX 게임 세이브 데이터를 MiSTer의 PSX 코어에서 재사용하는 방법

wehong 2022. 1. 30. 21:40

최근 MiSTer 쪽에서 PSX 코어가 개발되고 있다. 그래서 시험 삼아 한글화 패치한 Final Fantasy VII을 구동해 보았는데, 비교적 꽤 잘 구동되는 것을 확인했다. 그런데 예전에 Final Fantasy VII을 PSP의 PSX 버전으로 많이 플레이 했기 때문에 MiSTer에서 처음부터 다시 플레이 하고 싶지는 않았다. 양쪽 환경 다 가상의 메모리카드를 사용하고 있을 것이므로 가상의 메모리카드에 있을 세이브 데이터를 옮기려고 했다.

하지만 PSP쪽에 가상의 메모리카드 파일(SCEVMC0.VMP, SCEVMC1.VMP)의 크기가 131,072 Byte가 넘는 131,200 Byte로, MiSTer의 가상 메모리카드 파일(.mcd 파일)의 131,072 Byte(128KByte) 보다 더 컸다. 파일의 확장자를 VMP에서 MCD로 바뀌어도 MiSTer의 PSX 코어가 이를 정상적으로 인식하지 못하는 것은 당연했다. 결국 HxD 같은 Hex 에디터로 파일을 열어 보았다.

 

MiSTer 쪽에서 인식하는 정상적인 메모리카드 파일을 열어 보니 '4D 43'이라는 Hex 값으로 파일이 시작된다.

 

반면 PSP의 PSX에서 생성한 메모리카드 파일은 앞쪽에 무엇인가 정보가 들어 있고, 128 byte 뒤인 0x80부터 '4D 43'으로 시작한다.

 

앞의 128 byte를 잘라 보았다. 파일 크기도 128 byte가 줄어 131,072 byte가 되었다(131,200 - 128). 

 

MiSTer PSX 코어의 'Memory Card' 기능에서 2번 슬롯에 수정한 파일을 인식시켜 보니, 기존에 세이브 했던 내용이 잘 보인다. 여기서 1번 슬롯의기존의 메모리카드 파일로 세이브 파일을 복사(copy)할 수도 있을 것이고 Final Fantasy VII 전용의 메모리카드 파일로 사용할 수도 있을 것이다.

 

PSX 코어에서 게임 실행 후 세이브를 로드하니 잘 인식했다.

 

해당 내용은 PS1 에뮬레이터들의 메모리카드에도 적용될 수 있을 것 같은데(PSP -> PS1 에뮬레이터), 테스트 해 본 것은 아니어서 자신있게 말하지는 못하겠다.

 

Comments