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.

Coding > HAM or Devkit Advance?

#835 - Badut - Sat Jan 11, 2003 12:51 am

Hi I'm brand new to developing for the GBA (although I know a bit about C/C++ programming. )
I was trying to decide between HAM and devkit advance.
Also, which emulator should I use. I was thinking between VisualBoy Advance or Boycott Advance.
For now, I'm more interested in convenience and ease of use to get me started. Anyone got a suggestion for a beginner?

Thanks ;)

#851 - animension - Sat Jan 11, 2003 5:24 am

I have used HAM's compiler toolchain but I don't use the proprietary HAMLib library that comes with it. The tools include ARM GCC compiler, GNU Assembler (AS), Make, an archiving tool (AR), and various other standard GCC binary utils. The makefile system uses a master include file that helps define commonly used libraries and includes to be added to the commandline of the compiler as well as a standard targets include file that has directives that deal with the most common files to be compiled (.c, .cpp, .o, .s, etc). It also has capability to integrate .mod and .xm files into a compile chain to be used with the Krawall sound library. It also has a self-contained installer program that will put everything you need into the right place. Note that HAM works for Win32 and Linux.

I have also tried DevKitAdv, and this is more of a "roll your own dev environment" kit where you start with just the binary executable compiler and utils, as well as standard libraries and header files. In order to compile your projects you need to learn how to create makefiles, tie all of the targets together, and do a bunch of tweaking of the environment (which you should learn how to do for posterity anyway -- Make is an incredibly powerful tool) before you get down to compiling projects bigger than say 2 or 3 source files. The plus side of using this kit is control, plus if you didn't know how to use the tools very well before getting this kit, by the time you successfully compile your first programs, you will. :)

My recommendation is:

If you are new to the GBA scene or don't need an exacting level of control over the development environment right off the start, get HAM. You can always tweak HAM as much as you want, just as with DevKitAdv.

If you are familiar with the GNU compiler toolset and want lots of control and want to be familiar with how it all works right off the start, get DevKitAdv.

Either toolset works great.

About emulators, I would use VisualboyAdvance since it seems to be a more compatable emu from what I have seen. BoycottAdv has all kinds of problems with rendering sound, causing popping and hissing on my machine on the same ROMS that VBA renders perfectly, and BA doesn't have a TCP stub for GDB debugging like VBA does.

Hope this helps.

#908 - Badut - Sun Jan 12, 2003 2:04 am

Thanks for your detailed reply. It helps a lot. ;)

#933 - lgalea - Sun Jan 12, 2003 4:02 pm

In the same vein as this.. what are the relative strengths and weaknesses of HAM vs. SGADE?

Thanks

#1555 - animension - Mon Jan 20, 2003 2:00 am

The biggest weakness I can see with SGADE is that it's incomplete; it's a work in progress. It only supports a fraction of BG modes as an example, and there are other areas where it lacks functionality. The cool thing is, if you install SGADE and HAM, you can work with both of them since both are linked libraries. This may make your code somewhat larger since you are linking to more libraries, but if you need functionality in one that the other doesn't have you *can* make them work together.
_________________
"Beer is proof that God loves us and wants us to be happy."
-- Benjamin Franklin