引言
《毀滅戰(zhàn)士4》(《DOOM》)是id Software制作、Bethesda公司發(fā)行的一款第一人稱射擊類游戲,doom是一款偽3D游戲,對于MCU的性能和資源要求也是挺高,需要的RAM根據(jù)分辨率也得幾M+。剛好HPM6750很滿足需求,于是樓主就想著移植體驗下。
目前已經(jīng)移植了本體游戲,移植版本為V1.9,支持doom1,doom2,doom。加入觸摸交互,可玩性很大。音頻方面尚未適配,后續(xù)閑時可進(jìn)行移植通過DAO播放。
本文針對doom的移植進(jìn)行下相關(guān)說明。
由于SDK方面已經(jīng)做好了fafts適配,包括了SD卡和USB host U盤,這就給doom游戲文件卡外加載提供很大的方便性。另外RGB屏幕和觸摸gt911上,SDK也做好了相關(guān)移植工作,這就方便樓主進(jìn)行移植,減少了移植的開發(fā)難度。
總體而言,HPM6750作為游戲機(jī)相關(guān)開發(fā)是沒什么壓力的,刷屏幀率也可以在150fps+,加上觸摸交互也沒卡頓感受。
文件系統(tǒng)注冊
樓主使用的是SD卡,移植下官方的SDK下的fatfs例子,針對SD卡的例子,挪到本工程中,添加如下文件,并進(jìn)行掛載以及設(shè)置根目錄,這是比較重要的一點,否則doom無法進(jìn)行加載文件導(dǎo)致失敗。需要前提保證文件系統(tǒng)移植成功。
接下來適配下doom的打開,關(guān)系,讀寫文件等操作到fatfs接口,在doom的源碼文件m_misc.c中。如圖所示:
RGB屏幕移植對接適配
SDK中有對lcdc接口的例子,方便進(jìn)行移植過來成接口,這里只需要一層圖像刷新,做一下接口即可。一個初始化以及刷新接口。
然后需要在建立個文件引出顯存地址,LCD的分辨率的寬度高度接口等。
觸摸交互對接適配
SDK已經(jīng)包含了gt911的驅(qū)動,只需要對接觸摸相關(guān)接口,然后分配下屏幕的各個觸摸區(qū)域分配。這里使用的分辨率為800*480,觸摸交互區(qū)域只使用600*480。觸摸區(qū)域分配如下:
有個table表可以根據(jù)自己情況進(jìn)行調(diào)整區(qū)域。如下:
內(nèi)存分配
由于doom需要相對比較大的內(nèi)存,不但需要自身的malloc分配的內(nèi)存,也需要給zoom分配相關(guān)的內(nèi)存。以此用起來大概也得需要10M+的內(nèi)存,剛好HPM6750evkmini板載了16M的SDRAM,也就極大的滿足了內(nèi)存需要。
以此,doom移植工作整體完成,燒錄下看下現(xiàn)象。不出意外的話大致都可以上手了。
可以進(jìn)行動態(tài)加載游戲文件,不過目前樓主使用定死方式,改動文件修改以下即可:
以下為內(nèi)容展示
本篇內(nèi)容轉(zhuǎn)自EEWORLD@RSCN源代碼分享:https://gitee.com/RCSN/hpm6750evkmini_demo/tree/doom_for_hpm6750/
-
mcu
+關(guān)注
關(guān)注
146文章
17751瀏覽量
358723
發(fā)布評論請先 登錄
【強(qiáng)勢上新】HPM5E00:EtherCAT運動控制MCU,先楫半導(dǎo)體再拓工業(yè)總線產(chǎn)品新版圖

先楫半導(dǎo)體MCU具有哪些優(yōu)勢?
先楫半導(dǎo)體發(fā)布高性能HPM6E8Y系列MCU
CES 2025:先楫半導(dǎo)體發(fā)布高性能機(jī)器人MCU
怎么從零基礎(chǔ)入門先楫
先楫HPM6E00技術(shù)日 | 百人研討共話工業(yè)應(yīng)用創(chuàng)新及發(fā)展趨勢
戰(zhàn)略合作丨華秋商城攜手先楫半導(dǎo)體,共創(chuàng)新篇

有動靜!先楫出了顆適用機(jī)器人的MCU!

有獎提問!先楫半導(dǎo)體HPM6E00系列新品發(fā)布會!!
先楫半導(dǎo)體亮相嵌入式盛會,強(qiáng)力賦能伺服控制與機(jī)器人領(lǐng)域

工業(yè)芯標(biāo)桿,邀您來圍觀——先楫HPM6E00新品上市在即

先楫半導(dǎo)體與您相約嵌入式盛會embedded world China Conference2024

技術(shù)賦能,攜手共創(chuàng)未來:先楫半導(dǎo)體成功舉辦2024 DFAE培訓(xùn)活動

評論