Running Doom on Qt for MCUs
为MCU在Qt上运行Doom
Thursday April 28, 2022 by Åsa Forsell | Comments
2022年4月28日星期四 奥萨·福塞尔 | 评论
You're probably familiar with the meme that "Doom will run literally on anything", with people running the classic game on, well, anything. It has almost become a competition of who can launch the game on the funniest, or most challenging, environment. Some of my favorites include running doom on a pregnancy test, a calculator, a 1998 digital camera, and literally on a potato.
你可能熟悉“厄运会在任何东西上运行”这一迷因,人们在任何东西上运行经典游戏。这几乎成了一场竞争,谁能在最有趣或最具挑战性的环境下推出游戏。我最喜欢的一些东西包括怀孕测试、计算器、1998年的数码相机,还有土豆。
Considering this, it was only a matter of time until someone would try to run Doom on an embedded micro controller powered by Qt for MCUs and Qt Quick Ultralight. The noble task was taken on by a trio of Qt developers during our internal Hackathon earlier this year. The trio, consisting of Tommi Tauriainen, Kari Hormi, and Timo Aarnipuro, succesfully completed the task and won the "most suprising entry" price for it.
考虑到这一点,有人试图在由Qt for MCU和Qt Quick Ultralight驱动的嵌入式微控制器上运行Doom只是时间问题。在今年早些时候的内部黑客大会上,这项崇高的任务由三名Qt开发人员承担。由托米·塔里亚宁(Tommi Tauriainen)、卡里·霍米(Kari Hormi)和蒂莫·阿尼普罗(Timo Aarnipuro)组成的三人小组成功完成了这项任务,并赢得了“最令人惊讶的入门”价格。
DOOM running on MCU and rendered to the screen via Qt for MCUs
DOOM在MCU上运行,并通过Qt for MCU呈现到屏幕上
- Add image of an old PC as the background 添加旧电脑的图像作为背景
- Run DOOM 1 Shareware on a separate FreeRTOS task 在单独的FreeRTOS任务上运行DOOM 1共享软件
- Provide touch input information from QUL to DOOM to add controls 提供从QUL到DOOM的触摸输入信息,以添加控件
- Render Doom on the "display" of the old PC 在旧电脑的“显示屏”上呈现Doom
The demo utilizes Painted item to draw Doom to the application. The same method can be used in real world scenarios to draw custom content like video feed from a vehicle rear-view camera.
演示使用绘制的项目来绘制应用程序的末日。在真实场景中,也可以使用相同的方法从车辆后视摄像头绘制自定义内容,如视频提要。
Board features
板子参数
- MIMXRT1052DVL6B MCU featuring 600MHz ARM® Cortex®-M7 core, 512KB RAM
- 4.3” 480x272 RGB Touch Display
- 256-Mbit SDRAM memory
- 512-Mbit Hyper Flash
- 64-Mbit QSPI Flash
- Socket for SD card
But wait... there's more!
但是等等。。。还有更多!
We loved seeing Doom run on Qt for MCUs so much that we started digging into the Qt community to see if there were other cool Doom projects around. We were not disappointed. We wanted to share some of our favorite Doom projects made by our talented community. All credit goes to the amazing developers that created them.
我们非常喜欢看到Doom在Qt for MCUs上运行,于是我们开始深入Qt社区,看看是否还有其他很酷的Doom项目。我们没有失望。我们想分享一些我们最喜欢的Doom项目,这些项目是由我们有才华的社区制作的。所有的功劳都归于创造它们的优秀开发者。
QtDoom: Portable Doom Wrapper by Mertcan Özdemir
QtDoom:由MertcanÖzdemir移植的Doom包装器
Qt SDL2 plugin by Jesus Fernandez
Qt SDL2插件由Jesus Fernandez设计
OpenGL/Qt TEXTURED Doom map renderer by jewalky
jewalky的OpenGL/Qt纹理Doom地图渲染器
Let us know if you have a cool Doom project running on Qt, we'd love to add it to the list!
让我们知道,如果你有一个酷酷的Doom项目在Qt上运行,我们很乐意将其添加到列表中!