Know the terms and concepts. Do you understand the concept of Hexadecimal? Do you know what a pointer is in the context of programs and memory? Are you familiar with the concept of binary flags? Do you understand the flow- chart of a program? Do you know what an argument is in context to programming? Do you know how the EarthBound ROM stores pointers, and how to convert them to a hex pointer you can follow? Do you understand the programming concept of a IF/ELSE statement? Do you know what a color palette is? If you answer no to any of these questions, don’t worry, I will explain these things in section 1.4.0 Technical Details.
Many things you may want to do are possible with the simple editing of a value in one of JHack’s editors, or the built-in Hex editor, but some things require ASM to alter. Granted, Graphical and Audio data require their own editors, but most other editable things fall into this catagory. Editing a spell to cost more PP is simple, since that value is stored in plain text in a table somewhere. Editing a spell to do different damage is very complicated, since that data is in Assembly, and requires knowledge of 65816 Assembly code to change, and Assembly requires knowledge of the hardware of the SNES, and nifty things like memory registers.(I do not know Assembly, this is not a 65816 Assembly tutorial, google if you want one) So you can do many things quite easily, but some things are very difficult to do, and require learning far more than this tutoral is for. This ties in with Rule #8.