Everything! by StonedMartial99 at 9:09 PM EST on November 4, 2005
USF - Nintendo Ultra 64 Sound Format brute force ROMhacking since 2004 FAQ Greetings, Guest, won't you sign the Guest Book? Or visit the forum? I've got a system for requests set up
If you're familiar with PSF you'll immediately recognize USF: it's an attempt to do the same thing with the Nintendo 64. For the uninitiated...
USF is a file format which contains all the data needed to play a song from an N64 game. Once the song has been ripped into a USF file you can load it up in a player (such as the 64th Note Winamp Plugin) and listen to the music. You'll see that most USF sets are actually many miniUSF files and a single USFlib file. The USFlib contains data common to all songs (such as sample data or player code), while the miniUSF files contain data specific to each song (the sequence for the song, or bits of code specific to the song). The miniUSF file contains a reference to the USFlib file, and both must be located in the same directory for the player to find the USFlib. USF Specification
Ripping USFs is a nontrivial task. The gist of it is you fiddle with an N64 ROM until you get it doing nothing but playing music, then you run it through a series of utilities I've written to remove unused data. The most useful tool is the Interactive Disassembler (IDA). You can use SIG files for the N64's standard library, libultra to aid you in navigating N64 ROMs with IDA, or you can generate your own based on other libraries you might have with my N64 OBJ to PAT parser. I've also assembled a Project 64 Save State Loader for IDA which often makes analysis much easier. Differences from PSF PSF ripping is aided by the fact that PS games are segmented into files, and it is usually possible to isolate the sound code fairly thoroughly. N64 games are one huge chunk of code, and very little navigation aid is available beyond what can be determined from the use of library calls. Once a game has been hacked to play only the song the ripper requests it is then reduced to the minimum code and data needed to do so. Unfortunately it is likely that non-music code remains in the USF rip, which serves no purpose other than to slow down the entire system. This depends on the skill of the ripper. As there is no standard N64 EXE format, as there is for PS, I had to come up with a way of quickly loading a bit of code without having to go through the entire N64 boot process. For this I include a save state in the file. This also aids in working with games which are compressed, I can work directly with the uncompressed data in RAM via the savestate rather than figuring out how it fits into the ROM. PSF files are internally compressed. USF files use a sparse storage scheme, in which only data which is not zero is stored. Any unused data in the ROM or save state is replaced with zeroes (as with PSF). This brings file size down by a lot (the elimination of zero data is the primary purpose for PSF's compression) but also allows for a more efficient external compression of the files.
Current Sets Title ripper tracks size Last Updated status/link downloads Lode Runner 3D hcs 10 11/04/2005 preliminary rip complete Battle Tanx: Global Assault hcs 21 11/03/2005 preliminary rip complete AeroGauge Josh W 26 11/01/2005 preliminary rip complete Turok 3 Shadow of Oblivion Josh W 65 10/27/2005 preliminary rip complete Animal Forest hcs 248 10/26/2005 preliminary rip more complete Hybrid Heaven hcs 70 10/24/2005 prelminary rip complete Bomberman 64: The Second Attack Josh W 76 10/23/2005 preliminary rip complete Dr. Mario 64 Josh W 25 10/23/2005 preliminary rip complete Automobili Lamborghini Josh W 7 10/22/2005 preliminary rip complete Megaman 64 Josh W 71 10/22/2005 preliminary rip complete Mario Golf Josh W 51 10/22/2005 preliminary rip complete Robotech Crystal Dreams UNKNOWNFILE 101 10/22/2005 preliminary rip complete Turok Dinosaur Hunter Josh W 15 10/22/2005 preliminary rip complete Dynamix - congrats split demo UNKNOWNFILE 1 10/22/2005 prelim complete Sim City 2000 Josh W 41 10/22/2005 preliminary rip complete Conker's Bad Fur Day Josh W 146 10/14/2005 prelim complete 64 Trump Collection UNKNOWNFILE 35 10/11/2005 preliminary rip complete Donkey Kong 64 Josh W 174 10/02/2005 prelim complete Diddy Kong Racing UNKNOWNFILE 64 10/02/2005 preliminary rip complete Banjo Tooie Josh W 143 10/02/2005 prelim complete Snowboard Kids hcs 19 10/01/2005 slow preliminary rip complete Mario Tennis hcs 66 09/27/2005 preliminary John Romero's Daikatana hcs 18 09/26/2005 preliminary rip complete (a little broken) Shadowgate 64 hcs 27 09/26/2005 preliminary rip complete Pokemon Stadium 2 hcs 97 09/22/2005 preliminary rip complete Extreme G hcs 16 09/21/2005 tagged Pocket Monsters Stadium hcs 21 09/21/2005 preliminary rip complete Pokemon Stadium hcs 73 09/21/2005 preliminary rip complete Jet Force Gemini hcs 81 09/15/2005 tagged Paper Mario hcs 165 09/14/2005 preliminary rip *complete* Mario Party 2 Josh W 86 09/14/2005 preliminary rip complete Duke Nukem 64 Josh W 2 237.76 KB 09/12/2005 complete 457 Yoshi's Story Josh W 58 1.62 MB 09/12/2005 complete 710 Mortal Kombat 4 Josh W 55 09/12/2005 preliminary rip complete Mario Party 3 Josh W 131 09/08/2005 preliminary crash-o-matic rip complete Mischief Makers hcs 33 09/06/2005 preliminary rip complete (use v1.0) Bomberman Hero Josh W 30 08/15/2005 preliminary rip complete Bomberman 64 hcs 47 07/30/2005 preliminary rip complete Chopper Attack hcs 15 1.05 MB 07/29/2005 complete but for titles 363 Mario Party hcs 88 07/26/2005 preliminary rip complete (READ WARNING!) Extreme G XG2 hcs 23 07/25/2005 preliminary rip complete Killer Instinct Gold hcs 48 07/23/2005 needs tagging Neon Genesis Evangelion hcs 24 3.71 MB 07/19/2005 complete-ish 637 Blast Corps hcs 65 506.25 KB 07/14/2005 complete, fixed tags 1188 Dynamix first N64 intro UNKNOWNFILE 2 06/30/2005 preliminary rip complete Ganbare Goemon - Mononoke Sugoroku hcs 49 2.43 MB 06/17/2005 complete 692 Mace - The Dark Age hcs 15 06/05/2005 experimental rip completer Nintama Rantarou 64 hcs 22 06/02/2005 experimental rip complete Wonder Project J 2 hcs 76 400.87 KB 05/31/2005 complete, new tags 775 Body Harvest hcs 87 05/31/2005 preliminary rip COMPLETE Goemon's Great Adventure hcs 178 2.8 MB 05/25/2005 complete 887 lacmod demo UNKNOWNFILE 4 05/22/2005 preliminary rip complete Wave Race 64 (Shindou Edition) hcs 30 548.05 KB 05/19/2005 complete 883 Mysical Ninja - Starring Goemon hcs 95 2.62 MB 05/14/2005 complete 1028 Zool - Majou Tsukai Densetsu hcs 87 1.29 MB 04/28/2005 complete, updated tags 694 Kirby 64 - The Crystal Shards Parasyte 63 04/23/2005 pre-preliminary rip complete Perfect Dark zoopd 117 1.75 MB 01/13/2005 complete 1211 Glover hcs 60 1.27 MB 01/13/2005 complete 663 Banjo Kazooie someone42 173 10/26/2004 preliminary rip complete Quest 64 hcs 44 415.13 KB 10/23/2004 complete 749 Starfox 64 someone42 45 781.75 KB 10/22/2004 complete 1149 Beetle Adventure Racing Parasyte 16 1.76 MB 10/22/2004 complete 644 Rayman 2 Parasyte 173 10/22/2004 preliminary rip complete Bust-A-Move '99 Parasyte 20 10/20/2004 unresolved player problem Castlevania 64 - Legacy of Darkness Parasyte 0 10/20/2004 preliminary rip complete Space Station: Silicon Valley hcs 30 807.64 KB 10/19/2004 complete 667 Ogre Battle 64 zoopd 60 1.56 MB 10/13/2004 complete 742 Castlevania 64 Parasyte 106 10/13/2004 preliminary rip complete Goldeneye someone42 58 542.86 KB 10/10/2004 complete 1261 Mario Kart 64 Parasyte 29 840.61 KB 10/09/2004 complete 1123 Magical Tetris Challenge zoopd 15 6.68 MB 10/04/2004 complete 613 Super Smash Bros. zoopd 47 1.1 MB 10/02/2004 complete 1129 Tetrisphere zoopd 23 3.15 MB 10/02/2004 complete 773 New Tetris, The zoopd 16 6.67 MB 10/01/2004 complete 721 Legend of Zelda: Ocarina of Time hcs 105 1.83 MB 09/26/2004 complete 1647 Legend of Zelda: Majora's Mask hcs 118 2.15 MB 09/26/2004 complete 1223 Super Mario 64 hcs 38 1002.02 KB 09/25/2004 complete 1463 PilotWings 64 hcs 31 666.25 KB 09/25/2004 complete 818 F-Zero X hcs 20 8.67 MB 09/25/2004 complete 1206 Approx. 51.11 GB transferred
If you're working on a USF let me know and I'll add you to the list!
Other USF mirrors: usf.emuhost.net - home to many preliminary rips Zophar's Domain: USF Archive The Darkseid USF Mirror Oddigy.com 64th Note
64th Note is a USF plugin for Winamp, based on Project64 1.4 by Zilmar and Jabo and Azimer's HLE Audio Plugin. It requires major CPU and memory resources, 300 MHz and 64 MB are the minimum for the least-intensive USF sets, but requirements vary greatly between sets.
Download current version: 64th Note v0.09 installer 64th Note v0.09 binary 64th Note v0.09 source Download beta version: 64th Note v1.0 beta 22 (in development! read the forum thread for more information)
It is strongly recommended that you use the most recent version! 64th Note now uses NSIS to install without much user effort, however this will not work if you don't have Winamp installed. --------------------------------------------------------------------------------
You are requested to report any errors you encounter or improvements you suggest to halleyscometsoftware@hotmail.com A production of Halley's Comet Software
DUDES I COPYED EVERYTHING FROM THE FIRST PAGE....I'M FUCKED UP TONIGHT...PARTY!!! YEAH!!!!
Oh for Christ sake lighten up..it's just a little harmless fun. It's not like i'm giving everyone a virus. Didn't know this was a board for stuck up pricks. Didn't know everyone was going to shit a brick just for copying everything on the main page. "oh look at me, I can take Nintendo music out of a game and put it on a website. Now I'm all high and mighty and better then everyone eles, bow before me!" I'm sorry Jesus Christ lighten up!
Oh shut up you big baby. Why don't you go to a lil kid board for that shit and leave these people alone. They work hard to make this site great and you shouldn't come in here and crap on it. Respect man, respect.
Do you actually have anything to say? So far your only posts have been an inexplicable copy of the USF Central page, a post explaining that you were drunk while doing the former and insulting someone called Steve-O, and another one insulting everyone.
No, i'm not scared, i just don't have time to read boards allday...i said i was sorry..go ahead and ban me..its ok i'm just about to go shoot myself anyway.
I am just concerned that if we allow spamming, flaming/profanity, etc. that it will bring down the productive atmosphere that make this site great. I have seen many great message boards ruined by actions similar to those of this guy. It is a simple pattern: a person conducts himself like this, and other people join the board to get in on the flaming/spamming. Next thing you know, all of the hardcore members get frustrated and leave, and then the site just sits there and does nothing.
I am not against people having fun, but I think that people should not support "fun" that could potentially turn a message board into a flaming/spamming contest.
I said I would tagg DK, but I didn't come so far and then I had much problems at school...
So.. whats going on here?There are spammers around?HCS should not end this, maybe he could give people some rights to clean up the site from spammers.I dont think, that I should get those rights.Its only a suggestion.