Homebrew

Build Environment Poll For GBA/DS Homebrewers

Originally posted: April 3rd, 2007

GBA/DS homebrew developers: Please take a moment to answer this poll I've posted at the gbadev.org forums. I'd like to further my efforts at making GBA/DS development easy to get set up and going, but I'm not sure what the most popular tools are. I'd like to continue progress on GBAForVS6, but I don't know if anyone's even using Visual Studio 6/MSVC 6 anymore.

Read more


D on GBA/NDS Progress, Thanks to OOPMan

Originally posted: April 2nd, 2007

This time around I didn't have much success combining GDC with DevKitARM on my own. But, OOPMan has gotten it working on Linux (minus standard libraries like Phobos or Tango).

Fortunately, I was able to use OOPMan's instructions to successfully build native Windows binaries of GDC+DevKitARM (again, minus standard D libraries) using MSYS/MinGW. So hats off to him :) (FYI, I haven't had a chance yet to actually test the binaries I built)

Regarding specific versions, I was able to build off of GCC 4.1.1/GDC 0.22/DKA r20, and off of GCC 4.1.2/GDC 0.23/DKA r20 (the latest versions at the time I'm writing this).

I'll upload the Windows binaries for GCC 4.1.2/GDC 0.23/DKA r20 when I get a chance later today, so anyone who wants to can play around with it.

After that, I plan to combine OOPMan's instructions and buildscript into the actual DevKitARM buildscripts, and write up some *very* detailed how-to-build documentation for any Windows users who have no experience building any form of GCC (Something I could have used a year or so ago. The information is out there, but it usually requires some strong familiarity with Unix-like systems and the open source scene).

[UPDATE 2:00a 4/3/2007]: I've uploaded the windows binaries. I didn't build the crts or tools, just the compiler, so you should extract the archive over top of an existing installation of DevKitARM r20. I haven't tried using this for any DS apps, but it seems to work with a simple C GBA app (the small sample included in GBAForVS6, although I had to change the generated makefile to use "arm-eabi-*" instead of "arm-elf-*").

It also works with a simple D GBA app, but with a caveat: The lack of phobos or tango prevents many of the language's features from being usable (for instance, trying to use structs and classes will generate linker errors).

I've uploaded the D GBA app I used, including project files for Visual Studio 6 and the pre-built ROM image. If you want to compile it yourself, you will have to edit the makefile to point to your DevKitARM-with-D directory. The makefile also assumes that you have GBAForVS6 installed (you'll also have to specify the directory for that in the makefile, too). If you don't want to use GBAForVS6, or don't have Visual Studio 6, you'll probably need to make additional changes to the makefile.

D on GBA Screenshot

D on GBA Screenshot

[Update 11:00a 4/3/2007]: If you try to compile the sample D app, there's one other thing I forgot to mention. You'll need to first download a regular (ie, non-GBA/DS) D compiler like DMD. Then go into the sample app's makefile and change DINCDIR (below the "Nothing below here should need to be changed" line, ironically) to point to the regular D compiler's phobos directory. For DMD this should be "{your dmd dir here}\src\phobos".

Note that this doesn't mean you'll be able to use phobos. The compiler just needs to be able to grab the "object.d" file there. If you don't do this, you'll get the error: "object.d: module object cannot read file 'object.d'"

Yes, setting up to compile a D app on GBA does take some work at the moment. But it should get easier as this "D for GBA/DS" project progresses. One of my personal goals on this project is to make it as easy as possible to get a D project up and running on GBA/DS.

Read more


Trying for D on GBA/NDS, Redux

Originally posted: March 3rd, 2007

I found (or rather, he found me) a person trying to get D going on the GBA/NDS by combining GDC with devkitARM. I've attempted this before a while back (before NDS homebrew, and before GDC eliminated the Java requirement for garbage collection) with partial success (got a limited subset of D working). This has motivated to get back into the project.

I'm on Windows with MSYS/MinGW, the other guy's on Linux, so hopefully we can get this working on both platforms. I'm a bit behind at the moment though, I've lost/forgotten all of the old work I did, and never made notes (like I meant to do), so I'm back at the beginning still trying to get all the necessary tools installed and working right in MSYS. This part is every bit the pain in the ass I remember it to be, hopefully the rest will go smoother this time (should be at least somewhat easier, now that GDC is no longer borrowing it's garbage collection from Java). But I'm taking notes this time ;) I'll report on any progress I make.

Read more


GBAForVS Gathers Dust, But Maybe There's Hope...

Originally posted: February 27th, 2007

Back before DS homebrew, I made a GBA AppWizard for Visual Studio 6 called GBAForVS6. This was intended to replace VBMake and "WhatZdat D. Pimp"'s "GBA Project AppWizard". The problem was, as much as I liked "GBA Project AppWizard" (in conjunction with VCMake), it had gathered dust, gone out-of-date, and had no publicly released source code I could use to bring it up-to-date.

Well, now I’m a hypocrite.

As the name implies, I haven’t touched GBAForVS6 since DS homebrew started, and I never got around to the Visual Studio .NET version I had been planning. I know it won’t work on VS.NET because the AppWizard system is completely different from VS6 (not to mention poorly documented). I *don’t* know if it will work for newer versions of devkitARM, or for DS development. Also, I never released the GBAForVS6 source (It’s based off of MS’s Custom AppWizard sample code, so I was unsure about licensing issues that might have been involved).

If I had the time, I would go fix those problems now. But unfortunately, I have no time right now, so I’m going to try redeeming myself by taking the lazy way out: having other people do the work ;).

So if anyone’s willing to check into any of the following, it would be greatly appreciated by both me, and (presumably) the GBA/DS homebrew community. Just drop in a comment to this post, or email me at user: nick1 domain: twistedpairgaming.com

What I’d like to find out:

  • Can the latest version of devkitARM just be dropped in and work fine?
  • Does DS dev work with this?
  • Is there some magical (or better yet, non-magical) way to get a VS6 AppWizard to work on VS.NET?
  • Find any *really good* documentation or a tutorial for writing VS.NET AppWizards?
  • Have solutions to any of the "Known Issues" in the README?
  • Any bugs/problems/comments/feature requests?
  • Want to actually make any updates to GBAForVS? (<bill lumberg>yea, that would be greeeat</bill lumberg>)

Also, if you’d like the GBAForVS6 source, or the NSIS installer script, just email me, and I’ll dig it up.

Read more