【转】【教程】绿宝石解限721教程
口袋改版吧
全部回复
仅看楼主
level 12
转自口袋改版资源吧。作者:Deicde丶笑沧海
今天带来的是绿宝石解限721教程,由于泡泡变成懒人了[喷]我就发一下吧。数据来自于外国网站,原作者:Chaos Rush。转帖请在一楼注明出处以及原贴地址
首先,你需要以下
1:基础/经验
2:工具
准备工具:
十六进制编辑器(UE、WINHEX。个人推荐hex)
绿宝石ROM
vba模拟器
thumb编译工具
程序员计算器
un
lz
-gba
基础,不用我说了,本次教程为十六进制数据较多,如果不会,我救不了你
经验,重定义,例如25空位的图鉴信息完善等等。
OK,准备好了就开始教程吧。温馨提示:先备份哦
2015年07月29日 01点07分 1
level 12
Step1:插入存储块
首先,打开我们的winhex,载入宝石rom,寻找一处空位把下列数据写入空位中:
21 68 FF 23 1B 01 5B 18 98 88 00 28 09 D0 04 28 0A D0 0D
28 0C D0 0D 2D 1C DD 01 20 08 BC 98 46 F0 BD C4 21 08 4A 06 E0 8E 21 89 00
07 4A 02 E0 BA 21 09 01 06 4A 04 3B 18 68 10 60 04 3A 04 39 00 29 F8 D1 E7
E7 C0 46 C0 D8 03 02 F8 DA 03 02 98 E6 03 02 00 48 00 47 2D 2E 15 08 FF FF
FF FF FF 27 3F 01 CF 19 F8 80 BE 88 00 2E 08 D0 04 2E 09 D0 0D 2E 0B D0 00
00 00 48 00 47 53 28 15 08 C4 23 08 4A 06 E0 8E 23 9B 00 07 4A 02 E0 BA 23
1B 01 06 4A 04 3F 10 68 38 60 04 3A 04 3B 00 2B F8 D1 E9 E7 C0 D8 03 02 F8
DA 03 02 98 E6 03 02
这是一段thumb编译的数据
接下来,我们让这串数据在游戏中发挥它的用途
0x152E98:00 48 00 47 [XX+1 XX XX 08]
0x15284E:38 47
0x15288C:[YY+61 YY YY 08]
0x0D9CC6:38 47
0x0D9D04:[YY YY YY 08]
0x0DA284:00 48 00 47 [XX XX XX 08]
注释 这里的XX+1 XX XX 08为地址偏移+1后的指针,例如01 00 00 00,+1后的指针则是01 00 00 09,+61则是 61 00 00 09
修改从0x5CDC00地址开始的数据为以下:
00 00 2C 0F 00 00 F0 0F F0 0F F0 0F E0 1F F0 0F D0 2F B8
0D 00 00 F0 0F F0 0F F0 0F E0 1F F0 0F D0 2F F0 0F C0 3F F0 0F B0 4F F0 0F
A0 5F F0 0F 90 6F F0 0F 80 7F 50 04
共38字节,这里需要特别注意,要替换十六进制数据,不然重来吧。温馨提示:替换分为两次较好
2015年07月29日 01点07分 2
level 12
tep3:重定义精灵数据
这里表格居多,还请有心理准备
宠物种族数据表:3203CC 2D10字节
蛋组:3203DD 有两个指针指向这儿
升级技能表:32937C 670字节
解限:
6B944:00 00 00 00 00 00
宠物正面图:30A18C DC0字节
宠物背面图:3028B8 DC0字节
解限:
346D6:07 E0
34AC2:07 E0
普通色板:303678 DC0字节
闪光色板:304438 DC0字节
解限:
6E750:04 E0
宠物Y轴(我方):3021D8,6E0字节
宠物Y轴(敌方):300D38,6E0字节
高度:305DCC 19C字节
解限:
A5F82:03 E0
A5EB6:03 E0
小图标:57BCA8,6E0字节
图标色板:57C388,1B8字节
解限:
D2E3A:01 E0
D2D20:00 00 00 00
2015年07月29日 01点07分 4
level 12
Step4:图鉴
编号表:31DC82,336字节
图鉴信息:56B5B0,3060字节
Step5:图鉴字节更改
C06FC: 11 48
C06AA: 10 48
C06BE: 3E E0
C07D8: 05 49
C079C: 0A 49
BB6AC: 00 20
6D42C: 00 00
如果你的宠物超过510
BC91A: 5D 21 C9 00
如果你的宠物没超过510
BC91A: XX 21 C9 00 。XX为你的宠物数量/2
BB42C: 12 01
BD87C: 09 01
BD54C: 12 01
BD4B0: 09 01
BD5B8: 2D 01
BD082: 12 01
BD57E: 1B 01
BCF9E: 09 01
BCFBA: 09 01
BCFDC: 1B 01
BCFFE: 12 01
BD01A: 12 01
BB456: 12 01
BD3B8: 12 01
BD826: 09 01
BD844: 1B 01
BD02A: 12 01
BD044: 09 01
BD05E: 09 01
BBD8C: 12 01
BBDBA: 1B 01
BC42E: 1B 01
BB8CA: 09 01
BBABE: 12 01
BBBA8: 24 01
BBBD4: 12 01
BBF96: 09 01
BC140: 09 01
BC288: 1B 01
BC2B4: 12 01
BE892: 09 01
BC4CE: 1B 01
C1808: 12 01
C23F2: 1B 01
2015年07月29日 01点07分 5
level 12
Step6:字节大量更改
从偏移量0x00000000开始
搜索81 01 00 00替换E7 02 00 00
搜索9B 01 00 00替换0D 03 00 00
选块BB6AC-C5000
搜索06 00 00替换0D 00 00
2015年07月29日 01点07分 6
level 12
Step7:修复一些错误的字节
42730: 81 01
5DF10: 81 01
6F100: 81 01
A5EA4: 81 01
A35A2: 01 1C 11 E0
34A16: 07 E0
以下几处为个人找出的字节
31E2EC: 9B 01
30FC98:9B 01
304354: 9B 01
304284:81 01
2015年07月29日 01点07分 7
level 12
Step8:修复BUG
把这段thumb源码编译到足够大的空位
.text
.align 2
.thumb
.thumb_func
.global positionfix
main:
push {r0-r3}
ldr r0, .FirstCheck
ldrb r0, [r0]
mov r1, #0xFF
cmp r0, r1 /*compares .FirstCheck value to FF. If not, you're outside*/
bne Outside
b Inside
Inside:
ldr r0, .Counter1Inside
ldrb r0, [r0]
ldr r1, .Counter2Inside
ldrb r1, [r1]
cmp r0, r1
bne next1
b End
next1:
mov r2, #0x0
ldr r3, .FinalPosInside
strh r2, [r3]
b End
Outside:
ldr r0, .Counter1Outside
ldrb r0, [r0]
ldr r1, .Counter2Outside
ldrb r1, [r1]
cmp r0, r1
bne next2
b End
next2:
mov r2, #0x0
ldr r3, .FinalPosOutside
strh r2, [r3]
b End
End:
pop {r0-r3}
ldr r0, .NextRoutine
str r0, [r6]
pop {r4-r7}
pop {r0}
bx r0
.align
.FirstCheck: .word 0x02000D1C
.Counter1Inside: .word 0x02000F9E
.Counter2Inside: .word 0x02000FA0
.FinalPosInside: .word 0x02000F9A
.Counter1Outside: .word 0x02000D22
.Counter2Outside: .word 0x02000D24
.FinalPosOutside: .word 0x02000D1E
.NextRoutine: .word 0x080C1D39
接着修改以下部分
BBD94: 0E 4A
BBDD0: 9C 0F 00 02
C1808: 12 01
C1814: 00 48 00 47
C1818: XX XX XX 08 (ASM地址+1)
2015年07月29日 01点07分 8
level 12
完成,这是一个已经解限的ROM了,附带精灵相关表格
Species Names= 3185C8
Front Sprite Table= 30A18C
Back Sprite Table= 3028B8
Front Palette Table= 303678
Shiny Palette Table= 304438
Base Stats = 3203CC
Moveset Pointers= 32937C
National Dex Order= 31DC82
Pokédex Data = 56B5B0
TM Compatibility= 31E898
Evolution Table= 32531C
Icon Sprite Table= 57BCA8
Icon Palette Table= 57C388
Main Cry Table = 69DCF4
Auxillary Cry Table= 31F61C
Footprint Table= 56E694
Move Tutor Compatib. = 615048
Animation Table = 3299EC
Frame Control Table = 309AAC
Back Animation Table = 60A8C8
EnemyY Table = 300D38
PlayerY Table= 3021D8
Enemy Altitude Table= 305DCC
名字表:3185C8 11B4字节
宠物种族数据表:3203CC 2D10字节
蛋组指针:3203DD
升级技能表:32937C 670字节
进化表:32531C
宠物正面图:30A18C DC0字节
宠物背面:3028B8 DC0字节
普通色板:303678 DC0字节
闪光色板:304438 DC0字节
宠物坐标(我方):3021D8,6E0字节
宠物坐标(敌方):300D38,6E0字节
高度:305DCC 19C字节
小图标:57BCA8,6E0字节
图标色板:57C388,1B8字节
叫声主表:69DCF4
叫声主表2:69EF24
叫声副表:31F61C
脚印表: 56E694
定点技能教学相性表:615048
正面动画表:3299EC
背面动画表:60A8C8
编号表:31DC82,336字节
图鉴信息:56B5B0,3060字节
控制精灵动作:309AAC-30A18B 4字节一只 308CBC 8字节一只 3299EC 60A8C8 (绿宝石独特的双帧。这段我还没弄明白)
2015年07月29日 01点07分 9
level 12
注意,如果你的ROM已经大量修改,Step6可参与此表格
1B4C0:0D
1B4C1:03
37110:E7
37111:02
375F8:E7
375F9:02
37F24:E7
37F25:02
399FC:E7
399FD:02
42730:E7
42731:02
5DD5C:E7
5DD5D:02
5DF10:E7
5DF11:02
5E7B8:E7
5E7B9:02
6D400:0D
6D401:03
6D44C:0D
6D44D:03
6D498:0D
6D499:03
6F100:E7
6F101:02
70080:0D
70081:03
857C4:0D
857C5:03
85880:0D
85881:03
A5EA4:E7
A5EA5:02
A5F70:E7
A5F71:02
A5FDC:E7
A5FDD:02
A7F68:E7
A7F69:02
A86BC:E7
A86BD:02
A8844:E7
A8845:02
A9AD0:E7
A9AD1:02
B1C30:E7
B1C31:02
BB4FC:E7
BB4FD:02
BCBF4:E7
BCBF5:02
BCC98:E7
BCC99:02
BCD1C:E7
BCD1D:02
BCE20:E7
BCE21:02
BCEE4:E7
BCEE5:02
BCFAC:E7
BCFAD:02
BD0C4:E7
BD0C5:02
BDAAC:E7
BDAAD:02
C080C:E7
C080D:02
C1140:E7
C1141:02
C1250:E7
C1251:02
DE860:0D
DE861:03
EFA44:0D
EFA45:03
EFA50:0D
EFA51:03
177424:E7
177425:02
1F74BD:E7
1F74BE:02
2D2CA1:E7
2D2CA2:02
304284:E7
304285:02
304354:0D
304355:03
30FC98:0D
30FC99:03
31E2EC:0D
31E2ED:03
2015年07月29日 01点07分 10
level 12
最后 测试图[滑稽]装逼就靠这个了
以及原贴中的测试图

-------------------------------------END--------------------------------------
By:EVE
数据提供:Chaos Rush
2015年07月29日 01点07分 11
1