Assembly Tutorial

Based on the lack of tangible understandable straight up how to’s on assembly hacking, I’m thinking of making a tutorial series to kind of follow suit with Blazer’s tutorial but go more in depth with more details and more tricks and tips. My reservation is whether or not people will use it; it’s pointless to make a full on tutorial if no one’s gonna use it so I’d like to hear from you guys if that’s something you’d like to see and maybe you have a particular topic you want covered, lemme know.

I think it’d be useful. Topics that could be useful for a newbie:

  1. It’s not immediately obvious that the Ultimate Tutorial has a section on how to use no$gba (as far as I’m aware, one of the most popular debuggers for GBA), since it’s at the very bottom of the Assembly section. When I first started out, the hardest part for me was learning how to use the damn thing (especially setting breakpoints, since the official documentation, while thorough, isn’t particularly newbie-friendly).

  2. Branches. What types are there, what are their limitations, and how to use them effectively (especially long-calling).

  3. IMO, the most important, and probably the hardest to put into words: How to think about what you want to do, and go about doing it in the most efficient way. Yes, experience is really the best way to learn, but maybe you can go over a few things you’ve done and explain how you went about implementing them.

Sounds good but that’d be later on
I’m thinking of starting with an overview of memory itself, how it works, how to make it work for you etc

Blazer’s tut only explains the most basic asm knowledge. If you want to go more in depth, I think you can explain more stuff on hardware, such as the way of image display, save & load and so on (included in the gbatek though). For example, the procedure to seek the UI display function.

That’s kinda advanced for an intro
I don’t even fully understand VRAM and LZ77 etc

@Arch was thinking of, as part of the birthday event for FEU, to launch a series of Wiki Tutorials, Assembly/Debugging included. So if that gets started, we can contribute to that.

Also, Blazer’s tutorial is where I started, after getting basic knowledge of representation of data elsewhere. All debugging I’ve learned through experience.

I guess that’s be cool to get a “guest article” in there
Especially if I make a series out of it

Pls do.

What format would be best do you think?
YT video? Text with screenshots? Other?

Text with screenshots. Writing ASM seems like it’d be too focused on understanding to actually watch a video on–there’d be too much pausing to make a video format worth it. Also, it’d be easier to ask questions by directly quoting text that needs clarifying, along with edits to the tutorial if/when they’re needed.

It’d probably be best to make it a wiki thing so other hackers could come in and explain things better or correct mistakes if needed or if someone just has more knowledge on a particular topic than I

I know that the biggest hangup that I had when trying to dabble with assembly in regards to the GBA was how to actually do something with it. I have prior knowledge of opcodes and registers from a course in college (though it was on MIPS instead of ARM) and I could use the debugger and set breakpoints, but I could never find any documentation on what the heck I was supposed to do to make changes or add new code, which stopped my foray into it altogether. (And, I was doing this in conjunction with Cam at the time, so…)

I’m working on a rough draft for part 1 of this thing, anyone wanna help proofread?

1 Like

I can help yeah

1 Like

Message me on skype tomorrow

Just post it. I’ll wiki it and we can all edit it.

2 Likes

I’m halfway done but I’ll be busy until Thursday so expect this by the end of this week. The topic is memory as an overall concept so if you have anything particular you want to add or have included let me know

Why wait?

cuz this

I’m saying this is a collaborative effort. So if you post what you have then we can all edit itnto completion.