gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Beginners > Recommended Development Kit/Environment?

#16556 - LordAuric - Thu Feb 19, 2004 4:32 pm

Hello all. I'm new to GBA Development and have looked at several options for developing a GBA game. VisualHAM caught my eye so far, but I don't want to get deep into just one kit without some input from other developers.

Just to give some background, my intent it to create a futuristic RPG with a tile-based map system.

Any input is welcome.

#16557 - poslundc - Thu Feb 19, 2004 5:11 pm

Visual HAM consists of both the development environment and the HAM SDK. As far as development environments go, there's nothing wrong with Visual HAM; it's only real contender is DevKit Advance and either one is just fine - it should also be easy enough to switch your code from using one to the other if you want to. I think the majority of people in this forum use DKA, however, which doesn't include its own editor and I suppose is less disposed to using a predetermined set of tools (which many of us like). The upshot, though, is that it doesn't really matter. :P

Using the HAM SDK is another matter; there are a number of similar SDKs around and my general advice is that while they will make your initial foray into GBA development much easier (since they basically provide "wrapper" routines for most of the basic things you would want to do), they really only delay the inevitable if you want to develop something more complicated (like an RPG), and you will probably find yourself eventually shedding the SDK altogether in favour of coding straight C/C++/assembly, and quite possibly trying to unlearn a lot of bad habits you may have picked up along the way. So my advice is to skip the SDK and invest in learning how to code for the GBA directly with any of the tutorials linked to on this site and in the FAQ.

Good luck,

Dan.

#16558 - yaustar - Thu Feb 19, 2004 5:17 pm

Here are some links to get you on your way
http://www.jharbour.com - ebook on gba development
http://www.gbajunkie.co.uk - beginner tutorials
http://www.thepernproject.com - the original and the best
http://www.cs.rit.edu/~tjh8300/CowBite/CowBiteSpec.htm - some hardware specs and registers
http://www.work.de/nocash/gbatek.htm - more hardware specs and registers
_________________
[Blog] [Portfolio]

#16562 - poslundc - Thu Feb 19, 2004 6:07 pm

Tepples, I think Yaustar's post ought to be copied directly into the beginner's FAQ. :)

Dan.

#16568 - LordAuric - Thu Feb 19, 2004 8:01 pm

poslundc:
Relying on a specify SDK was a concern of mine, and I think you are correct in that assumption. I find myself running into too many walls when restricting myself in that manner.

yaustar:
Thanks for the links, I'll dig in.

#16584 - Sledge - Thu Feb 19, 2004 11:53 pm

LordAuric wrote:

Relying on a specify SDK was a concern of mine...I find myself running into too many walls when restricting myself in that manner.


Still, if you've had prior experience of using an SDK to program but are new to GBA coding it might not be such a bad idea to adopt one for a while. Without knowing whether you've handled a console before, or if you're even comfy with C/C++ or not, it's hard to offer decent advice.

To be honest, the most straightforward way to get a tile-based RPG (that's a big project if you're just starting out... have you done one before?) up and running would be to use Dragon BASIC*. You could always port it to a lower level language once the infrastructure was working... and even then pretty much everything you might want to do would fall well within the remit of, say, HAM. It's not like you're planning on implementing a speed-dependent raycaster here -- identify what you need from a development environment and then go for the one that fulfills those needs while giving you the most help if you're new.

Good luck anyway!


* http://www.jm-basic.com/

#16585 - LordAuric - Fri Feb 20, 2004 12:03 am

I've been a developer for about 25 years. My current job has me working with VB6 and VB.NET, but I'm no stranger to C/C++. I've built a few classic Ultima clones in the past on the PC just to see if I could.

I am, however, a complete newb when it comes to GBA dev. Hence my request for advice here. I'll give DragonBasic a look as well.

I'm more of the type to test the waters with a few methods before I jump in to one in particular.

#16587 - Miked0801 - Fri Feb 20, 2004 12:20 am

In your case then, I definately go for DevKitAdv. You don't need the hand holding of the other libraries. You'll be up and coding in hours :)

#16589 - Sledge - Fri Feb 20, 2004 1:25 am

Dragon BASIC is good for getting yourself familiar with Mode 0, palette assignments and sprite manipulation -- it's expedient because adding assets is relatively straightforward in comparison to C so tinkering with the hardware is a painless affair. If you're familiar with C/C++ however, then you might find it just as easy (ie the process of converting images etc to .c files has become second nature) to use an SDK.

