• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • 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's the buzz about all this "dissasembly" stuff? Did I miss something?

222
Posts
6
Years
  • Age 22
  • Seen Nov 18, 2023
Just in the past 2 weeks or so I've seen more and more mentions of some kind of "disassembly" thing happening. Everyone is calling it the future of rom hacking or something. Did I miss something big that's happening? Am I just that out of the loop?

Confusedly yours,
hjk321
 
Last edited:
1,591
Posts
10
Years
  • Age 30
  • Seen Mar 20, 2024
Well seeing how that post literally starts with "I'm sure you already know about disassembly" that hardly explains anything.

Is this a fancy term for asm hacking? Whats the difference between this and normal hacking?

So the disassemblies of the gen one and two games are essentially reverse engineered source code for those games written in assembly. They allow you to make massive changes to the games using nothing but notepad, a map editor and an image editor (as well as something to compile the edited code), and also remove the need for binary hacking completely. That means you don't need to worry about hard coded memory addresses or any of the complications that come with that. I'm probably severely underselling how amazing these are, but the point is they're better than normal binary hacking in every way.

The generation three decompilations are even better, as they're the same thing but decompiled into C instead, which makes them easier to work with.
 
794
Posts
10
Years
You'll be working with source code as opposed to already compiled rom. It has many benefits such as being able to edit any part of the game with no care about pointers. Repointing will no longer be necessary, hooks won't me needed. Inserting images becomes literally putting them in a folder.

Also sorry, I linked the wrong thing. There is another post made by camthesaxman that explains it pretty well. On phone rn, so can't link.
 
222
Posts
6
Years
  • Age 22
  • Seen Nov 18, 2023
The generation three decompilations are even better, as they're the same thing but decompiled into C instead, which makes them easier to work with.

Well it's a good thing I know(ish) C then. I assume this won't be for everyone though. Hopefully my tool won't be obsolete by the time it comes out lol, but maybe I can just repurpose it for c instead of XSE
 
222
Posts
6
Years
  • Age 22
  • Seen Nov 18, 2023
\Repointing will no longer be necessary, hooks won't me needed. Inserting images becomes literally putting them in a folder.

Damn so literally everything on this forum so far becomes obsolete... but in this case it's a GOOD thing. It's like a brave new frontier all over again! Is every Gen 3 game supported? I'd even be willing to restart my hack! Which has nothing to do with the fact that I have only 20 minutes of playtime so far
 
794
Posts
10
Years
:drooling_face: omg that's literally the best thing ever!

Well it's a good thing I know(ish) C then. I assume this won't be for everyone though. Hopefully my tool won't be obsolete by the time it comes out lol, but maybe I can just repurpose it for c instead of XSE

Damn so literally everything on this forum so far becomes obsolete... but in this case it's a GOOD thing. It's like a brave new frontier all over again! Is every Gen 3 game supported? I'd even be willing to restart my hack! Which has nothing to do with the fact that I have only 20 minutes of playtime so far

That's the spirit! I was afraid your reaction might have been less enthusiastic given my tone, but I'm pleasantly surprised. It is indeed quite a revolution and as you say, basically all this forum has to offer becomes obsolete. But look at it quite differently, all the research and effort put into it helped with the decompilations. :)

Now, to answer some of your questions.

There are three decompilation projects:
- pokeruby, which is almost completed although it lacks some documentation pokeemerald has. It allows you to build a ruby/sapphire 1.0/1.1/1.2 version in both English and German
- pokeemerald, which is catching up to pokeruby in terms of code decompilation but imo beats the other simply because of all the plethora of features
- pokefirered, which currently is in an usubale state and waiting for the two above to finish, then it will probably start

Now, you DO NOT need to know C to make great use of the decompilations. Think of it this way, you don't need to know asm to make a great romhack, right? You may use tools, script, map and use existing routines made by other people. It wil be the same with decomps, except asm changes to C.

