Thread: [Tool] GameBoy Assembler Plus
View Single Post
Old July 8th, 2012 (12:08 AM).
Lin Lin is offline
JohtoMap/ZOLE Creator
Join Date: Jul 2007
Nature: Adamant
Posts: 51
Send a message via Windows Live Messenger to Lin
Originally Posted by Chaos Rush View Post
I noticed that one of the features is "disassembling". Does this mean we can create a disassembly of any Game Boy game?
Because of the possibility to jump to and call the HL register, no. You could come somewhat close if a full emulator was implemented, but even then, there are procedures that depend on memory address values, which determine the value of HL. For example, the scripting system in the Oracles series. The RST 00 procedure uses a pointer table that's specified right after the command is set to be executed. There is no way to emulate every value without some sort of user input. However, this doesn't mean you can't disassemble certain procedures. For example, the procedure shown in the screenshot was the start of the graphics decompression procedure in Oracle of Ages and all I did was have it trace starting at 69C.

Originally Posted by Darthatron View Post
Long time no speak, Lin! Glad to see you're still working on tools. ^_^ This looks good, I hope you won't mind showing me the source. Haha.
Indeed it has. I don't mind, but I'll have you know the GUI stuff isn't pretty. Here are the assembler and disassembler classes and the ugly code used to assemble (includes the dynamic labeling).

Code used to do the assembling

Not the best, but it works. I definitely could've cleaned it up and optimized it, but I didn't plan on taking the program this far.
Hiidoran is one of the most helpful people on here
Reply With Quote