Things are looking *way* up for all three Sonic Advance games! I've spent the last few hours first by installing VBA-ReRecording which supports Lua Script, and then going over some of the commands to read and write to memory, display information onscreen, etc. It's nice to see that despite not having coded anything in over a decade, I can still write a little program without much effort.
It's not finished yet, but so far it's showing promises. Since VBA-ReRecording doesn't let you change the background color like the later VBA-M versions do, the first thing my script does is change the color to my old favorite, 0x7C1F (which is the closest to #FF00FF the GBA can get). Somehow, I need to change it in two places for it to work flawlessly (one address is the GBA's palette, and the other I assume is the actual palette of the game engine). It also displays the actual X and Y coordinates on screen.
What's left is basically to switch to a "free camera" mode by pressing, say, F, after which I can move the camera around using the keyboard keys. It only sorta works so far, but I should have it fixed soon. This is going to make my life so easy
!
Thanks for offering your help Troy Lundin though. It's seeing people like you who are much more talented than I am that makes me want to improve myself.
*EDIT*
It's pretty much done, and judging by how long that took, it's safe to say that I'm more than a little rusty when programming. The program basically does everything I already mentionned: changes the background color, displays the camera coordinates on screen, can freeze the moving objects in their starting spot at will and I can switch to free camera mode at any time, moving in half-screen increments in all directions or reset back to the player's position.
I might add something to make the rings stop spinning eventually or, heck, freeze the entire background color palette when the stage start but that's *so* not important right now! And the best part is that all I have to do to adapt it to the other Sonic Advance games is simply change the memory addresses. My wrists will be so thankful not to have to enter those annoying cheat codes all the time