6 ms·
What is the state of GBA homebrew? I've been curious about learning how to make games with it, but I haven't had much luck finding information about the toolcha
by aquova 7y ago
What is the state of GBA homebrew? I've been curious about learning how to make games with it, but I haven't had much luck finding information about the toolchains. I know for original Game Boy/Color, there is a C compiler, but it's not recommended over assembly. Is the GBA the same way?
- csande17 7y agoThe most popular toolchain is devkitPro, which is based on GCC: https://devkitpro.org/wiki/Getting_Started https://devkitpro.org/wiki/Getting_Started The impression I've gotten is that the GBA is powerful enough that you can write most of your programs in C, but some performance-critical stuff (like if you're trying to draw pixels directly instead of using the sprite/tile hardware) is best written in assembly. If you're interested in learning more, I would highly recommend this tutorial: https://www.coranac.com/tonc/text/toc.htm https://www.coranac.com/tonc/text/toc.htm
- ant6n 7y agoGBA is very well documented (gbatek). The DS seems to be as well, but it's much harder to work with. GBA is much easier, but still powerful enough to do non trivial things without having to do them all in assembly. Emulator support is superb. Hardware adapters that allow you to load ROMs have been around forever. I'd say it's one of the best systems to get into on-the-metal Homebrew.
- swiley 7y agoMuch harder is a bit of a stretch IMO. There’s more potential complexity if you want to do complex things and maybe 3D is hard (I’ve never done it) but the basics are about as straightforward.
- mikepurvis 7y agoI was intrigued about the 3D thing— a cool YouTube top 5 with some light commentary: https://www.youtube.com/watch?v=Y6QtoZcYhi4 https://www.youtube.com/watch?v=Y6QtoZcYhi4
- WoodenChair 7y agoCool video—how was such fluid 3D achieved on the GBA hardware? Anyone know of any war story articles about developing 3D games on the GBA?
- DagAgren 7y agoLow resolution combine with a decently fast processor means software rendering is entirely doable. It's a comparable situation to very early PC 3D gaming.
- WoodenChair 7y agoJust for the record, "decently fast" in this case is a 16 Mhz ARM 7.
- mikepurvis 7y agoIt's especially crazy that a bunch of them look to be rendering legit polygon scenes— this isn't early nineties 2.5D titles like Doom and Wolf3d running on 486 PCs.
- DagAgren 7y agoThe ARM 7 is a pretty good processor, so it can get a lot done on 16 MHz. Quite a bit more than what an x86 of similar clock speed ever could.
- swiley 7y agoOk you could argue that’s more complex on the GBA. I would argue otherwise; interfaces to other people’s stuff always are the most difficult parts of programming. When you do it yourself (3D projection etc.) it’s just you and reason and that’s not so bad.
- ant6n 7y agoFair enough. Id say 3d and the two screens make it harder. Also memory latency and clock speed is somewhat more complex, what with the tightly coupled memory.
- lostgame 7y agoThe limited amount of VRAM in the DS is the real issue. Even the lack of RAM is an issue.
- vardump 7y ago4 MB RAM + 656 kB VRAM doesn't strike me as particularly memory constrained as someone who grew up with 4-64 kB systems. I guess it matters where you're coming from. On top of that, DS cartridges are 8 - 512 MB.
- dxemy 7y agoI prefer the PSP for this purpose myself. https://github.com/pspdev/psptoolchain https://github.com/pspdev/psptoolchain