寫個自己的GBA庫
上篇文章(待寫)介紹了GBA的硬體,例如暫存器、記憶體、中斷等,其中很多暫存器可以說是GBA的遙控器,要使用GBA的硬體功能,就是要和這些暫存器打交道,
怎么打交道呢?這些暫存器都有地址,在C語言中可以轉成指標來讀寫,為了方便使用,我們需要先寫一個GBA庫,庫里應該有:
- 定義GBA的各種功能暫存器的地址,這樣我們就可以通過設定暫存器來控制GBA,
- 各段記憶體地址的定義,這樣我們才能將影像,音頻等資料放到正確的地方
- 內置系統函式的定義,方便呼叫GBA的BIOS里自帶的系統函式
- 常用數學運算庫,圖形音頻處理庫,壓縮解壓庫等等功能,
其實這些庫在任天堂公司開發GBA之初就提供給開發者了,但因為商業性質沒有公開,有民間GBA開發愛好者也撰寫了庫,在你的devkitPro安裝后,目錄里的/libgba和/libtonc就分別是devkitPro和tonc教材作者寫的GBA庫,
不過我就喜歡自己造輪子,所以就從寫GBA庫開始學GBA吧,大概現在還在玩GBA的人也都是我這種愛搞底層、愛搗鼓的家伙,
事實上因為GBA的特性已經在手冊上寫得清清楚楚,所以自己寫個庫確實不難,這篇文章是我的GBA庫——lib_hl的索引,
數學庫部分包括這些內容:
- 基礎型別定義
- 定點數定義和運算
- 基礎數學函式庫
- 矢量,矩陣運算庫
硬體部分包含這些內容:
- 影像顯示相關暫存器和函式
- 影像硬體相關
- 計數器計時器相關
- 記憶體管理相關
每個部分都能寫好長的流水賬,我只能挑關鍵的寫點,其他請移步看源代碼,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/38546.html
標籤:C
