aarant / luvdis

Pure-Python Game Boy Advance Disassembler
MIT License
39 stars 2 forks source link

Support Disassembling ARM mode #3

Open aarant opened 3 years ago

aarant commented 3 years ago

Although the vast majority of assembly code for the GBA is run in THUMB mode, there are some key sections of code in ARM mode, namely the initial function called at bootup, which in a sense is the "root" of the call stack for any running game. Being able to disassemble this function and ARM mode code in general would enable better function discovery, and the possibility of developing an heuristic to tell ARM and THUMB mode code apart.

ARM mode is notably more complex than THUMB mode: https://problemkaputt.de/gbatek.htm#arminstructionsummary

so this will take some time to implement.