剩下的还有软件的问题。
当第一台掌机样品攒出来,在场之人中只有苏布冬最清楚的知道他们这款掌机对标的是哪一款掌机,应该拥有的性能是怎样的。
这绝不是什么可以当做试验品投向市场的玩具,而是关乎战龙未来走向的具有里程碑意义的游戏机。
样机开发出来后,测试游戏时却发现图形系统出现了问题。
gu vra,这部分的内存地址从8000到9fff,共8kb,这一部分是从来存储背景和游戏数据的。夏普屏别看只有黑白两色,但还能显示明、暗灰度,总共是4种颜色。这样一来,显示出来的每个像素点需要占用2bit的空间。对于gb的显示系统来说,屏幕会缓存256256大小的图片,其中160144大小的某个区域会显示在液晶屏上,而要缓存的图片的大小为2562562b。但是掌机的显存只有从80009fff的8kb,显然是放不下的。
为了攻克这个难题,苏布冬和研发人员们差点把眼睛都熬瞎了。苏布冬又开始怀念起任系的黑科技,当时老任也面临这种情况,他们是怎么解决的?让不够b的显存也能够显示出b大小的内容的呢?
时间紧迫,苏布冬被赶着去食堂吃饭,脑子里想的还是如何实现。
在吃饭的时候,宋喜乐做了四个朝天锅卷饼,摆在苏布冬面前炫耀道:“想吃吗?不过我才不给你吃。”苏布冬盯着卷饼,宋喜乐被他盯的心里发毛,讪讪的将其中一卷推到他面前:“算了,看你这么可怜,送给你一卷吃吧。”
苏布冬下意识的将饼摊开,里面露出猪肠、葱白、白芝麻等物品。
“它们都被卷起来了,看上去是一个块。”苏布冬蹲下,平行着看着那张桌子上的饼,然后又将饼卷起来,饼的两头恰好是一个方块。
“我懂了。”苏布冬拍了一下宋喜乐脑门。
宋喜乐被打蒙了:“你懂什么了?”
苏布冬拉着楚行云和刘美丽说道:“我懂了,我们不要想显存不够的事,我们要想怎么让他显示,这种问题其实就是一个障眼法。你们看,我们把显存中一部分用来存放图片数据,一部分用来存放映射数据,图片将被划分为每个88大小的块,每个块有一个编号,而在映射数据的部分存的只是每个块的编号,这样子,每个块就有可能会被重复使用,从而达到在不足b显存的情况下显示b数据的目的!图片加载的时候,其实加载进来的数据只是一个映射数据,而不是真正的图片数据!”
楚行云眼前一亮:“妙啊。”
刘美丽完全不知道苏布冬说的是啥意思,憨憨道:“俺听不懂,不过你一定是解决显示的问题了?”
“没错。”顾不上吃饭,苏布冬回到办公室开始捣鼓显存数据分布,将数据分布分为了四种情况:图块集1、图块集0、图块集1映射、图块集0映射,并且图块集1和0又分了图块编号。
在x掌机内,红色罗刹人管所有移动的物体都叫做精灵srite。x掌机可以控制40个精灵,每个精灵的大小为88或者816的图片块,同时,受硬件能力限制,每个扫描线se只能显示10个精灵。每个精灵的图片数据存放在80008fff的区域中,精灵自身的属性数据x和y坐标等数据则存放在专门的精灵属性表中srite attribute tabe,也叫对象属性内存oaobject attribute ory,该区域位于内存fe00fe9f中,oa被划分成40个4字节的块,每个块代表一个精灵。
华夏、米国、红色罗刹的天才们用了一个月将所有的技术难题攻克。
这是一台这个时代近乎完美的掌机。
帕基特诺夫用它测试着自己发明的俄罗斯方块,嘴里嚼着槟榔,问道:“苏,这款游戏机你想如何给他命名?”
苏布冬笑着说:“想了几个名字,也不知道哪个合适一些。”
“我觉得sunny不错。”
“ga sunny?”苏布冬想了一下。“好啊。”
帕基特诺夫愣了:“你是认真的吗?”
“我难道不认真吗?”苏布冬收起玩笑的表情。