默认冷灰
24号文字
方正启体

第七十二章 捲轴移动实现成功

作者:涿鹿中原本书字数:K更新时间:
    小林彻与中裕司,小心翼翼的举著热风机加热,用镊子一点一点的拨开软化的树脂,最终暴露出树脂下的东西。


    一颗正放的晶片,导线直接从电路板上连结在晶片周围的针脚,赤裸裸,明晃晃,毫不设防。


    中裕司摸了摸额头上的汗水,抬起头来看了小林彻一眼,得到小林彻的鼓励,方才小心谨慎的开始动手。


    这种封装的方式被称之为『邦定』,和一般的晶片封装不同,邦定晶片的特点是將晶片正面朝上安装在基板上,然后直接从导线架连结线路到晶片上。


    正面朝上的晶片没有任何保护,很容易受损,所以就需要贴一块胶。


    这也就是所谓的牛屎晶片。


    牛屎卡带之所以被称之为牛屎卡带,就是因为这种卡带上往往有一个很显眼的,黑色或者褐色的圆形胶物覆盖在晶片上。


    这东西就能够起到一般情况下的外部封装效果,用来保护脆弱的晶片。


    这么做的结果就是成本非常低廉,一般的卡带需要內封装外封装两个流程,而这种方式则是直接去掉了內封装外封装的流程,直接用一种容易被破坏的简易封装来取代。


    这就导致牛屎卡带非常容易受损,也非常容易失效。


    如果不是成本低廉的话,这种封装方式几乎不会出现。


    看著眼前密密麻麻的四十脚晶片,小林彻的表情也变得格外凝重起来。


    已经封装好的卡带想反向解包是几乎不可能的,这要等到后世设备和工具都进化到一定程度后,才能够进行反向解包。而现在,他们必须得做一件事情,从这枚四十脚晶片內,找出每一个针脚对应的功能,然后对对应连结的单元做出反编译。


    这个流程可能有些漫长,但也並非完全做不到的。


    当天下班送走増子司二人以后,小林彻又和中裕司废寢忘食的研究了一阵子。


    直到第三天中午。


    小林彻正胡乱扒著饭,忽听中裕司高举双手,一声大叫。


    “万岁!成了!!”


    小林彻手掌抖了抖,不知为何想给他一耳光。


    该死的畜生,你成了什么!


    小林彻忍住,快步过去。


    “找到了?”


    “找到了!针脚对应的逻辑地址,然后拆解出对应的功能。”


    中裕司看著两台屏幕,另一只手在键盘上飞快敲打,鼓捣,写出一连串的代码。


    “了不起,太了不起


    了。没想到任天堂是用这种方式实现画面变形的!”


    小林彻紧盯著屏幕上復刻出的內容。


    【把一幅背景画面32列x30行分为240个点行(或称为线)。


    位移开始时若选定那一个页而对正显示窗口,可由程序no6-2控制。


    no6-2选分裂位移页面处理程序


    lda 20


    sta 2006


    ldy 00


    sty 2006


    当选0页时,a寄存器的值可取h20~h23;当选1页时,a寄存器的值可取h24~h27。


    但y寄存器的值必须为0,若y+0,整幅画面要向左上角位移与y值对应的点数。


    通过对2000单元的背景显示页面选择开关置值,选择欲显示內容的背景页面。


    对2005单元置入当前欲显示內容位於显示窗口的x、y坐际。


    通过控制延时时间,控制显示画面的纵向高度。


    通过对以上五个步骤的灵活组合,可以实现显示画面任意块分裂位移。】


    (以上內容出自《任天堂游戏编程技术探秘》中捲轴滚动一节。)


    “厉害。”


    小林彻长出了一口气。


    任天堂果然是专业的,说到底,他也只是个爱好者,不是正牌程式设计师,有些事情还处於知其然而不知其所以然的阶段。但小林彻现在也在日常攻读健太郎的心得手册,看到这一串字符以后,脑袋里也渐渐勾勒出了对应的画面。


    “所以这就是任天堂实现画面变化的技巧!”


    小林彻忽然一拍脑门:“我知道咱们错在哪了。”


    中裕司一愣:“我还没看懂呢!”


    “不,不用看懂,只是任天堂的编程给我们指引了正確的道路,你听好,我们实现捲轴的方式不是错误的,错误的问题在於我们没有將画面合理拆分,而是想著用同一张大图进行位移,但这对於游戏机的机能而言是不可能的,所以我们应该换一种方式。”


    小林彻扯过白板,飞快写了几笔,在形如坐標系一般的画面上写出一行文字。


    0f丨0e


    1f丨1e


    “將背景分层,用这样的方式,移动一部分作为前景的素材,从而实现画面滚动的效果。这样,就能够解决我们的问题了!”


    其实更详细的代码小林彻是看不到的,那些东西被封装在程序


    里,凭藉手头上的设备也不足以拆解和反编译,但现在只是通过对应的针脚来推测对应的功能,这一点却不难。


    拜此所赐,小林彻现在可算是搞懂他弄错了什么。


    中裕司那边在沉吟片刻过后,也终於反应过来。


    “是这样……怪不得!”


    二人一转身便再度投入到程序当中。


    不过这次,作法和之前有所不同。


    不是试图將画面拆分,而是將画面分层。依旧还是將完整的画面划分为00,01两个部分,但是这两个部分,现在则细分为前景和后景,从而实现设想中的效果。


    转眼,就是傍晚。


    阿特拉斯四人,將简陋的素材和测试用的程序连接完毕,另一端联通在电视上。


    小林彻握住扁平的sg-2000手柄。


    “我要开始了?”


    “是!”


    “请开始吧!”


    小林彻一把按下,屏幕画面即刻开始移动。


    画面中,象徵著模糊血肉的界面徐徐移动,战机在血肉巨兽的肚子中穿梭到另一边,背景闪烁的星空飞掠而过。


    一片寂静当中,车库中忽然爆发出中裕司兴奋的低吼。


    “太好了!这样应该就达成我们所需要的效果了吧!”


    “不错。”


    小林彻也同样长出了一口气。


    效果是这样没错了,但是这其中还有一些瑕疵,当速度过快的时候画面位移会跟不上效果,从而导致画面中光禿禿一片,人物跑到前景之后的状况。


    这需要系统的进行適配。


    但无论如何。


    捲轴移动的效果是已经成功做到了。


    “北川君,素材的事情还要拜託你了。我们现在只有一个问题,作为前景的素材时,要和背景有明显的差分。”


    北川刚竖起大拇指。


    放心吧!


    既然社长和主程都这么拼命他当然也不能落后。


    再说了。


    小林彻一个月给他十五万円呢!
(←快捷键) <<上一章 投推荐票 回目录 标记书签 下一章>> (快捷键→)