Home › Forums › Destiny of an Emperor › Moved: Destiny of an Emperor ROM Hacking Guide
- This topic has 6 replies, 4 voices, and was last updated 14 years, 7 months ago by
MiDKnighT.
-
AuthorPosts
-
October 17, 2011 at 2:08 pm #5223
MiDKnighT
Moderator"Destiny of an Emperor ROM Hacking Guide" has moved to:
http://www.lordyuanshu.com/forums/topic/destiny-of-an-emperor-rom-hacking-guide-1
Due to lack of space in post.
October 17, 2011 at 2:39 pm #39546sonic.penguin
ModeratorHehe, very nice, now just a few more suggestions and…
October 17, 2011 at 3:22 pm #39547MiDKnighT
ModeratorQuote:#7 makes it look like you got lazy lolI can't include the "History of Computer Science" all in one thread lol…
October 17, 2011 at 4:37 pm #39548Zhuge Liang
ParticipantWhat a great effort you spent to write this guide. I'm highly appreciated your work.
DoaE gave birth to Huo Hu.
October 17, 2011 at 5:21 pm #39549MiDKnighT
ModeratorQuote:What a great effort you spent to write this guide. I'm highly appreciated your work.Thank you sir. There's still plenty more that isn't in this guide yet that I will add later. But this should be a decent start… :-)
October 17, 2011 at 6:37 pm #39550Lord Yuan Shu
KeymasterYea, great work compiling this info MiDKnighT. Funny thing is this forum has so much valuable information for DoaE hacking, but so much of it is scattered randomly like in our own rom threads. It's great to have a centralized page like this.
Welcome to Lord Yuan Shu Walkthrough Guides ·
Huo Hu's Adventure started Destiny of an Emperor hackingOctober 17, 2011 at 8:22 pm #39551MiDKnighT
ModeratorRan out of space in the first post. I knew that would happen eventually…
10. ADVANCED ROM DEBUGGING
Need to figure out something that nobody has figured out yet? Ready to contribute some major information to the DoaE ROM hacking effort? You'll need to use a debugger!
I recommend FCE Ultra 2.0.0. Tools that can be used:
Debug –> Hex Editor –> View –> NES Memory
Debug –> Hex Editor –> View –> ROM File
Debug –> Debugger
Debug –> Trace Logger
Tools –> Memory Watch
Mainly the whole approach to debugging is that some value happens (like damage, or some portrait ID that's being loaded, or how long the smoke pot lasts, or whatever). Typically the important value we speak of is stored near the top of the memory stack in the zero page. Usually somewhere in values $0000 to $00FF. You can watch these areas of memory either with "Debug –> Hex Editor –> View –> NES Memory" or "Tools –> Memory Watch". If you can get lucky enough to see the value you're looking for right away, good for you. Then you'll have to test it by switching that value around (if possible). Does it change the behavior? You may need a debugger, the trace logger, or some other option if it is difficult to find your value in memory. Once you find the value in memory and confirm it's the right one, then you have to find out how that value got there. That's where the assembly fun kicks in. Ideally you can use the debugger to trap where the value gets set. You can do this by setting a break point. Add the break point to say…watch $0015 to see when it gets set to "C0". Add $0015 in both address fields, click the "write" button, then in the condition field say "$0015 == #C0". Then hit run. Now do whatever needs to be done in the game and the debugger should stop the game once that condition is met in the debugger. Now you can try to back track in the debugger to see how the value got set or to get everything you might need the Trace Logger. Note that you can't really run the Trace Logger for more than a few seconds or you will end up with megabytes and megabytes of trace. I'll add more details and pics to this section later…
-
AuthorPosts
- You must be logged in to reply to this topic.

