Primary Zelda Hacking
April 21, 2014, 10:06:50 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: There is now an official Primary Zelda Hacking Press!
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Changing Default Seed Satchel Seed  (Read 625 times)
Lin
ZOLE Creator
Administrator
Hero Member
*****
Online Online

Posts: 580



View Profile
« on: June 27, 2010, 12:51:51 AM »

Note: You need to know how to use a hex editor and know binary.
Be sure you have applied the "Remove Beginning Locks" patch or this will NOT work!
Also, this won't work properly if you use an existing save file. A new one must be made AFTER this has been done.


Welcome. This is a tutorial on how to change the seed the seed satchel starts out with. If you're a beginner hacker, this tutorial might not be for you.

Okay, so first off you need a hex editor (Obviously). You also need a calculator that can convert binary to hexadecimal and do bit-wise operations. I recommend Windows Calculator in Scientific Mode.

Step 1: Okay. This is pretty much the most important step. Open your calculator and in binary mode, enter "100000". In hexadecimal, this is 20. Now, basically the game uses the upper 5 bits in this value to add to a base address to get the memory address to write to. The lower 3 bits are the bit index (0-7). Right now, the default value is 20, which sets bit 1 on C69E. Now, in another calculator window, in decimal or hexadecimal mode, hit the number of the seed you want and convert to binary. Here's a list.

00 - Ember
01 - Scent
02 - Pegasus
03 - Gale
04 - Mystery

So if we wanted to start with Pegasus Seeds, we would enter 02. Now, convert it to Binary and we'll have 10. Now go back to the other window, and on the binary tab, click the OR button and enter the binary code from the other window and hit =. You should end up with 100010, or 22.

Step 2: Now lucky for us, the value is in the ROM and just sitting there begging to be edited. In your hex editor, goto address 0xFC53B. There, you'll find 20. Change that to the value we got. For this demonstration, we'll enter 22.

Step 3: Well, now we changed the default seed, but it by default isn't set. Instead, you'll see an Ember seed with 9L-  and it will be unusable. Well, we're going to need to write a custom ASM script for this one, but lucky for you I already have!

Now, in your hex editor, go to address 0x1FF08. You should see C9. If you don't, you haven't applied the "Remove Beginning Locks" patch. Now, make sure your hex editor is on OVER mode, which means it will overwrite the existing data when you type. Now, type in this code, or bytes, in the data section of your editor, which is commonly the left. However, replace the ** with the index of your seed (Like 02 would be Pegasus). Remember to not hit backspace if you mess up! Use the arrow keys instead!

Code:
FA 9E C6 FE 00 C0 3E ** EA C4 C6 C9

Alright, so basically that's an ASM code that checks if the only seed you have is the starting one (**), and if it is, it equips it. This allows us to also keep the way the saving was before where the seed would stay equipped after we shut the game off.

But that's it. Here's some screenshots.



Hopefully it wasn't too complicated. Some time I'll make a tool to do it instead. Oh, and right now you can't change the "Ember" to something else. You're going to have to either wait for a text editor or hex edit the text instead.

~Lin
« Last Edit: June 27, 2010, 07:29:54 PM by Lin » Logged
Fatories
LALE Creator
Administrator
Full Member
*****
Offline Offline

Posts: 223



View Profile
« Reply #1 on: June 27, 2010, 01:23:34 AM »

Thank you so much, and it doesn't look to difficult especially since you included the ASM script Smiley
Its a shame that theres no text editor yet, but I'm sure somebody will get around to making one eventually. Besides its not stopping anyone from making a good hack.
Logged

The force of a true man can penetrate all. Nothing is safe.
Lin
ZOLE Creator
Administrator
Hero Member
*****
Online Online

Posts: 580



View Profile
« Reply #2 on: June 27, 2010, 01:28:33 AM »

No problem. And that person is most likely going to be me. I've already cracked the text engine (http://www.youtube.com/watch?v=AJXHJ0ZkzgY As you can see there with the old man dialogue) but there's a lot of stuff I haven't figured out, and judging by the code that's used to get the text location, I'm not looking forward to finding the rest of it.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!