GBA开发入门:做一个名叫Hello World的游戏

您所在的位置:网站首页 怎么做游戏编程教程 GBA开发入门:做一个名叫Hello World的游戏

GBA开发入门:做一个名叫Hello World的游戏

2024-07-11 08:32| 来源: 网络整理| 查看: 265

文章目录 1.关于GBA的一些背景知识 2.GBA程序开发准备 2.1 GBA编译器 - Arm Gcc || ArmSDT 2.1.1 GBA开发包 - DevKitAdv 2.2 GBA模拟器 - VisualBoyAdvance 2.3 图形转换工具 - kaleid_1-2-3 2.4 声音转换工具 - wav2gbac.exe 3.第一个GBA程序:Hello World 3.1 helloword.h 3.2 main.c 3.3 make.bat 3.4 Makefile 3.5 编译文件 3.6 生成main.gba 貌似这年头关于GBA开发的教程都快绝迹了。。。 本文是基于 https://www.cnblogs.com/BG5SBK/archive/2006/07/19/454224.html 的内容,对细节地方进行了再次整理 (其实上面的链接也是转载,但链接里面的真实原文链接早已失效,只剩下了转载的GBA教程。。。) 鉴于原文中提及的许多链接均已失效,我就挑些重点说一下

PS:博主的操作系统是win10 64位的,但是有一个VMware~ 于是在虚拟机里面装了一个Ubuntu和一个32位的Win7~ Ubuntu比较容易安装,关于Windows的安装方法详见:https://blog.csdn.net/u012230668/article/details/81701893 所以在下文的测试中我会在三个环境中跳来跳去~请不要介意。。。但所有实质性的内容都可以在win10系统内完成,请放心食用~ 另附此次项目的源代码:https://github.com/The-Third-Float/GBA/tree/master/HelloWorld 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播放器(它的声音处理方面能力也不错哦),做成随身电影播放齐,做成电子词典等,只要你有能力设计它的软件

2.GBA程序开发准备

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

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

2.1 GBA编译器 - Arm Gcc || ArmSDT

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

这里的gcc不是简单的linux下的gcc,而是Arm Gcc。简单地说就是把我们平时常见的gcc改造成生成ARM CPU代码的gcc;ArmSDT是Arm公司提供的专门为ARM CPU的开发程序的C语言编译器,它的编译速度和质量上都比免费的gcc要高,但对C语言的支持不及gcc好(gcc毕竟已经成了C语言编译器的标准),最关键的问题它不是免费的,但是它的免费测试版还是可以用的

Arm Gcc:这里提供三种方法来配置编译环境

我们可以在linux下自己去配置Arm Gcc,相关教程:https://blog.csdn.net/xiaohua0877/article/details/78615897 我们也可以从cygwin(在windows下模拟UNIX的工具)中得到在windows下运行的gcc.你可以根据这个cygwin下的gcc,自己去配置Arm Gcc 也可以直接去下载个配置好了的Arm Gcc。比如DevKitAdv,DevKitAdv大概10多MB。有了它,你用不着去找什么cygwin(200-300MB)和配置什么Arm Gcc了,DevKitAdv已经帮你做好了一切,你只需安装它就OK了。DevkitAdv的下载地址: https://sourceforge.net/projects/devkitadv/files/

ArmSDT:你可以到Arm公司的网站去下载ARMSDT2.51. http://www.arm.com

2.1.1 GBA开发包 - DevKitAdv

DevKitAdv 主要包括两部分:一是GCC++编译器,二是 GBA库。

GCC++编译器功能和我们常用的VC差不多,只不过少了个编辑源代码的文本编辑器,还有就是不支持类(class),只能用struct来替代。它的作用是把我们写的代码编译成二进制的可执行文件,当然这个可执行文件是相对GBA和GBA模拟器而言的。就象Windows里的EXE文件无法在Mac机上使用是一样的道理;

GBA库提供了图像,控制及声音一系列的函数,和GCC++配合使用。

下载并安装DevKitAdv开发包到C:\devkitadv-r5-beta-3目录(注:若目录位置不是这个的话还需要设置环境变量) 需要注意的是在 https://sourceforge.net/projects/devkitadv/files/Windows/Release 5 (Beta 3)/ 地址中有许多文件,我一开始也不知道下载那个,实际上是每个版块都有各自的功能,建议把全部的文件都下载下来,然后依次解压到C盘中: 在这里插入图片描述 在这里插入图片描述 解压完毕后即可测试程序是否可以正常执行,进入该目录运行DevKit-Advance-R5-Beta-3.lnk文件,此时会出现蓝色的console控制台窗口,在窗口中输入命令:

cd testsuite make

在这里插入图片描述 之后就开始编译testsuite项目并生成agbmain.bin、agbmain.elf等文件,此时就可以先使用模拟器VisualBoyAdvance(下文有下载地址)运行其中一个文件,效果如下: 在这里插入图片描述 以上程序按Enter键(即GBA模拟器里的START键)可以重复那个刷代码的动画。至此,编译环境配置成功!

2.2 GBA模拟器 - VisualBoyAdvance

这个模拟器目前还有很多地方都可以下载,推荐两个下载地址:

一个是在我想玩《口袋妖怪》的时候,从豆瓣上面找到的:https://ali128.ctfile.com/fs/pMw162979103 顺便发一下豆瓣原文链接:https://www.douban.com/group/topic/94386022/ 一个是在GBADEV上的资源:


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3