3 month GBA rom jam!

The jam is starting real soon and just seems so cool. GBA being pretty powerful but also memory-mapped just sounds so fun. They even clarify in the F.A.Q. that it doesn’t have to be a game and can be pretty much anything that runs via submitted .gba file: “demo, toy, tool, port, music cart, etc.”

I might try and spend some time this weekend to see what it takes to even get a valid .gba file. Maybe starting with a very simple drawing app would be good, get familiar with user input and drawing to the screen buffers. Will probably try and make the cursor a sprite to learn how that works. Maybe try out the different display modes. So much stuff to play with!

Anyways, it just sounded like fun and it runs for 3 months so there’s plenty of time to experiment/join/submit if anyone else thought it sounded cool. I have no idea how much time I’d dedicate to this overall so I’m not looking for a team or anything but it would be fun to swap learnings and motivate each other but no pressure on anyone to join the jam!

p.s. wasn’t sure if this should be an event, but having to pick a location didn’t make sense and wasn’t working so I defaulted to general, feel free to move it

1 Like

Location tag for these kinds of events is “online”

Edit your original post to include the event and i’ll move it to the event category.

Got myself set up with devkitpro tools, and compiling to a gba rom from both asm and c. Got some help getting started with example code and commands from here for asm and here for c. Still unsure which I’d want to use since both have pros and cons… but I might start with asm and see how that goes since it sounds more fun even if things might be a little more involved/laborious. Using MesenCE to test the roms.

Maybe time to try and see how I/O interrupts work to get notified about user input. And learning how to put the system into a low-power mode until the interrupts happen and such, avoid that nasty immediate infinite while loop. Hopefully I can have a very simple drawing application soon…

Well, I managed to get a simple little drawing app written in ARM assembly! The code is a bit spaghetti because assembly is kind of just a bunch of labels and registers, but it was a real learning process.

7 colors you cycle through with L/R (hard to tell white and yellow apart sometimes), the cursor changes to the current color, A draws, B erases, d-pad for movement, Start+Select at the same time clears the screen, moving beyond the edges of the screen just wraps around (having to take the negatives into account to show the cursor sprite beyond the edges was… fun… yeah fun!)

Actually drawing things on it is kind of a nightmare since precision is difficult because controls are handled at the 60fps framerate so if you want pixel precision, good luck! Oh, and it runs on real hardware! Was very fun to see it running on my lil gb micro.

Still, it was good fun and I feel like I have a somewhat better understanding of the hardware, but it is probably too daunting for me personally to make anything too much more complicated in assembly directly… I might have to swap to C and see what it’d look like to make this program there where code organization/encapsulation is hopefully better. Or maybe I just need to learn better hygiene for assembly code, but probably C next.

1 Like