+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Adding space in an SNES game?
Pages: 1 [2]
Author Topic: Adding space in an SNES game?  (Read 1129 times)
RedComet
Guest
« Reply #15 on: November 25, 2007, 02:01:06 pm »

Read and reread the documents on pointers until you understand them. That's the best advice anyone can give you. While you're at it, read (or reread) the documents on script dumping, because you obviously don't understand what romjuice (or any script dumper for that matter) is supposed to do if you have to ask that question.
Rai
Guest
« Reply #16 on: November 25, 2007, 02:06:09 pm »

But see, I can already dump the script. I'm confused on what you're trying to say. I can dump the script(Most hex editors can), so how is something like Romjuice going to further help? And I'll read the documents again, but mostly if it made no sense to me the first time, it won't make sense the second time.
RedComet
Guest
« Reply #17 on: November 25, 2007, 02:16:24 pm »

Quote from: Rai on November 25, 2007, 02:06:09 pm
But see, I can already dump the script. I'm confused on what you're trying to say. I can dump the script(Most hex editors can), so how is something like Romjuice going to further help? And I'll read the documents again, but mostly if it made no sense to me the first time, it won't make sense the second time.

Then re-read it until you do. Isolate the parts you don't understand and then ask a question on the forum. Tell us why you don't understand it, what you think that part means, and people here are more than willing to help. Having an attitude that "if I don't get it the first time, I never will" won't get you very far in anything worthwhile (romhacking or otherwise).
creaothceann
Guest
« Reply #18 on: November 25, 2007, 06:40:26 pm »

Quote from: Rai on November 25, 2007, 02:06:09 pm
I can dump the script (most hex editors can)

"Dumping a script" means having a program that can extract the script automatically. Just a hex editor is too generic.


Quote from: Rai on November 25, 2007, 02:06:09 pm
if it made no sense to me the first time, it won't make sense the second time.

That's only true for some smaller topics, which you can keep in your head entirely.

Oftentimes a topic is so extensive that you can't grasp it at once. But while you're reading it you'll get familiar with it. After the first reading through you might already have enough knowledge about the facts and the interactions between them that a second reading answers a lot of the remaining questions. If not, try thinking about it some more, try some things out, or get more reading material.
KungFuFurby
Guest
« Reply #19 on: November 25, 2007, 08:01:10 pm »

Yup, hex editors only work for ASCII. I know this from grabbing text from games.
creaothceann
Guest
« Reply #20 on: November 25, 2007, 08:27:27 pm »

You could also have hex editors that work with non-ASCII characters.

Anyway. Script dumpers are specific to one (or a few) games, regardless of ASCII or not.
DarknessSavior
Guest
« Reply #21 on: November 26, 2007, 09:37:50 am »

I recently dealt with this problem in my Demon's Blazon project. It's going to take ASM work, eventually.

First, you should try and figure out the pointer system. If you can't figure out the pointers the easy way, you either don't understand them enough, or you ran into a non-standard system. That's where the ASM comes in. You need to set a read breakpoint for a string of text (say, the first bit of dialog) and then step-through the font routine until you have a good general understanding of how it works. You should look for something in the routine that loads the SNES address for that string. Lets say the SNES address was BE1000.

Code:
LDA $BE (or $BE00, depending on whether or not A= 16 or 8 bits)
STA $(some number), x
LDA $(second number), y
STA $(third number)

(Note: A will change to the last two bytes of your SNES address after the second LDA, so in this case A would be $1000.
It's getting the $1000 from "(second number)". This is where your pointer table is.)

When you see some section like that, you can determine where the pointer table is located. Unless it's super complicated. This is probably the simplest type, as far as ASM goes. Also, if you were to expand the game later, and want to change the location of the pointer table, simply change first instruction (which would be the bank byte) to whatever else you want, and use Atlas to auto-write the new pointers in the location of your choosing.

Hope that makes sense. I'm quite tired, so it may be slightly incorrect. If it is, someone please point it out. =D

~DS
Pages: 1 [2]  


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