Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Rom Hacking: |
Acmlm's Board - I2 Archive - Rom Hacking - F-Zero X | | | |
Pages: 1 2 3 4 5 6 7 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 4939/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
So F-Zero uses some sort of compressed WAV and Mario Kart uses MIDI? Simple enough. Nintendo sure does seem to waste space with their translations though. The US Zelda OoT still contains all the Japanese dialog. |
|||
Yoronosuku Bullet Bill YORO 4 GOD Level: 32 Posts: 151/502 EXP: 194954 For next: 11488 Since: 01-06-05 From: hailing from Oyamazaki, Kyoto Since last post: 4 hours Last activity: 4 hours |
| ||
I figured out that Mario Kart had used the MIDI..but my hunch was wrong about F-Zero X (however, it sounds even a bit easier). Because of this then, does the music not even use samples? Or am I not understanding correct | |||
DavePhaneuf Micro-Goomba Level: 8 Posts: 9/18 EXP: 1865 For next: 322 Since: 03-16-04 Since last post: 130 days Last activity: 7 days |
| ||
Hmmm.. Probably not, Since I guess each song is a single Compressed Wav file, as HH says. I wonder if that's why the USF files for FZX are so big. (edited by DavePhaneuf on 06-12-05 10:07 AM) (edited by DavePhaneuf on 06-12-05 10:11 AM) |
|||
Yoronosuku Bullet Bill YORO 4 GOD Level: 32 Posts: 158/502 EXP: 194954 For next: 11488 Since: 01-06-05 From: hailing from Oyamazaki, Kyoto Since last post: 4 hours Last activity: 4 hours |
| ||
That explains why every time I sniffed for sample, I crashed Well. If this format is really waves, then I would love to figure it out more. . . and replace the music with songs from the Guitar Arranged CD EDIT: Are you the same DavePhaneuf who made MIDIs of F-Zero X songs?? =o (edited by Yoronosuku on 06-12-05 01:01 PM) |
|||
DavePhaneuf Micro-Goomba Level: 8 Posts: 10/18 EXP: 1865 For next: 322 Since: 03-16-04 Since last post: 130 days Last activity: 7 days |
| ||
Yeah I made quite a few, though they are really outdated, except for Silence 3 from the Expansion Kit. By the way, out of curiosity, how's the Expansion Kit track data coming along Heian? |
|||
BGNG Snifit Level: 22 Posts: 28/276 EXP: 56579 For next: 1771 Since: 06-03-05 Since last post: 8 days Last activity: 3 hours |
| ||
F-Zero X uses wave samples; but, as mentioned, the stream is compressed. ADPCM is an ingeneous little algorithm that can literally take 16 bits, compress them to 4 bits, then use those 4 bits to get the 16 bits back. How is that possible? It technically isn't, as the compression is somewhat lossy, but it's a fairly close approximation. ADPCM relies on the fact that you can generally predict the next sample of an audio stream by looking at the properties of the previous one. That's right: just one. For example: in a Sine wave, if the previous sample is 1, then the next sample will be slightly less than 1. While coding/decoding, an ADPCM codec keeps track of merely TWO static variables that determine the behavior of the next sample. I have no idea how it really works, but it works. __________ One ironic tell-tale property of ADPCM is that the original waveform is still slightly preserved, even when the stream is compressed. If you listen to COMPRESSED ADPCM as if it were uncompressed PCM, you can hear some obnoxiously loud static, but you can also hear faint traces of the original audio lingering in the depths of quietness. I once loaded the entire F-Zero X ROM as if it where uncompressed PCM and listened very closely to the data, and I found that all of the musics in the ROM can be heard by playing the game. This means that there are no additional musics in the ROM; the Expansion Kit tracks are not in there. __________ Taking after the AIFF IMA format, the data in the ROM has predictor values inserted at regular intervals during the data stream. I believe this interval to be every 64 samples (16 bytes), but I have not had time to verify this. |
|||
Yoronosuku Bullet Bill YORO 4 GOD Level: 32 Posts: 162/502 EXP: 194954 For next: 11488 Since: 01-06-05 From: hailing from Oyamazaki, Kyoto Since last post: 4 hours Last activity: 4 hours |
| ||
I noticed that. . . about how you can hear little traces in static. Mario Kart 64 has 2 sampled songs. I used a sniffer to help me remove the samples from the game uncompressed, though. I do not have any good ADPCM tools, I wish. Then sample extraction would be much more simple! (I have also heard there is a VADPCM but I have no idea what it is. ) | |||
BGNG Snifit Level: 22 Posts: 29/276 EXP: 56579 For next: 1771 Since: 06-03-05 Since last post: 8 days Last activity: 3 hours |
| ||
Hmmm. Interesting note you've brought up. I've looked up VADPCM, and it stands for "Variable-rate ADPCM," or "Variable-rate Adaptive Differential Pulse Code Modulation" if you're an acronym junkie like myself. The only improvement to ADPCM that VADPCM introduces is the implementation of the Huffman compression algorithm, thusly making the data stream of a variable bitrate. Fortunately for us, the musics in F-Zero X are stored in a constant bitrate, so they'll be easy to manipulate once their storage specification is uncovered. |
|||
Yoronosuku Bullet Bill YORO 4 GOD Level: 32 Posts: 163/502 EXP: 194954 For next: 11488 Since: 01-06-05 From: hailing from Oyamazaki, Kyoto Since last post: 4 hours Last activity: 4 hours |
| ||
Oh wow so that is what that is. I have been trying to figure out what it was for a while, it helps thank you! I might play around with F-Zero X tonight. . . and maybe see if I can do anything to the sound now that we know all of this! | |||
BGNG Snifit Level: 22 Posts: 33/276 EXP: 56579 For next: 1771 Since: 06-03-05 Since last post: 8 days Last activity: 3 hours |
| ||
If you're not one with your programming language, don't expect to get too far. You won't be able to uncover many mysteries if you can't verify that it's audio. And hex editors aren't so good for converting audio. | |||
Yoronosuku Bullet Bill YORO 4 GOD Level: 32 Posts: 186/502 EXP: 194954 For next: 11488 Since: 01-06-05 From: hailing from Oyamazaki, Kyoto Since last post: 4 hours Last activity: 4 hours |
| ||
Do not worry, I am not new to this kind of thing. This might come as a surprise to many, but girls can rom hack but thank you for pointing that out, I will keep it in mind | |||
BGNG Snifit Level: 22 Posts: 35/276 EXP: 56579 For next: 1771 Since: 06-03-05 Since last post: 8 days Last activity: 3 hours |
| ||
There's a pseudo-code codec for ADPCM available here, but it differs slightly from the official documentation, which only exists online as scanned GIFs. I've got the official manual here on my computer, so ask me if you'd like me to send it to you. I've translated the code from the manual and implemented it myself, and it works as it should. | |||
Heian-794 Red Super Koopa Level: 44 Posts: 719/896 EXP: 611014 For next: 271 Since: 06-01-04 From: Kyoto, Japan Since last post: 21 days Last activity: 10 days |
| ||
OK, I finally finished another course layout. This is DD-1. "Wid" is the course wisth, which is equal on both sides unless otherwise specified; Rd is road type, with "R" being basic road (douro) and T being wall-less "T" course; the width and bank are the same as the previous piece unless a new number is given.
|
|||
BGNG Snifit Level: 22 Posts: 36/276 EXP: 56579 For next: 1771 Since: 06-03-05 Since last post: 8 days Last activity: 3 hours |
| ||
Excellent. I'll be able to implement this data shortly. However, there are a few additional things that I require, which I mentioned in an earlier post: __________ The following is what I need for each course: General Stuff: Control Point Count - The number of control points that make the course Background Music Control Point Stuff: X Coordinate Y Coordinate Z Coordinate Banking Degrees Left-side Width Right-side Width Structures - Buildings, pyramids, etc. __________ The ONLY things you omitted were the background music and structures. Control point #17, I think, has two "skyscrapers" by it, and there's one point later in the course (#23, perhas?) that has a "skyscraper" on the left, so make sure you document that. As for the music, I think Silence 3 uses the "Regeneration" tune. Please verify this. __________ Otherwise, THANK YOU. Keep up the good work. You are an invaluable contribution to this project. |
|||
DavePhaneuf Micro-Goomba Level: 8 Posts: 11/18 EXP: 1865 For next: 322 Since: 03-16-04 Since last post: 130 days Last activity: 7 days |
| ||
Yup, I just checked the songs I have and Silence 3 uses Regeneration, which is BGM11 if I'm right. I'd probably use the Silence 1&2 (Dream Chaser I think) music for this track for now. ^^ |
|||
BGNG Snifit Level: 22 Posts: 37/276 EXP: 56579 For next: 1771 Since: 06-03-05 Since last post: 8 days Last activity: 3 hours |
| ||
Check your e-mail, DavePhaneuf. I've finished recreating the course and sent you the dump file. I also recorded a video and put it up on MFO: s3_bgng_emu_142750.mpg BGNG makes history as the world's first F-Zero X consumer to play a course from the Expansion Kit without using an N64DD. He gets a time of 1'24"750 on Silence 3 with Sonic Phantom |
|||
DavePhaneuf Micro-Goomba Level: 8 Posts: 12/18 EXP: 1865 For next: 322 Since: 03-16-04 Since last post: 130 days Last activity: 7 days |
| ||
Bey BGNG, I got your file. Great job on it. And to Heian for the Co-ordinates. I remade it myself too, but I couldn't do the no gates part. By the way, I think there may be a mistake. I think that the Left-Side SkyScraper near the end of the track is one CP too early. I compared the position of it when I was in the left side refiller to the one in the Silence 3 Video I have, and in the video it's furthur to the right. Just though I'd point that out. ^^ I'm looking forward to the next one. (edited by DavePhaneuf on 06-16-05 07:18 PM) |
|||
BGNG Snifit Level: 22 Posts: 38/276 EXP: 56579 For next: 1771 Since: 06-03-05 Since last post: 8 days Last activity: 3 hours |
| ||
Good eye, DavePhaneuf. Indeed, it was one control point to early. Looking out from the end of the Pit Area, like you said, verifies this. I moved it over one, and now it looks just fine. Open up that DD1-1-Silence_3.dat file in a hex editor and scroll to the bottom. You'll see several lines of "FF FF FF" etc. The second-to-last one should show "FF 01 FF FF FF" at the end of it. Change that to "FF FF 01 FF FF" and it'll fix the problem for you. __________ EDIT: It is to prevent this very thing, Heian-794, that I ask you document the structures that appear to the sides of any given control point. (edited by BGNG on 06-16-05 07:32 PM) |
|||
DavePhaneuf Micro-Goomba Level: 8 Posts: 13/18 EXP: 1865 For next: 322 Since: 03-16-04 Since last post: 130 days Last activity: 7 days |
| ||
I just did that, and it's at the right place now. By the way, I think it may be an Idea to also document the track addons, like mines, dirt, Refiller, Dash plate. Etc. Since there may be a few tracks where it'll be much more difficult to tell where it is. Such as Mute City 4 in the Halfpipe. |
|||
BGNG Snifit Level: 22 Posts: 39/276 EXP: 56579 For next: 1771 Since: 06-03-05 Since last post: 8 days Last activity: 3 hours |
| ||
For dash plates, yes, but when's the last time you saw a trap field, slip zone, dart zone or pit area in a half pipe? |
Pages: 1 2 3 4 5 6 7 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Rom Hacking - F-Zero X | | | |