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)."
I hope we can see more open-source community support for Mac OS X in the future. It's projects like this that help to solidify its position as not only a great consumer OS, but as a great workhorse and development OS as well.
NES emu
Spectrum emu
Sega Master System Emu
Who says you have to program only games?
I used a homebrew SDK to design a digital voltage meter that plugged into a gameboy/gameboy colour when I was in college - It measured Vrms better than some commercial products we tested against.
I'd like to do a PDA setup - maybe I can hack a keyboard together to plug into my gba - someone did it for the gameboy - link - look about halfway down the page.
Besides, the GBA is a good medium to develop games for - you don't need a team of 3d modellers and designers and whatnot - you can do with a designer/programmer, artist, and musician.
Plus it's just fun to hack around with console games!
Robots are everywhere, and they eat old people's medicine for fuel.
At about $70 (Game Boy Advanced, Amazon price), 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.
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.
I may actually get one of these myself to hack around with. The "other half" says I shouldn't waste money on the PS2, cuz I will may write one application, then never touch the $500 investment again. Same thing with the Sharp PDA. $70 is much more reasonable for this type of hobby.
-Pete
Soccer Goal Plans
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?
The Dopester
"Yes, I'm a Karma Whore, but I'm doing it to pay my way through school."
Sorry - should have clarified - the ones I listed are all emulators for the GBA. You can burn a flash cart containing 100's of old videogame classics, and play them on your GBA.
ah the horror .. i tried to port doom1 (with sw wad). let me list 3 things why you will probably never see descent on the gba .
.. maybe fastram for innerloops but then you have to worry about where to put the textures )
1.
256k ram, 32k fastram
yep.. get all your global vars into this one first, then think about a memory manager. i had doom take like 160k on vars but that just just isnt enough..
2.
16mhz cpu.
the other poster didnt mentioned of course that the rom acces cripples this quite a bit. (and you want to keep your code in the rom
3.
no hardware division
which rules out perspective texture mapping.
so there..
2 and 3 arent that bad but 256k will hold back what could have been..
-
and the doom they released for the gba is really crippled!
I played one or two ray-casted video games on my TI-85 and TI-86 calculators. These had, I think, 6MHz Zilog Z80 microprocessors. These are old processors from the late '70s or early '80s, and they don't have a lot of registers, so complex stuff runs kind of slow on them. They also don't know how to divide, so you have to do that in code, and naturally they didn't have numeric coprocessors to make up for that deficiency.
The TI-85 had about 24K available RAM, and the '86 had something like 60K available RAM.
Considering the claustrophobic amount of RAM and CPU power, especially the limited number of registers (and the small width of them), and the lack of ability to do division or anything floating-point in the hardware, these ray-casted games ran fairly well.
Ray-casting is very different from *real* 3D, however. Real 3D involves things like rotating and translating potentially thousands of nodes, culling unseen polygons, searching large binary space partition arrays (BSPs), calculating whether or not (and where) to display objects not in the BSP (like health vials and other players), etc. And all of the above has to be done for every single frame.
Raycasting is loads easier. You cast out a ray for every pixel that your viewport is wide. If the ray collides with an object on a 2-D map, the engine grabs a vertical slice from a texture map, scales it according to distance, and drops the results into the framebuffer. If the engine supports transparent pixels and any were copied, the ray continues. Otherwise it's on to the next column.
There is some other work involved, such as drawing sprites and ammo/health/etc. bars. And there are a few other tricks, such as having variable-height floors and ceilings, like in Doom. Raycasting is very fast compared to real 3D, since there is a lot less floating-point math (and math in general) involved. However, you lose flexibility in order to gain speed. In Doom, you could only have one place for the player to stand at any grid location, so you couldn't have one room above another, or a bridge that could be gone over and also under. It is also tricky to get raycasting engines to do "looking up and down" without it looking distorted, so in most raycasted games, the player always looked straight forward.
If my old TI-85 with 32K of RAM and a 6MHz Z80 can handle a raycasting engine, then so can a GBA with 256K of RAM and a modern ARM processor with a lot more registers and almost 3x the clock speed. (Not to mention DMAs and hardware sprites and layers!)
Finally, the GBA has scaling and rotation, and the ability to draw primitive 3-D fields... all in hardware.
If texture usage is kept VERY conservative, it is reasonable to believe that a ray-casting engine with texture-mapping capabilities is reasonable.
What would be even more reasonable would be to write a ray-casting engine that didn't bother with textures at all, using solid colors instead. You could get some reasonable framerate out of a game like that, and it would still be fun to play. You might even be able to get away with some "dirty" shading.
I have also seen GBA ROMs containing "real" 3-D engines, but the only things in them were objects in space. This is reasonable for a 3-D version of Asteroids, or something like Wing Commander.