1作者: beep8_official16 天前原帖
我从零开始构建了一个小型的幻想控制台,灵感来自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中的性能挑战的信息。 欢迎反馈、批评和提问。