TA的每日心情 | 奋斗 2014-1-29 08:37 |
|---|
签到天数: 5 天 连续签到: 0 天 [LV.2]偶尔看看I
|
《吞食天地修改笔记》
开篇前的话:
研究吞1有好些日子了,陆续的找到了不少有用的数据,自娱自乐的同时,也想把这些资料写个修改器,以方便快速进行修改。
前几天,很幸运的进了一个“修改交流”群;很快的找到了会编程序的朋友,于是把想法和他说了一下。
他说,可以帮忙写修改器,但提出一个条件:我要在论坛发200个有意义的贴子……
我心想,自己平时逛论坛也就看看一些相关FC游戏的修改贴子,也很少回复。
最后达成协定:我把所撑握的整理成笔记,发上论坛和其他朋友交流。
第一日:登场人物+初始物品
难度:◆◇
我们先准备一些必要的的工具:
1.任意FC带DEBUG模拟器一个。用于进行常规的跟踪,分析程序
2.任意16进制编辑器一个。要改ROM可少不了它
4.《6502编程大奥秘》。对照FC的指令
5.吞1的EC码。用于了解各个地址的含义,方便快速寻找相关程序
查找EC码,得知开始登场三人代码为:A8,A9,AA。
$60A8-$60AE存放队伍中人物的代码
修改思路:既然$60A8-$60AE存放人物代码,那么游戏开始时,就会去ROM内把先存好的数据传送到这里.
如下图:
[attachimg]701[/atta从上面我们知道,排列第一个人物代码为A9(关羽),便可以去下断点了。
注意要在程序没写入数据前哦,如下图
chimg]
★物品地址★
$6100-$6107:第一人
$6108-$610F:第二人
$6110-$6117:第三人
$6118-$611F:第四人
$6120-$6127:第五人
$6128-$612F:第六人
$6130-$6137:第七人
后记:第一日笔记到此告一段落,对于一些有修改高手来说,这里所提未免太简单,没什么技术含量……
但是本人的初衷是从基础开始,慢慢的,引导新手们提高修改技术;当然,经验也很重要,这些都要慢慢累积的
最后提醒一下新人,没必要把那些硬邦邦的指令码硬背下来,那里头常用的都是些读取,写入,跳转,比较的指令
我们只要把它们的寻址方式(执行模式)理解,比如上面提到:
LDA $96FD,Y
这是个读取指令执行过程是这样的:
假设此时Y寄存器的值为01;即Y=01;地址$96FE上面有个数据为A9;即$96FE=A9
先确定基地址:$96FD
把基地址:$96FD + Y(01), 得出正确地址:$96FE
然后把$96FE上的数据读取到A累加器内,完成指令执行的过程。(内容摘抄《6502编程大奥秘》)
《6502编程大奥秘》的内容过到多是吧?新手一看就头晕,大概在想:这从头到尾看完并理解要多长时间呀,撤吧,学不了
导致今天FC的修改(研究)来来回回就那么几个人……
咱新人可不能做伸手党,无耻的向高手们无休止的提那些什么游戏什么地址在那(提多了,就会被人家厌恶,BS)
我们试着用自己双手,做出成果(作品);难道你们从来没想过,人家能,我为什么不能吗?
这里借用《6502编程大奥秘》教程作者的话:这些年来,没有任何高手编写过一本关于汇编的书,我自认为自己
没有资格做这件事,但是我愿意把我所知道的知识整理成一本书,以飨读者.
2010-7-6
Jhu3979
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?帐号注册
x
|