RetroSven / ult3gbc

Ultima 3 port to the Gameboy Color
GNU Affero General Public License v3.0
14 stars 2 forks source link

U3 Decompile #5

Open Fenyx4 opened 3 weeks ago

Fenyx4 commented 3 weeks ago

How did you decompile U3? I've been trying to do it but none of the decompile tools seem to understand the EXODUS.BIN file.

RetroSven commented 3 weeks ago

It's been so long that I don't remember. However, I suggest googling "dos disassembler". Here's a reddit that seems to have some good suggestions:

https://www.reddit.com/r/asm/comments/ig8u5p/best_disassembler_for_old_dos_games/

I do recall that the end-result was simply a disassembly of the executables into raw x86 assembly commands (i.e. machine code). You'll need to have an understanding of x86 assembly language in order to do anything meaningful with the results. Perhaps there are much more sophisticated utilities out there now that will attempt to convert to a higher level language that's more understandable, but at the time it took me a long time to digest the output and make sense of it. I remember painstakingly renaming certain jump-points (routines/methods/calls) once I had a clear understanding of what it was and annotating the calls with the mnemonic (e.g. everywhere there was something like "call 0x3625" I'd annotate that with "consume food"). Once I started filling in things like that, the "big picture" became more and more clear.