全世界最小的Game Boy电路方案剖析,这设计你也可以掌握

2019年09月06日 作者:Teardown

这可能是世界上最小的全功能Game Boy Color,能够使用微型方向键盘和按钮,板载显示器和电池,可以媲美原版的Game Boy,只不过是形状缩小了好几个身板。这是一个令人难以置信的Hackaday上的项目,它提供了硬件和软件的强大功能。

 

我相信很多人对你的第一款掌上游戏机有美好的回忆。对于大多数人来说可能都是任天堂的Game Boy,我不得不承认它具有相当不错的便携性和电池寿命,这让许多智能手机变得比较尴尬。尽管如此,Sprite_TM始终梦想着一个非常便携的版本,并且为了他的青春期快乐,他找到了一个Game Boy的钥匙链版本(如下图)。不幸的是,他被骗了。钥匙扣虽然看起来像一个Game Boy,但只能作为一个时钟。

但是现在,几十年后,技术已经取得了进步,因为他也有自己的技能。于是,Sprite_TM构建了属于自己的Game Boy,同时也相当于圆了他儿时的梦想。

硬件

Sprite通过指定显示器开始了他的硬件设计。最初的Game Boy是一个相当差的屏幕,只有160×144分辨率,大约有4级灰度。新屏幕需要包含此功能,但物理尺寸尽可能小。

他发现的第一个屏幕是一个800×600的小型OLED屏幕:一块惊人的硬件,价格低至720美元。更好的选择是尺寸小于1英寸的彩色OLED,售价3.80美元 - 它的分辨率不足以达到96×64,但是Sprite对它进行了测试,结果发现它是一块可以通过测试的屏幕,于是他就接受了它,另外他选择了直径小于1厘米的扬声器,ESP32芯片(采用ESP-WROOM-32模块)和150毫安时锂离子电池。

屏幕的大小决定了Game Boy外形的所有尺寸。Sprite将屏幕的测量图像拉入Inkscape,并开始播放原始硬件的图像,以达到他的最终尺寸。由于需要一个OLED柔性电缆通过的插槽,他在铺设电路板时遇到了一些挑战。他在OpenSCAD中对PCB进行了建模,并围绕它构建了案例设计。这是他第一次使用3D打印机而且他的表壳确实看起来很棒!

软件

在这种情况下,软件是一项挑战。Sprite想要从模拟器开始,但模拟器是为完整的计算机系统编写的。ESP32是一个强大的芯片(双核240 MHz,512k RAM,外围设备,WiFi和蓝牙),但它仍然不是一个完整的计算机。他决定查看经过优化的旧仿真器,以便在非常旧的计算机设备上运行。经过对许多选项的筛选后,他选择了GNUboy,它具有优化功能,可以在486计算机上运行。

这是一个良好的开端,但他还有很长的路要走,以确保这些是可行的的。最值得注意的是,GNUboy用来维护“精灵”的“平铺缓存” - 构成每个游戏的8×8图形块。这在视频的大约18:34被很好地解释了。GNUboy为tile缓存分配大约128 kB的RAM(超过可用的1/4)。Sprite能够将这种需求减少到大约46 kB。

模拟器运行后,Sprite添加了一些不错的用户功能。屏幕允许用户调整亮度,音量以及加载或重置ROM。由于主板上没有大容量存储,因此小型Game Boy只能同时存储几个游戏。Sprite利用芯片的WiFi功能来解决这个问题。当您想要加载新游戏时,它会广播一个接入点并运行一个网络服务器,允许任何手机或计算机上传新游戏。

1 2

相关文章

tracer