爱读小说
繁体版

第十八章 破解6502密码(上)(1/2)

爱读小说域名已更新,请记住:www.52dus.cc

    傍晚,横井俊平从任天堂总部出来,果然在自己的邮箱内找到了冬野美纪投入进来的那本小日志。

    摸了摸衣袋内硬硬的钥匙。虽然今天是节日,但横井俊平却开着车,很快赶回了自己的公寓。来不及换上浴衣,他回到了自己的办公桌前,打开了日志本。

    王秋阳的回复写得非常工整,不光日文写得漂亮,其中的汉字更是让横井俊平有一种赏心悦目的感觉。他现在已经完全可以肯定,这篇提案绝非出自冬野美纪之手。

    王秋阳首先回答:其一,6502芯片最大能够支持到二十四色同显,另外的色号您可以理解为视觉暂留。

    横井俊平看到这第一行字,心中再次掠过失望的感觉,不过心情反而平静了下来。因为他确定这个投稿者是一个诚信,务实的人。毕竟做汇编的人,不能说大话,更反对夸夸其谈,数据代表一切。0就是0,1就是1。

    果然,王秋阳后面的回复,和横井俊平推论的相差不多。

    王秋阳说,6502芯片的同屏发色数,原本应当支持二十四色,十二色的同显是人为控制了它的上限。这是由6502的运算量所决定的。因此单一的6502芯片,可以达到二十四色同显,但只能够用于静止的画面。

    横井俊平感慨说:“能够用于静止画面,也算不错了。”当然显示出这样的画面后,主机就不能再做任何事情,或许可以利用这个性能开发出一些插画,也算是能够提升游戏质量?

    继续看了下去,横井俊平的情绪却再次被调动了起来。

    因为王秋阳肯定的说,如果稍适升级,同显二十四色可以运用在游戏上!

    怎么可能?

    横井俊平心中一阵微跳,迫不及待的观看后面的内容。

    王秋阳比喻,6502芯片,就像一辆没有装离合器的跑车,任天堂现行使用的MMC芯片就是离合器。附加MMC芯片的卡带,能够让FC同显的色彩达到十四色。这并非是芯片有附增色彩的功能,它实际上是一个定时器,在运算的缝隙中,让CPU访问到更多的色号。

    横井俊平忍不住轻拍了一下桌子,赞叹道:“说得好!”

    MMC芯片,正是由任天堂自主研发的游戏卡带附加芯片。

    因为FC的CPU只能访问32KB地址,PPU只能访问8KB。而一张卡带通常是由程序部分的PRG加上图形部分的CHR组成。如果没有特殊芯片的支持,对于FC的硬件性能来说,一张卡带的游戏ROM只能做到40KB。

    然而如今的FC游戏,ROM容量早就超过40KB了。其解决方案就是通过卡带上附加的MMC(Multi-memory controller或memory management controller)芯片来解决大容量ROM内的BANK切换。

    所以,MMC芯片除了作为堆积切换以外,芯片本身也有图像或者声音方面的增强功能,相当于给FC提升机能。在FC模拟器上,ROM对应的构成以及MMC信息被叫做Mapper(构图者)。

    但是MMC芯片为什么能够提升性能?这个问题却没有多少人去刨根问底。而王秋阳和横井俊平一样,对MMC芯片的性能作出了诠释。

    MMC切换PRG文件时,是译码器,而切换CHR文件时,是定时器。在内存的不同页面进行跳转,读取74LS161并将译码电路集成化,这才是MMC芯片最大的价值。

    因此在MMC芯片诞生之前,FC的主机在实际上已经达到了同屏十三的发色量。不过这其中有一个特定的背景颜色,它不能随意更换,那就是黑色。

    程序员在制作图像时,很早就发现了“留白”的设定。他们在背景画上空出一定的面积,不显示任何一种发色。这在游戏运行后,会显示出黑色。

    这实际上就是利用了电脑本身的BUG。因为画面在留白的位置,不可能在真正意义上失去这片屏幕的存在,所以电脑会出现假死机的状态,也就是俗称的花屏。

    6502死机,屏幕显示的就是黑色。

    而在6502的色号栏中,默认的黑色色号是1E。另外还有十种黑色是非默认色号。

    如果在这之前,程序员已经选定出了十二种其他色号,那么6502的BUG就已经生成。因为它自己显示出了第十三种黑色色号,这个时候程序员只用从剩下的色号中任选一种,就能够在其他需要的地方使用黑色。

    比如人物,道具的修边,都是这样完成的。

    MMC芯片,就是将这个固定的黑色色号,变成了第十三种可选用色号。而原本的留白,还能够继续使用黑色,由此达到了同显十四色的效果。

    横井俊平看到这个结论,也不得不叹服。

    任天堂的程序员很多,但真正把理论研究到这个程度的,目前还没有出现过。他当然不知道,王秋阳的结论是多少代玩家在电脑模拟器上,才得到这个成果。

    因此王秋阳向横井俊平阐述了一个大胆的结论:利用6502的这个BUG,可以继续发掘下一个可同显发色。这个发色就是灰阶。

    6502的总发色数是五十二。其中四-->>

本章未完,点击下一页继续阅读

打开支付宝首页搜索“510274334” 立即领双份红包