站点图标 CNX中文站

Doom已经被移植到了树莓派RP2040当中 

本文共计718字,预计阅读2分钟

备注:Doom中文名毁灭战士,它是id Software制作、Bethesda公司发行的一款第一人称射击类游戏,在PS4、XBOXONE、PC、Nintendo Switch上发售。2016年12月2日,该作品获得TGA 2016最佳配乐、声效、最佳动作游戏奖。

Doom(游戏毁灭战士)目前已经被移植到各种平台当中了。比如之前就被移植到了配备4MB PSRAM的ESP32 平台当中。不过话虽如此,但要将Doom移植到树莓派RP2040还是很有挑战性的。因为RP2040的RAM被限制为微控制器内置的较小储存264KB,所以对于像树莓派Pico这样只有2MB闪存的主板来说,存储容量成为了一个问题。

但Graham Sanderson通过压缩数据、更改代码从而使用更少的RAM,以及充分利用两个超频为270 MHz的Arm Cortex-M0+内核等方式解决了这一问题。为了在树莓派Pico上使用分辨率320×240 @ 60 fps来运行Doom (DOOM1.WAD) ,所以完整的Ultimate Doom和DOOM II WAD估计就需要使用配备8MB SPI闪存的树莓派RP2040板。

植入了Doom的树莓派RP2040

这一移植基于的是Chocolate Doom,主要用于支持音频的OPL2仿真源自emu8950项目,并使用ADPCM-XQ IMA-ADPCM编码器来压缩音效。以下就是Graham Sanderson经过六个月业余时间工作后取得的成果:

你可以在通过视频了解一下结果,相关视频链接,点击此处可查看

这一项目的源代码、构建说明和UFS固件都可以在Github上找到。但是,如果你们想了解具体是如何实现的,比如使用的压缩技术、doom移植的优化、用16 位变量替换32位变量从而来减少使用的内存,以及项目遇到的总体挑战等等,那么你们可以读一下Github.io上的这篇长文章,肯定会有所收获的。

分享这篇文章
退出移动版