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

評論