吞食天地修改实操部分01

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这RAM和我们用的UE差不多,不同的是它范围只有$0000-$FFFF,也就是FC机CPU:6502的访问(寻址)
其中$0000-$07FF作为可读写内存$0800-$1FFF是前面的镜像(不理解无所谓,这块区域不能用就是了)
$2000-$2007留给显示处理器(PPU)与CPU通信用→(做汉化的就要了解其作用了,现在我们用不上)
$3F00-$3F0F 背景调色板(就是地图的调色板),共4个→(现在我们用不上)
$3F10-$3F1F 精灵调色板(就是人物的调色板),共4个→(现在我们用不上)
$4000-$4015 留给声音处理器(APU) 与CPU通信用→(现在我们用不上)
$4016-$4017 分别是1P和2P手柄与CPU通信的地址(端口)
$4018-$5FFF 扩展内存→(其中$5000-$5FFF在吞2中可以读写)
$6000-$7FFF 卡带的SRAM(需要有电池支持,吞2很多重要数据都放在这区域)
$8000-$FFFF 我们平时用UE打开ROM看到数据,都在这区域,如右下图
嗯,这里我们了解一下吞2的解码器(MAPPER 4)工作原理:
大于32KB的FC游戏都自带一个解码器,其最主要功能是扩容和加密。

老任自己开了四五个,整体功能很强……其他FC开发商也陆陆续续独自开发了
不少,已知的有200多个。

吞2的解码器编号是04 ,下
面切图
好,让我来讲讲MAPPER 4如何把这640KB的数据装进$8000-$FFFF的。

1.开机时,MAPPER 4先把ROM的$000010-$00400F装进RAM的$8000-$BFFF
2.ROM最后16KB($09C010-$0A000F)装进RAM的$C000-$FFFF
中间那些,MAPPRE 4把它们按8KB为一块来划分,即640KB划分成256块8KB
编号00:$000010-$00200F 编号01:$002010-$00400F
编号02:$004010-$00600F 编号03:$006010-$00800F
编号04:$008010-$00A00F 编号05:$00A010-$00C00F
以下请大家用计算器算,记得切换到16进模式下哦
公式:$2000*编号+$0010
算到最后,发现在MAPPER 4竟然能装2MB的容量(当然这里指在模拟器里)
[RMA和MAPPRE认识告一断落,现在不理解无所谓,以后扩容再回来看]
呃…………我们这里研究吞2敌方最大兵力是否可以超过65535,请备好以下工具
1.任意FC带DEBUG模拟器一个,我用的国人张晓波改的VirtuaNES 0.67版。

2.任意16进制编辑器一个。

3.带上纸和笔
4.把星月斑竹发布那本《6502编程大奥秘》下载回来
5.最后,起码2小时以上的空闲时间 + 一个安静环境
嗯,我们来找找敌方兵力当前兵力/最大兵力的地址,如下:
在找敌方最大兵力前,先来找找主角们的最大兵力
因为战斗时,很有可能是按顺序
排列

去$663F 那里改下
哦……改了当前兵力了,再逐一试试吧,结果如下……
那么,我们可以猜测:敌方兵力起始地址在就在6663-6665的后面了。

PS:我对到现在还不了解S-RAM($6000-$7FFF)的朋友解释一下:这区域所有数据都是从$8000-$FFFF
区域读取上来的;是FC机RPG游戏存档用的。

相关文档
最新文档