+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Another n00b question: how to modify DTE
Pages: [1]
Author Topic: Another n00b question: how to modify DTE  (Read 2 times)
Rappa
Guest
« on: March 06, 2009, 09:49:56 pm »

Hi

I've encountered a Rom whose table looks like this


Code:
10=a
11=b
12=c
13=d

And so on. It also includes the DTE like

Code:
BF00=abc
BF01=ad
BF02=cd
BF03=bad

And so on. I found an area in the Rom that stores the said DTE as text, abc, ad, cd, bad,....... All have pointers point to them. So this is called the Library DTE, right?
Ofcourse, if we modify these, the DTE displayed to the screen corresponding to what we changed it. But
I want to ask that how can I modify the hex that prints DTE to the screen, say, BF00 into bad, cd or anything else instead of abc.

I guess that when the games sees BF00, it will look for the pointer of abc, which points to hex 10, 11 and 12 to display abc. But I can't find the are that has any link between BF00 and abc. So I wonder wethere I'm thinking right or not.

Thank you very much for reading.
Ryusui
Guest
« Reply #1 on: March 06, 2009, 11:03:18 pm »

Well, we'd call it the game's dictionary table, but you're not far off.

What you'll be looking for is a brand-new set of pointers, probably close to where you found the table. Once you've found them, you should be able to modify the dictionary table like any other piece of text.
Tauwasser
Guest
« Reply #2 on: March 08, 2009, 02:20:09 pm »

He already found that table. He's looking for info how to edit the regular hex-codes.

@OP: Try to find the font as graphic in the rom and then see if the values line up with the image. If so, change the image and you can add and delete letters etc. at will.

cYa,

Tauwasser
Gideon Zhi
Guest
« Reply #3 on: March 09, 2009, 06:50:04 pm »

Quote from: Rappa on March 06, 2009, 09:49:56 pm
I guess that when the games sees BF00, it will look for the pointer of abc, which points to hex 10, 11 and 12 to display abc. But I can't find the are that has any link between BF00 and abc. So I wonder wethere I'm thinking right or not.

You're on the right track. The BF in this case is a trigger byte, while the 00 is a parameter, which looks up the 00th entry in a pointer table which itself should point to abc. 01 is an index for the 01th pointer, which then points to ad, and so on.
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC