掌上游戏机设计指南——GBA程序设计初步掌握

文章作者 100test 发表时间 2008:02:01 14:52:30
来源 100Test.Com百考试题网


1.GBA简介

Game Boy Advanced(GBA)是日本任天堂公司于2001年推出的一款32位掌上游戏机。它着重于游戏机的便携式,并且以2D游戏为主(3D游戏依然不错)。GBA有十分高效硬件图像处理加速,GBA基本上是现在全球公认的最佳的掌上游戏机。

GBA的硬件功能十分多。它的CPU是以RISC为基础的32位ARM CPU,主频是16.78MHz。屏幕最大支持240x160的16位真彩色显示。在图形处理方面GBA还另外提供了硬件加速,支持硬件上的图形旋转,缩放,alpha混合,face in/out淡入淡出等。

GBA的软件开发主要是以C语言为主,程序设计简单而且十分自由,也正是这一点吸引了许多爱好者在GBA上做东西(不一定是游戏)。你完全可以把它做成PDA,做成Mp3播放器(它的声音处理方面能力也不错哦),做成随身电影播放齐,做成电子词典等,只要你有能力设计它的软件。

不说多了,我们还是主要来看看如何开发GBA的软件。应该说,你只要会点C语言,就可以进入GBA的开发行列中了。在GBA上写程序比在电脑上写程序更简单。GBA是单总线的设计,也就是说通过简单的读写命令就能完成所有的内部硬件操作。访问GBA内部的寄存器就犹如访问一块内存一样简单,而GBA所有的功能都是通过读写寄存器而完成的。

2.GBA程序开发准备

GBA开发所需要的东西除了一台可以用的电脑外,主要就是一个编译器和一个GBA模拟器。

有了GBA模拟器,你就可以在你的电脑上运行GBA程序了。GBA模拟器应该是到处可以找得到的。我推荐的是VisualBoyAdvance。你可以在www.gbadev.org上下载最新的版本。如果你还想把你的程序弄到GBA机器上玩,那么除了应该有个GBA外,还应该有个ROM烧录器。比如EZ-Flash。通过它可以把电脑上的ROM烧录到GBA卡带上,然后放到GBA上运行。(总共一个GBA加一个128MB的EZ-Flash大概是1000元人民币)

GBA程序开发可以用汇编语言和C/C 语言来写程序,不过汇编语言比较复杂,而且不是我们平常使用8086汇编,而是Arm汇编。任天堂公司可能觉得C 程序运行消耗太大,不推荐C 语言来开发,所以我们都一直将C语言作为首选。

GBA开发所用的C语言编译器主要有两种,一种是免费的gcc,一种是Arm公司提供的ArmSDT。

这里的gcc当然不是简单的linux下的gcc,而是Arm Gcc。简单地说就是把我们平时常见的gcc改造成生成ARM CPU代码的gcc。你可能会问难道我们要使用linux操作系统了吗?其实我们还是在windows下做GBA开发,虽然gcc主要是在linux下的东西,但是我们也可以从cygwin(在windows下模拟UNIX的工具)中得到在windows下运行的gcc。你可以根据这个cygwin下的gcc,自己去配置Arm Gcc,也可以直接去下载个配置好了的Arm Gcc。比如DevKitAdv,你可以到http://www.gbadev.org去下载这个软件。DevKitAdv大概10多MB。有了它,你用不着去找什么cygwin(200-300MB)和配置什么Arm Gcc了,DevKitAdv已经帮你做好了一切,你只需安装它就OK了。

ArmSDT是Arm公司提供的专门为ARM CPU的开发程序的C语言编译器。前面说过,GBA是采用32位的ARM CPU,所以这个ArmSDT是可以用来开发GBA程序的。而且由于ArmSDT是ARM公司官方的开发包,所以它的编译速度和质量上都比免费的gcc要高,但对C语言的支持也不及gcc好(gcc毕竟已经成了C语言编译器的标准),最关键的问题它不是免费的,但是它的免费测试版还是可以用的。你可以到Arm公司的网站去下载ARMSDT2.51. http://www.arm.com。

我以DevkitAdv配置的gcc为主还讲解GBA的程序开发。

安装DevKitAdv很简单,用WinZip或WinRAR软件解压下载文件后,双击DKA_Setup.exe,出现下面的对话框,选择安装目录,然后点击"Install"就进行安装了。整个DevKitAdv共49MB,应该是十分小的。

编译器和模拟器都装好后,下面我们需要一批小工具,主要就是帮我们转换图片,声音等数据。GBA程序编译后通常都是一个rom文件,图像和声音等数据都是包含在主程序里的。这些工具能把我们电脑上的图片或声音文件转换成一个*.h头文件,然后包含在主程序里编译。关于这种转换工具也是有许多,我推荐的图形转换工具是kaleid_1-2-3,在http://www.gbadev.org上下载,它可以转换我们平时用的BMP文件。声音转换工具是wav2gbac.exe,也是在http://www.gbadev.org下载,它可以转换我们平时用的WAV文件。

好了,下载完后这两个小工具后,准备工作就算做完了。

相关文章


建立ejb各个接口和bean的大致框架的文件-j2ee
EJB3.0中查询boolean值的方法
创建部署的xml文件和bat文件-j2ee
EJB中使用Hibernate的方法及常见问题
掌上游戏机设计指南——GBA程序设计初步掌握
Tomcat服务器server.xml的关键参数配置
Java进阶:优化EntityBea 的七条守则
谈自定义Exception进行错误处理
JAVA进阶:如何在JBO erver上发布EJB
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