Romhacking => ROM Hacking Discussion => Topic started by: justin3009 on May 18, 2016, 03:43:40 pm

Title: Interesting things in a ROM
Post by: justin3009 on May 18, 2016, 03:43:40 pm
Kind of a spin-off topic to the 'Ever notice weird things in a ROM?' topic, thought it might be fun to post some interesting finds or unique things that go unnoticed, unused or what not!

The first thing I noticed awhile back when I was working on DBZ: Legend of the Super Saiyan SNES RPG, the English translations actually leave out some dialogue.  I cannot remember which exactly, but there were a few more bits of dialogue with Kami and more with Nappa and such too!  This is one of the main reasons why I want to retranslate the game is to figure out what's being said.  Heck, they could even be unused dialogue lines in all honesty!

Super Mario RPG has technically enough room to support another PC.  A few things have to be shifted to fully allow it, but otherwise the basic data to detect what equipment they use and even some space is allotted for it.  The biggest problem there was the sprite data and such.  That obviously does not exist nor is there room for it, but they do leave enough room to state which palette to use, which equipment, and I think some RAM technically as well.  Makes me curious if Luigi was originally going to be apart of it.

Breath of Fire 2.  I just decided to take a look at the Shamanization system in-depth a bit and it turns out that the 'Holy' shaman that gives an unused stat would have actually given a luck boost!  I couldn't understand why it didn't work but it turns out that they have a separate RAM location that stores how much of a boost you get.  Weirdly, it's only read when you fuse and never anywhere else.. which would explain why you'd have to refuse after you level up to get the complete stat changes.  By looking at that though, it turns out that the developers completely forgot to add in a routine that updates the Luck stat which is why the boost never occurs!  I'm half tempted to release a patch to remedy this but it would actually require some guides to rewrite the Shaman stats. 

The system has bits to change for Offense, Defense, Vigor, Wisdom, Luck (Technically), AP and what graphic to use when the form occurs.  What's more interesting is that after the PC graphic there's an unused bit that actually lets you DECREASE stats at your choosing!  I looked through all the forms and this goes completely unused.  I wonder if maybe they had failed forms that would decrease stats or something?  Either way, it's quite handy and I'm surprised they even have it fully coded to work properly too.
Title: Re: Interesting things in a ROM
Post by: Maeson on May 18, 2016, 04:25:33 pm
Very cool find about Breath of Fire 2 :o .

If I can post something too, I want to add something I found, it's not very important or useful, but whatever:

The Gamecube Skies of Arcadia version of the game still has all the VMU menu text and what seems to be part of the data. VMU is the "memory card" used for the Dreamcast, and for mini-games or extras.

There's the saving menu, the minigame text... There's even still what seems to be an option to turn the VMU sound off. I find it pretty amusing.

...Sorry if it's not that great compared to your findings, or that it isn't a rom neither.
Title: Re: Interesting things in a ROM
Post by: justin3009 on May 18, 2016, 04:40:39 pm
I'd say anything and everything goes no matter what kind of thing it is.  That in itself is actually really interesting!
Title: Re: Interesting things in a ROM
Post by: VicVergil on May 18, 2016, 05:31:59 pm
Konami/Capcom/Nintendo devs often leave amusing drawings as placeholders for where graphics (often, sprite text and huge bosses) get loaded in the VRAM.

And the cutscene where the president offs himself in Cybernator is actually present in the English versions and even fully translated (save for two or three lines, including the one using the unique president mugshot). There's even differences between the prototype an the final version where they bothered to try to lessen the impact even further by having the gunshot sound effect removed from that scene (maybe to please NoA's censors benevolent localization adjustment committee?)
In the end, the dialog just before that cutscene had some of its text repointed to use the unrelated soldier conversation in the very end of the suicide cutscene. Said text apparently includes scripting to warp to the room after the suicide cutscene, thus skipping it entirely.
Enjoy: 7E19C60F (US), 7E19D00F (JP). (Seems like quite a bit of the RAM map got changed between versions?)

I wonder if all the text disabled in the localization (most notably the side conversations) could be re-enabled and restored by finding its pointers (even though most of it is no longer there).

One more weird thing is how both the 8x8 and 8x16 font share the same address, which means some character values using either font will display letter fragments from the other.

Similarly, both cutscenes removed from Ganbare Goemon SFC's localization (also translated by Konami, just like Cybernator) are still in the English version. In this case is was a lazy mod changing door values. Only the fart joke one got translated. There's a crash handler for when the text data is corrupt or doesn't exist, where the dialog box is closed and the scene proceeds as normal.

There's a lot of very interesting stuff in the Terranigma ROM too.

