灯泡|魔改宜家灯泡当主机!玩转《毁灭战士》无压力( 二 )
游戏中的纹理,比如墙面、地面在游戏过程中会发生变化,所以它们需要长时间保存在RAM中 。但实际游戏中的纹理数量是非常有限的 。因此,单独创建了数组来存储可改变的纹理信息,而其他的静态纹理则从外部闪存中读取 。
选用的160 x 128像素的显示器本来需要一个20kB的缓冲区,但Nicola选择首先计算并渲染160×96像素的3D场景,将结果发送到显示器 。然后再绘制游戏中的状态栏,发送剩余的160×32像素 。这样就节省了5个宝贵的KB,却不影响性能 。
最后,优化中彻底删除了占用16Kb的复合纹理渲染模块 。
内存优化达标,实际上是对CPU进行了降频,此外还禁用了数据缓存,但这也造成出了一个非常严重的问题:读写速度极其依赖于数据接口,而不是实际的CPU能力 。
解决办法是,使用SPI闪存读取命令来检索数据,而不是使用内存映射模式 。
这款处理器的SPI时钟速率被限制在20MHz,外围总线速度被限制在50MHz,但实测后发现这个数字是非常保守的,至少在室温下超频到80MHz完全没压力 。
对游戏本身搞了“削足适履”式的优化,还对CPU进行了极限超频,《毁灭战士》硬核跨界的基础条件终于具备了,接下来就是硬件DIY部分 。
如何攒机?
怎么攒出这台“游戏机”呢?
先规划一下大体结构:
文章图片
连原理图都给你画好了:
文章图片
主角是一只宜家Tradfri GU10 RGB灯泡,确切来说是它的MGM210L模块 。
(高端玩家直接用EFR32MG21射频微控制器,也不是不行 。)
第一步拆灯,同时也要拆分高压AC-DC电源和RF模块+DC-DC转换器 。
文章图片
由于在输入电压过低时,R25会使DC-DC转换器关闭,因此在这里要把R25移除 。
文章图片
接下来,只需将DC-DC和RF板焊接到原型板上,当然还需要留出输入、输出、接地电线 。
文章图片
然后就来到了布满线路的第二块板 。
文章图片
看着头大?不用担心,开发者将会开源这一步的PCB设计图 。
这块板上的组件包括SMD元件、逻辑芯片74HC165和8MB闪存IC 。
如果想要更高质量的音频,还可以连接一个低通滤波器 。由于空间限制,开发者在这里只留了一个2针接头 。
键盘部分就清爽多了,一目了然:
文章图片
最后,把几块板组装起来,再接上价格友好的TFT 160×128 SPI显示器,就可以进行编程调试了 。
文章图片
需要注意的是,改装后的设备只支持低于30V的直流电压供电,不能在交流电源下运行 。
该设备可以用任何兼容JLink(JTAG调试仿真器)的SWD编程器进行编程 。
可以使用Silicon Labs的Simplicity Studio V5,对GitHub中给出的源代码进行编译 。(如果提示出错,忽略即可)
文章图片
然后将设备通电,设置为YMODEM上传模式,这一步完成之后就能进入游戏了 。
文章图片
调试完毕之后,把电路板暴力塞回灯座里……
文章图片
大功告成!
推荐阅读
- USB|大神魔改出Type-C接口iPhone X大获成功 全球第二款来了:更完美
- Windows操作系统|Win11仍不够苹果?一招魔改Win11任务栏
- 罗永浩|宜家宣布将平均提价9%:之前被罗永浩批卖场存在安全隐患
- 吉利|吉利豪越魔改而来 全新皮卡专利图曝光 网友:买一台拉摩托
- 核电站|国内研究人员表态:第一盏由被核聚变能点亮的灯泡一定要在中国
- NVIDIA|大神魔改RTX 2060 12GB:游戏低帧率大涨
- NVIDIA|大神魔改出RTX 2060 12GB显卡 结果挖矿及跑分性能没啥提升
- 小米|小米发布自研环形冷泵散热技术!魔改版小米MIX 4畅玩《原神》60帧
- 散热器|小米MIX 4魔改自研“环形冷泵”:降服火龙888 秒降温5度
- 微软|Start11软件1.0版发布:一键魔改Win11为Win10/7