• 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!
  • Dawn, Gloria, Juliana, or Summer - which Pokémon protagonist is your favorite? Let us know by voting in our poll!
  • 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.

[Other] What is ASM?

Xerslash

To be, or not to be..
  • 711
    Posts
    10
    Years
    Seriously guys, what is ASM?

    is it a form of hacking? tile inserting, mapping, scripting,graphics or something like that?
    what can it do to your hack?
    is it a good and valuable part of a hack?

    i just wanna ask cos i've been seeing it a lot lately.
    and I'm also new to hacking. I want to learn what it is.
     
    Assembly (ASM) involve manipulating the games registers in a similar way to how the actual game is coded. It's used for many different things involving changing game mechanics and how Pokemon games work - have a look at the public ASM sharing thread (here) to get a feel for the range of things ASM can do.
     
    Assembly (ASM) involve manipulating the games registers in a similar way to how the actual game is coded. It's used for many different things involving changing game mechanics and how Pokemon games work - have a look at the public ASM sharing thread (here) to get a feel for the range of things ASM can do.

    Excuse me good sir, I know what ASM is but how do you actually do it?
    What program/tool do I need for this?
     
    Excuse me good sir, I know what ASM is but how do you actually do it?
    What program/tool do I need for this?
    You didn't address that question to me, but I'll answer. First of all, you'll need a compiler which can be found there:
    https://www.pokecommunity.com/attachments/45005&d=1234581206(along with other files).
    There are many ASM tutorials out there if you want to try it out. Basically you write a piece of code in Assembly(a code can be written in Notepad or Wordpad for example) that does something you couldn't have done with just scripting. (you can do basically everything with ASM, the limitations are: the software, your imagination and skill level).
     
    ASM is love. ASM is life. ASM (or more formally, ASMAGIX) is the process whereby an ASMAGICIAN modifies the code using arcane powers in order to make the application obey his command. It is one of the 9 forbidden arts of Lord Arceus and thus should be used with extreme care.

    Okay. Seriously. Assembly is the only true form of hacking on here. An assembly hacker can find code to related to a specific part of the game, figure out how it works and then modify it using a variety of techniques to make it function differently. This can essentially change any part of the game to do what we want. All other "hacking" here (mapping, scripting, etc.) was due to the research of other ASM hackers. They found the code telling them how the game reads this data and created tools allowing people to change that without hex editing. A hex editor only knows how to edit data an ASM hacker has found. Most of the skills are the same skills that are required to program. It also doesn't hurt to know how a compiler transforms C code into ASM (because the games were written in the C programming language) because then you can convert it back in your head.

    We have a variety of tools to help us with this
    • IDA - a reverse engineering tool. It helps us label code and data we already understand which makes it exponentially easier to understand and read more code.
    • A good text editor to write more code.
    • A hacker's emulator which allows us to read code as it's being run.
    • An assembly and other binary tools which allow us to put code back into the game
    • A hex editor

    I also write my own tools which automate mundane tasks like inserting ASM.
     
    Back
    Top