ZSR Forums
November 24, 2024, 01:35:32 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: ZSR Forums are back - read only!
 
   Home   Help Search Members Login Register  
Pages: [1] 2
  Print  
Author Topic: Makin' a save editor for ALL VC games  (Read 29680 times)
512: loadMemberContext(): member id 1 not previously loaded by loadMemberData()
File: /var/www/html/smf1.1/Sources/Load.php
Line: 969
mzxrules
Admin
Ultimate Mega Guay

Posts: 901


Wrong warp expert


« on: August 27, 2010, 10:42:10 PM »

I guess I'm starting to work on a VC save generator.  Edit: (other stuff)

Right now I'm working on a save game generator that hopefully we can use to generate VC saves. So far I've been able to use FE100 to decrypt and extract VC saves and load them straight into PJ64, but I haven't been able to create VC saves that the wii will allow you to copy over yet.

Once I'm able to copy my injected saves to the Wii, my plan is to try and work on a more dedicated program to generate save files. If I can figure out how FE100 decrypts/encrypts the files, I could write a program that generates both a valid VC save and a .sra for emulators. Otherwise I'll just have to generate a .sra or something and make you guys inject it with FE yourselves. But before I can even do that, I'll need to figure out the save file format.

Here's what I've figured out from the save file so far.
IMPORTANT: PJ64's .sra files store save game data differently from how the Wii stores it. In PJ64, every 4 bites is mirrored, like this
3210|7654
These values are based on how they're stored on the wii.

0x0 - Appears to be a 32 byte header
0x20 - Start of the first of 6 game files (Save slots 1-3, and then repeated). Each is exactly 5200 (dec) bytes long, so adding 0x1450 to the following values should allow you to modify the other save games.

0x3C - The word "ZELDA" appears here, only appears next to filenames that have been created
0x42 - The death counter is stored here (2 bytes)
0x44 - The player name is stored here (8 bytes). Name "cutscene" = C7 D9 D8 D7 C7 C9 D2 C9, the capital letter "A" = AB, and the terminating character is DF repeated if the name is less than 8 characters
0x58 - Some sort of clock value (2 bytes) is stored here.
0xC0 - This row stores data for various quest/inventory items. It appears that the memory address 11A670 corresponds with 0xC0, which is awesome, because it means we can most likely use existing codes to map out the .sra format, and for the values we don't know we can just use a memory watcher/gameshark codes, instead of having to change values, save, then view the .sra file in a hex editor
« Last Edit: January 19, 2012, 09:45:48 PM by mzxrules » Logged

Quote from:  Leigh Rogers
Braid
This is art because the music is classical music, and the graphics are done with a pen. The story is something about a woman. I could not understand much of this to be honest, which makes it even more likely to be an art.
aleckermit
Mega Guay

Posts: 523


back in green


WWW Email
« Reply #1 on: August 27, 2010, 11:48:08 PM »

I don't know what you just said.
Logged

http://youtube.com/aleckermit

<@Swordless> Have you had this problem before? A game not starting until you cleaned it?
ING-X
Site Editor
Mega Guay

Posts: 613


fuck you and the horse you rode in on

562243965 marikthechao@hotmail.com ingx24
« Reply #2 on: August 28, 2010, 12:16:21 AM »

I don't know what you just said.
Logged

<complex> byan you're doing that thing again
<complex> the thing where everything you say is fucking retarded


<ethandude> http://en.wikipedia.org/wiki/Homosexual cheak this out luxury it might come in helpful when u wright your resime
Maxx
Admin
Special Guay

Posts: 201



« Reply #3 on: August 28, 2010, 02:19:30 AM »

This is a pretty sweet idea.  I think I could help.
Logged
Blizzerk
Special Guay

Posts: 264


What is this I don't even-

Blizzerk@live.com
WWW Email
« Reply #4 on: August 28, 2010, 04:52:47 AM »

New to programming with binary/hexidecimal values, but a brain is a brain. I'm here to help to the best of my abilities. From the looks of it you have the algorithm solved 1 way so far Smiley
Logged

[21:02:55] <Blizz> Uhh...
[21:02:59] <Blizz> RingRush..
[21:03:06] <Blizz> I was meaning to ask you something
[21:03:13] <RingRush> no I will not go to prom with you
[21:03:16] <Blizz> :<
------------------
<@jiano> get off my lawn you damn kids
thundrio
Special Guay

Posts: 216



