PSP/Cheats

(PSP) gpsp kai 에서 치트를 사용하기

쿠레나이9 2010. 8. 31. 13:13
728x90


관련글




이전에 글을 썼지만 gpsp kai 는 치트 기능을 지원하고
gpsp-j 는 치트 기능을 지원하지 않습니다

gpsp-j 에서 치트를 쓰고 싶다면 롬파일을 확장해서 
롬 자체에 치트를 넣어주는 툴을 이용해서 넣어야 합니다



여기서는 gpsp kai 에서 치트를 사용하는 방법을 써봅니다

내용이 어려워 보이지만 알고나면 그리 어려운게 아니니 잘 읽어보세요

버튼코드나 반복코드 같은 액플의 고급 코드를 사용하려면 문법 공부가 따로 필요합니다



먼저 에뮬레이터용 치트를 구해야겠죠

저는 제가 카페에 올렸던 GBA 에뮬에 사용하는 에뮤치트용 치트를 가지고 작업을 하겠습니다
그래서 설명이 좀더 복잡해집니다만 알아두면 좋은 내용입니다

에뮤치트용 치트의 데이터와 에뮬용 치트는 주소의 차이가 02000000 입니다 (GBA의 경우)
따라서 주소변환을 해야 합니다 

방법은 에뮤치트용 각 주소에 02000000 씩 더해주면 됩니다 (차이값은 에뮬마다 다릅니다)





이제 치트데이터를 가지고 gpsp용 파일을 만들어줍시다

여기서 중요한 점은 자신이 구한 치트의 종류와 형태를 알아야 한다는 것!!!
이유는 gpsp는 바보(?)라서 치트코드의 종류와 형식을 친절히 알려주어야 하기 때문이죠

일본쪽은 주로 비암호화 상태를 쓰고 북미는 암호화된 코드를 사용합니다
게임샤크 코드인지 액플인지 아니면 vba(에뮬용)코드인지 그리고 코드가 암호화 된건지 비암호화인지
게임샤크와 액플코드는 버전별로 있으며 보통 암호화 되어 있고 vba용은 주로 비암호화 상태입니다



암호화된 코드인지 비암호화 코드인지는 대부분 보면 알 수 있습니다
주소부분을 봐도 되고... 뒤에 데이터 부분을 봐도 되고요

치트의 형태는 주소와 주소에 넣을 값 으로 구성됩니다
돈999 코드라면 999의 16진수가 데이터값 입니다 따라서 뒤에 데이터 값을 봐도 암호화 인지 아닌지 판단이 가능하죠 
예) 윗줄 코드를 암호화 하면 밑에 줄
비암호화 코드 02002AEA 000000A0
암호화 코드    501C4445 C1249558



gpsp 용 치트파일은 롬파일명.cht 로 해주고 문서 형식은 UTF-8 로 저장을 해줍니다
내용은 아래형식처럼 해주시고 코드제목은 간단하게 해주세요
코드형식 코드제목
코드 (aaaaaaaa bbbbbbbb 형태)



코드형식은 자신이 구한 치트의 종류와 형식에 따라 9 종류 입니다만
같다고 볼 수 있는 형식이 있어서 실질적으론 4종류 라고 할 수 있습니다
gameshark_v1     (게임샤크v1)
gameshark_v2     (게임샤크v2)
gameshark_v3     (게임샤크v3)
PAR_v1               (액플v1)
PAR_v2               (액플v2)
PAR_v3               (액플v3)
direct_v1             (비암호화v1 - 게임샤크v1 또는 액플v1 의 비암호화)
direct_v2             (비암호화v2 - 게임샤크v2 또는 액플v2 의 비암호화)
direct_v3             (비암호화v3 - 게임샤크v3 또는 액플v3 의 비암호화)


< 실제론 4종류 >
1. 게임샤크v1 = 게임샤크v2 = 액플v1 = 엑플v2
2. 게임샤크v3 = 액플v3
3. 비암호화v1 = 비암호화v2
4. 비암호화v3



이제 아까 준비한 코드를 위 형식에 맞추어 작성을 해주면 아래와 같습니다
뒤에 데이터값은 8자리로 만들기 위해 앞에 0을 추가 해줍니다
에뮤치트의 경우 데이터값이 2바이트가 넘어가면 뒤부터 1바이트씩 끊어서 거꾸로 쓰는 형태라서
e7,3 을 03e7 로 해준겁니다





여기서 한가지 더
주소 뒤의 데이터값의 크기에 따라서 주소의 맨앞의 값 0을 수정해야 하는데요
1바이트 = 0   (2자리값)
2바이트 = 1   (4자리값)
4바이트 = 2   (8자리값)

주소 뒤의 데이터 값이 2자리면 주소 맨 앞의 0을 0 으로
주소 뒤의 데이터 값이 4자리면 주소 맨 앞의 0을 1
주소 뒤의 데이터 값이 8자리면 주소 맨 앞의 0을 2


따라서 최종 결과는 아래와 같이 됩니다




이제 위에서 언급했던대로 파일명을 롬이름과 같게 해주고 확장자는 cht 그리고 UTF-8 로 저장
내용을 모두 영문으로 할 때는 UTF-8 이 아니라도 아마 될겁니다





728x90