Slashdot Mirror


Unofficial GBA SDK Available for Free

BlackGriffen writes "Anyone who is interested in making their own Gameboy Advance ROMs can go get an unofficial GBA SDK . With this and a flash ROM kit from someplace like lan-kwei.com, we could see a flourishing indie game making community. Available for Linux and Mac OS X only (for now, it's open source)."

10 of 143 comments (clear)

  1. Re:I wonder... by strags · · Score: 3, Informative

    DOOM is already available on the GBA.

    Descent is probably beyond the GBA's capabilities, since it uses arbitrarily-angled perspective-correct textured polygons, which are a fair bit harder to render on a low-end CPU (the GBA has a 16MHz ARM7 CPU).

    I guess you could just flat-shade the whole thing, but it wouldn't look anywhere near as good.

  2. gba development has been around for a while by bberg · · Score: 3, Informative

    This sort of stuff has been around for a while.
    here is one dev kit
    here is some more stuff
    that should give you plenty of links to play with.

  3. Old news by neonstz · · Score: 5, Informative

    The link in the article refers to the MacOS X port. Check out this for the "original" Unofficial Gameboy Advance SDK. It has been available for about a year or so. It has always worked on Win32 platforms too, so the submitter did a really bad job. The compiler in the SDK is actually GCC.

    Check out www.gbadev.org and www.devrs.com/gba/ for some other GBA development stuff. (And while you're at it, check out my own GBA-page for some of the demos i've written for the GBA :)

  4. Unofficial AGB development by totalnubee · · Score: 4, Informative

    This is not really news. Jason Wilkins, the creator if the Unofficial GBA DevKit, released it to the public at least a year ago. Also, there is a Win32 version (it came first).

    This DevKit is basically just a port of GCC to the ARM with some AGB specific startup code for interrupt handling and whatnot. The official DevKit from Nintendo is the same thing (although using an older version of GCC), but you get some extra hardware and software also. Having done AGB development for a while, it is nice to have alternatives like this unofficial devkit available, but it is nothing revolutionary. The impressive thing is actually how good the emulators have gotten recently, they should begin to allow even official developers to rely less on the expensive Nintendo hardware for normal day-to-day development.

    --
    "Even when I say nothing it's a beautiful use of negative space." - Indelible, "Fire In Which You Burn"
  5. Porting Doom? by Anonymous Coward · · Score: 1, Informative

    It's already been done by David A. Parkman productions (or something along those lines) and you can buy it for the affordable GBA cartridge price of $35. It's very true to the original game. The only problem is, of course, the dark screen which people will quickly remind you is not a problem with the GBA AfterBurner upgrade [Triton Labs]. I've really been getting into Doom again with this release (as much as sunlight allows anyways). As for other games, expect the most popular SNES games to appear on the GBA. Breath of Fire I and II (by Capcom, top-notch RPG games) have already been ported. I must admit that, lately, visiting all my old favorites on a portable system has been taking up more of my time than next-gen console games. You can't beat good gameplay, no matter the format.

  6. Keep up, Slashdot. Here are a couple more... by thesurfaces.net · · Score: 4, Informative
    Some existing GBA dev kits...

    HAM
    The SGADE
    The original Unofficial GameBoy Advance Software Development Kit

    UK users should buy their kit (Flash ROM kit and lighting kit from Craig Rothwell -- reliable feller.

    --

    http://www.blitzbasic.com/
    Graphics3D 640, 480

  7. Better details by stonecypher · · Score: 5, Informative
    I've submitted this maybe a half dozen times with more linkage. Oh, well. :)

    The ability to program for the GameBoy Advance is *not* Linx or Mac only. The biggest group of developers centers around a partial build of GCC called "DevKit Advance", which has pre-made setups for Win32 and Linux. There are smaller communities each around "HAM", "SGADE", and "GCCGBA" - all Win32 prebuilt only. If you've ever built your own GCC, however, you can build to GBA, and that means you can build from damn near *anywhere*.

    Good places to go to learn:

    • IRC: #gbadev on EfNet - fairly active channel full of developers, mostly amateur but a few commercial. DO NOT ASK FOR ROMS OR COMPILER DOCS HERE! You would be summarily banned. This is a legit ONLY channel.
    • Yahoo! Groups "GbaDev". Many of the same crowd as above, but a larger populace, and by email, not realtime chat. Also, there are archives. :) Many of your problems - even surprisingly difficult ones - can be answered just by digging through the archives. Moderated.
    • There are more tutorials than just The Pern Project, but I can only ever remember that one. :) I got started before that tutorial, so I have no idea of its quality (many people seem to have started with it)


    Compilers:
    • SGADE - The Socrates GameBoy Advance Development Environment - Good, complete, fairly easy to install, completely unrestricted open source. Developer is tireds and overbusy, and wants someone to take over the development. (Yahoo group also available
    • HAMFree for non-commercial development. Has an installer; fairly painless for Win32 people. There are requirements about using is commercially which I personally do not dig.
    • DevKitAdvance - The modified distro of GCC that the bulk of us use. You'll see Jason's name on GCC mailing lists from time to time. Thanks, Fenix. (This is the kit I use, though rather heavily modified)
    • Someone whined and GCCGBA was taken away from us, because it wasn't a whole GCC distro or something (the discussion was never made public, and I'm going by rumor); the remaining packages don't seem to have trouble, but I'm a little will happen to other compilers over time.


    Some interesting stuff that's been done:


    Miscellaneous news sites with links to code and tools:
    • GbaDev.org - The canonical news source, especially since AGBDEV.NET died. Most things are covered here. Those that aren't can be found at
    • Jeff Froweihn's Devrs.Com. Jeff Froweihn wrote the lnkscript and various other stuff that you're likely using if use use the homebrew community's stuff. Thank him. Also, he maintains an aswesome, if difficult to take in at once, news site.
    • GameBoy Land


    Anyway, this is by no means an exhaustive list, but it's a start, and you can get to most of the good ones from there by linkage. If anyone needs a hand, my email address at slash should work.

    StoneCyph on EfNet, johnisaheadcase / Fatty diZilla on mailing list
    --
    StoneCypher is Full of BS
    1. Re:Better details by phobialab · · Score: 3, Informative

      Thanks for the kind words on the SGADE, but your information is a little out of date.

      Development of the SGADE has changed hands (to me), and is now continuing full force. The new release should be up sometime this week, with additional releases following roughly every three weeks for the next few months -- each adding even more functionality.

      The website has also changed, and is currently undergoing an overhaul.

      -- MTP

  8. Right. Following through. by stonecypher · · Score: 5, Informative
    Okay. Some stuff I missed, after reading through the questions.

    • The hardware supports carts up to 256 megabit (32mb) in size. There are flash carts which have more space, however, through software bank switching. No commercial ROM currently even hits the hardware size limit (manufactureing costs, it is widely believed, are to blame; it may be the case that Big N limits the available size of carts to both themselves and third parties)
    • Yes, a linux distro would fit. No, it wouldn't be any fun without a keyboard. Yes, TCP/IP has already been done (a working webserver, which IIRC was even on SlashDot already. That's what caused me to try to post the homebrew dev scene the first time.)
    • Emulators: there are about a dozen good ones around; many stick to VisualBoy Advance and Mappy Virtual Machine for development. VBA is often regarded as the best and fastest emulation, and Mappy is usually seen as having the best debugging tools (source-level breakpoints, register viewing, disassembly, viewers for most of the important chunks of RAM, etc). VBA interfaces with GNU debuggers, but I'm lazy, and haven't tried it.
    • How good is the processor? Good enough to emulate an NES? Yes. In fact, there's a port of an emulator which runs NES binaries which were stapled onto the end of the emu binary out there already (it uses scaling and rotation to fit the otherwise too-large pictures; some detail is lost, so text often looks funny, etc). I have no linkage; sorry.
    • To be specific, the processor is an ARM7 TDMI running at approx 16 mhz. Also, the screen does 60hz refreshes, is 240x160, and has a bitmapped 15bpp color mode (among other modes, including z-buffered modes). The programmer is afforded extreme memory mapping flexability by the hardware; it's more fun than a Rubix' Cube.
    • Sorry - should have clarified - the ones I listed are all emulators for the GBA. Sorry, but not even remotely close. You didn't even get the popular ones. There's a pretty decent list here, at Zophar's Domain (a pretty good dev site)
    • Descent is probably beyond the GBA's capabilities, since it uses arbitrarily-angled perspective-correct textured polygons, which are a fair bit harder to render on a low-end CPU (the GBA has a 16MHz ARM7 CPU).You should see some of the stuff that's going on. There are a number of fully textured 3D engines out there, one of which actually uses Descent levels as its examples! (I linked to another in my previous post which uses the quake level 1) A good example is the Raylight engine, though there are probably a dozen that I've seen (and a few proprietary, one of which I'm about halfway done writing :) )
    • Hey, maybe we'll see Tux Racer for the GBA? That'd be tight. Quite possible. A racer wouldn't be difficult - the floor is a mode 7 S/R background, the sprites are prerendered, and there's enough VRAM that they don't need to be DMAed into place or anything (though people do that anyway, often enough [grins])

      Actually, how low-level is the API? Any chance someone could get Linux running on one of these babies?"The API" isn't. HAM has an engine, SGADE has an engine, there are others (I don't use them), and there are some commercial ones. But, here's the thing: the hardware does a lot of stuff. Sprites and backgrounds are supported in hardware, and do scaling and blending stuff, etc. It's just register tweakage. You don't really need an API.

      Big N does send an API of some sort, but I'm not a licensed developer, so I know dick about it. I'm told it's not that much of a difference - mostly just wrapper functions.
    • well if you realyl want to consider assembler an API, that is your answer. ARM flavored assmebler. We're not stuck to Assembly. Though there are about six assemblers in common use (the one that gets most use as not just part of a toolchain seems to be GoldRoad, but because I don't use assembly except in-line, I have a biased perspective), there are also a buttload of C and C++ and so forth compilers. Because Gnu's Compiler Collection (GCC does not mean gnu's c compiler) works and is the common compiler for the homebrew platform, you also have access to *compiled* java, pascal, and I think Objective C and Forth, or Fortran, or something that starts with an F. Too lazy to go check. :)

      There are other compilers which can target the platform. Commercial people often use the ARM ADS or SDT. Other tools, like the Metaware toolchain and the Green Hills Optimizing Compiler (it's part of the name, not a parroted description, settle down) are commonly used because of their purported performance. Far from being an expert myself, I'll just point you at the Dhrystone that David Welch graciously presented to the community.
    • I was planning on trying to develop something on my friends PS2 when he got the Linux kit. But since I actually own a GBA, this is a much more worthy project. More worthy, but more difficult. You'll want a flash cart and linker - the hardware is still the only perfect binary executor, though VBA is pretty impressive. All told, the PS2 Linux kit isn't more expensive, and it's hella more fun in the long run (Tux Racer on a console anyway, doncha know!)
    • At about $70 (Game Boy Advanced, Amazon price [amazon.com]), you can create custom games, ports of other things, etc. This sounds to me like a much more practical thing to purchase to play around with the the PS2, which is in at least the $500 range to start hacking your own stuff for. You're counting just the hardware in one, but the hardware and the mod stuff in the other. $200 (ps2) + $200 (Linux kit) is $400. There was a recent price drop. $70 (AGB) + $40 (USB Flasher) + $15 (Power cable for flasher) + $10 (Parallel cord) + ~$100 (Average flash cart - price varies by size) = $235. Granted, a $175 price difference, but not what you implied. Also, a lot of us already have both. Then, the price of a homebrew kit actually weighs in the other direction, and the AGB is small and limiting enough that unless you really want to, it's a pain of a challenge.
    • It would be interesting to know how many people will create practical, non-game applications. I know there are many non-game attachments, like a TV tuner and digital camera available for the unit. There are already music sequencers, methods of connecting it (realtime!) to a PC for chatter, MIDI sequencers, connections to serve as visualizers for various kinds of data collectors (think forest service), and a host of weird homebrew things that aren't exactly games. I expect quite a few more over time; I'm working on one in a half-assed way right now. Moreover, over time I expect level editors for at least homebrew games, and possibly for commercial games; would you call those applications?
    • This would totally rule.. I'd love to see Nethack for the GB. I'm currently working on a Palm version, and of course, it'll work on Windows CE, but honestly, wouldn't Nethack be an awesome alternative to bejeweled on the bus?Shhh... Shen Mansell already has Moshpit put together, and there are three or four people already rumbling about alternatives on the list. Also, note that I'm on alt.games.roguelike.development making an ass of myself all the time... (For those who may be Ccurious, a BooFly is a creature which looks like Will Riker and which doesn't meet me for coffee at E3. Thpppbbt.)
    • I think that companies like Nintendo and Sony and such should sell stipped down dev kits for like, say $50... including software you'd need and maybe a transfer cable. This gets kicked around a lot in the chatrooms and on the dev lists. The consensus seems to be that yeah, it'd be nice, but though a lot of people would really use it for what it was for, a whole lot of people would use it to pirate games, and besides, Big N's licensing fees per cart and hegemony on software support their business model, so they'd be hurting themselves anyway. In conclusion: not bloody likely.
    • No disrespect to the great underground game hackers out there, but I don't think there is much of a risk of an uber fantastic game like Gran Tourismo 3 getting put out. Whereas art and sound resources usually make this true, with time, they actually often do. Take a look into the very mature NES or 2600 development scenes; you'll see things you'd never imagine possible (for instance, someone ported the Z-Machine interpreter Frotz to the GameBoy Advance as GBA Frotz, which seems impressive until you realize that the no$gmb guy, who I think is Martin Korth or something, and who really needs to put his damn name in his bio page, did it for the gameboy(!) in *8* *K* of RAM (far smaller than the real Z-Machine was supposed to be), and it works fine! Linkage

      Homebrew developers thrive on being told it can't be done. The more you tell them they can't do commercial stuff, the more you're going to see commercial stuff done. That's what got me started. :)
    • Yes, Craig Rothwell is reliable (someone else's post). Also, though Lik-Sang is reliable (that's where I got mine), right now cyustoms is banning the import of these, and so you won't get one even if lik-sang mails it to you. Craig Rothwell currently goes under their radar, but don't try him if you're seeing this post a month or so old - things may have changed (they often do, unfortunately). The best thing to do is to go to the Yahoo! Group and ask; you'll get a lot of replies in 48 hours.
    • I know that the Game Cube can use GBA as controllers. I am not sure what the interface protocol is like, though. Do you think that it might be possible to make custom GBA carts for Cube games, that provide enhancements (cheats, etc) to a game playing on the Cube? No. The GC uses half-size DVD discs which are difficult to burn and which have not yet had their protections cracked or circumvented. Things may change later.
    • So does this mean that with the ROMS that are for the SNES, we could somehow make our own port of say "Secret of Mana" (or some other SNES title) for the GBA? That would be awesome! Though probably not awesome enough for me to spare time to learn this. If you're dedicated. you need to scale a lot of graphics down; the sound hardware is completely different, so the audio stuff will need to be wholly rewritten. There are odd considerations due to the different CPUs. But, yeah, many people have been porting SNES and Genesis games commercially; I don't see why a team of amateurs with lots of time and skill couldn't do the same. It's not easy, though, mind you.

      This is our world now...the world of the electron and the switch, the beauty of the baud. Pre-chewed pieces of pap! And shouldn't be teaching anyway!!@!3T1!! r00l!

      cough Sorry. Old habits die hard.
    --
    StoneCypher is Full of BS
  9. Re:Right. Following through. by strags · · Score: 3, Informative


    Descent is probably beyond the GBA's capabilities, since it uses arbitrarily-angled perspective-correct textured polygons, which are a fair bit harder to render on a low-end CPU (the GBA has a 16MHz ARM7 CPU).
    You should see some of the stuff that's going on. There are a number of fully textured 3D engines out there, one of which actually uses Descent levels as its examples! (I linked to another in my previous post which uses the quake level 1) A good example is the Raylight [raylight.it] engine, though there are probably a dozen that I've seen (and a few proprietary, one of which I'm about halfway done writing :) )


    None of these engines do true perspective correct texturing. And yes, I'm fairly aware of the work that's going on out there - I am the author of FooN, and have also written a bunch of 3d engines for the GBA. My point was that, while DOOM/GBA is a more-or-less exact replica of the PC version, Descent/GBA is not going to look anywhere near as cool as the original.

    Sorry - should have clarified - the ones I listed are all emulators for the GBA.
    Sorry, but not even remotely close. You didn't even get the popular ones. There's a pretty decent list here [zophar.net], at Zophar's Domain (a pretty good dev site)


    Read. Comprehend. Post.

    "The ones I listed are all emulators for the GBA". Not "These are all the emulators for the GBA".
    In other words, the emulators I listed are all emulators that run on the GBA, and emulate other machines.

    Another thing - you mistakenly state that the GBA has a Z-buffer. WTF? As someone who claims to be developing a 3D engine for the GBA, you must be aware that the GBA most certainly doesn't have a Z buffer. It doesn't even have any polygon rendering hardware.