签到天数: 2586 天 [LV.Master]伴坛终老
|
本帖最后由 zsyf 于 2013-3-12 18:02 编辑
% O, j8 D9 h1 H, T) C7 D. z1 {9 ]
0 q0 x& [9 |2 `. ]; w标题
; Q! p* Z9 A3 L- }) D$ x* S$ X 4 t0 v- n0 @9 p# b
% I+ | X( h9 K( [6 {$ I+ b9 _
画面
- ]8 u( L+ D9 V( P. n9 a, a . g d' m# v2 \ F& G
; o& l3 g% C- c: ~ROM下载地址:/ r' P: E( y4 V! g+ D1 k5 s
http://pan.baidu.com/share/link?shareid=340902&uk=2083477867
1 O4 Z" h) D [3 n! n% E; i# G" A- F8 X0 T; b% u
为方便大家调试特提供本人已建好多名新君主及武将的存档下载(此存档在各个模拟器之间是通用的):" v7 c0 c) p& @9 P- M' k( d
http://pan.baidu.com/share/link?shareid=347607&uk=2083477867
4 p+ M- G B$ Q. x% |
1 u3 D3 e3 T% {- SSnes9X_Debug版下载:! t9 M. d3 Y& H
http://pan.baidu.com/share/link?shareid=347608&uk=2083477867
& L* ~& u( V( u8 T% @7 U9 b S
; K( p" H6 x" ]/ j8 j( e一、能否突破一名新君主只能带三名自定义武将的限制。
% N" y4 u; G# D5 e: P( B) p" S* Y
最近看到有人发布了一款MD版的能携带10名自定义武将三国志3 HACK作品,才知道一名新君主只能带3名自定义武将的限制是可以打破的。由于本人在SFC刚刚进入到内地时,就已在实机上接触到了该款游戏,因此对该作感情极深,至今仍会时不时用模拟器来怀下旧。所以在看到MD版的HACK作品时,第一时间就想将此功能移值到SFC版上来。
. x% `5 X3 F" \2 p: X: z4 L8 L* y( {" ]0 i. D! Q1 \' w
说到该游戏,不管是从早期在实机上还是直到今天在电脑上用模拟玩,本人一直有个习惯,从来都是3新君主加10名以上的自定义武将(到后期会有很大机率将多出来的新武将搜索出来)再加曹操(为的是手中的宝物)从第一个剧本开始(以免错过因剧本按排而死掉的武将),在第一时间将另外两名新君主及所带武将全部劝降过来后,才开始用最先指定的新君主征战天下。此外,由于本人性格原因,喜欢治理城市多过统一天下。因此,每次玩的时候都会花很长时间来治理打下来的城池,这其中又以新武将在前期开拓疆土时最好用。基于这些原因,所以一直觉得自定义武将最好用且远远不够用。" Z- k) v! w: M; S5 {+ Q
2 J0 X5 [ ?& R) C# n9 Z
本来该游戏的ROM一直保存在硬盘中,平常也会时不时地玩上一会。这次主要是看到别人发布的MD版三国志3居然突破了该限制,再加上本人又非常喜欢钻研修改技术。看到这个消息后又重新开始研究如何在SFC版上实现同样的功能。哪知经过一番探索,发现想突破该限制远比想像的要难得多。
D/ r6 _( C/ { I8 F' x$ T8 v7 R+ o6 }) E1 y+ H) r5 ^8 h8 k
在重新用Emucheat经过大量搜索后,终于被我找到0CCE8这个地址,此地址的值从08开始便代表新武将的顺序,以本人一共定义了12个新武将存档为例,则是从08——12H。从此地址开始往后9个字节刚好等于一个新君主带3名武将。往后再9个字节表示新武将身份(01=军师、02=将军、03=武将、04=文官)。4 g* `3 W+ @: O" ^# h" C# m$ L
6 |2 U m) T0 e3 i
而程序则是通过从0CCE8开始的9个字节是否写入数据来判断所带武将人数,连续3个字节写入武将代码便会阻止武将加入。即便能改掉人数上限,也可能会因为该处内存已无多余空间存放武将代码而失败。研究到此处发现已不是Emucheat所能解决的了。想要做更深入的分析非得用相关Debug工具才行。
& X1 b# i6 ^% s5 q h5 Z( G2 C1 Q( \% Z L9 }) r
新武将内存排列图
/ W: e: s0 {; c/ Z v8 m: z2 n 4 z2 Z& g, ?8 R* E. B/ l
8 J0 a; n* r W& D二、能否突破最多只能选择三名新君主的上限。/ w1 s F# F5 Z$ H4 s+ [
7 O, ~( J) ^0 P# n" y当自定义武将的限制遇到瓶颈后,重新转换了一下思路,看是否能通过选择更多的新君主来绕过武将数量方面的限制。在修改器的帮助下,几经曲折,终于找到SFC版ROM中关于新君主初始数值的地址00514561(第一位新君主陆指,00514563=第一位新君主水指,中间间隔一个00,整个顺序排列方式为:陆、水、武、智、政、魅)。通过比对发现,ROM中一共只有四组新君主的初始数值。而在游戏中经过测试,当所建新君主超过四个时,会从第一个的数值开始循环。此外,游戏中默认似乎只有三个新君主旗帜。因此,这方面也是一个难题。本人水平有限,研究到此处后又卡壳了。
9 ~5 Q/ `3 j. e$ H" Z# Z/ L/ U1 w8 O1 f Y6 q
SFC新君主ROM数值图* y5 ]2 F/ n. m5 K, H$ D) j

* v7 H, O# g% B* ]0 E: o4 a5 V) ~9 {, s5 I% I
三、关于新武将摇点。% C9 t" {. I8 H5 r: w; L6 b
* C+ N& F4 i8 w9 N7 R4 p# P7 q
这方面也是在使用了MD版ROM修改器后知道游戏有这个设置的(低值15,高值25)。众所周知,SFC版三国志对比MD版来说缩水了不少(除了音乐方面比MD版要强),例如在使用修改器将这两项数值改成100后,很容易在游戏中选到数值超过100的人物。而不知是否因为容量缩水,故SFC版中没有采取这样的设置,或这两个值根本就不是15与25。在尝试各项手段后(曾经冒着花屏的危险将ROM中所有的15与25都替换成100),都没能在SFC版中达到如下图所示的效果。2 B, Q/ A0 G0 T, x$ f- g
3 s8 _) m& T" |6 ~% l& X
超级新武将
" B m1 K1 V( S( j: E
9 h: `( `+ O4 `4 R& P9 `- R: k6 w V7 {2 z; t4 e4 p I; g
MD版修改器截图7 s) y# h) O& d7 f$ J6 S5 I. Y
' c! w. u) w) a& w" P* f
- j3 _8 x% m Z如上所述,本人自从被MD版HACK作品激起研究兴趣以来,经过这些天的探索,已深知这些问题已不是目前本人能力范围之内所可以解决的,再加上本人虽有PC上调试及反汇编游戏的基础,但奈何游戏机上的反汇编与Debug与PC上相差太大,空有基础却用不上(且E文苦手),想再继续研究下去实在有心无力。以上这些问题想必只能通过反汇编或Debug才能有希望解决。而且,以上这些功能都是SFC版相关修改器(不管是动改还是静改)都没有的。因此,为了让更多像本人这样更喜欢SFC版三国志3的人也能享受同样的待遇,精通SFC方面HACK或Debug的高手们,期待你们的加入!8 x8 |+ |8 U+ f, a5 E% k; p
( m9 f1 U; e a7 v" i2 } |
|