• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[ASM & Hex] Asm help?

Go! Squirtle

Squirtle master is here
  • 60
    Posts
    8
    Years
    Hey! Everybody i am Go! Squirtle and the founder of the act of discrimination on Squirtle i started this act by changing my signature just see my signature. I post this thread because i am unable to found a asm language tutorial but i have a good knowledge of c++. Can i use c++ instead of Assembly?
     
    Last edited:
    Hey! Everybody i am Go! Squirtle and the founder of the act of discrimination on Squirtle i started this act by changing my signature just see my signature. I post this thread because i am unable to found a asm language tutorial but i have a good knowledge of c++. Can i use c++ instead of Assembly?

    well, there is a lot of systems made in C here on community, then I think you can use any programming language you want.
     
    well, there is a lot of systems made in C here on community, then I think you can use any programming language you want.
    Hey! One more help from where i can get a tutorial of assembly language.
     
    Hey! Everybody i am Go! Squirtle and the founder of the act of discrimination on Squirtle i started this act by changing my signature just see my signature. I post this thread because i am unable to found a asm language tutorial but i have a good knowledge of c++. Can i use c++ instead of Assembly?
    C works, so look at FBI's tutorials on assembly and C for ROM hacking. Also check out GBATEK for really technical data on the GBA specs and how assembly works there.
     
    You can't use C++ because the standard libraries and other built ins (e.g. libstdc++) are not linked into the ROM, meaning you can't use even the most basic of C++ features (new, delete, etc.). Because the ROM was linked as a C application, you'd be unable to use features like exceptions. Since it's too complicated to get the C++ runtime into the ROM you're pretty much stuck with C. In fact, you're limited to a subset of C since you can't reliably define global variables or use variables with a static lifetime.

    Anyway, learning C/C++ is not going to get you away from needing ASM. Even GBA homebrew requires you to write some ASM for the low level stuff like interrupt handlers and other timing sensitive code. This is even more true for hacking a ROM because you need to understand the underlying code (i.e. ASM) of the ROM so that you can hook into it and modify it.

    If you have good knowledge of C++, learning ASM shouldn't be that hard. ARM ASM is a RISC architecture (i.e. Reduced instruction set computing), meaning that the instruction set is simplified. This is even more true for THUMB - the entire instruction set is actually defined in this incredibly short (40 page) manual.
     
    You can't use C++ because the standard libraries and other built ins (e.g. libstdc++) are not linked into the ROM, meaning you can't use even the most basic of C++ features (new, delete, etc.). Because the ROM was linked as a C application, you'd be unable to use features like exceptions. Since it's too complicated to get the C++ runtime into the ROM you're pretty much stuck with C. In fact, you're limited to a subset of C since you can't reliably define global variables or use variables with a static lifetime.

    Anyway, learning C/C++ is not going to get you away from needing ASM. Even GBA homebrew requires you to write some ASM for the low level stuff like interrupt handlers and other timing sensitive code. This is even more true for hacking a ROM because you need to understand the underlying code (i.e. ASM) of the ROM so that you can hook into it and modify it.

    If you have good knowledge of C++, learning ASM shouldn't be that hard. ARM ASM is a RISC architecture (i.e. Reduced instruction set computing), meaning that the instruction set is simplified. This is even more true for THUMB - the entire instruction set is actually defined in this incredibly short (40 page) manual.

    Thanks for your great help and please support Squirtle discrimination act by changing your signature same as me just add supporting keyword at the start of signature.
     
    Back
    Top