The sprite text for the location names could actually hold up to 16 letters (it helps the text often appears in places where there's minimal chances for flickering), them being shortened had to do most likely with there not being enough room in that data bank for the translator's liking... because just after, when translating the item and equipment list where there's dozens of placeholder "nashi" (2 letter only name) dummies doing nothing but crashing the game, they converted every single one to "No description." "Item 255" (every item hex value got converted to decimal), making it much more bloated than it ever needed to be.
So because of this Cristalholm becomes Crysta, among many others.

And everything about the final boss (behavior, scripting, events, sound effects...) is interesting. It's such a shame so many subtleties got lost to what's probably a rushed production schedule.
Title: Re: Interesting things in a ROM
Post by: STARWIN on May 18, 2016, 05:33:35 pm
Characters in Suikoden use PWR stat growth rate for both PWR and HP gains at level up, and there seems to be a byte that looks like an unused HP growth rate in the character struct.
Title: Re: Interesting things in a ROM
Post by: SleepyFist on May 18, 2016, 05:49:56 pm
Legend of Zelda has a space for an extra item graphic between the Rupee and the Key which Im assuming to have been for arrows, there are also 2 transparent tiles in the shared surfacing animation that Zoras and Leevers use
also what the hell is with stepladder restrictions? I cant think of any reason for it and its really thrown a wrench in my map tweaking.

Also I think Ace Attorney: Apollo Justice has something hidden in the video segments(some kind of doodle?) I caught a small glimpse of it thanks to an emulator bug but Im still not sure exactly what it is.
Title: Re: Interesting things in a ROM
Post by: Maeson on May 18, 2016, 06:10:06 pm
Mario & Luigi Superstar Saga US Version has all the languages of the European release, but the game doesn't let you choose. Also, enemies don't have any offensive stats, the power comes from the attacks themselves.

Dual Orb II (SNES) way to give characters spells is rather weird: Each character has a table with every single spell in the game, one byte each. The ones they learn have a value of the level they get it (Let's say, if one character learns something at Lvl15, it would have an 0F in that table).

Curiously enough, to make a character unable to learn a spell the developers just put the ones the character shouldn't get to be able to learn at lvl 100, a level you can't reach, so you'll see tons of 64s amassed together.

Kind of  a waste of space, but it's fun for hacking as you could give all the spells you wanted to a character without ever worrying or repointing.
Title: Re: Interesting things in a ROM
Post by: justin3009 on May 18, 2016, 06:38:03 pm
That Dual Orb II one is actually REALLY interesting.  I've never heard of a table like that before.  That's a lot of wasted space but it's also incredibly unique and a really fun idea on it's own honestly.

Oh!  Tales of Destiny PS1 has voice spells for every PC in the game, minus Lilith.  This even includes Kongman, Chelsea and Mary!  Also, it seems most characters have repeated voices of the same spell which was probably them trying to get the proper recording to use.  Stahn has the most though, he actually has 5-6 variations of his normal attack voice along with Dankuuken among others.  They also have voices for EVERY SPELL IN THE GAME!  Tales of Phantasia only has the enemies doing that (Including the PSP ports WITH NEW VOICE ACTORS!)  Tales of Eternia has every spell voiced for PCs that can spell cast and all enemies, except certain spells that were specific only to certain characters.

Curiously enough as well for Tales of Destiny, it seems they programmed a method to skip battle if the characters have the wrong weapon types equipped.  IE: Chelsea with a sword equipped will force the battle from ever loading.  By modifying some code, you can actually force them to load in battle.  You can even get them to spell cast, although, the voices won't show up.  Better on that, they will NOT spell cast unless you're controlling them (If I remember right), otherwise they just stay in a spell cast pose forever.
Title: Re: Interesting things in a ROM
Post by: henke37 on May 18, 2016, 06:47:11 pm
The Apollo Justice "doodle" is not an emulator bug. It's a game bug. One of the image files is truncated. This leads to the load ending prematurely and leaves the previous background in VRAM, the defense bench bg. But what the game does have is a scratched out cutscene image.
Title: Re: Interesting things in a ROM
Post by: ThegreatBen on May 18, 2016, 07:07:18 pm
 Breath of fire 1 has the exp tables for each character twice one for the amount shown on screen and another for the actual functional value. 

Also since you brought it up, have you continued work on the Smrpg 6th character? I still check acmlm every couple months just to see if you've updated it.
Title: Re: Interesting things in a ROM
Post by: justin3009 on May 18, 2016, 08:19:51 pm
I haven't yet.  I'm thinking of going back and finishing it up sometime since bSNES+ is capable of tracing the SA-1 chip, which is what prevented me from finishing it in the first place.  I think the only real thing I had left to do minus bug fixing was to move the weapon scripts so Daisy could have her own, minus the inclusion of her somewhere in the game.
Title: Re: Interesting things in a ROM
Post by: ThegreatBen on May 18, 2016, 08:40:28 pm
I would say right after Mac since there is a big chunk of the game where it's just Mario and Mallow then the last 3 characters join in fairly rapid succession after that. Also sorry for derailing your topic.
Title: Re: Interesting things in a ROM
Post by: justin3009 on June 06, 2016, 05:56:13 pm
Popping this back up while still working on Breath of Fire II.  I'm going through some dialogue at the moment to see where I can separate spell descriptions and stuff.

Just found out that it looks like we have some unused spell description data for Ryu's dragon attacks!

'A breath of fire' Single
'A breath of ice' Single
'A breath of electric' 'Sngl'
'A breath of fire' All
'A breath of ice' All
'A breath of electric' All

This one I found the most interesting which ends up being for G.drgn.

'A breath of supremacy' All

It all links up properly with Ryu's spell description data.