“啊哈!小霸王!其樂(lè)無(wú)窮啊!”,還記得小時(shí)候玩的小霸王游戲機(jī)嗎?這次小安派的用戶來(lái)帶大家回憶起童年啦,來(lái)看看安信可社區(qū)大佬如何用小安派玩小霸王游戲。
01硬件說(shuō)明
硬件上使用到了AiPi-Eye-S1開(kāi)發(fā)板以及3.5寸 240*320像素的電容觸摸屏,使用時(shí)可以使用USB Type-C線通過(guò)開(kāi)發(fā)板上的Type-C接口為設(shè)備進(jìn)行供電。也可以使用鋰電池給板子供電,實(shí)測(cè)殼體的液晶屏和PCB之間的間距足夠放下一個(gè)3.7v的鋰電池。程序下載使用USB轉(zhuǎn)TTL工具。
02軟件部分
2.1開(kāi)發(fā)環(huán)境
個(gè)人是在WSL ubuntu18.04環(huán)境下使用VSCode進(jìn)行項(xiàng)目的開(kāi)發(fā),具體的環(huán)境搭建過(guò)程可參考帖子:【輕松上手】1.小安派開(kāi)箱及開(kāi)發(fā)環(huán)境搭建
2.2ui設(shè)計(jì)
本項(xiàng)目直接使用了LCD的bsp驅(qū)動(dòng)來(lái)進(jìn)行UI的繪制。UI界面分為兩層,底層是game的界面,上浮的一層顯示的是game手柄的8個(gè)觸摸按鍵。為了方便的確定觸摸按鍵的位置,特地在solidworks中繪制了一個(gè)草圖,用草圖的尺寸來(lái)方便確定每個(gè)按鍵的屏幕像素坐標(biāo)。
額外需要說(shuō)明的是,顯示使用的橫向的坐標(biāo)系,但是觸摸驅(qū)動(dòng)使用的是縱向的坐標(biāo)系。它們的坐標(biāo)原點(diǎn)是不一樣的,需要進(jìn)行坐標(biāo)的變換。
程序設(shè)計(jì)思路
本項(xiàng)目程序直接使用官方SDK的example/hello案例上進(jìn)行添加代碼的,其整體的實(shí)現(xiàn)思路如下:
系統(tǒng)初始化
基于FreeRTOS創(chuàng)建兩個(gè)任務(wù)
(1) button_task任務(wù)負(fù)責(zé)對(duì)觸摸屏進(jìn)行實(shí)時(shí)的讀取。
(2) main_task中對(duì)輸入的game rom進(jìn)行讀取,然后解析并模擬6502的執(zhí)行。整個(gè)game的核心就在這個(gè)任務(wù)中。在完成每一行的解碼后,在這個(gè)task中會(huì)及時(shí)的去渲染屏幕中的對(duì)應(yīng)行。
03使用說(shuō)明
3.1 固件燒錄
以下操作需要再環(huán)境配置完成后進(jìn)行。
程序編譯
在項(xiàng)目根目錄下打開(kāi)終端,輸入make
如無(wú)錯(cuò)誤,最終會(huì)顯示以下內(nèi)容
固件燒錄
在終端中輸入make flash COMX=COMxx 其中xx為實(shí)際連接的下載器的COM口號(hào),如下圖中COM口為39。
燒錄正常輸出:
3.2 Rom替換
理論上這個(gè)項(xiàng)目的模擬器是支持所有不帶多合一的rom的。而且由于模組的rom空間比較大,其實(shí)可以放下很多的game數(shù)據(jù)。當(dāng)前預(yù)放了三個(gè)gamerom, 需要運(yùn)行哪一個(gè)就去掉哪一個(gè)的注釋,然后編譯燒錄。rom替換的具體方法可以參考:【輕松上手】小安派nes game rom替換
04更多資料
因?yàn)槟M器是我在多年前用C寫的,方便調(diào)試該模擬器可以運(yùn)行在Windows平臺(tái)上,使用SDL顯示畫(huà)面。當(dāng)然因?yàn)楫?dāng)時(shí)寫模擬器的時(shí)候也沒(méi)有考慮音頻解碼,所以game是沒(méi)有聲音的。后續(xù)有興趣我們可以一起來(lái)講更優(yōu)秀的nofrendo模擬器移植過(guò)來(lái),它是支持音頻的。
當(dāng)前nofrendo的移植已經(jīng)編譯通過(guò)正在調(diào)試。
當(dāng)前觸摸屏太小了,所以操作起來(lái)不是很方便。所以也在考慮使用uniapp在手機(jī)端做一個(gè)基于wifi連接的手柄。
審核編輯:湯梓紅
-
usb
+關(guān)注
關(guān)注
60文章
7978瀏覽量
265548 -
觸摸屏
+關(guān)注
關(guān)注
42文章
2315瀏覽量
116602 -
開(kāi)發(fā)環(huán)境
+關(guān)注
關(guān)注
1文章
229瀏覽量
16673 -
type-c
+關(guān)注
關(guān)注
549文章
1832瀏覽量
269036 -
安信可
+關(guān)注
關(guān)注
0文章
159瀏覽量
4027
原文標(biāo)題:用小安派玩小霸王游戲,其樂(lè)無(wú)窮~
文章出處:【微信號(hào):安信可科技,微信公眾號(hào):安信可科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論