NDS\GBA Homebrew Games

Miscellaneous Forums/General Discussion/NDS\GBA Homebrew Games

OK I have a DS and flashcart now what is the best (read easiest) way to begin making my own stuff. I`m assuming that there is no easy basic like language so whats the next best thing?

Any help would be great. Any cool stuff to try out would also be neat.

Jason.

Easiest?

DSLua for DS
Dragon BASIC and HAMLib for GBA stuff.

See my sig for a Dragon BASIC project (COB).

Yeah, I'm a noob a DS programming as well. Get PALib and have a go at that. It will make your life soooooo much easier. BTW, don't use Dualis with PALib. There's some weird stylus issue.

As I have only ever programmed in BASIC how hard would it be for me to use one of these languages. Will they be to complex?

Jason.

PALib is an excellent starting point for DS stuff if you want to get it done quickly and well, though the library has always felt a tad messy.
If you feel really adventurous (and smart), you can try going at it straight with libnds.

Another way to go at it is building / porting stuff for DSLinux. That will require a ginormous toolchain and a pile of source code to be downloaded, and a huge wait for the first compile, and your programs will only run through DSLinux, but it has its advantages.
Of course, software for DSLinux differs greatly. ("I ported the cat command" | "Great!!!").
It is a nice thing to do software for because, of course, it is an operating system: The networking stuff is done for you, your program can be run alongside any other program (you don't need to add a music player to your program; just run madplay), you can boot and kill a program quite easily, automatic access to the extra RAM provided by some flash carts like Supercard CF, easy filesystem access, etc.
Then there's the stuff which you simply can't do in DSLinux at the moment, like using both screens, having 3D, or easily having something that looks 'pretty'.

Another more radical option would be to build something for System 6 :b
http://lazyone.drunkencoders.com/wordpress/

C / C++ knowledge is what you will need for all of those.

So there is no non C/C++ way of doing things?

Jason.


So there is no non C/C++ way of doing things?


Hello? DSLua is Lua and Dragon BASIC is BASIC. Is this some sort of test?

As I have only ever programmed in BASIC how hard would it be for me to use one of these languages. Will they be to complex?

It's not the languages so much as the hardware, but there's plenty of info knocking about.

Sorry Sledge it`s been one of those days and I was just being dense. I`m going to check them out now. Thanks for the pointers.

How do you rate Dragon BASIC after using it just out of interest?

Jason.

It's a fun, dinky and well considered BASIC variant. (You don't get types/structs, for example, but then you wouldn't want to be encouraged to create objects on a whim in such an environment -- no swap disk for when you get carried away!) Most of the syntax you would expect is there, along with subs and functions, and a bunch of GBA-oriented commands. Mode 0 (tiled) is favoured. String comparisons are broken (but can be fixed with a 3rd party lib).

The compiler can handle BMP files, which is lovely as some dev kits need you to faff around with bmp2gba. The IDE is simplistic but dedicated, with syntax highlighting and the ability to launch the rom image in an emulator.

I should hopefully be getting a site full of code examples set up this year but there are tutorials to download at the site linked and quite a bit of info on the forum. Dive in!

Sounds good, I`m going to give it a try. Thanks for the advice.

Jason.

Oh just one more thing.

I see you say that you can launch the GBA rom from within DB to an emulator.

With DSLUA how do you actually test your code? Surely you don`t have to send it to your flash card each time? I assume that this is how it`s done though as there are currently no decent DS emulators around are there? Maybe you can wifi it to your DS?

Jason.

I only had a quick look at DSLua (it looked pretty dead for a while but I believe it has been picked up again) but I used Dualis to test my code. I guess you could either use a batch file to automate launching the emulator after a build or just drag and drop the file onto Dualis itself.