GBA开发文档.doc

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GBA开发文档

一. GBA开发包--DevKitAdv 简介 DevKitAdv 主要包括两部分,一是GCC++编译器,二是 GBA库. GCC++编译器功能和我们常用的VC差不多,只不过少了个编辑源代码的文本编辑器(至少我没发现,我用的是EditPlus,UltraEdit也可以),还有就是--不支持类(class),真是让人头痛,只能用struct来替代.它的作用是把我们写的代码编译成二进制的可执行文件,当然这个可执行文件是相对GBA和GBA模拟器而言的.就象Windows里的EXE文件无法在Mac机上使用是一样的道理; GBA库提供了图像,控制及声音一系列的函数,和GCC++配合使用. 下载地址: HYPERLINK http://occultforces.mine.nu/%7Edarkfader/gba/files/devkitadv.zip http://occultforces.mine.nu/~darkfader/gba/files/devkitadv.zip ? 二. DevKitAdv 的安装 没啥好说的,解压后就可以直接使用,编译时设置DevKitAdv的路径就可以了,建议做一个批处理文件,比如 go.bat set PATH=d:\devkitadv\bin;%PATH% cmd (win98是command) 三. 最简单的 GBA 程序 (t1) // main.c // 一些基本数据类型 typedef unsigned char u8; typedef unsigned short u16; typedef unsigned long u32; #define REG_DISPCNT *(u16*)0 // 显示寄存器地址 #define VRAM 0 // 图像缓冲区地址 #define M5_VRAM 0x0600A000 // M5缓冲区地址 #define BACKBUFFER 0x010 // 双缓冲/背缓冲地址 #define PALETTE 0x5000000 // 调色板地址 #define MODE_3 0x03 // 240*160 15bits/单缓冲区 #define MODE_4 0x04 // 240*160 8bits/双缓冲区 #define MODE_5 0x05 // 160*128 15bits/双缓冲区 #define BG2_ENABLE 0x0400 // BG_2 #define SetMode(Mode) REG_DISPCNT=(Mode) // 设置显示模式的宏定义 // 主程序 int main() { //设置屏幕模式,这里使用MODE_4 SetMode (MODE_4 | BG2_ENABLE); } 1.MODE_5和MODE_3都是16bits,但MODE_3只有单缓冲,制作动画效果肯定没双缓冲好,因此排除MODE_3; 2.MODE_4是8bits,理论上256色对于掌机够用了,虽然16bits真彩的诱惑没有人想抗拒,可MODE_5只有160*128咧,在实际应用中建议还是使用MODE_4. 很简单吧--的确是的,现在要用GCC编译它: gcc -lm -o main.elf main.c objcopy -v -O binary main.elf main.bin 你会看目录下多了个main.bin,这个就是能在GBA模拟器上执行的二进制文件! 教程中t1-t7目录为源程序目录,里面有个make.bat,修改代码后直接执行它就可以编译,但要注意我的devkitadv是装在D:,你要是装在别的盘就得改一下make.bat的path参数. 四. 在MODE_4背景层画图的 GBA 程序 (t2) 在GBA的MODE_4里画一幅图要经过3个步骤: 1. 把原始256色图像文件转换成 *.h / *.c 的数据文件,我们用的是 BMP2GBA ,这里以image.bmp为例,转换后我们就得到了一个image.h文件; 2. 在程序开头#include image.h,这样就能在程序中使用image.h定义的调色板和图像数据; 3. 在程序中把image.h定义的调色板和图像数据写入MODE_4背景层的调色板和图像缓冲区. 另外,GBA还有专为精灵设置的物体层,它的用法和背景层一样,只是功能有点不一样,地址是0有关用这里就不详细说了,大家可以把精灵数据直接输出到物体缓冲区就可以了. 下面是源程序: ... ... // 包含图像调色板和数据的头文件

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档