Email
« Reply #5 on: August 28, 2010, 03:10:43 PM »

just tell me what i need to do, and i will try and help. i have wanted one of these for a while (although im no programmer yet)
Logged

[19:30] <13@jiano> i love programmin
[19:30] <13@jiano> if thing == otherthing: do thingything !!!!!!!!
Bonooru
Regular Guay

Posts: 116



« Reply #6 on: August 28, 2010, 04:47:09 PM »

what is it that you are trying to do here?
Logged
Fweep
Deku Scrub

Posts: 9


« Reply #7 on: August 28, 2010, 04:52:49 PM »

You've got your fair share of helping hands already, but if there's anything I can do, I'll be glad to help.

I'm an experienced reverse code engineer but I don't know any MIPS (n64 is mips, right?)
Logged
Elminster
Regular Guay

Posts: 149


Email
« Reply #8 on: August 28, 2010, 09:06:29 PM »

I thought MIPS was the rabbit you had to catch in SM64. :3
Logged

Externalist
Deku Scrub

Posts: 5


Email
« Reply #9 on: August 29, 2010, 02:58:12 AM »

I would really like to help if I had more time, but these days I'm too busy so all I could say is good luck.
I think you'd already know but http://forum.xentax.com/ is a place where people from all around the world gather and talk about various file formats and how to reverse them. I used to get lots of help from there in the past when I was reversing some unknown proprietary file format. Just my two cents.
Logged
mzxrules
Admin
Ultimate Mega Guay

Posts: 901


Wrong warp expert


« Reply #10 on: August 29, 2010, 09:32:59 PM »

OK, so I have a good idea of what I'm gonna need for this project, and what I'm gonna do. I'm writing the program in C#, being that it's the language I'm most comfortable with. I want the program to be able to have customize saves beyond just doing say the equipment screen, inventory screen, boot screen + start location. I want to be able to strip out specific cutscenes (no intro/master sword cutscene ftw), mess with which chests have been opened and which NPC's you've talked to (think doing the Deku tree without a sword, but without Mido's dick blocking the way),  have custom (as in super fast) scarecrow songs, and some other cool things I haven't thought of.

So here's what I'll need:


I need someone to figure out what sort of check-sum algorithm is used to verify that a game file hasn't been corrupted. I've already mentioned this to petrie, but if someone else wants to beat him to it then fine =p

Since the save file matches up perfectly to a spot that's loaded in memory when the game starts, I'll need a list of Version 1.0 Gameshark codes between 11 A5D0 and 11 BA20, and an explanation of what each code does (Remember that the 80/81 part of the code isn't actually part of the address).

Last I need someone to pick apart FE100's source (found here) and figure out how the fuck that thing works so that I can make some valid VC saves lol.
« Last Edit: August 29, 2010, 09:36:10 PM by mzxrules » Logged

Quote from:  Leigh Rogers
Braid
This is art because the music is classical music, and the graphics are done with a pen. The story is something about a woman. I could not understand much of this to be honest, which makes it even more likely to be an art.
thundrio
Special Guay

Posts: 216



Email
« Reply #11 on: September 12, 2010, 10:28:33 PM »

i just thought of something. when i tried copying that save over for you and it didnt work, i was using the save manager that comes installed in the wii. however that is restricted, so if i used a homebrew save backup/installer (that would allow you to copy stuff like animal crossing, which normally is not allowed) it might work, so could you send it to me please? thanks
Logged

[19:30] <13@jiano> i love programmin
[19:30] <13@jiano> if thing == otherthing: do thingything !!!!!!!!
mzxrules
Admin
Ultimate Mega Guay

Posts: 901


Wrong warp expert


« Reply #12 on: December 22, 2010, 08:29:33 AM »

bump because I'm still looking into this one.
Logged

Quote from:  Leigh Rogers
Braid
This is art because the music is classical music, and the graphics are done with a pen. The story is something about a woman. I could not understand much of this to be honest, which makes it even more likely to be an art.
mzxrules
Admin
Ultimate Mega Guay

Posts: 901


Wrong warp expert


« Reply #13 on: January 29, 2011, 04:15:53 AM »



Bonus points if you can figure out the scene the file on the right was on when it was saved.
Logged

Quote from:  Leigh Rogers
Braid
This is art because the music is classical music, and the graphics are done with a pen. The story is something about a woman. I could not understand much of this to be honest, which makes it even more likely to be an art.