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

評論