九、BGB模拟器的简单介绍
虽然《超时空要塞7》这个游戏的汉化并不复杂,但你会发现按照上面的方法去做还是会有些小瑕疵。
比如说在退出游戏的设置界面时,会有这样一个画面

很容易可以找到它对应的字符在Rom中的位置(13DE0B),这些字符是用图片格式直接保存的

这里“はい”和“いいえ”一共五个字,但Rom里只有“はいえ”三个字符,其中的“い”被重复使用了。按照之前的方法,只能把“い”改为空白,像这样

最终的显示效果如下,会显得比较别扭

这时如果想要汉化的美观一些,让“是”、“否”这两个字能对齐,就得换一个方法。
这里会涉及到一些Z80汇编程序的内容,我们就遇到一点解释一点,在实践去学习吧。对于一些常用的命令,最好也能多熟悉一下,至少做到看到能知道是什么意思。这些内容我也只是懂个皮毛,都是以我自己的理解去解释的,如果想要系统的学习和了解请自行去查阅专业书籍。
现在开始我们就更多的要使用BGB模拟器。用BGB模拟器加载游戏的Rom,按Esc或者右键选择Debugger进入调试模式,我们会看到这样的界面

左下方是原始的16进制编码,左上方是这些编码对应的可视化的程序,右上方是寄存器相关的信息,右下方是WRAM。
按F5,或是在上方Window菜单下选择VRAM viewer,可以打开下面的窗口。

这里Tile这个标签页就是当前游戏的画面中需要用的Tile暂存的位置。将鼠标放在Tile上,可以在右边Tile Number这里看到每个Tile都会有一个16进制的编号。
选择第一个BG map标签页,我们会看到和当前游戏显示画面一样的图片。

GB/GBC显示图像的原理就是把VRAM中Tile按照一定的顺序写到MAP上,从而能够显示出正确的图片。
把鼠标放在“いいえ”这三个字的第一个Tile上,看到右边红框里的两个参数,Tile No.是7B,Map address是9987。

这就表示在9987这个地址上放了编号为7B的Tile。而为了让第一个“い”能够完全显示,需要在9987放7B,9988放7C,99A7放9B,99A8放9C,一共放四个Tile。我们的目标就是想办法改变放在这里的四个Tile的编号,在游戏中显示我们需要的字符,比如“え”这个字对应的4个Tile的编号7D,7E,9D,9E。
上一篇:
索尼PS3迎来4.92固件版本更新下一篇:
GB/GBC汉化经验分享之十--观察点追踪