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

原文链接:Doom ported to Raspberry Pi RP2040 由Jean-Luc Aufranc撰写。
本文共计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
植入了Doom的树莓派RP2040

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

  • RP2040超频至270MHz(注意:需要一个运行在135Mhz的闪存芯片)
  • 完整的WAD可在配备了2MB闪存的树莓派Pico上运行
  • Ultimate Doom和Doom II可以在StackyPiUDOO Key等8MB闪存设备上运行
  • 320×200 @ 60 fps VGA 输出(超分辨率到 1280×1024 @ 60Hz)
  • 帧速率约为 30-35+ FPS
  • 音频 – 49716Hz的9通道OPL2音频,8通道立体声音效
  • I2C 网络最多可支持4名玩家
  • USB 键盘输入支持
  • 保存/加载游戏,支持所有秘籍
  • 支持所有结束场景、暂停、帮助屏幕等

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

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

分享这篇文章
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论