Zelda64 1.2 USF stuff by ugetab at 2:33 AM EST on December 8, 2008
I was going to optimize the Zelda64 1.2 music set, but I realized I really don't care enough about anyone else to recode a copy of PJ64 just to try to optimize the ROM section. It'll play for me, hence, the project can be called completed. I'll hack together some crap VB program to fix up a basic Zelda USF with some song data to go with it for other people like things.
Enjoy the resulting 20MB USF file.
(You wanna optimize it, go ahead. The PJ64 rewrite was the show stopper. Everything else was pretty easy to grasp)
I'll probably just stick with GBS files. I can actually handle a little reprogramming with those.
There's nothing nefarious about my not having source around, I've just completely lost track of which is the latest version. The ROM optimization was a really simple char array (I think one char per 4 bytes) initialized to zero and set to one whenever a PI DMA read was made from that address, then the sparse is written just with runs of accessed data.
For future reference, please don't use Megaupload... Not only does it have a stupid wait period, but this PC I'm on (not mine) takes almost twice as long to go through said wait time because this PC is garbage (the flash cruft slows this thing to a crawl). There's plenty of other free storage sites out there. For example, Stashbox (no wait time), Zippyshare (it has a wait time as well, but no flash garbage), and Sendspace to name a few.
I'm not trying to be rude. I'm just trying to direct you to services which provide similar capabilities, but do it better. For small files, Stashbox is great. And since USF sets aren't going to be large, there's no reason (that I can think of) to use Megaupload instead. Though, Stashbox can't store anything over a certain size (I don't remember what the size limit is, but I haven't run into it).
Anyway, thanks for the files! I've never understood people's complaints about Zelda, because for my cartridge at least, I've got the chanting, as near as I can tell. At least, it sounds the same as the USF set on the site. So now I'll be able to hear a 1.2 rip, and get the difference. Nice work! Mouser X over and out.
Thanks for the new Zelda rip ugetab. It is nice to see that there will finally be a set with full intros, missing tracks, and such. Good luck on figuring out how to rip that last Hyrule Field track.
By the way, I believe that this was asked before, but is there a possibility that the two variations of the Fire Temple theme will be merged into one USFlib? It would be nice to replace the existing rip on the site with this one but add the V1.0 Fire Temple theme.
Thanks again.
by nensondubois at 10:12 PM EST on December 13, 2008
Fire Temple is a major difference. There are subtle differences between the 2 version's tracks as well. I hear a speed/tempo difference in Dinosaur Boss battle and Forest Temple to name the 2 tracks I wanted most out of this.
Besides that, if I can figure out the last track's ripping issues, I'll likely rerip 1.0 by the same method. It'll be about 5MB between the 2 sets if I do. There are technical reasons not to try, and why mess with combining at that size?
Nenson: I can split the damn thing up into 50 chunks and mix it into rapidshare and megaupload if I want to. I'm sure I'd get complaints, but I get to make my own damned decisions, especially when provided with information instead of commands. Now, I command you to get the hell out of here. Go rip more SPCs or something you putz.
Very cool, glad to have those missing tracks and intros at last. Wish I'd taken more time to do a thorough ripping job. If you're planning on doing 1.0 fairly soon I'll wait for that and put both up at once. Any plans to try and combine the Hyrule Field pieces?
I got 1 of the Hyrule Field extra themes to compile workably(the battle theme), but the other, even though I can get it to play in PJ64, refuses to log correctly. I tried using the original values I used to initiate the song versions in the USF, but it doesn't like them.
Ah, so that's what you meant, sorry. I haven't listened yet. Have you tried it with a full ROM/save state on the chance that there's an issue with throwing out data or combining things with the lib wrong?
Ah, I see. I thought that the Fire Temple track was the only difference between the sets. Since that is not the case, two separate sets would make more sense.
HCS, you'll love this. I had to make the songs the second ones ripped in order for the auto-ripper not to screw them up. I'll likely start on 1.0 now that this is completed to my satisfaction.
Kokiri sword treasure chest, blank music, get to last graphics call, get to music init, run through auto-ripper, use song 1-2 for auto ripper when it's time for more Hyrule field pieces.
Kirby 64 update? by Yoshinkeru at 1:49 PM EST on December 14, 2008
I must've missed something. What exactly was the Kirby 64 USFLIB updated? What is the update?
I killed a visible graphics access, opened a thread to die, and learned a bit more about graphics processing. May work a touch better, may not be noticable.
@ugetab: Great job! Thanks for all of you hard work.
It was a slight optimization to the existing USFLib. A test of the ability to use NEmu to directly optimize a set. I killed a thread, removed a DList, removed a small graphics processing status setter, and learned stuff. The learning stuff was the part I wanted, and I thought I may as well release it too.
If several people can test the 2 versions and find out what's really common and different between them, I'll make a mini-set of the differences for inclusion with both individual sets. HCSs rip just doesn't quite play the same as this rerip. I don't know who's rip sounds more accurate, but I'd have to guess mine, at this point.
Paper Mario USFLib with a Toad Town Variation USFLib(logged the new instruments used), and the miniusf tracks(tagged by Wedge009). About .01mb larger than the previous one.
If there's any instruments still missing, I can always try some longer logging times.
by unknownfile at 8:45 AM EST on December 16, 2008
Thanks ugetab. Listening to the new 1.0 set now. I am not sure that I will be able to spot any subtle differences because I am not extremely familiar with the soundtrack, but I will let you know if I find anything.
The codings a bit different from the existing Wave Race rip. Still didn't amount to much time. Tell me if it's got any errors. If nobody's checking some of this, then likely, those are the ones least worth fixing. Also optimized fast, so hurray for being able to start the next one the same day(sorta).
I really should learn how to do these USF Rips :).
I've been working on the Mario64/Zelda64/Wave Race64/early Nintendo sequence format and I was wondering if you could point me to some sequence related functions? I have only disassembled some very minor stuff to understand better a few commands, but I'm interested in knowning more about the larger picture, if you can share something about this.
Decompress the saves in the USF files. They have less data, hence, less to look through to find relevant data. HCS posted some tools, one of them being USF2ROM. Use that, and get the 4MB file, then rename it to a .pj file for either a save state, or a decompilation ready file.
I figured out the intros issue with Wave Race I think. At 800C5100, you can choose either intros, or no intros with A0 = 02 for intros, 01 for none. Since the title rip used a later music init address and no titles, it didn't stand out.
04500010 is changed to affect the speed and pitch of the music played. Once I get all the track speeds figured out, I can likely change all the track speeds without a rerip of either set.
Aside from the two tunes that are very different in the Shindou version (Sandy Beach and Southern Island), there seems to be other small differences dotted around that I wasn't aware of. Interesting.
There's the SE version. It wasn't very willing to cooperate with me. There's the option of users editing and testing them to reduce initial CPU load, but they'll play on this machine without skipping, so it'll probably remain as it is.
working here (all ugetab's sets so far) with WA 5.32 (nov212006) and in_usf 1.2 beta 1 (8/17/06). OF: Don't plan to test on newew/older configurations since I'll only be using this machine for the next 10ish days.
FYI, I found a track missing from the OoT sets. Both sets are missing the variation of the Lon Lon Ranch theme where Malon is singing the melody. Just to let you know.
The ram addresses to enable it weren't hard to find for 1.2(125520, 125540, 1256C0 in RAM), but the part that makes the coding work correctly doesn't seem to be available from a rip outside of lon lon ranch.
It's really not worth it to me to hack it in at this level of difficulty. If it was a few values and a track rerip, that would be ok, but this isn't likely to work out. In case someone else wants to take a whack at it, here's what I got out of the attempt:
Malon voice dynamics 12C0F4 bb71c
125520 = First dynamic item 125520, 125540 = Malon Voice enabler area 3F7FFFFB 3F800000 B2AAAAAB
The benefit of doing the ripping: The only project that ever gets done under my watch is the next one I want to try. My requests are always at the top of the list, guaranteed, and it doesn't matter how little I personally want the rip done for it to outweigh the opinion of 300 people.
I think it's more accurately interpreted as "I'm open to suggestions, but I will ignore demands, and I make no guarantees. I may, or may not, pay attention to your request." I know that ugetab has ripped some of the games I've wanted (Wetrix comes to mind), so I'm sure he doesn't mind requests. But just leave it as that; a request. "I'd like <enter game name here> ripped please." If you receive no followup, then it might be best to leave it alone. Mouser X over and out.
Yeah I really wanted Wetrix for ages myself. Listening to it right now! I wish I still had a physical copy of the game to compare the audio to. The sound emulation seems buggy, though this may be how it's supposed to sound. Not sure.
Still gotta time that set so it can be called complete (unless someone else wants to do it).
Anyway, I'm exactly the same when I get sequencing requests. If the time investments weren't as large, it'd be easier to flat-out accept requests.
I don't mind picking out a few requests from time to time, and even some of the hard ones will get done, but I have run into items I didn't want to do, or stuff I wanted for some reason for my own collection. Custom Robo has, thus far, required a recode of some stuff I've done in GB code style(but for the MIPS processor), as well as a program to turn a table of text info into a table of MIPS-compatible info.
Custom Robo V2 is going to be the same crap as the first, so it may end up waiting on me to feel like redoing the same work for a different game.
by nensondubois at 10:14 PM EST on December 29, 2008
Knurek, I updated the save-state, and I'll probably just stick to multi-tasking the existing computers I've got(An option I wasn't seriously considering before).
What I gave you is a bit less efficient, and won't give me any useful data now, so don't bother with it.
I've finished giving Custom Robo rudimentary tags. The files haven't been renamed, and I don't (yet?) have artist, year, copyright, or genre info. I may add that later, but for now, here's a batch file (uses psfpoint) for those who don't mind what I've done so far.
I'd like to note that the track names I've given are based off the names that ugetab found while ripping the set. If anyone has information regarding better names and track numbers, I'd love to make the necessary corrections (and of course provide recognition to those who help). And of course, if you feel that something is wrong with the tags/times, let me know. I thought I did a good job, but it's always helpful to hear what others have to say. Please enjoy.
[EDIT] I found the missing info, along with an OST. I'm downloading the OST (it's 150 MB from Sendspace, and isn't going as fast as I'd like. I've got about 30-40 min. for it to finish) so that I can give this rip proper tags. Hopefully I'll be able to provide a "final" batch file soon (maybe tonight, but I'm doubting it). Mouser X over and out.
Since ugetab is on a rerip campaign, I figure that I will bring up the issue of preliminary sets on the site that need to be reripped.
After looking through the USF list on the site, it seems that the only games that are in need of a proper rerip are Mega Man 64 and Snowboard Kids. Mouser mentioned a long while back that there are tracks missing from Mega Man 64, and there was discussion of some type of optimization problem/glitch in Snowboard Kids.
Can anyone think of other preliminary sets on the site that need to be reripped? These are the only two that I think of, but there may be more.
I already mentioned MM64 to ugetab, but I don't expect him to look at it. Mainly because both a USF and PSF set exist of it. Yes, both sets are missing tracks, but they're missing because they're streamed (and I suspect that it's likely that they contain speech over the music - as in, in-game videos). Honestly, I'd rather he spend his time ripping stuff we don't already have yet. Of course I want him to look at it. A full release would be nice to have. However, I think his time is better spent elsewhere (though, if he wants to spend his time on MM64, then I'd encourage him to do so). Just my thoughts. Mouser X over and out.
Majora's Mask seems to be missing "Dawn", the music that starts before the start of Termina Field in the morning (also appears in Ocarina). I quickly played the start of each song from the unlabeled new rip and it seems to be still missing. Just letting people know now in case somebody gets serious about doing a complete rip.
Also, Termina Field's tempo is much slower than the OST and Brawl (in hcs rip and latest rip). Has anybody played Majora's Mask recently to know whether or not that's normal?
As I've been discussing in Chat, at least Zelda OOT and MM song speeds are quite a bit slower than the hardware plays. It's being dealt with as fast as possible, considering that it's someone else who'll have to decide if and when to hand over info on the problem.
As long as the right people know about the tempo problem, I'm fine with waiting until whenever they feel like getting to it. Would it take the form a new 64th Note or the form of an updated USF?
For dynamic music tracks such as Hyrule Field Main Theme, what determines the order of the pieces that are played?
In the game, the Hyrule field theme is changed to set 0 if you're in motion and not near an enemy, set 1 if you're near an enemy, or set 2 if you're standing still with no enemy nearby.
In the set, it's a bit of coding that forces those variables to start at the right set.
The current dynamic version of Hyrule Field is pretty repetitive, and doesn't cover all of the parts. If you know how, could you update the song to match the OST? To help you, I created this playlist: http://www.videogamescrapbook.com/stuff/Hyrule%20Field%20Main%20Theme%20(OST).m3u
I checked it multiple times for accuracy. It's based on the American OST, which is identical to the Japanese OST except with a few more pieces at the end.
For anybody who is interested, I also created a playlist for the Brawl version, which is very similar to the OST except it cuts out a few parts: http://www.videogamescrapbook.com/stuff/Hyrule%20Field%20Main%20Theme%20(Brawl).m3u
I told it to use set 0, and whatever you hear is set 0 as the USF was ripped. I don't actually have control beyond that, and the music speed may be screwing with the order for all I know, so I'm not going to be too serious about fixing it.
I found myself annoyingly curious about this, so looked into it a little...
LOZ03 is the intro, and leads all 3 modes (the morning theme works the same way...). 04-0E are the "main theme" mode variations, and you get a seemingly random pile of them during those conditions. 0F is the transition into "battle theme" mode, so when in battle conditions you'll get that once as a lead-in, and then a random sequence of 10-13. 14 is the "waiting theme" transition, works the same as 0F, after which you get a random jumble of 15-17.
To test this I got the sequences from ugetab's rips and hcs' rip...
Main Theme 1.0 (7:10) 03*-09*-04*-08*-04-0B*-06*-0D*-0B-0C*-07*-06-09-0C-0D-08-09-07-0A*-0C-05*-0C-07-0A-04-08-0B-08-0D-0B-0E*
Main Theme 1.2 (5:24) 03*-07*-0A*-06*-05*-04*-0D*-07-0C*-08*-06-04-05-07-0C-0A-0D-06-05-0C-0B*-09*-08-0E*-04-0C-0B-06-09-0E-0A
Main Theme HCS (6:43) 03*-09*-0A*-06*-0D*-0C*-06-0E*-06-04*-0A-0B*-04-06-0A-0B-0A-09-06-0D-0B-06-0B-04-0E-05*-0A-09-08*-07*-04
Interesting to know. Too bad there's no way to introduce true 'randomness' without forcing the emulator to screw with the randomizer value on track init.
Fridgey, I made the same observations when creating the playlists. I'm still bummed that there is no way to mimic the OST in emulated form when it comes to that song.
Just something else I noticed, not sure if it's already common knowledge/belongs in its own thread/etc, but whatever. I was listening to the wave race rip from a couple pages back (the original edition one) and thought it still sounded a little slow, this was using 64th note in winamp. I then played it in foobar and it was different. Turns out the loops (listening to sparse0d and sparse08, Southern Island and Sunset Bay), ~25-30 seconds long, are running about a second and a half faster in foo_input_usf than in 64th note, and still about a further half second faster on my copy of the OST, which I assume is accurate to the original hardware (which could be mistaken...). Just thought I'd put that out there, seems the "problem", such as it is, is located in the plugins, not the rips. Sorry if this is already common knowledge, or I'm missing something, or just a quirk of my hardware, or any other issue that might stem from the fact I've only known this community existed for 2 days ;D
Seems that this would make timing them a bit problematic.
edit: tested further with the House theme from OOT, same results between 64th note and foobar, but foobar's speed actually seemed to match the OST perfectly.
edit again: not quite perfectly, just even closer than with wave race... used the longer loop of gerudo, and it's still just a little slow.
On another note about the above, I can test the Zelda OOT Lost Woods theme on N64 hardware(I synched it up for a few loops on the computer, and with the N64 as background music). It's how I determined that the recent PJ64 releases are likely almost hardware-perfect as far as music speed goes. I usually play to hack with N64 these days, so it tends to be Nemu and/or the PJ64 Build52 and 1.6 that I use.
No idea, was under the impression it was a port straight from 64th note. Careful saying "more accurate" though, if I'm not mistaken it also switches the left/right channels ;D
Also, the timing issues only affect some sets, no idea what the difference is.
Edit: More odd news regarding hyrule field... the winamp plugin and the foobar plugin spit out different dynamic tracks using the same usf file. No idea if this holds true for dynamic tracks from other games, since I don't know what games have them.
The hyrule field dynamics stuff was expected. Anything that's dynamic based on timing will be different between the 2 sets. As I said before, if the emulator could be hacked to mess with the starting randomizer value, it would truly be a dynamic track every play.
I already gave him permission to do as he likes with what I've got done. I've already done the ripping. It's not like it'll disappear if I don't say anything about it. Besides, I don't know if they're strictly accurate at this point.
@VGSB: You mentioned the intro was missing "Dawn", that is apparently because of the way they're ripped, they cannot have their intros. A good example is Gerudo Valley which is missing its little intro, etc..
The Zelda rips that ugetab has done have the "missing" intros in them. Give those a listen, if that's what you're looking for. I haven't actually listened to them myself, but from what I recall (and from what I've been told) ugetab's rips are better overall. Look through this thread to find links to his rips. Mouser X over and out.
HCS ripped from the title screen. I ripped from within the game. This let me get the missing intros, as well as Kakariko Village as a child(The one labeled 30), and it was just research that allowed me to test stuff to find Hyrule Field variations(which I'm going to hack the read routine for, so on first check, it'll set data, then subsequently not run the code). Mind that it was also harder to setup, and the game crashed in the process of trying to get it to a ripping point multiple times. Also mind that I changed the rules of ripping a bit when I changes some of the tools for ripping.
I'm not talking about Ocarina of Time. Dawn is nowhere in ugetap's rip for Majora's Mask, unless there is an alternate version of Termina Field that I somehow missed after two passes. I used a truncated version of Hyrule Field Morning Theme from Ocarina of Time to get around it for the rip I did for the Brawl Originals series:
I just listened to it and put the time in when 2 loops were done, if there's a more accurate way to go about it meh. Also, if there are any timing differences between the two versions other than the obvious 2 tracks, I didn't catch 'em, just copied from one to the other. Tracklist came from here, with the jp translations replaced with actual names from the english release. As for non-obvious differences between the two sets, only thing I noticed was dynamics, the SE copy is quite a bit louder. Even after replaygain, the original sounds muted in comparison. So enjoy, or don't.
thanks very much for tagging those. if only I could work out why the SE version won't work for me. the files play, the seeker bar moves and all, but there's no sound output. version = 64th Note v1.2 beta 3, hcs joshw dr0, using Winamp 5.541. is my plugin out of date?
minor nitpick - you have "Wave Race" rather than "Wave Race 64" in the album field of the normal set, for what it's worth.
Heh, oops... don't think I even looked at that, must be what was in there from the rip. I updated it. Also of note, I timed this with foobar, since its closer to accurate than winamp at the moment, should still be fine in either though.
And those are the same versions I'm using, so no idea.
*shrug* If someone would be so kind as to pull together a complete list of the files that need to go up I can put them in. I lost track of exactly what was updated and what's new a while back, and I'm not up to going through this thread again.
Finally got around to listen to uge's Ocarina of Time rips. While better overall, the beginnings of the tracks are chopped off again. It's especially apparent with "10 - Shop" and "79 - Last Battle".
There's something else to fix before I really bust out and try to reprogram it to work right. If the music can be made to play at the right speed, I intend to put the effort into getting it to play the entire tracks, or at worst, include otherwise non-working tracks in with my best attempts at ripping it.
My only problem is that I'm looking for a needle in a haystack when I try to look for what makes other open source emulators play with the correct speed.