首页 > 游戏竞技 > 红白机大时代 > 第十九章 破解6502密码(中)

第十九章 破解6502密码(中)(2/2)

目录
好书推荐: 罗布泊档案 运朝之主 溯因之果 全民学霸 带着微信购物坐江山 无限之灾厄纪元 第一掌门赘婿 美漫世界里的虫族主宰 我家浴缸有只鲲 世界球王

思路被打通之后,后面的内容,横井俊平看得就轻松了许多,但同样很扣人心弦。

因为后面分析的,就是如何利用PPU增加发色数。

现行PPU和6502.7芯片一样,是由理光设计,十六进制支持既定4x16色号调色版的型号。

电脑的画面制作,是由PPU拟定原始色号,也就是物理运算芯片。之后由GPU负责运算,显示,最后CPU负责全程调控。可以说PPU是发色的基础,它的发色原理来源于芯片上的寄存器。

寄存器本身分为两个概念,一个是物理概念,也就是寄存真实的颜色,比如红,绿,蓝这样的颜色。另一个概念,就是运算概念,PPU把这些颜色以数据的形式传送给电脑,再由GPU通过显卡把数据传送到屏幕上。当然,FC没有单独显卡,GPU是集成于主板上的。

其中的物理概念,重点就在于寄存器对发色的选定。

电脑的三源色是红,绿,蓝。6502的发色原理是构建两条垂直伸展的轴线,分别是X和Y,从左上角向右方和下方延展。原色红居于正上方,蓝居于左下角方,绿居于右下方。

由于6502认定屏幕的上和下,左和右是互通的,因此发色的区域左边自形成的白色起始,渐进到灰色,然后是从紫到红,向右渐变为青色,再到绿色,最后是黑色。

自上而下,则是从红色渐变到橙色,再到黄色为止。而座标的斜方向,就是渐变的一些靠近主色的近色。PPU寄存器要做的,就是选定一个发色范围,同时将需要的颜色以数据的形式贮存下来。

如果以后需要某种颜色,PPU就能够提交数据,迅速以相应的座标记忆将三原色搭配出的色彩毫无差错的构建出来。这也是电脑让人类无法企及的超强运算能力,哪怕只是八位处理性能的6502。

试问,就是一位画家,他能够保证自己每次调配出来的色号完全一样吗?肯定不能,但是电脑就可以。

和6502协同运算的PPU,座标记忆就是达到四乘以十六的一个区间,在寄存器中贮存下来。这些数据,就是电脑的调色板,即物理运算;而这些能够随时转化为颜色的座标数据,就是色号,即数据运算。

6502要增加PPU上的游戏色号,这个堆栈就要联系到卡带上的临时贮存器。

任天堂的卡带上有四个重要的组成部分,分别是ROM-chr,ROM-prg,MMC芯片,还有RAM。当然还有电池,密码锁等和程序关系不大的配件。

其中,ROM-chr用来贮存游戏的图文,ROM-prg贮存程序。

而在游戏过程中,运算都是在RAM中进行的。RAM全称为Random-Access Memory,代表游戏内存。它的功能是暂时存储数据供CPU调取。

由于卡带的读取速度跟不上6502的处理速度,因此所有的程序运行都是先从卡带读取数据并加载到内存中,再写入CPU内部的高速缓存进行处理。

人为增加发色数的过程,将在这里完成最后的步骤。

RAM在待机状态下为空,也就是说,RAM负责在游戏运行时贮存临时数据。从某种意义上来说,RAM和堆栈的作用很相似,只是它的容量非常之小,一般只有20Kb(1Kb等于8字节)。

这个就是临时贮存器。在“定时器”的原理下,色号能存在两个。它能够把灰阶20像黑色那样,指定为花屏底色,强制电脑显示出来,使它成为可用色号。

因为CPU显示出默认灰阶,成为了同显发色色号。因此人为的再使用灰阶30,就能够在黑色之外再增加一款发色数,而且本身并不占用到任何内存。

如此一来,即便在没有MMC芯片的支持下,发色数也增加到了十四种。即黑色,灰阶,以及十二种彩色!

看到这里,横井俊平忍不住感慨道:“科乐美为了研发MMC芯片,花了两年时间,增加了一款发色数。而这套汇编才用了两天,真是让人难以置信!”

目录
新书推荐: 小雌性超香软,开局治愈五大恶兽 绝美恶雌,开局攻略八位兽夫 交换兽夫后,疯批S级争着求我宠 每次闭眼都在重启人类文明 今天毁灭世界了吗? 创世:从种蘑菇开始 从地下城到游戏帝国 小米重工,第一次创业! 刚出人皇幡,我就成了旧日之主 黎明之蛛
返回顶部