Poslundc is right in saying that higher level interaction can make for problems too, though. For example characterblock 0 and screenblock 0 both reference the beginning of a singular block of memory -- you'd never make the mistake of using the same area of that memory for two different purposes if you were coding in pure C or ASM because you'd immediately notice that the numbers you were tapping in are equal. However this fact is obfuscated in Dragon BASIC (and quite possibly in HAM too, but I've stuck with Mode 4 in HAM so far thus can't say) by the fact that they have different names and, hence, it's not unheard of for beginners to start out with a corrupted display. And yes, I mean me.

Regardless though, the GBA is just a fun machine to mess around with and there's plenty of help however you go about mastering the thing. It would just be a shame to let the "Not Built Here!" syndrome spoil your enjoyment, so be mindful of that.

#16600 - bahnhof - Fri Feb 20, 2004 12:48 pm

I use the Visual Studio IDE for GBA development.

I use this appwizard (so I can simply click 'new gba project') which automaticly links devkitadv. I compile a gba project with F5 and SHIFT+2 (@) to make Visualboy run the built rom. Works like a charm :)
GBA project Appwizard r2.6

can be found here:
http://www.gbadev.org/tools.php?section=misc

#16602 - NoMis - Fri Feb 20, 2004 2:17 pm

i suggest using Eclipse.

http://www.eclipse.org

its a free and very powerful ide and is available for linux and mac too. You can even use VisualBoy and gdb to make use of the IDE debugging interface (very nice :D).

i postet something on the debugin stuff earlier in this forum:

http://forum.gbadev.org/viewtopic.php?t=2589&highlight=eclipse

NoMis

#16613 - dagamer34 - Sat Feb 21, 2004 1:07 am

I use Visual HAM, which is designed for the GBA(it can be changed to use other dev kits also).

It's quite powerful. Sometimes I wonder how I got by using Visual C++ for so long...
_________________
Little kids and Playstation 2's don't mix. :(

#16721 - rooter - Mon Feb 23, 2004 6:20 pm

dagamer34 wrote:
I use Visual HAM, which is designed for the GBA(it can be changed to use other dev kits also).

It's quite powerful. Sometimes I wonder how I got by using Visual C++ for so long...
Well, to be fair, Visual C++ .NET's IDE is far better than Visual HAMs.

#16760 - NoMis - Tue Feb 24, 2004 4:44 pm

and in my opinion eclipse is even better then visual studio .net

NoMis

#16793 - dagamer34 - Wed Feb 25, 2004 3:59 am

Sorry, I was talking about 6.0. I haven't tried .NET.
_________________
Little kids and Playstation 2's don't mix. :(

#17693 - xadeu - Fri Mar 12, 2004 7:05 pm

So are you guys saying that it is not possible to create a decent sized rpg from VisualHAM?

BTW I am a newbie to GBA and do you guys think that it would be a good
for me to start off with VisualHAM and then work my way to something a little lower level like GbaDevKit?

Thanks,
xadeu

#17695 - Miked0801 - Fri Mar 12, 2004 7:09 pm

No offense, but creating any sized RPG as a first GBA projects is a bad idea. RPGs are the most complex style of game you could attempt to create. Start a bit lower with a Pong game or such and you'll be much happier with the results.

#17698 - xadeu - Fri Mar 12, 2004 7:23 pm

I understand what you mean...

I wasn't trying to imply that I was going to build an rpg for my first project....hehe...i agree that would be a very bad idea.

my questions were...
Quote:
Are you guys saying that it is not possible to create a decent sized rpg from VisualHAM?


and

Quote:
do you guys think that it would be a good idea
for me to start off with VisualHAM and then work my way to something a little lower level like GbaDevKit?

sorry if I wasn't clear on the intent of my post the first time around.

Thanks,
xadeu

#17712 - dagamer34 - Sat Mar 13, 2004 1:10 am

VisualHAM is an IDE. HAMlib is a development kit. There is a big difference between the two.

I just use VisualHAM for it's IDE and compile chain. It makes things simple.

I would make a simple game like Pong or Tic-Tac-Toe. Chances are you won't finish a large game and since you're a newbie, you will still be learning the hardware. It is a nice piece of hardware.

Back to my coding now...
_________________
Little kids and Playstation 2's don't mix. :(

#17718 - xadeu - Sat Mar 13, 2004 2:56 am

So on average how many people and how long does it take to finish a "large" game....

#17719 - xadeu - Sat Mar 13, 2004 3:37 am

I expect the game idea i have in mind to take about 2 years by myself...
I definitely expect to have to work my way up to the point where I am good enough to code it. By working on small tiny programs/games/demos...

#17723 - Lupin - Sat Mar 13, 2004 9:02 am

If you can effort it buy ARM ADS :)

Well, dka is great and it got everything you will ever need. But yet there is no *real* good debugger out for gba debugging :(
At least i don't know any good debugger that comes for free (i know gdb, but i wasn't able to get it work)