FC 魂斗罗汉化日记 (第六日) (完)

第六日 - 执行效率优化

因为效率问题 (修改的地方是原本游戏用来显示缓冲区的内容),决定重写。

主要的更改,就是取消在 $CB30 这个函数里对最终打印到屏幕的代码片段,修改为对话时生成对应的文字。

同时为了方便维护,很多代码片段将拆分为独立的函数方便调用;然后因为寄存器的限制,统一了各函数调用通用函数时所使用的内存地址 (因为之前生成的翻译数据,都是 FD 打头,可以利用这一个特性进行数据的初始化&修复)。

使用的编辑器为 Atom,因为有一个 6502 汇编的语法高亮可以直接安装。

Contra.inc.s 里面定义了主程序用到的各种数据,尽量避免偏移计算造成的人为错误。

GenericDisplayCharacter.s 负责提供函数以及导出
  ※ 每一个导出占用 3 个字节

导入进游戏后,可以发现地图界面的卡顿没了,也不会产生乱码了。

当然,这个版本并非完美,有时间的话我会继续跟进完善的。

发布

最后就是发布了,汉化版除了在本站,只在下述两个网站发布:

欢迎转载,注明出处与汉化者即可。

Post your comments here