Emanuel,
I apologize as I seem to be misunderstood. I was referring only to ham
lib which I believe is a very solid implementation of the functionality
needed to create games and demos. I applaud HAM lib as it has introduced
many people to consol coding that would otherwise shy away from the
technical details. It has been great for the scene and one of the main
reasons that developing on the GBA is so popular. I believe I stated that
if your goal was to create gba games and demos without worry of the details
then embrace HAM. This was not ment to be sarcastic and if this is not what
you feel the purpose of the HAM lib is then I apologize again.
Being that the person in question was concerned that the upcoming DS
would render his knowledge obsolete, it seems appropriate not to use HAM as
it WILL be obsolete (until it is extended to support the DS which I expect
will happen over time); the knowledge gained from writing his own
functionality would be much more useful in this transition. My personal
thoughts are, that the GBA hardware is easier to learn than the HAM api but
that is because I am more accustomed to twiddling bits than interfacing
libraries. I understand that this is not the case for many users. HAM is a
personal choice that suits many people.
There are many reasons that HAM is often looked down upon by the people
who have chosen not to use it. It seems that people who use ham have a much
harder time understanding problems that arise in their code because they
don't really grasp what is going on behind the scenes. Although this is
likely not the case with the majority of HAM users I am sure it is the case
with the majority of the ones asking me questions. Another less tangible
reason is that the majority of the amatures are coding simply for enjoyment
and HAM feels a bit like cheating. Personally I am not sure what attraction
there is to amatures writing games for GBA in HAM as there are many such
libraries for the PC which are much more powerful. There is also the fear
of many that HAM is bloated, as any general purpose library must be in order
to remain generic. I do not know the truth behind this nor do I claim to be
able to write faster code but when the functionality is simple to implement
many coders prefer to implement it themselves. The final reason that comes
to mind is that if you use a general purpose Library you are locked in to
the way it does things. Even if its methods are the best around programmers
will still feel confined and frustrated. To me, a library such as libgba
(off of www.devkit.tk) is a much more satisfying approach as it only
provides that functionality which is tedious to implement without removing
the details or trying to force any structure to my code.
As to the tool chain I would not recommend ham labs cygwin based tool
chain over the much more capable and often more up to date devkitarm. It is
single click install that is about 5 times smaller than the HAM lib
installer as well as significantly faster in compilation. I am not sure
what benefit there would be to using the HAM tool chain but would be happy
to hear about it. I honestly do appreciate HAM even though it is mainly do
to the fact that it draws so many new people to the scene and this is
something I always like to see. HAM definately has its advantages and just
because it is not to my personal taste I honestly did not mean to talk it
down. It was meant as a friendly jab at most.
-jason
Jason Rogers
aka Dovoto
www.ThePernProject.com
----- Original Message -----
From: "Emanuel Schleussinger (Ngine.de)" <
tubooboo@...>
To: <
gbadev@yahoogroups.com>
Sent: Friday, November 05, 2004 1:53 AM
Subject: RE: [gbadev] Intro and newbie question
>
>
> Hi Jason,
>
> While i can understand the fact that you suggest people that want to
> properly learn programming embedded platforms to avoid the HAMlib function
> library, I just don't really get why you and many others discourage people
> from using HAM altogether for GBA development. Essentially, if you do not
> link the HAMlib function code, the system is just as capable as is any
> other
> C/C++ development kit based on GCC -- it just saves you the headaches of
> installing the tool chain and scripts.
>
> I'd be interested to hear why many gbadev@ members still think that HAM is
> not suitable for them and rather build their own toolchains -- many
> professional studios use HAM (without the library) for lowlevel
> development
> without problems, too.
>
> Emanuel
> HAM author
>
>
>> -----Original Message-----
>> From: jason rogers [mailto:
dovoto@...]
>> Sent: Freitag, 5. November 2004 01:04
>> To:
gbadev@yahoogroups.com
>> Subject: Re: [gbadev] Intro and newbie question
>>
>>
>>
>> Bill,
>> GBA is probably the best non-pc platform to begin
>> programming on. It is powerful enough to do some incredible
>> things, yet simple enough to be mastered with out having a
>> huge background in programming. Couple this with one of the
>> more active online programming communities and you have an
>> unparalleled system to learn on. As for the DS, if homebrew
>> development is possible on it in the near future you should
>> take comfort in the fact that it has a 2D system that is
>> nearly identical to the GBA (with some subtle and a few not
>> so subtle differences) so your efforts will transfer almost
>> seamlessly to the new platform (and would be required even if
>> you were to start with the DS). I suspect that if we find
>> means to run code on the DS, much of the GBA community will
>> migrate towards this new system, but as you already made a
>> hardware commitment to the GBA I would stick with it for a while.
>>
>> As for landmines:
>> 1) If you are looking to learn how to write software on a
>> game consol avoid HAM.
>> 2) If you are looking to produce a GBA game/demo without the
>> bother of details, embrace HAM.
>> 3) There are many tutorials and resources for GBA development
>> that should get you off to a good start.
>> -the docs section on www.gbadev.org should point you to
>> most of them, as will the link section on www.devrs.com
>> 4) If you decide HAM is not for you (a decision I applaud)
>> start with devkitarm from www.devkit.tk as apposed to the
>> outdated devkitadv that many still use.
>> 5) Start simple, read other peoples source code, and ask lots
>> of questions (#gbadev on irc at effnet is a great place).
>> -jason
>>
>> Jason Rogers
>> aka Dovoto
>> www.ThePernProject.com