引言
《毁灭战士4》(《DOOM》)是id Software制作、Bethesda公司发行的一款第一人称射击类游戏,doom是一款伪3D游戏,对于MCU的性能和资源要求也是挺高,需要的RAM根据分辨率也得几M+。刚好HPM6750很满足需求,于是楼主就想着移植体验下。
目前已经移植了本体游戏,移植版本为V1.9,支持doom1,doom2,doom。加入触摸交互,可玩性很大。音频方面尚未适配,后续闲时可进行移植通过DAO播放。
本文针对doom的移植进行下相关说明。
由于SDK方面已经做好了fafts适配,包括了SD卡和USB host U盘,这就给doom游戏文件卡外加载提供很大的方便性。另外RGB屏幕和触摸gt911上,SDK也做好了相关移植工作,这就方便楼主进行移植,减少了移植的开发难度。
总体而言,HPM6750作为游戏机相关开发是没什么压力的,刷屏帧率也可以在150fps+,加上触摸交互也没卡顿感受。
文件系统注册
楼主使用的是SD卡,移植下官方的SDK下的fatfs例子,针对SD卡的例子,挪到本工程中,添加如下文件,并进行挂载以及设置根目录,这是比较重要的一点,否则doom无法进行加载文件导致失败。需要前提保证文件系统移植成功。
接下来适配下doom的打开,关系,读写文件等操作到fatfs接口,在doom的源码文件m_misc.c中。如图所示:
RGB屏幕移植对接适配
SDK中有对lcdc接口的例子,方便进行移植过来成接口,这里只需要一层图像刷新,做一下接口即可。一个初始化以及刷新接口。
然后需要在建立个文件引出显存地址,LCD的分辨率的宽度高度接口等。
触摸交互对接适配
SDK已经包含了gt911的驱动,只需要对接触摸相关接口,然后分配下屏幕的各个触摸区域分配。这里使用的分辨率为800*480,触摸交互区域只使用600*480。触摸区域分配如下:
有个table表可以根据自己情况进行调整区域。如下:
内存分配
由于doom需要相对比较大的内存,不但需要自身的malloc分配的内存,也需要给zoom分配相关的内存。以此用起来大概也得需要10M+的内存,刚好HPM6750evkmini板载了16M的SDRAM,也就极大的满足了内存需要。
以此,doom移植工作整体完成,烧录下看下现象。不出意外的话大致都可以上手了。
可以进行动态加载游戏文件,不过目前楼主使用定死方式,改动文件修改以下即可:
以下为内容展示
本篇内容转自EEWORLD@RSCN源代码分享:https://gitee.com/RCSN/hpm6750evkmini_demo/tree/doom_for_hpm6750/
-
mcu
+关注
关注
146文章
17370浏览量
353004
发布评论请先 登录
相关推荐
先楫半导体发布高性能HPM6E8Y系列MCU
CES 2025:先楫半导体发布高性能机器人MCU
先楫HPM6E00技术日 | 百人研讨共话工业应用创新及发展趋势
有动静!先楫出了颗适用机器人的MCU!
![有动静!<b class='flag-5'>先</b><b class='flag-5'>楫</b>出了颗适用机器人的<b class='flag-5'>MCU</b>!](https://file.elecfans.com/web2/M00/37/D7/pYYBAGI9l9uAOwALAAAmFmqVYdg094.png)
有奖提问!先楫半导体HPM6E00系列新品发布会!!
先楫半导体亮相嵌入式盛会,强力赋能伺服控制与机器人领域
![<b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体亮相嵌入式盛会,强力赋能伺服控制与机器人领域](https://file.elecfans.com/web2/M00/37/D7/pYYBAGI9l9uAOwALAAAmFmqVYdg094.png)
工业芯标杆,邀您来围观——先楫HPM6E00新品上市在即
![工业芯标杆,邀您来围观——<b class='flag-5'>先</b><b class='flag-5'>楫</b>HPM6E00新品上市在即](https://file.elecfans.com/web2/M00/37/D7/pYYBAGI9l9uAOwALAAAmFmqVYdg094.png)
先楫半导体与您相约嵌入式盛会embedded world China Conference2024
![<b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体与您相约嵌入式盛会embedded world China Conference2024](https://file.elecfans.com/web2/M00/37/D7/pYYBAGI9l9uAOwALAAAmFmqVYdg094.png)
引领极致视界——先楫高性能MCU HPM6800系列产品生态绽放,共链未来
![引领极致视界——<b class='flag-5'>先</b><b class='flag-5'>楫</b>高性能<b class='flag-5'>MCU</b> HPM6800系列产品生态绽放,共链未来](https://file.elecfans.com/web2/M00/37/D7/pYYBAGI9l9uAOwALAAAmFmqVYdg094.png)
先楫高性能MCU HPM6800系列产品生态绽放,共链未来
毫厘中的绚烂绽放,先楫携手立功科技发布HPM6800数字仪表方案
![毫厘中的绚烂绽放,<b class='flag-5'>先</b><b class='flag-5'>楫</b>携手立功科技发布HPM6800数字仪表方案](https://file.elecfans.com/web2/M00/37/D7/pYYBAGI9l9uAOwALAAAmFmqVYdg094.png)
芯原2.5D GPU IP赋能先楫半导体HPM6800系列RISC-V MCU
先楫半导体上海办公室乔迁大吉
![<b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体上海办公室乔迁大吉](https://file.elecfans.com/web2/M00/37/D7/pYYBAGI9l9uAOwALAAAmFmqVYdg094.png)
评论