Remove the ability to go back to the light world with the mirror

View previous topic View next topic Go down

Remove the ability to go back to the light world with the mirror

Post by Pajderman on Fri 11 Oct 2013 - 8:04

Hi everyone!
Me and my wife have been "hacking" Zelda periodically for the last 2 years or so.
Mostly we have worked on the overworld (which is about 70% complete in the light world) and only made a few dungeon rooms. Will probably spoil some of it one of these days. Wink 

I like the mirrors ability to come back to a dungeon entrance and wish to keep it, but i am not equally fond of the main use for it, to switch back to the light world. In our "hack", or remodeling as I prefer to call it, the dark world will look vastly different and using the mirror makes the player able to reach places yet to be discovered the "right" way. Instead of the mirror the switch between the worlds is made at fixed locations with the warps.
I have only tested this briefly and is not sure if warp gates work the same when used in the dark world to reach the light world, or if some not so logical f-ups happen to the game.

I imagine this to not be such a difficult change since it only is about removing something and not adding something new. If not the entrance somehow share the same value as going to the light world and removing one means removing the other.  
Wanted to learn ASM and saved some tutorials from the irc-chat workshop but I do not understand so much. It seems totally different from the type of programming I am used to in Java and the like.

2 days on the forum and already making a request, seems somewhat greedy, but at least it is not the first post I make.

Pajderman
                              
                              

Since : 2013-10-09

Back to top Go down

Re: Remove the ability to go back to the light world with the mirror

Post by Euclid on Fri 11 Oct 2013 - 9:30

welcome to the forums! i'm guessing seph invited you?

it's actually rather simple to keep the mirror functionality if you know a bit of assembly - PW has it done, and it's restricted to a certain area (the triforce area in Area 04), PW goes a bit further and makes it usable only within the X/Y coordinate of the triforce logo.

Assembly is pretty much the same as in Java/c++/etc - the difficult part is knowing what variables you have to work with. The simplest way to describe Assembly is that you have 3 variables to work with (called, A, X and Y), there are programming instructions to load these variables from a file (the rom/memory addresses), perform arithmatic, and compare the values + if (branch) + goto (JMP/JSR) statements.

In your case i can point you to the following assembly which is ran when the mirror is used.

07/A94F: A5 8A LDA $8A
07/A951: 29 40 AND #$40
07/A953: D0 07 BNE $A95C

We know (look for Math's RAM Map documentation) that $8A contains the value is the current area link's in, we then perform a binary AND and branch if it's not equal to zero (BNE)

so you read the code like this
Code:

If Area link's in & 0x40 is 0 then
- code flows through
else
- branches
So what does & 0x40 mean? if you think about it you'll find that Area 00 to 3F is light world, Area 40 to 7F is dark world. so the area & 0x40 != 0 means link has to be in area 40 to 7F for this branch to happen.
Code:

If link's in dark world then
- code flows through
else
- branches
We know the mirror never works in the light world, so if the code always follows through the path to the way which is always in the light world, you would've achieved your goal.

So therefore to do that is to make sure the code ALWAYS flows through, namely the following instruction

07/A953: D0 07 BNE $A95C

to disable the branch, we need to overwrite the 2 bytes of code here (D0 and 07) with some NOP (no instruction, byte EA) - so the code execute through thinking the branch is not there

so therefore to disable the mirror in the overworlds, do
07/A953 EA EA
Or in rom address (headerless speak, use lunar address to convert)

0x3A953 - D0 -> EA
0x3A954 - 07 -> EA
avatar
Euclid
                        
                        

Since : 2012-06-21

Back to top Go down

Re: Remove the ability to go back to the light world with the mirror

Post by Pajderman on Fri 11 Oct 2013 - 11:26

My brother gave me a tips of this forum. He goes by the name tompala. I think somewhere that seph suggested to invite me, so here I am. Since tompala creates speed runs of the game his knowledge of zelda surpasses mine big time.

Awesome that it works and also is so easy! And thanks for the detailed explanations. Sort of ingenious to make it always take the light worlds path. Did not know that the mirror worked that way in PW. Do not kill me now, but I have actually not played PW or any other hack for that matter. Have tried a few but never finished any. I use them mostly for inspiration and at the same time make sure i do not copy what others have made.

The information provided by this site and the excellent new Orochimarus compendium will probably keep me busy for a year or so. Things happen but it takes time. But I will have a world map by the end of the year. Mark my word, and pray that I do not need to eat them up as new years dinner.

Pajderman
                              
                              

Since : 2013-10-09

Back to top Go down

Re: Remove the ability to go back to the light world with the mirror

Post by Erockbrox on Fri 11 Oct 2013 - 18:04

Welcome to the board.

Wow, your wife and you are both creating a Zelda 3 hack. That's pretty interesting.

Tompala.... that name seems familiar, oh yeah, I actually contacted him and told him some detailed information about Zelda 3 to help his speed run.

avatar
Erockbrox
          
          

Since : 2013-02-05

Back to top Go down

Re: Remove the ability to go back to the light world with the mirror

Post by SePH on Fri 11 Oct 2013 - 19:28

Hello and welcome here Smile

Enjoy your stay Pajderman and feel free to ask as many questions as you like, the whole purpose of our secret hidden message board is to help each other out! To make Zelda 3 hacking as painless as it can be while avoiding giving spoilers to the rest of the world Smile

SePH
    
    

Since : 2012-06-19

Back to top Go down

Re: Remove the ability to go back to the light world with the mirror

Post by Tompala on Sat 12 Oct 2013 - 3:19

Turning into the official welcome topic, lol. Welcome bro Smile.

Erockbrox: Talking about that... You never replied to me after your post in TASvideos. Still interested in that secret you mentioned. [You must be registered and logged in to see this link.]

Tompala
                              
                              

Since : 2013-01-23

Back to top Go down

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum