Go Back   Project64 Forums > General Discussion > Open Discussion

Reply
 
Thread Tools Display Modes
  #1  
Old 22nd October 2013, 07:37 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default Zelda Majora's Mask FLASHRAM Save Editor

** removed **

Utility can now be downloaded via the link in this post.

Last edited by HatCat; 12th April 2016 at 12:17 AM.
Reply With Quote
  #2  
Old 11th February 2014, 09:12 PM
00vargarv 00vargarv is offline
Junior Member
 
Join Date: Feb 2014
Posts: 1
Default

doesn't work in W7.. TuT
Reply With Quote
  #3  
Old 20th March 2014, 03:31 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Lies! I'm using Windows 7.
You're not calling the EXE right. 32-bit or 64-bit has no effect here....


Anyway I must have forgotten to upload source code...or...buried my reason for not doing so? I might have to look into maintaining this software again sometime soon. It's not as high a quality as I'd have liked, but I had no idea my attachment would get that many downloads, or that this thread would get read so many times...so, since people seem to like it, I'm rather ashamed of myself for not doing a more complete implementation.

Also some people, would want to do a GUI frontend extension, to this console application, so, this should get another update.
Reply With Quote
  #4  
Old 16th October 2014, 12:40 AM
nOkbient's Avatar
nOkbient nOkbient is offline
Junior Member
 
Join Date: Oct 2014
Posts: 4
Default

So it has been almost a full year since this thread was started, but no one else has made anything quite like this. Has there been, or is there any chance of progress being made on this?

I get it if there really isn't, it's just that for a game where it's relatively easy to accidentally not save your progress, I know a WHOLE lot of people would find a tool such as this to be really handy. I've tried using the tool you attached but I was lost almost instantly. I don't have the right expertise or know-how to figure out how to use it.

Sorry for bringing up an old topic, but there is literally nothing else about this online.
Reply With Quote
  #5  
Old 16th October 2014, 12:59 AM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 2,008
Default

Didn't the zip come with a Bat file, & instructions on how to use? I remember not having a hard time, considering I was a total noob like 10 months ago, so it should be simple for you as well.

It's unfinished, since it's quite tedious to collect all information ;/ .

Anyway, all you have to do is write the desired data in the bat file and run it. Unless other people help out with finding the values and addresses, don't expect this to be finished anytime soon. Maybe retroben could help .
Reply With Quote
  #6  
Old 16th October 2014, 08:44 PM
nOkbient's Avatar
nOkbient nOkbient is offline
Junior Member
 
Join Date: Oct 2014
Posts: 4
Default

It isn't working for me, then. I run the .bat and nothing changes; I DO get a message saying "File occupation label missing" under the 2nd entry in cmd ("...ZS.EXE ZELDAM~1.FLA --owl-statues...").

Looking at the Manual, I understand it. I don't think I have a problem with entering the data I want to change. I think the problem is that I don't have the paths right, but I don't have an example of how it should look. Here's what's in the .bat file:
Quote:
ZSENSWAP.EXE ZELDAM~1.FLA
ZS.EXE ZELDAM~1.FLA 0 --owl-statues 0000000011111100
ZSENSWAP.EXE ZELDAM~1.FLA
PAUSE
What I've done is simply renamed my .fla save file to ZELDAM~1.fla, and put it in with the rest of the files. Do I need to add quotes anywhere, or put the save into a folder? Oh, last thing. After the tool does its thang, would the save work off of a flashcart as opposed to PJ64?
Reply With Quote
  #7  
Old 16th October 2014, 08:53 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

"File occupation label missing" is the error I wrote to indicate that you are modifying save data for a file that doesn't exist yet.

So if you have File 1 named "Link" or anything you like, it works.
If you have File 1 blank/erased/new with no progress on it, it throws that error to complain a warning that you may be accidentally updating save data for what's really a blank progress slot.

As to whether or not it works or quits the program as a fatal error, I don't remember. Been too many years since I started coding this thing. I regret forgetting to include working source code in this zip file so that other people could pick up from my source. I also would like to remove the CRT dependency and use lower-level code, but I'm too busy with things pertinent to emulation to get back to this.
Reply With Quote
  #8  
Old 16th October 2014, 08:58 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Quote:
Originally Posted by nOkbient View Post
What I've done is simply renamed my .fla save file to ZELDAM~1.fla, and put it in with the rest of the files. Do I need to add quotes anywhere, or put the save into a folder? Oh, last thing. After the tool does its thang, would the save work off of a flashcart as opposed to PJ64?
It doesn't have to be renamed. ZELDAM~1.FLA is the MS-DOS file system abbreviation for "Zelda Majora's Mask.fla" and would have targeted that file if you had left it to that name.

