在GBA上写光线追踪:自制GBA库 lib_hl 汇总
【推荐阅读】微服务还能火多久?>>> 写个自己的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的索引。 数学库 部分包括这些内容: 基础类型定义 定点数定义和运算 基础数学函数库 矢量,矩阵运算库 硬件