+  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)
Rai
Guest
« on: November 23, 2007, 10:36:00 pm »

So I'm working on this SNES game called Romancing Saga and there are just some parts where I need to add either maybe just one bit of space and some parts where I need to add several pieces of space. However, I know when you add space manually, the game gets screwed up because of pointers and everything. I tried to figure out how to calculate pointers myself earlier, but I could never understand them. The game itself has a lot of space to input text, but there are some places in the dialogue and maybe in monster names and item names, where space just needs to be added.
Sliver X
Guest
« Reply #1 on: November 23, 2007, 10:49:21 pm »

This is going to be great! I can't wait for the release!  Cheesy
Shadowsithe
Guest
« Reply #2 on: November 24, 2007, 12:15:37 am »

Space like physically on the screen?
Ryusui
Guest
« Reply #3 on: November 24, 2007, 04:55:03 am »

You, my friend, need to be introduced to the marvels of script extraction and insertion.

...Their names are Romjuice and Atlas, respectively. :3

Romjuice will take a table and a ROM and rip every character of a game's script between the addresses you specify. The end result is something you can work with in a text editor (preferably something like JWPce). You can then format it into a proper Atlas script file, which tells the killer inserter exactly how you need it to be done. Provided you place the proper tags where needed, it even makes pointers a non-issue.

As for actual ROM space...that can be problematic. For starters, make sure your script doesn't overflow bank boundaries. Your text can be parked around bank boundaries, but you can't have a string running between banks. (Well, you can in theory, and some games do check for bank boundaries from what I've heard...but I wouldn't press my luck here.) For seconds, whether or not you can pad the ROM out with extra space depends on what kind of pointers you have. If the pointers are 24-bit/3-byte, which should include a bank byte, you shouldn't have to do anything extra. If they're 16-bit/2-byte, meaning the bank addresses are not stored in the pointers themselves...well, that's gonna take some serious ASM work.
creaothceann
Guest
« Reply #4 on: November 24, 2007, 08:20:52 am »

Quote from: Rai on November 23, 2007, 10:36:00 pm
several pieces of space

 Cheesy
KaioShin
Guest
« Reply #5 on: November 24, 2007, 09:14:38 am »

Quote from: Rai on November 23, 2007, 10:36:00 pm
I tried to figure out how to calculate pointers myself earlier, but I could never understand them.

Just try it again. There is no other way.
RedComet
Guest
« Reply #6 on: November 24, 2007, 09:17:33 am »

Quote from: creaothceann on November 24, 2007, 08:20:52 am
Quote from: Rai on November 23, 2007, 10:36:00 pm
several pieces of space

 Cheesy

Lay off him, guys. If you don't have something useful to say, don't say anything at all (rule 6).

Rai, if you want to do anything at all with the translated text, you must deal with pointers. There's just no way around that if you want to have strings that are longer/shorter than what's already there or if you want to expand the rom and move text around. Which is basically what Kaioshin said while I was typing this reply.
Rai
Guest
« Reply #7 on: November 24, 2007, 11:37:16 am »

Yeah, but I read a document on pointers and it made absolutely no sense when I applied the techniques to the actual game. But really there are only a few spaces that really need expanding in the game.

For instance...

N きょうはどうだった?

How was the present, N?

There's no way the English will fit in the Japanese text.
Shadowsithe
Guest
« Reply #8 on: November 24, 2007, 11:43:03 am »

Back to what Ryusui said, you have to stop looking at the game in terms of strings and start looking at it as a script.
Rai
Guest
« Reply #9 on: November 24, 2007, 01:09:11 pm »

Still have no idea what you mean though. I have the games script where I have the games script to where I can edit it in JWPCE. So what do you mean? Like editing it from JWPCE directly into the game or something?
Disch
Guest
« Reply #10 on: November 24, 2007, 01:16:03 pm »


1)  Use ROM Juice to create a text file containing the script

2)  Edit that script with whatever text editor (such as JWPce)

3)  Use Atlas to reinsert script into ROM
Lenophis
Guest
« Reply #11 on: November 24, 2007, 01:20:25 pm »

Quote from: Rai on November 24, 2007, 01:09:11 pm
I have the games script where I have the games script to where I
*brain asplodes*

Quote
can edit it in JWPCE.
Cheesy

Ok, let's start with an easy one. Do you know where the pointers are, that you are having such trouble with?

Nevermind. You should at least identify what kind of pointers they are before trying to re-insert. Less chance of breaking that way. Wink
« Last Edit: November 24, 2007, 01:26:02 pm by Lenophis »
KungFuFurby
Guest
« Reply #12 on: November 25, 2007, 11:06:31 am »

I have no idea how to make a table... but I know an application that uses tables for the Mac OS X. That is MacThing. The format that MacThing uses for tables is .tbl.
Deathlike2
Guest
« Reply #13 on: November 25, 2007, 01:50:13 pm »

Quote from: KungFuFurby on November 25, 2007, 11:06:31 am
I have no idea how to make a table... but I know an application that uses tables for the Mac OS X. That is MacThing. The format that MacThing uses for tables is .tbl.

That's not what tables mean in this instance (as in a database). He's talking about data location and mapping/documenting this info.
Rai
Guest
« Reply #14 on: November 25, 2007, 01:53:45 pm »

Back on topic... So if I got this romjuice thing or whatever... Would I be able to add maybe 1 or 2 spaces into the game without worrying about pointers or would it simply make it easier for me to repoint stuff?
Pages: [1] 2  


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