I figured I'd open a project page as well.
Continuing the wonderful journey of GBA programming, I've tried to make a scrolling engine. The GBA has built in scrolling. All good one might think. But that's far from the case. The maximum size of a background is 512x512. It's very small. So how do you make those �ber long scrolling levels? By dynamically updating the background map currently loaded in memory... of course!
Basically it works like this.. The GBA screen is 240x160 pixels in size and the minimum background size is 256x256. So that means that you have 16 pixels on X and 96 on Y that are not shown at the moment. You may very well call this "empty" space a cache. So when the screen scrolls, you need to update the parts of the background that are off-screen and switch those for new background data. Pretty clever concept really.
So I'm working on such an engine right now. Here you can see the current progress. I will gladly give you the source of what I have done so far, if you ask for it.
Try it on your favorite GBA emulator (VBA)...![]()