此工具包含Visual Basic 6.0 官方中文精简版,以及2个缺少的系统插件。
PSP上的GBA模拟器GPSP是能够使用金手指的,这点毫无疑问,可惜只支持GS码,需要用到的软件是gpSP cheat creator。
简单来说方法就是这样
新建一个文本文档
输入
[作弊说明](如HP max)
作弊码
[作弊说明]
作弊码
等等
注意作弊码要GS格式(gameshark)
然后保存
修改文档名
要和GBA文件名一样,后缀名改为cht
放到ggbsp模拟器里cht文件夹里
玩游戏时按三角选读取作弊文件读取那个cht文件,再激活就OK了
大概就是这样,详细的去BAIDU搜搜看吧
下面我以为例,介绍以下如何在PSP上修改GBA游戏的具体步骤:
1.首先随便找个gba的cht文件(附件里的001)
2.把下列代码写入并保存为名字是002的cht文件(可先保存再改文件名)
gameshark_v3 991
5A347CA8 6D6CE7DB
gameshark_v3 992
2A25150B C28EAA9E
注:991为99个移动力+1的道具,992为99个格斗能力+5的道具
3.使用gpSP cheat creator 打开(file-Open)002.cht,并保存为GPSP用的cht(附件的jzj.cht)
4.在psp上打开机战j这个游戏,打开作弊文件,本文打开的是jzj.cht。在次进入作弊界面,把[991,992设为ON(中文版为旧)。
好了,现在991和992两种道具可以无限卖掉了,这样就不愁钱花了,简单吧。
————————————————————————————————————————-
GS码扫盲:
1.GS就是gameshark,格式AAAAAAAA BBBBBBBB,
2.GS码有有V1和V3这2种版本
gameshark_v1PS
gameshark_v3,
PAR_v1
PAR_v3
这几种,他们之间并不兼容,使用时要注明
如果你不知道你得到的金手指是哪个版本,请都试试看
3.GPSP支持Gameshark / Pro Action Replay(PAR) 的金手指码
4.完成1个代码后,按回车,再按1次回车后可继续输入另1个代码,全部完成后保存至记忆棒
下面为1个例子
gameshark_v3 MarioInfHP
995fa0d9 0c6720d2,
gameshark_v3 MarioMaxHPP
21d58888 c5d0e432
gameshark_v3 InfHlthBat+}
6f4feadb 0581b00e
79af5dc6 5ce0d2b1PS3,Wii,Xbox360,PS2,Xbox,GC,PSP,NDS.GBA,EMU,ROM,MAME,Arcade,Game,汉化游戏,汉化模拟器6L#n3Q5M6V0W2v.`
dbbd5995 44b801c9
65f8924d 2fbcd3c4bb
gameshark_v3 StopTimer
2b399ca4 ec81f0711.
一、金手指类型介绍:
VBA的金手指有3种类型:RAW Code、CodeBreaker Code、GameShark Code。它们分别是:随机存储器写入代码,译码代码,编码代码(该翻译根据其原理命名,准确名字不祥)。为方便,下文中将分别简称为:RAW、CB、GS。
RAW是我们最常见的类型,一般的金手指都以这种方式出现。如:绿宝石中文版中的快速升级——02023E94:2710,这就是RAW码。它是最简单的内存写入方式,无论是搜索还是编辑修改都十分方便。当然,它不是完美的。也正因为它有很多限制,所以才出现了CB和GS。
CB和RAW很像,但出现的概率比GS还小。现在见到的只有绿宝石英文版里的一些,如:容易捕捉野生怪兽——C2711CBA 6F6B,72EA7742 0E4D。仔细看看不难发现,它是用空格分离的(RAW用“:”),而且使用了2个代码,这将在下面进行说明。
GS也是比较常见的代码,在《口袋妖怪》里几乎各版都有,最著名的就是穿墙了:DC507600B95091F6(绿宝石中文),C518E2595ADBAF5B(绿宝石英文)。它的特点是——16位的16进制数,没有任何分割符。它的功能也很强大,大家应该在无拘无束地驰骋于地图上时体会到了吧。
二、金手指的组成及原理:
在介绍组成前,先说明一下GBA内存的分配方式:
GBA(VBA的模拟是一样的)采用32位地址,内存地址从00000000到8FFFFFFF,其中被我们修改游戏用到的为:WRAM——02000000~02FFFFFF,IRAM——03000000~03FFFFFF,ROM——08000000~08FFFFFF,即2个随机存储区和1个只读存储区。
1、RAW
代码举例:
020287E8:FE,02023E94:2710,02027DD8:04030201
解释:
这是最简单的代码,由地址和数值构成。地址和数据间使用“:”(注意:是英文的冒号)分隔。其作用是将数据写入所给的地址里,锁定后,该地址里的数据将不再变化。其作用范围为随机存储区,即02000000~03FFFFFF一段。代码形式为:0xxxxxxx:yy,或0xxxxxxx:yyyy,0xxxxxxx:yyyyyyyy。“:”前面是地址,后面是要写入的数据。地址以“02”或“03”开头是其最主要的标志。支持8位、16位、32位数据的写入(就是上面的3种形式)。各种形式之间可以互相转换。如:02027DD8:04030201,这是32位数据的写入,由于1个地址只能放一个8位数据,所以实际上,系统是将数据“04030201”放到了以02027DD8开始的4个地址里,所以转成8位数据的写入就是:02027DD8:01,02027DD9:02,02027DDA:03,以及02027DDB:04(注意,高位的数据在高位地址),换成16位写入也是一样,注意地址的位置就可以了:02027DD8:0201,02027DDA:0403。
2、CodeBreaker
代码举例:
非加密:82031CF0 0003,加密:C2711CBA 6F6B,72EA7742 0E4D
解释:
这种代码也是由地址和数据组成,不同的是,CB码使用空格做分隔符,通过翻译识别游戏运行时的指令代码控制所要修改的地址数据的变化,所以针对不同的游戏,CB码有加密的CB码和非加密CB码之分。加密的CB码通常会有一个所谓的“开机码”(注意:和硬件的金手指开机码不是一个东西),用来识别游戏的代码格式及是否有加密信息。如:绿宝石英文版中的CB码的开机码就是:9266FA6C 97BD,905B5ED3 5F81,B76A68E5 FAB1,其中的第1个:9266FA6C 97BD就是加密密钥。而非加密的CB码不需要开机码,如火叶中的地点转移CB码:82031CF0 xxxx就不需要开机码的支持。而且CB码的代码顺序是有严格规定,不能随便交换顺序。如开机码必须放第一位。又如:CB码往往带有判断代码。仍以刚才提到的容易捕捉野生怪兽——C2711CBA 6F6B,72EA7742 0E4D举例,还原回非加密CB码为:72024214 BD79,82024214 BD90,其中7xxxxxxx yyyy表示当地址0xxxxxxx的数值为yyyy时,下一条代码生效,8xxxxxxx zzzz就是将16位数据zzzz写入地址0xxxxxxx。所以这条代码的意思就是:当02024214的值为BD79时,才将02024214的值转为BD90。所以也不可以交换。这和RAW、GS完全不同,它们是可以随便交换位置的。这就决定了CB码的修改比较麻烦。对于带条件的锁定,因为当该地址没有出现所需要的值时(这里是BD79),是不会处于锁定状态的。这样就可以解决使用RAW时,因为错误锁定而容易造成死机的问题。CB代码的作用范围覆盖全内存单元,但是因为开机码需要专门的程序获得,加密的代码也要对原CB码进行相关变换,十分繁琐,加上CB在32位输入时,还要进行一些处理,降低了可读性,所以限制了它的广泛使用,不能不说是一种损失。
3、GameShark
代码举例:
DC507600B95091F6,C518E2595ADBAF5B
解释:
GS是非常特殊的代码,使用32位的代码形式,代码内没有分隔符。虽然作用也是覆盖全内存,但其使用上比CB方便。因为RAW已经基本上解决了随机存储区的修改问题,所以GS通常是解决只读区的修改的。如穿墙金手指:DC507600B95091F6(绿宝石中文),C518E2595ADBAF5B(绿宝石英文),它们实际上是:08087B70:2100(中文),0808820C:2100(英文),但是因为RAW无法写入只读区,所以使用GS解决。因为只读区基本上就是rom的代码段,所以GS通常称为“编码代码”。那么GS的原理是什么呢?我们以中文版为例,看看08087B70到底存了什么。查看游戏的代码发现,原先的指令为and r1,r0,就是进行r1和r2的“与”运算。修改后变成mov r1,0#0,就是将“0”放入r1里。二者的区别就是后者可以使标志寄存器的零标志置“1”,从而达到使游戏始终判断“没有碰墙”的目的。GS虽然不用“开机码”,而且对8位、16位、32位数据的写入都支持,但是没有有效的搜索方法,即使找到了对应的地址,转换为机器可识别的32位代码也是个问题,所以使用上也收到了限制。
从上面的介绍中大家应该发现了:RAW无论使搜索还是编辑都是最方便的,但是局限性很大,特殊的修改不易实现,甚至无法修改。在敏感数据的修改上有很大的问题,常常是死机的罪魁祸首。CB修改很灵活,覆盖范围广,而且具有判断机能,适合敏感数据的修改。但开机码的获得和代码转换上困难比较大,长数据的输入麻烦,代码顺序严格,规则太多。GS兼有RAW的易用性和CB的通用性,但搜索和转换也是它的最大缺点。总之,3种金手指代码各有利弊,在不同的场合使用适当的代码形式就可以扬长避短,达到很好的效果。
三、金手指的添加与删除:
各种金手指在VBA里的输入有一些区别,由于高版本的VBA带有对金手指类型的自动识别功能,所以即使输入错误,有的仍然可以生效。但这并不意味着我们可以随便输入,因为机器的判断往往和我们希望的有区别,所以良好的习惯还是要培养的。下面我们就说说如何输入和删除金手指。
1、RAW
大家应该经常使用这种格式的金手指了,对它的输入不会陌生。打开修改—>修改代码列表,在弹出的窗口里(如图所示),“代码”和“修改”就是输入RAW码的地方(图中的A、B)。不同的是:前者是批量输入,后者是单个输入,具体方法在初级教程里已有,就不再说了。
至于删除,对于RAW码来讲,只要把代码前面的勾去掉就可以了,当然,也可以选中后,按“移除”。2个做法都不会留下任何信息在内存里,所以不会有任何问题。
2、CodeBreaker
CB码正确的输入位置应该是“修改译码”(图中的D)。许多人分不清CB和GS,往往写到“金手指”里,虽然在后期的模拟器里可以识别,但早期的模拟器不支持这种输入,会视为非法的输入。和“代码”的使用类似,按下“修改译码”后,将CB码填入弹出的窗口,确定即可。这里要注意:使用CB码时,如果有开机码,必须将开机码首先写入;在填写CB码时,注意代码的先后顺序,绝对不能改变位置,否则后果就严重了。
删除和RAW一样,去掉勾或移除都可以。如果想同时解除多组CB码,直接解除开机码的锁定一样可以。这样以后恢复起来也容易。
1