need a bit of guidance trying to decomp ACWW

  • Thread starter Thread starter catchy0981
  • Start date Start date
  • Views Views 415
  • Replies Replies 1
  • Likes Likes 1

catchy0981

New Member
Newbie
Joined
Jul 15, 2025
Messages
1
Reaction score
1
Trophies
0
Age
36
XP
18
Country
Netherlands
hey folks,

i realise that the thread title is a bit of an ask.. ACWW is one of my fav games of all time and so i would like to dedicate some of my free time into decomping it, but i haven't seen any decomp projects for it yet

through ndsdis2, objdump etc i seem to be able to stumble across the finish line and seem to get 'correct' arm9 code (verified via ghidra w/ the nds plugin), i'm also aware of the overlays and thumb vs non-thumb mode (although i can't seem to figure out which applies for a specific overlay/file), but have yet to meaningfully touch them

i have a few assorted questions on this process -
  • function symbols: is there any tool that can autogenerate function symbols for when the asm code jumps? one of the biggest struggles i'm facing is that ghidra can show me where somewhere jumps to, but no asm dumper seems to be able to do this, so i'd either need to export the asm from ghidra (which seems to actually be mostly junk) or write a tool to add these in to aid in decomping?
  • process for getting started: looking at a few decomps on github, the first few commits basically seem to be dumping the ASM and then configuring a toolchain to get a build working, but oftentimes these dumps already have function symbols / macros / etc - are they using any specific toolchain to dump ASM? i did try a version of IDA pro but tbh it left me with more questions than answers :) i'm especially interested with any tips to figuring out which compiler/flags will be needed to generate a matching binary, or if that's really just trial and error?
  • dealing with illegal instructions: i'm not sure if this is down to my rom being not 100% or something else causing this, but no matter what i use i seem to get a lot of illegal asm instructions, are these just compiler noise?
i appreciate that even starting a decomp is a lot of very specialised work but i am a reasonably capable dev with a lot of free time and a genuine desire to learn this kind of stuff :D

thanks all!
 
  • Like
Reactions: Greninji88
note: because I'm a scrub user I can't post URLs yet, so they're broken, but you can fix them

I've just started with decompiling Air Traffic Chaos. It seems like a fairly good first project because (apparently) it was written in C (and not C++) which simplifies things a lot. I've done a bit of poking in Ghidra, and that's a really good start. Rename some functions and variable names and check which funtions that call them. At least that helped me a lot.
i-found-memcpy.png

Finding memcpy was a very happy moment.

I'm currently setting my project up and compiling and inserting a C version of memcpy() will be the first thing I do.

Did you manage to unpack and re-pack the game to get back the original yet? You should be using ds-decomp for this. You will also be needing an arm7 bios file in order for this to work properly:

github_com_AetiasHax_ds-decomp

My project is quite early. Still haven't ran the C compiler yet, but if you keep track of me you'll see it happen sometime soon:
github_com_sasja-san_atc

Other projects (Phantom Hourglass) use a lot of tools like ninja, and a python script to create the ninja script. I would like to keep it all to a minimal and explicit, so I only have a Makefile - and hope to keep it that way.

If you look in my Makefile you'll see the shortcut commands I've made. You can use them to get all the way to getting a giant assembler file.

Happy hunting!
 

Site & Scene News

Popular threads in this forum