There's a problem though...my rom won't run on No$GBA. I can't explain it...it starts out completely normal, and when it gets to the "gamefreak" logo, it just crashes, most likely since I edited the logo to say something else. It runs on VBA, and I haven't checked any other emulators, though.
By the way, do you know of any index of opcodes in ASM? I know what they mean, usually, but I keep encountering arguments from them I don't understand :\
Well I find that when it comes to debugging and testing, the No$GBA debugger works a lot better. It allows you to change the assembly and the hex values at runtime. It's hard to find a copy online, but google should work, but you can't buy it anymore, since the guy who wrote it disappeared off the face of the earth. :\
I had a feeling it'd be something like that...just last night I found out VBA can disassemble the ROM, and I learned just how crazy-fast it goes. I thought there were different techniques for doing things...for example, I wanted to display a picture that takes up the entire screen, yet can't figure out how to manage that. I suppose it'll come with time...Another question I had was: Is there an easy way to test out ASM, besides saving it as a .asm, opening up the command prompt, compiling, opening in a hex editor, and copy-pasting the code? I don't mean to sound lazy, but it just seems like a really roundabout way of getting the job done.
Well it's hard to have something like that because ASM code isn't like scripting, since it's all editing areas, rather than adding some new code and simply calling it.
Anyway, basically what you've got to do is look at the routine you're editing and see which registers aren't needed, or more specifically ARE needed. And if you're branching to a new routine, it doesn't really matter, since when you push them, it saves the value and popping them makes them return to the original value.
The best way to learn is to look and study code already in the ROM and working out what it does.
Oh I wasn't actually expecting help so soon o-o. Basically, I've read tutorials, and I have a notebook filled with opcodes and other such things. But I haven't found any tutorials on actually making the ASM do anything; basically, writing ASM code. I've studied some code, but I'm still clueless on where to begin. The first question that comes to my mind is how do you know which registers to use, which to pop, etc. etc. I've often wished there was an ASM help thread, and not just a scripting one :/. Any help would be appreciated.
A little bit of both. I've read about three ASM tutorials, and I know about the pushing and the popping and the registers and some commands, I just don't understand how to put it all together to make my own stuff.