viostorm
viostorm hack rom data
Top Secret Series-Important Address-Treasure Collection(Organize zengfr).txt
github:https://github.com/zengfr/romhack
https://gitee.com/zengfr/romhack
https://github.com/zengfr/arcade_game_romhacking_sourcecode_top_secret_data/dino/trace
---------------------------------------------------------------------------------------------------------------------
暴力风暴
Hit Anywhere .mw@018C6E=6002 .mw@018C76=6002 .mw@018C7C=6002 mw@018C8C=6002
200600 F2保存后配置200680->200600
20061f f2音量
200698 F2角色生命数量
200699 F2分数奖命first 00-02-03-05
20069A F2分数奖命every 00-04-06
20069B F2难度 00易-07难
2006A0 F2 LOOP 00 on round end 01 endless
2006A1 F2 Mode 00 lean 01 bloody
15734 F2数据COPY校验
2000c1 投币数
200C10 关卡
200C12 无限时间pw@200C12=0959
200C18 ?
20080a 1p死后续币倒计时
20080C 无限生命pb@20080C=0A
200818 游戏状态
201800 =1过关
201802
20180B 角色数量 ;20de8f;
201817
201428 0360;1V3 ;bp 3E16C d0=7;R:3e20e 3e21c;
201422 屏幕敌兵数量
201A58 卷轴 201A00、201A98
20de82-84 选人时间
796e8 文字字符串
78ef0 insert coin bp 2a32/2a9c
13400 角色介绍文字
211010 ID
211012 动作ID
21101A 转向00/FF
21101C 动作指针
211020 X 2C 80 8C 坐标相关
211024 Z
211028 Y
21102c X offset
211030 Y offset
211034 Z offset
211059 我方1,敌方2
2110c6 按键 200800
211006 敌兵ID1 查表7CD44
211008 敌兵ID2 执行表指针子程序
2110b4 持物内存地址 6匕首 14钢管 26baa持物 262cc扔掉 1dc8c被打掉地上 1e094被打掉消失 1e2fa被打掉地上
217c00
218c00
300210 场景屏幕左上角显存
300240 分数显示
300D10 场景屏幕左下角显存
300DD0 场景屏幕右下角显存
301ca0 insert coin 显存
300400 1P血槽显存 bp 17848/17860
331000 1P人物显存 bp 9c9c copy 20c000/331000
330000-330C00 场景显存
80400 人物动作列表 0x7722载入
669da 出兵配置表
3df18 $5900卷轴出兵前数据查表 0x201430 0x201434 0x201438/$201A58/$201A98/$201AD8; (3E1A8也有+3E1E6 1V3相关)
58dc-5930 一堆JSR 场景相关
5972-59c2 一堆JSR 敌兵分配相关
217C 3P血条相关 201600 201620 201640
221A 3P 相关 201660 201680 2016A0
9d78/a0ec load Pal_Ptr_Tbl_9B82
9B82 Pal_Ptr_Tbl_9B82 0x330000/0x330400/0x330800/0x330C00/0x331000/0x331400/0x331800
9B9E Mem_Ptr_9B9E 0x20B000/0x20B400/0x20B800/0x20BC00/0x20C000/0x20C400/0x20C800
443fc 敌兵减血 (过程 bp 19000 45->9f->62)
5d4ce boss减血 1boss d/211a00/331580 2boss e/211900/3317c0
2a1a6 桶子ID21配置表 表格大小0x08;bp 29e40 写内存 212100
2CAE8 打破掉食品 表格大小0x08;2cc30、2cb88 写内存 212d00
25CCA 桶子打破掉物 钢管 14 查表25d40表格大小0x10
286bc 桶子打破掉钢管01 小刀00 空不走
3E250 桶子掉物控制位$A(a6);查表66ac2;4F 00 01为空桶,EF钢管 bp 286bc分配
26baa 角色捡起钢管
4C03E 内存出小刀06
3e232 $3e2e6分配内存 $3E300 指针具体分配空间起止$05(a0)
3e23a $3e246填充数据
66ac2 卷轴数据表大小0x0A(66a22-66a2c) 5998->3E194->3E1E6->3E246
21101C 保存动作指针 另外一处单独调用,载入BB6A处指针表
21102C X OFFSET
211030 Y OFFSET
211034 Z OFFSET
21104C 人物ID W:3EDAE;R:3E66C查表求90、3E72A查表求91、40A4A比较13
211052 小头像及姓名ID 和4C关联
211059 根据ID查表获取属性 52相关,我方1,敌方2。表地址18CD0
211060 HP上限
211062 HP满值60,23676,初始化HP
21108C X坐标暂存
211090 Z坐标暂存
211098 等于IDX2 IDx2
21109A 动作ID缓存 用于4A等
2110EB 被攻击相关 和200182相关
bp 5D4D0 1boss死4行代码,ori.b #2,$A0(a0) 关键.
bp 5C93C 1boss这句才会死ori.b #$80,$E9(a0) ,e9 第0位=1则倒地弹动画=0快速倒地
bp 1aa58 行走E
bp 1aa7e 身体转向5
bp 1d948 行走B
bp 2008C 写角色数量$20180B
bp 16a8c 读取1993 kinami
bp 167ac 写798F0开机自检字符
bp 2b44 字符串查表
bp 3b48 200001每次加一
bp 3E410 分配敌兵内存A0 最高 $211900-$212100
bp 3EDAE 出兵 A5=4E806 ->A0 $211900
bp 3EDE2 过关卡和BOSS前触发 分配 a0 213d00 213e00
bp b524 改d1看动作 如d1=dc b 24 cb cc
bp b2C0 动作指针解析 人物动作列表总指针原版在0x7722
bp 40064,a0==211900,{d0=0x5;g}锁死第一敌兵AI模式
bp 3e24c,a6==211900,{d2=0x2d;}修改敌兵ID
1b1c/1b26->1b32->1ce8->1cfa->1d16 按键
1ECE4->1ECFA->
1ACE8->1AD06->1AD6C->1ADAE->1E800->前冲CB,CC
---------------------------------------------------------------------------------------------------------------
bp 3eda6 出兵
方向 类型 地址 文本
向下 p ROM:0004A8CA jsr sub_3EDA6|
向下 p ROM:0004C594 jsr sub_3EDA6|
向下 p ROM:0004D778 jsr sub_3EDA6|
向下 p ROM:0004E4AA jsr sub_3EDA6|
向下 p ROM:00050D54 jsr sub_3EDA6|
向下 p ROM:00051D74 jsr sub_3EDA6|
向下 p ROM:000543E4 jsr sub_3EDA6|
向下 p ROM:00055C7E jsr sub_3EDA6|
向下 p ROM:00056324 jsr sub_3EDA6|
向下 p ROM:00056750 jsr sub_3EDA6|
向下 p ROM:0005909C jsr sub_3EDA6|
方向 类型 地址 文本
向下 p ROM:0004741E jsr sub_3EDE2|
向下 p ROM:00047748 jsr sub_3EDE2|
向下 p ROM:00047936 jsr sub_3EDE2|
向下 p ROM:000479D2 jsr sub_3EDE2|
----------------------------------------------------------------------------------------------------------------
出物品表 bp 29E40
D87 tb-ljt 29E40 2A14E 212100 21AA AA4E FCF2 30
D91 tb-ljt 29E40 2A14E 212200 21AA AA4E FCF2 30
188D tb-ljt 29E40 2A1A6 212100 21F6 F653 FCF2 30
18E9 tb-ljt 29E40 2A146 212200 21AA AA4E FFFB 30
197D tb-ljt 29E40 2A19E 212100 21F6 F653 FFFB 30
2378 tb-ljt 29E40 2A0BE 212100 51C 1D43 F6 20
2399 tb-ljt 29E40 2A0BE 212300 51C 1D43 F6 20
277B tb-ljt 29E40 2A0BE 212100 51C 1D43 F6 20
2919 tb-ljt 29E40 2A0BE 212100 51C 1D43 F6 20
2AB8 tb-ljt 29E40 2A0BE 212100 51C 1D43 F6 20
2C13 tb-ljt 29E40 2A116 212100 52D 2E4B FA FFFF
31B1 tb-ljt 29E40 2A19E 212100 21F6 F653 FFFB 30
3247 tb-ljt 29E40 2A13E 212200 21A3 A34D F6 38
363B tb-ljt 29E40 2A20E 212100 2140 405B 4FA 0
42AF tb-ljt 29E40 2A196 212100 1617 1752 F6 0
42B2 tb-ljt 29E40 2A1AE 212200 21FB FB54 FEFA 48
42B5 tb-ljt 29E40 2A0BE 212300 51C 1D43 F6 20
4318 tb-ljt 29E40 2A15E 212100 21EF EF4F F6 34
4318 tb-ljt 29E40 2A15E 212200 21EF EF4F F6 34
4318 tb-ljt 29E40 2A15E 212300 21EF EF4F F6 34
45E0 tb-ljt 29E40 2A13E 212100 21A3 A34D F6 38
461F tb-ljt 29E40 2A16E 212200 21BC BC50 F6 40
463A tb-ljt 29E40 2A16E 212300 21BC BC50 F6 40
4652 tb-ljt 29E40 2A136 212400 21A3 A34D FFFB 38
4661 tb-ljt 29E40 2A136 212400 21A3 A34D FFFB 38
4F76 tb-ljt 29E40 2A13E 212100 21A3 A34D F6 38
4F76 tb-ljt 29E40 2A136 212200 21A3 A34D FFFB 38
5203 tb-ljt 29E40 2A136 212100 21A3 A34D FFFB 38
5209 tb-ljt 29E40 2A136 212400 21A3 A34D FFFB 38
5212 tb-ljt 29E40 2A136 212500 21A3 A34D FFFB 38
5218 tb-ljt 29E40 2A136 212600 21A3 A34D FFFB 38
521C tb-ljt 29E40 2A136 212700 21A3 A34D FFFB 38
5229 tb-ljt 29E40 2A136 212800 21A3 A34D FFFB 38
523C tb-ljt 29E40 2A136 212900 21A3 A34D FFFB 38
52B2 tb-ljt 29E40 2A10E 212200 21B2 B24A F6 26
52CC tb-ljt 29E40 2A1B6 212300 21FB FB54 F6 48
586C tb-ljt 29E40 2A15E 212200 21EF EF4F F6 34
587C tb-ljt 29E40 2A15E 212100 21EF EF4F F6 34
5979 tb-ljt 29E40 2A13E 212400 21A3 A34D F6 38
6344 tb-ljt 29E40 2A13E 212100 21A3 A34D F6 38
6375 tb-ljt 29E40 2A0F6 212200 21B1 B14A FEFA 26
----------------------------------------------------------------------------------------------------------------
地址 Function 指令
ROM:0000D344 move.w (a6)+,$10(a0);
ROM:00025CEC sub_25CCA move.w (a6)+,$10(a0);
ROM:00027810 move.w (a6)+,$10(a0);
ROM:00029CEC move.w (a6)+,$10(a0);
ROM:0002A62C move.w (a6)+,$10(a0);
ROM:0002ADE2 move.w (a6)+,$10(a0);
ROM:0002CAE8 move.w (a6)+,$10(a0); 2cb88 202d00 d0=58 id=21/d0=108 2c38 id=21/2cc30
ROM:0002DA40 move.w (a6)+,$10(a0);
ROM:0002DF9A move.w (a6)+,$10(a0);
ROM:0003225E move.w (a6)+,$10(a0);
----------------------------------------------------------------------------------------------------------------
零日 hackrom 13:29:27
先说一下动作定义。每个人物0X100个,这个需要重新MAP我是给你说过的吧,所以你需要一个EXCEL来记录每个人物的动作列表。方便你后续进行替换和进度记录。
人物动作列表总指针原版在0x7722开始。ID排序如下
零日 hackrom 13:29:57
Role_Script_Tbl:
.long 0xB6F9E | 嬉皮士
.long 0xB739E | 刀子女
.long 0xB779E | WADE
.long 0xB7B9E | 铁链男
.long 0xB7F9E | 判定框,定位器
.long 0xB839E | 破门
.long 0xB859E | 小刀
.long 0xB879E | 红色小块
.long 0xBF11E | 最终BOSS
.long 0xB899E | 斗篷小兵
.long 0xB8D9E | 长条。。
.long 0xB909E | 二关BOSS场景
.long 0xB939E | 非主流
.long 0xB979E | 红发嬉皮士
.long 0xB9B9E | 大木箱
.long Script_Role_Dabel | 第一关猪头无面具
.long 0xBA19E | 面具
.long 0xBA59E | 油桶
.long 0xBA79E | 小块
.long 0xBAB9E | 龙拳
.long 0xBAF9E | 钢管
.long 0xBB19E | 椅子
.long 0xBB39E | 带电物件
.long 0xBB49E | BORIS
.long 0xBB89E | 铁甲男
.long 0xBBC9E | 影子
.long 0xBBD1E | 橄榄球
.long 0xBE61E | 龙拳部分块
.long 0xBBF1E | KYLE
.long 0xBC31E | 肌肉男
.long 0xBED1E | 机械男
.long 0xBC71E | 炸弹男
.long 0xBCB1E | 死胖子
.long 0xBCF1E | 火烧状态
.long 0xBD31E | 野蛮人
.long 0xBD71E | 花盆
.long 0xBD91E | 普通猪头男
.long 0xBDD1E | 驼背剪刀手
.long 0xBE11E | 剪刀手带刀状态
.long 0xBE51E | 摩托车
.long 0xBE61E | 龙拳部分块2
.long 0xBE71E | 神龟
.long 0xBEB1E | 食品道具
.long 0xBED1E | 机械男
.long 0
零日 hackrom 13:30:27
其中有的地址是名字,就是我修改过的,所以你还是要以原ROM的地址为准
零日 hackrom 13:31:19
以野蛮人为例,看一下他的动作指针,BD31E,到这个地址看一下,后面的256*4字节,刚好0X100个动作。
零日 hackrom 13:31:58
这个动作,你目前就只需要了解到指针层面就行了。替换也只替换指针。后续没有的动作,我把动作脚本导出来再修改添加。
wp 200800,2,r,0&&wpdata>0,{logerror "\n %8x act r %8x %8x %4x",frame,pc,wpaddr,wpdata;g}
wp 200800,2,w,0&&wpdata>0,{logerror "\n %8x act w %8x %8x %4x",frame,pc,wpaddr,wpdata;g}
wp 200800,2,r,0&&wpdata==29 or wpdata==2A,{logerror "\n %8x act r %8x %8x %4x",frame,pc,wpaddr,wpdata;g}
wp 2110c6,2,r,0&&wpdata>0,{logerror "\n %8x anj r %8x %8x %4x",frame,pc,wpaddr,wpdata;g}
wp 20080C,1,w,wpdata>0,{logerror "\n %8x live w %8x %8x %4x",frame,pc,wpaddr,wpdata;g}
wp 211063,1,w,wpdata>0,{logerror "\n %8x xue w %8x %8x %4x",frame,pc,wpaddr,wpdata;g}
wp 211012,2,w,wpdata>0,{logerror "\n %8x 1pAct w %8x %8x %4x %4x",frame,pc,wpaddr,maincpu.pw@211010,wpdata;g}
wp 211012,2,r,0&&wpdata>0,{logerror "\n %8x 1pAct r %8x %8x %4x %4x",frame,pc,wpaddr,maincpu.pw@211010,wpdata;g}
wp 211912,2,w,wpdata>0,{logerror "\n %8x dbAct w %8x %8x %4x %4x",frame,pc,wpaddr,maincpu.pw@211910,wpdata;g}
wp 211912,2,r,0&&wpdata>0,{logerror "\n %8x dbAct r %8x %8x %4x %4x",frame,pc,wpaddr,maincpu.pw@211910,wpdata;g}
wp 211000,100,w,0&&wpdata>0 and wpaddr!=211020 and wpaddr!=211028 and wpaddr!=211059 and wpaddr!=211094 and wpaddr!=2110a3 and wpaddr!=211017 and wpaddr!=2110e6 and wpaddr!=211000 and wpaddr!=2110ac and wpaddr!=21103f,{logerror "\n %8x 1p w %8x %8x %4x",frame,pc,wpaddr,wpdata;g}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