The new approach will also have many advantages such as:
- no worrying about ANY pointers. That means you can edit any script, whether yours or the one already existing in the game, modify it, make it longer, shorter at any time and it won't overwrite anything.
- replacing graphics is as I said before as simple as changing one image in a folder to another, no hustle with repoiting things in a hex editor.
- no 'free space' concept. The compiler puts everything at run-time, so you don't have to worry if area 0x800000 - 0x8A00000 is free to use or one of the 10 patches you're using occupies it. Naturally, the 32-MB limit is still there but it is far more than enough space.

There's much more to it, but that's a quick run-down. :D
 
510
Posts
11
Years
  • Seen Apr 19, 2024
- pokefirered, which currently is in an usubale state and waiting for the two above to finish, then it will probably start

Speaking of which, this is so frustrating. I'm glad that Red and Crystal are already dissasembled to keep me entertained for a while, but personally, I can't wait for FireRed to be done. Never really cared about Ruby and Emerald. I guess it makes sense to do Ruby before FireRed, but I don't see the advantage of waiting for Emerald.
 
Last edited:
476
Posts
6
Years
  • Age 23
  • Seen Feb 26, 2020
There are three decompilation projects:
- pokeruby, which is almost completed although it lacks some documentation pokeemerald has. It allows you to build a ruby/sapphire 1.0/1.1/1.2 version in both English and German
- pokeemerald, which is catching up to pokeruby in terms of code decompilation but imo beats the other simply because of all the plethora of features
- pokefirered, which currently is in an usubale state and waiting for the two above to finish, then it will probably start

Now, you DO NOT need to know C to make great use of the decompilations.

The new approach will also have many advantages such as:
- no worrying about ANY pointers. That means you can edit any script, whether yours or the one already existing in the game, modify it, make it longer, shorter at any time and it won't overwrite anything.
- replacing graphics is as I said before as simple as changing one image in a folder to another, no hustle with repoiting things in a hex editor.
- no 'free space' concept. The compiler puts everything at run-time, so you don't have to worry if area 0x800000 - 0x8A00000 is free to use or one of the 10 patches you're using occupies it. Naturally, the 32-MB limit is still there but it is far more than enough space.

Kind of wish I knew C so I could contribute to this decompilation, then! Kind of wish I'd heard of this sooner!
 
222
Posts
6
Years
  • Age 22
  • Seen Nov 18, 2023
There's much more to it, but that's a quick run-down. :D

Please, do tell. For example, is music insertion easy now?

Also, HOW THE FUCK DO I INSTALL THIS DEVKITARM WONT BUILD
 
Last edited:
222
Posts
6
Years
  • Age 22
  • Seen Nov 18, 2023
What platform are you using? And can you specify what are the errors?

OSX. I successfully installed dkp-pacman and ran dkp-pacman -S gba-dev.

This is the final portion of agbcc's build.sh:
Spoiler:


and install.sh refuses to run because the path i specify "does not exist" even though it does.

Code:
[B]sudo ./install.sh /Users/hiram/Files/ROMs/Pokeemerald/agbcc [/B]
cp: libgcc.a: No such file or directory
 
Last edited:

Blah

Free supporter
1,924
Posts
11
Years
- no worrying about ANY pointers. That means you can edit any script, whether yours or the one already existing in the game, modify it, make it longer, shorter at any time and it won't overwrite anything.
Pointers are also all over the place. Also XSE seems to handle abstracting the script modification and repointing well enough for the end user not to experience the process by simply ticking a checkbox or using #dynamic. I think you mean to say repointing in general is no longer applicable, which is quite common for things like images, lut tables and scripts.

- no 'free space' concept. The compiler puts everything at run-time, so you don't have to worry if area 0x800000 - 0x8A00000 is free to use or one of the 10 patches you're using occupies it. Naturally, the 32-MB limit is still there but it is far more than enough space.
This is probably the most important one for new hackers. Being able to overlap hack "patches" from different source code projects. Unfortunately, it doesn't work out that easily in practice. You end up getting into beautiful programmer predicaments instead, such as merge conflicts and name spacing issues.

There needs to be a pretty big effort to help the community learn C & overcome the paranoia of programming for these decomps to really take off in popularity. I'd like to see that happen one day, as someone who has tried to teach C on here before.
 
Last edited:
Back
Top