返回首页
最新
我从零开始构建了一个小型的幻想控制台,灵感来自90年代早期的掌上游戏机。
它完全在浏览器中运行(使用JavaScript和WebAssembly),包含一个虚拟的类似ARMv4的CPU,1MB的RAM,一个简约的实时操作系统,16种颜色的图形,并能够运行用C/C++编写的游戏。
为了测试系统,我创建了一个可工作的1维版吃豆人:
- 迷宫只是一个直线
- 鬼魂仍然会追赶你
- 能量豆和得分物品的功能与原版相同
- 在虚拟CPU上实时运行
演示(在浏览器中运行,无需下载):
[https://beep8.org/b8/beep8.html?b8rom=1dpacman](https://beep8.org/b8/beep8.html?b8rom=1dpacman)
技术细节:
- 类似ARM的CPU(无浮点运算),以4 MHz的速度仿真
- 自定义实时操作系统(线程、信号量、SVC中断)
- 128×240像素显示,16色调色板
- 基于WebGL的PPU用于图块和精灵
- 游戏使用GCC编译成ROM并在虚拟机上执行
这是一个个人学习项目。非商业性质,无广告,无追踪。
如果有人感兴趣,我可以分享更多关于CPU指令集、内存映射、实时操作系统或WebAssembly中的性能挑战的信息。
欢迎反馈、批评和提问。