Maybe it thinks the file occupation label is missing because in fact it was in the wrong byte order. That was another thing I should have done with this program ... detect if the byte order was swapped by Project64 and automatically determine whether doing the algorithm of my ZSENSWAP.EXE was even necessary, rather than making the user or commands script call it automatically every time and assume a Project64 format FLASHRAM. Apart from that endianness issue, yes, the save would work off a real N64 and not just an emulator.

You might try omitting the first call to zsenswap.exe and keeping the second one.
Reply With Quote
  #9  
Old 17th October 2014, 07:29 PM
nOkbient's Avatar
nOkbient nOkbient is offline
Junior Member
 
Join Date: Oct 2014
Posts: 4
Default

Quote:
Maybe it thinks the file occupation label is missing because in fact it was in the wrong byte order. That was another thing I should have done with this program ... detect if the byte order was swapped by Project64 and automatically determine whether doing the algorithm of my ZSENSWAP.EXE was even necessary, rather than making the user or commands script call it automatically every time and assume a Project64 format FLASHRAM. Apart from that endianness issue, yes, the save would work off a real N64 and not just an emulator
Bingo! Ok, I finally figured it out, but it took some time. After eliminating the first ZSENSWAP.EXE, I didn't get the message, but my save wouldn't work (on original hardware, not PJ64). So what I did was just eliminate the ZSENSWAP altogether. After I did that it worked great. Thanks so much for the clarification!

Something that didn't work properly for me, and my guess is that I'm just confused about how it actually works, is the "--songs" action.

All of these binary values you put in the MANUAL correspond to a song:
Quote:
--songs:
Let [string] represent a virtual sixteen-digit binary flags register.
0000000000000001: Sonata of Awakening
0000000000000010: Goron Lullaby
0000000000000100: New Wave Bossa Nova
0000000000001000: Elegy of Emptiness
0000000000010000: Oath to Order
0000000001000000: Song of Time
0000000010000000: Song of Healing
0000000100000000: Epona's Song
0000001000000000: Song of Soaring
0000010000000000: Song of Storms
So, if I wanted to have all the learnable songs, I would add them together so I would get 0000011111011111, or at least that's my understanding of it.

I didn't want to give myself every song though, just a few. Everything except the Bossa Nova, Elegy of Emptiness, Epona's Song and the Song of Storms. So based on my understanding of it above, I entere:
Quote:
ZS.EXE LEGEND~1.FLA 0 --songs 0000000000000000
ZS.EXE LEGEND~1.FLA 0 --songs 0000001011010011
That didn't work though. Instead I got everything but the Song of Time, Healing, and the Oath to Order. I mucked about some more and did a few more experiments. I tried doing it sequentially like this:
Quote:
ZS.EXE LEGEND~1.FLA 0 --songs 0000000000000000
PAUSE
ZS.EXE LEGEND~1.FLA 0 --songs 0000000000000001
ZS.EXE LEGEND~1.FLA 0 --songs 0000000000000010
ZS.EXE LEGEND~1.FLA 0 --songs 0000000000010000
ZS.EXE LEGEND~1.FLA 0 --songs 0000000001000000
ZS.EXE LEGEND~1.FLA 0 --songs 0000000010000000
ZS.EXE LEGEND~1.FLA 0 --songs 0000001000000000
But I just ended up with no songs.

The weirdest result was when I put in a binary (I forget the exact value) that gave the results of Epona's Song, Song of Soaring, Song of Storms, and each area's song except for the Oath to Order. Then, using that save, I entered the string for the Sonata of Awakening (0000000000000001). The results were that I had: Epona's Song, the Song of Storms but just the musical note icon (no name or diagram shown for it), the Goron Lullaby, and the Elegy of Emptiness.

Then I got frustrated and started putting in totally random binary values that almost always gave me some combination without the Song of Time and Healing, and usually with all of the area songs, especially the New Wave Bossa Nova and Elegy of Emptiness.

Odds are I'm just confused about how binary numbers work and I should be put to shame for it.

For now I have every song learned, not using them until I actually obtain them in game, but I feel bad not being able to get some of them because the game thinks I already have them.

But I am seriously thankful for this HatCat, even if you say it's sort of sloppy. It saved me a veritable shit-ton of time and trouble!

Last edited by nOkbient; 17th October 2014 at 07:42 PM.
Reply With Quote
  #10  
Old 17th October 2014, 08:05 PM
retroben's Avatar
retroben retroben is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jul 2013
Posts: 687
Default

I may try to get those Majora save bytes since I got a mouse replacement.
Let's just hope it is not too well protected or frequently repositioning in the RDRAM locations.

I got a mouse to replace a cheaply made GE one that was doubling clicks,releasing dragged content,and missing clicks altogether.

It is that "Giga" brand which also has a PS/2 adapter included so I may get better response times with that input slot.
Thanks Radio Shack!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 08:24 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.