+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Zelda 3 hangs after Ganon's third ground pound
Pages: 1 [2]
Author Topic: Zelda 3 hangs after Ganon's third ground pound  (Read 2 times)
Smirgu
Guest
« Reply #15 on: December 01, 2008, 12:18:03 pm »

Quote from: MathOnNapkins on December 01, 2008, 11:27:11 am
Much like Tauwasser's gut told him, my gut told me it was a problem with the scrolls getting out of hand. I've been hacking this game for years so I know my way around. In this case it was the BG2 offset at RAM locations $7E011A and $7E011C (going off memory here). These numbers get added to the Y and X scroll values, respectively, for the screen. It causes the "quaking" look on the screen by quickly alternating between -1 and +1. I tracked down in the code of the game where $7E011C was being written to during the Ganon fight. I used a write breakpoint on 7E011C in Geiger's Snes9x Debugger. From there I determined (by going backwards) that the values for the scroll offsets were being read from CPU location $1D8000 (which translates to $E8000 in the rom). You have to know 65c816 assembly language fairly well to understand what's going on though. After I determined that those numbers were nonsense I looked at a clean rom and just copied them over to test it out. I surmise that the source of this problem was Hyrule Magic screwing up on monologue b/c you said your hack had extensive monologue changes (it's a translation after all) and by the fact that 7F is the byte that in the monologue data indicates "end of message" and that 80 indicates "go to the second set of monologue data". It's just too much of a coincidence for it to be anything else, I think.

As for the crashing itself, it seemed to be random whether it occurred at all. I didn't bother looking any further what was specifically crashing in Ganon's code due to the scrolls being off b/c I was sure this was the answer.

Thanks for the clarification. Still one question, although this has nothing to do with the original problem. You apparently know Zelda3 pretty well. Is there some kind of a Zelda 3 rom map somewhere in the net? At least the "Copy ok" and "Erase this player" which are not accessible with the normal tools of Hyrule Magic would be nice to find. Other things might be interesting to explore experiment with as well.
MathOnNapkins
Guest
« Reply #16 on: December 01, 2008, 01:04:52 pm »

http://www.romhacking.net/docs/365/

Those are my documents, though they're a bit out of date, probably should update them soon. There's a ROM map in there but I'm not terribly proud of it. I've put a lot more effort into the RAM maps (RAM and (SRAM)).

I also have a full disassembly of all the code in the game which is not on romhacking.net. I've long thought about posting it but I've been hesitant over legal concerns, but last I talked to Nightcrawler he thought it would be all right as long as it didn't contain a fully compilable document that one could use to create a rom.

Finding the "copy ok" and "erase this player" text would probably be pretty easy. I'm kind of surprised it isn't in Hyrule Magic... are you positive it's not in there?
Smirgu
Guest
« Reply #17 on: December 02, 2008, 02:50:15 pm »

Quote from: MathOnNapkins on December 01, 2008, 01:04:52 pm
http://www.romhacking.net/docs/365/

Those are my documents, though they're a bit out of date, probably should update them soon. There's a ROM map in there but I'm not terribly proud of it. I've put a lot more effort into the RAM maps (RAM and (SRAM)).

That's an interesting documentation - even if (like you said) there are holes in the rom department.

Quote
I also have a full disassembly of all the code in the game which is not on romhacking.net. I've long thought about posting it but I've been hesitant over legal concerns, but last I talked to Nightcrawler he thought it would be all right as long as it didn't contain a fully compilable document that one could use to create a rom.

Finding the "copy ok" and "erase this player" text would probably be pretty easy. I'm kind of surprised it isn't in Hyrule Magic... are you positive it's not in there?

Yep. They are not in the monologue. Actually I think they are graphics in the way all the other start menu stuff appear to be.  The difference is that all except these two appear in Hyrule Magic.

Another thing is the item menu. It looks like apart from "bow and arrows", "boomerang" and "bug-catching net", all of the item names are created by referring to another textual graphic reference. These three just have such long names that they have individual graphics. In order to change the others I would at least need to know where they are located in the rom.

ps. a surprising and a bit awkward thing is that now I can't even find where I could change the graphics for the other things (like the word "equipment") in the item menu screen! Cheesy I remember from three years ago that there was a place for this graphic somewhere, but now I just can't find it.
MathOnNapkins
Guest
« Reply #18 on: December 03, 2008, 04:11:27 pm »

I'm guessing you changed the equipment graphics in hyrule magic using the graphics properties dialog.

I'll find those two strings for you "copy ok?" and "erase this player?" for you. Is anything else holding up the release of the translation?
Smirgu
Guest
« Reply #19 on: December 04, 2008, 08:31:02 am »

Quote from: MathOnNapkins on December 03, 2008, 04:11:27 pm
I'm guessing you changed the equipment graphics in hyrule magic using the graphics properties dialog.
I'll check that later again.

Quote
I'll find those two strings for you "copy ok?" and "erase this player?" for you. Is anything else holding up the release of the translation?

Thanks. Well, the item names haven't been translated (apart from the aforementionled long-named exceptions), so locating them would be nice as well.
MathOnNapkins
Guest
« Reply #20 on: December 05, 2008, 05:10:22 pm »

I'm not really sure what method you were using to change the text. Probably a table file? Anyways I'm pretty sure I've located those two strings.

"erase this player?" is at 0x06541E, length 0x64
"copy ok?" is at 0x06523A, length 0x30

(assuming no header)

Now it's not so simple to modify this data correctly. There's actually several different sets of data in those sets. Also, the top row of 8x8 tiles is copied first, then the bottom row of 8x8 tiles is copied. Without knowing exactly how you plan to modify this I'm not really sure what to tell you. It's editable but you need to be careful or you might crash the game (just trust me, I did it on accident while playing around with this a handful of times.) So without knowing the text you want to change it for it's kind of hard for me to tell you what to do just yet :/.
Smirgu
Guest
« Reply #21 on: December 06, 2008, 09:22:28 am »

Quote from: MathOnNapkins on December 03, 2008, 04:11:27 pm
I'm guessing you changed the equipment graphics in hyrule magic using the graphics properties dialog.

This is rather awkward but I still can't figure where I found that. Smiley I've checked the graphics tiles available for the menu screens many times but can't find it there, and it's not in the world map graphics either. What do you mean with the graphics properties dialog?

Quote from: MathOnNapkins on December 05, 2008, 05:10:22 pm
I'm not really sure what method you were using to change the text. Probably a table file? Anyways I'm pretty sure I've located those two strings.

"erase this player?" is at 0x06541E, length 0x64
"copy ok?" is at 0x06523A, length 0x30

(assuming no header)

Now it's not so simple to modify this data correctly.
Yep. Didn't think it would be easy, though was kind of hoping that in the data section there would be nothing else and that you could somewhat easily experiment and see the effect of changing a byte (like the upper 8x8 tile changing to another tile), and thus slowly create what was wanted in the first place. Now I tried something but only noticed that changing the first byte kind of screws one graphics row above the "erase this player" or "copy ok" text. From a couple of other tests I couldn't find any changes.

Quote
There's actually several different sets of data in those sets.
You're saying the byte chunk that contains the text "erase this player" also contains other stuff? Hmm, interesting.

Quote
Also, the top row of 8x8 tiles is copied first, then the bottom row of 8x8 tiles is copied. Without knowing exactly how you plan to modify this I'm not really sure what to tell you. It's editable but you need to be careful or you might crash the game (just trust me, I did it on accident while playing around with this a handful of times.) So without knowing the text you want to change it for it's kind of hard for me to tell you what to do just yet :/.

What I want to change it to, kind of depends on how hard it is. The first could be as simple as "poista" and the latter as simple as "ok".
Pages: 1 [2]  


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