News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Considered a beginner when you know programming?  (Read 1956 times)

InfamousKnight

  • Sr. Member
  • ****
  • Posts: 321
    • View Profile
Considered a beginner when you know programming?
« on: December 03, 2012, 09:44:36 pm »
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? :P 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:
Code: [Select]
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.

FAST6191

  • Hero Member
  • *****
  • Posts: 3081
    • View Profile
Re: Considered a beginner when you know programming?
« Reply #1 on: December 03, 2012, 11:58:00 pm »
Programming as it tends to be taught these days (and even more traditionally programming teaching) does not immediately transfer to ROM hacking which seems to be more about data representation than a lot of what is covered in programming. That is not to say programming skills hurt or that I do not study/encourage study of certain programming tutorials to become a better ROM hacker ( http://www.plantation-productions.com/Webster/www.artofasm.com/index.html many times and equally some of the nicer python tutorials).

On pointers as they are seen in C family languages- I usually find those teaching pointers usually spend a lot of time on pointer arithmetic and what they are conceptually as it applies to C programming which is largely pointless for most of ROM hacking style pointers for which you quite often have to figure out how they work/are represented (are they file level, are they in memory, are they relative, offset or straight up pointers....  granted this is not quite so bad in systems addressed directly in memory but even then there are "soft" pointers). Indeed after the initial "pointers do as the name implies and direct something somewhere else" line I will probably head in quite different directions depending upon if I am teaching C or teaching ROM hacking.

ASM is the difference between you fearing the board and the board fearing you!



A quote I quite like and although I would like to make a corollary from that I think I will close by saying I have seen good programmers struggle hard to get into ROM hacking and I have seen complete non programmers make hacks (actual hacks made with understanding and a hex editor rather than a nice GUI tool*) that I play to this day and that I find neither surprising when it happens as neither are uncommon.

*not that such things make for bad hacks either, they tend not to be considered in the same way though.

Pikachumanson

  • Hero Member
  • *****
  • Posts: 607
    • View Profile
Re: Considered a beginner when you know programming?
« Reply #2 on: December 04, 2012, 12:35:43 am »
I have that problem. I don't think higher level programming knowledge translates to romhacking very well unless you are creating apps.