Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
0 user currently in General Emulation.
Acmlm's Board - I2 Archive - General Emulation - [N64] Project 64 Zelda: OoT 1.0 SRAM
  
User name:
Password:
Reply:
 

UserPost
Darth Coby
Posts: 566/1371
Yeah, but then the file is also byteswapped, hex workshop can byteswap the file for me, no?

Edit: So I byteswapped the file and then searched for my name but didn't find anything. Altough it IS there. I just didn't play on it yet because Windows crashes when I try to do so.
Alaric
Posts: 35/72
Thanks very much, HH!... Now to use DarkTabler to put it in a table for ease of use.. heh.. or notepad.. Well, Thanks!
HyperLamer
Posts: 1016/8210
I got your name table right here...

A = AB B = AC C = AD D = AE E = AF
F = B0 G = B1 H = B2 I = B3 J = B4
K = B5 L = B6 M = B7 N = B8 O = B9
P = BA Q = BB R = BC S = BD T = BE
U = BF V = C0 W = C1 X = C2 Y = C3
Z = C4
a = C5 b = C6 c = C7 d = C8 e = C9
f = CA g = CB h = CC i = CD j = CE
k = CF l = D0 m = D1 n = D2 o = D3
p = D4 q = D5 r = D6 s = D7 t = D8
u = D9 v = DA w = DB x = DC y = DD
z = DE
0 = 9A 1 = 9B 2 = 9C 3 = 9D 4 = 9E
5 = 9F 6 = A0 7 = A1 8 = A2 9 = A3
@ = AA ? = A9 > = A8 = = A7 < = A6
; = A5 : = A4 / = 99 . = 98 - = 97
, = 96 + = 95 * = 94 ) = 93 ( = 92
' = 91 & = 90 % = 8F $ = 8E # = 8D
! = 8B
(Non-Breaking Space) = DF (Superscript Square) = 8C (B Button) = 0A (C Button) = 0B
(L Button) = 0C (R Button) = 0D (Z Button) = 0E (C Up Button) = 0F (C Down Button) = 10
(C Left Button) = 11 (C Right Button) = 12 (Triangle Pointing Down) = 13 (Joystick) = 14
(Space) = 8A
00 thru 09 repeat the numbers 0 thru 9. 74 makes the game hang (not frozen, just kinda sits there waiting for something that never happens). Every other value, as far as I know, is just a glitch or freezes the game (don't save with such a value in your name!). Although, the Japanese symbols are probably in there somewhere. To end a name, fill the remaining spaces with the value DF (don't use 8A because it'll make a bunch of spaces at the end, IE "LINK 's House" as opposed to "LINK's House").
Example: "Hyper" would be "B2 DD D4 C9 D6 DF DF DF".
neotransotaku
Posts: 764/4016
yeah, so it seems I saved right before I was about to beat this game once and for all.
Alaric
Posts: 34/72
Well, he's an adult, starting inside ganon's tower after you destroy the barriers,
No biggoron's sword, using red tunic, mirror shield, kokiri boots. Little magic, three out of fifteen hearts filled... master sword equipped... err, hoping that's what you wanted to know.
[Edit] Oh, and Double Defense.. :-P
neotransotaku
Posts: 758/4016
out of curiosity, what is the status of link when you load this SRAM?
Alaric
Posts: 32/72
THANKS Neo!
Yes, HH, make a SRAM Editor.. and yeah, put that name table somewhere, :-P!
Good luck if you do make that editor!
[Edit] Byteswapped, I wonder why... heh, Neo's save is swapped too, works quite nicely. Thanks again Neo!
Darth Coby
Posts: 557/1371
Originally posted by HyperHacker
Alaric: Sounds like the SRAM file is byteswapped.
BTW, I have the name table at home. (I thought I submitted it to GSCentral, but it's not there. )
...Maybe I should make a Zelda SRAM editor.

You definitely should!
I'm going to try and look into some SRAM too.
HyperLamer
Posts: 984/8210
Alaric: Sounds like the SRAM file is byteswapped.
BTW, I have the name table at home. (I thought I submitted it to GSCentral, but it's not there. )
...Maybe I should make a Zelda SRAM editor.
neotransotaku
Posts: 734/4016
my computer was stable enough for me to retrieve my save file. It is 32kb, so this should be what you want.

here is the link:
http://www.animehobbyist.com/~lem5202/THE_LEGEND_OF_ZELDA.sra
Alaric
Posts: 27/72
Very interesting, HH..
Though my SRAM seems to be a bit different...
like, in the beginning (0x04 to 0x0B) it's
Z! ADLE (Of course, if 0x09 weren't conveniently the tab character)
..
Needless to say i've got me curious too..
Before a save file i have DLEZ (2 0x00s) ZA... Seems a bit backwards, but oh well...
Ehh, seems to be a bit dword-swapped... and backwards.. because
DLEZ 00ZA would be
00ZA DLEZ if you'd swap around the words and backwards that's ZELDAZ...
Does this have to do with the 1.0 Savestates.. or possibly my PJ64 Configuration.. heh?
Well, the names aren't stored in anything CLOSE to ASCII.. need a table file. :-P.. trial and error!
Err, more investigation.. I have 6 save files in my SRAM file... i don't know the use of the copies, maybe like an Allocation Table on a FAT/FAT32-formatted disk... A copy and a failsafe copy, but when they have random data (both different, i.e. saves 3 and 6 which are the same, it doesn't show up.. as a file)..
I don't even know what use that was..
HyperLamer
Posts: 965/8210
I don't know specifically how it works, but what I do know is that the save files start with this format: "ZELDAZ" in ASCII, then the player's name in hex (not ASCII), padded to 8 characters. A bit further in is health, money, etc. At the load screen, I think all 4 are loaded. The default one (which BTW is there because the game has to have one loaded) is loaded at the title screen. (As I understand the beta code simply mucks up the title sequence, so instead of doing the loading screen, it lets you play in that area. Since this area is designed only for the title sequence, it has no real warp data. (Depending on the format, either the warps are assigned some BS values, or the warp data comes after the map data and in this case is just random stuff from RAM.)) When you're playing the game, what it actually does is copy the entire save file right into RAM, where the global variables for everything that gets saved would be. When you save this just gets copied back in. Because the game works like this, I guess they just found it easier to create a default save file to load into that area, than to assign it all default values.

...So, long story short: The game copies save files directly into global variables and back, so they made a default save file rather than individually set each variable. (I should hack a Save File Mod, but that'd require comparing RAM dumps from an emulator, since I'd need to use save states. (On a real N64, I'd need to reset the game to change files, which crashes it when you have the GS in.)

[edit] I ran a query, but didn't find "ZELDAZ" in the ROM anywhere.

[edit. again] Alright, you got me curious. I poked around in RAM (V1.2, since that's what I have), and found this:

The save file format appears to go like this: ZELDAZ[death count?][name]
The death count, I'm pretty sure that's what it is, it's just 0000 for mine, but that matches.

Results of search for 'ZELDA' in various places:
Title/In-Game
006A80 - Debug Error Screen
0FC562 - !ZELDA (name=blank?) - SRAM header/global options?
0FC624 - ZELDAZ (default file)
11AC9C - ZELDAZ (current file)

File Select
2A02B6 - !ZELDA
2A02CC - ZELD ( At 2A02D2, you'll find 05F4. I seem to remember there was some significance to that number...)
2A02EC - ZELDAZ (file 1)
2A173C - ZELDAZ (file 2)
2A2B8C - ZELDAZ (file 3)

Interesting note: After creating a save file, deleting it, and recreating the header, the file I created was displayed with the name I gave it. (The 'save file' icon that 'links' the name to the file number isn't present except for a second when I open another file, oddly enough.) Strange, because the save data whose header I just recreated has a blank name! Also: After killing another file's header, it's still there!

I think the !ZELDA entries mark the start of save file data. Not sure WTF follows it, maybe global data like options, but that shouldn't take so much space. After that each file that exists is makred by ZELDAZ. The default save file is at another place entirely.

BTW, interesting codes I found:
801262BC 0000 - Crash @ file select
801D98B3 0000 - Crash @ title (only with value 0000 )
801DB502 0000 AND 801DB51E 0000 - Stiff joints
Alaric
Posts: 24/72
@neo: Hmm, too bad.

@HH: I did not know it used a save file.. maybe there's a byte in the header (of course, the header of the save file itself, not the whole SRAM ) that states if it's loadable or not... Moment, need to try something... Well, that didn't fly.. replacing 0x0140 with 0x0120 in the hex editor (global and selective), editing the saveram didn't work, nor did replacing every 0x00 with 0x01 (didn't expect that to work)... but.. Do you know or know anyone who knows about the SRAM format of OoT?
neotransotaku
Posts: 719/4016
my desktop computer is wacked so um...I won't be able to provide you a save anytime soon...sorry.
HyperLamer
Posts: 943/8210
Originally posted by Alaric
Other SRAMs i've found had things like... The door of time not even open, but adult link beginning the game in ganon's tower, with no Spiritual Stones and no Temples Completed (But having all the medallions, oddly enough).

They just used the Gameshark codes to get everything. I saw that on a rental once, he had everything but nothing was done.
BTW, the 'beta' code uses a default save file somewhat like that (Link, ~14 hearts (don't recall), etc) but you can't really play the normal game in it. (Maybe there's a way to get the game to load that file? Hmmm...)
Alaric
Posts: 23/72
If you'd be willing to send the .SRA file (zipped, of course -- though 32K wouldn't hurt), my e-mail address is moth31 at hotmail dot com ... Use a subject that i'd be able to decipher so i don't delete it.. and if you send it, Thanks!
neotransotaku
Posts: 707/4016
am I this out of it? probably
anyways, i wasn't at home when I posted it so I couldn't check
Xkeeper
Posts: -4183/-863
Originally posted by neotransotaku
I beat Ocarina legitamately using Project64 so I'll ask the question, how do I know whether a save is 32k or not?
Size of the file might work
neotransotaku
Posts: 703/4016
I beat Ocarina legitamately using Project64 so I'll ask the question, how do I know whether a save is 32k or not?
Alaric
Posts: 22/72
I was hoping to find a standard 32k saveram generated by Project64, for The Legend of Zelda: Ocarina of Time.
I've found some, but they're either 64k, badly named, or "cheated".
I'd be hoping for something more along the lines of a character named Link, with everything complete.. Other SRAMs i've found had things like... The door of time not even open, but adult link beginning the game in ganon's tower, with no Spiritual Stones and no Temples Completed (But having all the medallions, oddly enough).
Yeah, i'm picky, but so what?
Thanks in advance, if any of you have one you'd be willing to share.
Acmlm's Board - I2 Archive - General Emulation - [N64] Project 64 Zelda: OoT 1.0 SRAM


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.005 seconds.