********************** Goldeneye 64 USF Rip by someone42 Completed 10-Oct-2004 ********************** Thanks for downloading the USF rip of the original definitive first-person-shooter for the N64. Included files other than the MiniUSFs: oneloop.bat - Sets timing for one loop (no repeat) twoloops.bat - Sets timing for two loops (repeat) ge.m3u - A Winamp playlist for your convenience readme.txt - This file ge.usflib - The usflib for the miniusfs, don't delete this! Note: You must be using 64th Note v0.05 or better to play this set! It is fine to turn on "Recompiler CPU". However, because Goldeneye 64 uses certain effects that are not high-level emulated, turning "Audio HLE" on will result in some missing sounds. The tracks are grouped by where they occur in missions. The "1xx" tracks are the 20 mission tracks, and the "2xx" tracks are the "X" versions of the mission tracks. The "3xx" tracks are miscellaneous tracks. If you are wondering where "Surface 1 X" went, well "Surface 2 X" is actually duplicated in the internal track list, so I believe "Surface 1 X" is exactly the same as "Surface 2 X". Because of that I just deleted it. Apart from that, every mission track has a corresponding "X" track. Note about "304 Citadel": According to Andrew Limmy, Gameshark hackers who unconvered (parts of???) the (infamous) level Citadel got this as the music, so it can be attributed to Citadel. Thanks goes to: Adam Gashlin (hcs) for the USF format, the development team of Project64 for Project64, zoopd for the batch ripping program, Andrew Limmy for some track titles and Rareware for such a great game. My e-mail address is: ***Replace "moomail" with "hotmail"*** someone42_000 at moomail dot com ***Replace "moomail" with "hotmail"*** (that means you don't have to read it, but you probably won't listen to me anyway...) --- [gemusicmod-list.txt - Andrew Limmy's music number->track list] 80024337 00?? [If you're interested, above is the gameshark code which can access all the music.] 01 Mission Death (beta) 02 Goldeneye Theme Song 03 Train 04 Depot 05 "The Basement" 06 Citadel 07 Facility 08 Control 09 Dam 0A Frigate 0B Archives 0C Silo 0D "Unsquare Water Dance" 0E Streets 0F Bunker A 10 Bunker B 11 Statue 12 Control Elevator 13 Cradle 14 Sound Effects Only 15 Caverns Elevator 16 Egypt 17 Mission Select 18 007 Watch Theme (Paused) 19 Aztec 1A Caverns 1B Mission Death 1C Surface B 1D Train 1E Sound Effects Only 1F Facility X 20 Found Traveylan's Train 21 Control X 22 Caverns X 23 Dam X 24 Frigate X 25 Streets X 26 Silo X 27 Sound Effects Only 28 Train X 29 Bunker A X 2A Bunker B X 2B Jungle 2C Nintendo and Rareware 2D Statue 2E Aztec X 2F Egypt 30 Cradle X 31 Ending Theme 32 Runway 33 Runway Plane 34 Surface 2 35 Bungeee! 36 Multiplayer Death (beta) 37 Jungle 38 Runway X 39 Surface A 3A Multiplayer Death 3B Surface X 3C Captured! 3D Captured! 3E Frigate beta 3F Nothingness 40 Sound Effects only 41 Sound Effects only 42 Sound Effects only 43 Sound Effects only --- [numbers.txt - My original and incomplete music number->track list] All the music by Graeme Norgate & Grant Kirkhope Except for elevator music which is by Robin Beanland Sound system by Graham Smith title artist game genre year copyright usfby length fade comment volume 0x0 - nothing??? 0x1 - Death (no guitar strum) 0x2 - Intro 0x3 - Train 0x4 - Depot 0x5 - Unknown1 0x6 - Unknown2 0x7 - Facility 0x8 - Control 0x9 - Dam 0xA - Frigate 0xB - Archive 0xC - Silo 0xD - Unknown3 0xE - Streets 0xF - Bunker 1 0x10 - Bunker 2 0x11 - Statue 0x12 - Elevator 0x13 - Cradle 0x14 - nothing??? 0x15 - Elevator 2 0x16 - Egypt 0x17 - Briefing 0x18 - Watch 0x19 - Aztec 0x1A - Caverns 0x1B - Death (alternate) 0x1C - Surface 2 0x1D - Train (bomb set) 0x1E - nothing??? 0x1F - Unknown4 0x20 - Depot (something) (Weird?! EQ things go up to full when this is loaded in winamp) 0x21 - Unknown5 0x22 - Unknown6 (caverns multiplayer?) 0x23 - Unknown7 0x24 - Unknown8 0x25 - Unknown9 0x26 - Silo (something) 0x27 - nothing??? 0x28 - Unknown10 0x29 - Bunker 2 (place about to be blasted to smitherines by goldeneye) 0x2A - Bunker 1 (alarm went off) 0x2B - Unknown11 (I think this might be a duplicate) 0x2C - Heartbeat (after death, thing you hear when you first start game) 0x2D - Statue (bomb set) 0x2E - Aztec (shuttle about to launch) 0x2F - Unknown12 (egypt multiplayer?) 0x30 - Cradle (final chase) 0x31 - Ending 0x32 - Runway 0x33 - Runway (escape in plane) 0x34 - Unknown13 (something to do with surface 2?) 0x35 - Bungee jumping 0x36 - Death (alternate, just guitar strum) 0x37 - Jungle 0x38 - Unknown14 0x39 - Surface 0x3A - Death (alternate, quicker) 0x3B - Unknown15 (might be duplicate) 0x3C - Surface 2 (caught) 0x3D - Statue (some event? caught?) 0x3E - Unknown16 (something to do with silo?) 0x3F - (Does not seem to work) Anything above 0x3F is redirected to 0x1 --- [notes.txt - Random information] At 0x70006094 I have patched: lui $a0, 0x8000 lw $a0, 0x603C($a0) Note that 7000603C is actually code, but our savestate is after that bit of code so it is never executed. So: savestate = gemusic-main.pj trace begin = 0x70006094 song value offset = 0x8000603C spend 3000 alists do reset on new data read --- [patch.txt - Just some stuff I patched into the ROM] sub_80002958: addiu $sp,0xFFE0 sw $ra,0x14($sp) sw $a0,0xC($sp) sw $a1,0x10($sp) lui $t0,0x8006 addiu $t0,0xE718 lui $t2,0x8000 or $t2,$a2 sw $t2,0x0($t0) sh $a3,0x4($t0) jal 0x7000F108 ; AlAudioFrame nop lui $a0,0x802E ; offset of OSTask structure addiu $a0,0xB768 li $t1,2 sw $t1,0x0($a0) ; type li $t1,0 sw $t1,0x4($a0) ; flags lui $t1,0x8002 addiu $t1,0x0D90 sw $t1,0x8($a0) ; ucode_boot li $t1,0xD0 sw $t1,0xC($a0) ; ucode_boot_size lui $t1,0x8002 addiu $t1,0x2280 sw $t1,0x10($a0) ; ucode li $t1,0 sw $t1,0x14($a0) ; ucode_size lui $t1,0x8006 addiu $t1,0xD020 sw $t1,0x18($a0) ; ucode_data li $t1,0x800 sw $t1,0x1C($a0) ; ucode_data_size li $t1,0 sw $t1,0x20($a0) ; dram_stack sw $t1,0x24($a0) ; dram_stack_size sw $t1,0x28($a0) ; output_buff sw $t1,0x2C($a0) ; output_buff_size sw $t1,0x38($a0) ; yield_data_ptr sw $t1,0x3C($a0) ; yield_data_size lw $t1,0xC($sp) sw $t1,0x30($a0) ; data_ptr lw $t1,0x10($sp) lw $t1,0($t1) slli $t1,$t1,3 sw $t1,0x34($a0) ; data_size jal 0x7000E60C ; osSpTaskLoad nop li $a0,4 lui $a1,0x8006 addiu $a1,0xE6E0 li $a2,0xEEEE jal 0x8000DC50 ; osSetEventMesg nop lui $a0,0x802E jal 0x7000E76C ; osSpTaskStartGo addiu $a0,0xB768 lw $ra,0x14($sp) addiu $sp,0x20 jr $ra nop 80002950: 00000000 00000000 27BDFFE0 AFBF0014 80002960: AFA40004 AFA50008 3C088006 2508E718 80002970: 3C0A8000 01465025 AD0A0000 A5070004 80002980: 0C003C42 00000000 3C04802E 2484B768 80002990: 24090002 AC890000 24090000 AC890004 800029A0: 3C098002 25290D90 AC890008 240900D0 800029B0: AC89000C 3C098002 25292280 AC890010 800029C0: 24090000 AC890014 3C098006 2529D020 800029D0: AC890018 24090800 AC89001C 24090000 800029E0: AC890020 AC890024 AC890028 AC89002C 800029F0: AC890038 AC89003C 8FA90004 AC890030 80002A00: 8FA90008 8D290000 AC890034 0C003983 80002A10: 00000000 3C04802E 0C0039DB 2484B768 80002A20: 8FBF0014 27BD0020 03E00008 00000000 AC A4 00 00 = sw $a0, ($a1) [bah, the assembly and machine code don't match at the moment.] ---