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
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - F-Zero X | |
Pages: 1 2 3 4 5 6 7Add 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
Posted on 06-12-05 11:56 AM Link | Quote
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
Posted on 06-12-05 08:31 PM Link | Quote
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
Posted on 06-13-05 03:04 AM Link | Quote
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
Posted on 06-13-05 06:00 AM Link | Quote
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
Posted on 06-13-05 11:31 AM Link | Quote
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
Posted on 06-13-05 11:18 PM Link | Quote
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
Posted on 06-14-05 02:10 AM Link | Quote
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
Posted on 06-14-05 02:24 AM Link | Quote
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
Posted on 06-14-05 04:43 AM Link | Quote
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
Posted on 06-15-05 01:52 AM Link | Quote
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
Posted on 06-15-05 10:45 PM Link | Quote
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
Posted on 06-16-05 12:59 AM Link | Quote
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
Posted on 06-16-05 02:29 PM Link | Quote
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.


DD-1 9028m 27pts


No X Y Z Wid Rd Bank
01 -728 0 -374 52 S 0
02 -246 0 -369 5R
03 -76 4 -374
04 156 75 -381
05 447 259 -382
06 772 463 -359
07 1070 500 -211
08 1170 500 55
09 1052 480 294
10 773 448 380 36
11 394 500 382 28 3R
12 176 250 376 228deg
13 451 0 304 180
14 745 250 207 72
15 411 500 141 357
16 144 250 126 240
17 451 0 75 180
18 752 250 -9 84
19 436 500 -57 0
20 47 109 -48 52 5R
21 -504 0 -49 3T
22 -958 0 -52
23 -1099 0 -90 78
24 -1170 0 -191 104
25 -1136 0 -307 104(54-50)
26 -1029 0 -360 70
27 -868 0 -374 52
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
Posted on 06-16-05 10:00 PM Link | Quote
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
Posted on 06-17-05 12:44 AM Link | Quote
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
Posted on 06-17-05 12:55 AM Link | Quote
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
Posted on 06-17-05 04:17 AM Link | Quote
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
Posted on 06-17-05 04:30 AM Link | Quote
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
Posted on 06-17-05 05:43 AM Link | Quote
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
Posted on 06-17-05 07:36 AM Link | Quote
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 7Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - F-Zero X | |


ABII


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



Page rendered in 0.049 seconds.