引言
《毀滅戰士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文章
17324瀏覽量
352657
發布評論請先 登錄
相關推薦
先楫半導體發布高性能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)
評論