I always thought that rom hacking would be more simple if you know programming. Is that true? I believe it depends on the language you know? Or even better the concept? Like pointers, data structures, loops, in/output, etc?
Pointers in C means: value of this address
Data structures: structs, variables, list, arrays, classes, vectors, etc
Loops, while, for and goto
Input and Output: Who doesn't know this?

I'm not going to make some like print "hello" and like input x because that would be just be a waste of my time since everyone knows it.
Also, goto line can be considered a pointer. It like points to that line. Then like in 16 bit asm:
mov ah,09
mov dx,msg
int 21
int 20
msg: db "Helloworld"
dx the data pointer points to msg.
Now how this is done in 6502 asm Idk.