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 track hack | |
Pages: 1 2 3 4 5 6Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
VL-Tone

Red Cheep-cheep
Level: 23

Posts: 9/200
EXP: 64158
For next: 3565

Since: 06-06-04
From: In the Moon!

Since last post: 5 days
Last activity: 2 hours
Posted on 06-07-04 05:17 PM Link | Quote
Wow neat discoveries here

Starting positions will be very usefull.

As for the A.I. it would be great if we find it, but I like time trials on F-Zero and I'm sure I'm not
the only one

I didn't look for pointer tables yet, I'm not too familiar with the way the SNES translate
pointers into rom locations. Can you shed any light on this?

Heian-794

Red Super Koopa
Level: 44

Posts: 48/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-07-04 05:51 PM Link | Quote
These are some great finds!

d4s, when I say "Genesis format", I just mean that that's the graphics format that you need to select to view them in Tile Layer Pro. I found that each tile consisted of 66 pixels; 64 of them in an 8x8 array (the tile graphic), plus two more at the beginning sandwiched in between the tile and the preceding tile. It occurred to me that perhaps the numerical values of these two pixels govern whether or not a tile should flash or otherwise be animated -- the regular track is static; the barriers flash when you drive on them; and the backgrounds, pits, and boost panels tend to be animated all the time. A brief experiment with changing the in-between pixels of the barriers to those of the backgrounds resulted not in flashing barriers (like in GP Legend/Falcon Densetsu), but rather part-normal, part-reversed-color barriers, which wasn't useful at all.

Nestea, I suppose these starting positions are what determines the beginning and end of a lap, and not the checkered flag graphic? I'd assume so.

I found that the both the panel arrangement and the code below that contain the same information in FZ-1 and FZ-2, which makes me think that when creating FZ-2, the only thing they modified was what each row code was set up to form. Mute City IV contains some useful stuff (boost panels and multiple jump panels) that the original MC doesn't have, and which would be useful in a new game. If we're limited to stuff offered in rows (not panels anymore!) of existing data, a cool new MC track can still be made, but not as cool as it should be.

Nestea, are you sure about those codes to practice on Fire Field and White Land? I think the first two digits should be 7E in both cases.

shamelessly copied from a DES posting of mine:

I've also figured out how to practice on normally-unreachable courses like Fire Field -- the course you're on is stored at 7e0053 on SNES9x, so add that value plus the number of the course you want to drive on as a cheat (9: White Land II; 10: Fire Field are selectable this way; note that the code is the course's number plus one, so the screen will say "8. White Land II" and "9. Fire Field", respectively).


Nestea

Goomba
Level: 8

Posts: 15/20
EXP: 2185
For next: 2

Since: 03-15-04

Since last post: 85 days
Last activity: 53 days
Posted on 06-07-04 11:16 PM Link | Quote
Originally posted by Heian-794
Nestea, I suppose these starting positions are what determines the beginning and end of a lap, and not the checkered flag graphic? I'd assume so.


Exactly. It doesn't affect any graphic. It does determine the beginning and end of a lap. And what I meant with the A.I. routes was that if you change the start position. The route is moved along with it (so there might be rival cars going through walls).

EDIT: The 73 should be 7E. It is a typo.

EDIT 2: I, once again, found something interesting!

1A06F - Mute City I Music

00 - Mute City
01 - Big Blue
02 - Sand Ocean
03 - Silence
04 - Port Town
05 - Red Canyon
06 - White Land I
07 - White Land II
08 - Fire Field
09 - Death Wind


(edited by Nestea on 06-07-04 02:16 PM)
(edited by Nestea on 06-08-04 02:12 AM)
(edited by Nestea on 06-08-04 02:59 AM)
Heian-794

Red Super Koopa
Level: 44

Posts: 71/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-08-04 11:32 PM Link | Quote
Nestea, check this out:

That line starting at 1A069 seems to show the music codes for each course, in the order that their track layouts are given in the code following.

01 Big Blue
03 Silence
02 Sand Ocean (these two are on the same course)
04 Port Town
09 Death Wind
05 Red Canyon
08 Fire Field
00 Mute City
06 White Land

This marks the end of the track layouts, but I'm betting that any additional info about "II" and "III" tracks will come in something resembling this order:

04 Port Town (II?)
09 Death Wind (II?)
05 Red Canyon (II?)
00 Mute City (II?)
00 Mute City (III?)
07 White Land II


These are great finds, Nestea; I can't make head or tail of any of that code before the track layouts at around 1A200!

Heian-794

Edit: Tested and this is indeed the case! Put, for example, 06 at 1A069 and practice on Big Blue. You'll get White Land I music!

Using a value of 0A or 0F (two that I tested) will cause the game to freeze, and I assume any higher value will to. Would've liked to have the ability to drive to the ending tune!



(edited by Heian-794 on 06-08-04 02:52 PM)
(edited by Heian-794 on 06-08-04 03:13 PM)
Keitaro

Iron Knuckle
ウラシマ ケイタロウ
Level: 54

Posts: 407/1342
EXP: 1201569
For next: 32301

Since: 03-15-04
From: Hinata, Japan

Since last post: 2 days
Last activity: 2 days
Posted on 06-09-04 12:23 AM Link | Quote
ending and title may be in a separate bank, I would assume, as well as stuff like the race results, race begin, death, etc. If you got any more sound related questions for F-Zero run em by me....I'm putting together a quite extensive documentation of all things sound related for F-Zero and may start on II when i've completed it I'm hacking the sound to peices here, so I've figured out alot
Heian-794

Red Super Koopa
Level: 44

Posts: 76/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-09-04 01:21 AM Link | Quote
Majin, yeah, any revelations about the music would be much appreciated!

Is it possible to simply change one instrument to another? Even if complete remixes were impossible, it might be cool to hear, say, the main instrument in Big Blue changed to a calypso drum or something. I know you can't just paste music from other games in. The GBA F-Zero games have some decent music too. In particular, I like "Empyrean Colony" and "Cloud Carpet" in FZMV, and "Mist Flow" and "Lightning" in Falcon Densetsu. Are these compatible at all with the original F-Zero?

I've been designing a new course while trying to keep the required number of new panels to a minimum. (So far it only needs two.) As soon as I finish making a GIF of it, using Tyler's panel graphics, I'll post it. I'm trying to set things up so that different cars will end up taking different routes -- the long-jumping Golden Fox will leap over some parts that the Stingray will have to detour around!
Keitaro

Iron Knuckle
ウラシマ ケイタロウ
Level: 54

Posts: 408/1342
EXP: 1201569
For next: 32301

Since: 03-15-04
From: Hinata, Japan

Since last post: 2 days
Last activity: 2 days
Posted on 06-09-04 01:36 AM Link | Quote
alright, well I can say this. F-Zero has really shitty limited instrument samples. They are simple waves just filtered to death, to almost sound good. The GBA games have alot more chanels than the SNES, so even if I were to rewrite the music I would have to remove all of f-zero's samples save the neceseties such as engine noises (which, I figure are fine sounding, for now anyways ), put in new ones such as the calypso drum (also known as steel drums) and recode the music by hand. Can be done, but is a lot of work (I might need some expansion even, because I went over the original space requirement for f-zero's instrument samples in my hack...guess my sounds were a little big ^^ nothing repointing the sample table cant fix but..).

Aaaaaanyways. Yeah, F-Zero dosn't have a steeldrum. I'll do a quick rip and give you a list along with corresponding hex numbers of F-Zero's instruments...my document is actualy gonna give a decently indepth explanation of the game's engine, so cahnging instruments will be included. Just give me until the end of the week, I'll have somthing really cool for you guys to see (and maybe even hear)
greeeg

Micro-Goomba
Level: 7

Posts: 10/15
EXP: 1320
For next: 128

Since: 06-03-04
From: France

Since last post: 503 days
Last activity: 339 days
Posted on 06-09-04 02:13 AM Link | Quote
New tracks, new musics, new car stats... This gonna be the best hack ever !
Keep courage guys !
Heian-794

Red Super Koopa
Level: 44

Posts: 78/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-09-04 04:25 PM Link | Quote
Was this your work? The 6th Lime over at DES dug up the following:

Here is the Music editing data. Unfortunatly I dont know who it's by:

messing around with the spc i found alot of interesting things. here are my discoveries.


&h 700 - music data for the race begin song (make sure your modifying that spc, or one set to that song's bank)
&h 00ff - pointer to race begin
&h ca20 - ungodly amount of blank space that you can probably put note data in, im going to mess around with it now.

and here is a smaple list.

00 - Brass Chord
01 - Synth Keyboard?
02 - Ocarina 1
03 - Trumpet 1
05 - Violin
06 - Ocarina 2
07 - Electric Piano 1
08 - Fretless Bass
0A - Slap Bass 1
0B - Square Wave
0C - Brush Toms
0D - Brush Snare
0E - Strings
0F - Slap Bass 2
10 - French Horn
11 - Tom
12 - Hi Hat (Opened)
14 - Snare Drum
15 - Hi-Hat (Closed)
16 - Synth Brass 1
17 - Synth Brass 2
18 - Slap Bass 3
1A - Rock Organ
1C - Synth Floor Tom
1D - Fiddle
1E - Trumpet 2
20 - Reed Organ
21 - Electric Piano 2
22 - Electric Piano 3
26 - Square Wave Noise FX
27 - Sawtooth Noise (probably a glitch sample)
28 - Square Wave Noise FX 2

note that some samples arent ont hat list, this is because they dont work, for osme reason. Also the open hi hat dosnt seem to work for me, but they use it in the game, go figure

edit: to put in data at the blank space, type in 20c9 at address 00ff, or else it wont work.

other edit: expecct either a hack or spc set with new music in it (everyone liked the f-zero x sound track right? thats always a good thing.. )

edit edit edit edit: meh... the thing at 00ff dosnt seem to want to point, you can put anything in there but the opnly thing that will keep it form pointing to 0700 is putting in ff as a digit... and yet e dosnt fdo anything.. this is random...

edit edit edit edit edit: ok last edit, 06ee is the address for the pointer, i have confirmed it working. meh.
Nestea

Goomba
Level: 8

Posts: 16/20
EXP: 2185
For next: 2

Since: 03-15-04

Since last post: 85 days
Last activity: 53 days
Posted on 06-09-04 06:12 PM Link | Quote
More interesting information I corrupted!

I've figured out that each course has "checkpoints". I've figured out the data... sorta.

Somewhere around $176A3 affects the first turn in Mute City I.


(edited by Nestea on 06-09-04 09:12 AM)
Heian-794

Red Super Koopa
Level: 44

Posts: 80/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-09-04 06:49 PM Link | Quote
Nestea, are these checkpoints related to the ship that comes to grab you when you use the jump panels to take a shortcut (like in Port Town)?

There are no checkpoints on the regular course, other than the end-of-lap marker, that require you to pass them in order to complete the lap. Check out my completion of a hacked Big Blue in 24 seconds:

http://www.geocities.com/tuffydabubba/bigblue.JPG

(This was before we discovered how the panels are defined by rows -- at the time, I hadn't noticed the panel layout and was thinking that the row data was the course.)
Nestea

Goomba
Level: 8

Posts: 17/20
EXP: 2185
For next: 2

Since: 03-15-04

Since last post: 85 days
Last activity: 53 days
Posted on 06-09-04 06:54 PM Link | Quote
I know that. I've done the same exact thing with Mute City (see one of my hacks). I'm just saying that there could be points where the A.I. go to in the course. I remember one time when I corrupted things, the rival car started doing strange twists and turns inside, but then move back to the course and proceed the course normally.
Heian-794

Red Super Koopa
Level: 44

Posts: 81/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-09-04 07:07 PM Link | Quote
Yeah, that's right; your red-and-beige Mute City hack (the one that's a straight line) is much shorter than a regular course.

Come to think of it, there are probably some special routines related to jumping. Whe I attempted to practice on courses numbered higher than 10, usually the course would be gibberish, but sometimes the game would put me on a regular course but starting at an unusual point. When I reached a jump panel, I would jump normally, but then upon landing, the game would freeze and one of the backgrounds (the one filled with zeros) would fill the screen, with only the sprites in front of it.

The AI can't be taking up much code, but the car movement is still pretty complicated. Maybe it defines a very small number of checkpoints and the cars then gravitate towards them?
d4s

Panser
Level: 29

Posts: 35/325
EXP: 142151
For next: 5734

Since: 03-23-04

Since last post: 13 days
Last activity: 1 day
Posted on 06-09-04 10:19 PM Link | Quote
yeah, thats what i would assume aswell.
sorta like the AI system mario kart uses.
AFAIK the dsp1 handles the interpolation for all NPCs between these
"checkpoints" in mario kart.
fzero obviously has a much simpler AI system cause only
the onscreen NPCs positions have to be calculated and the NPC behind you always catches up, no matter how fast you go.
one thing that always annoyed me was that NPCs cant go off-track and explode,
but changing this is most likely not possible, atleast not for the majority of this boards members, me included
Keitaro

Iron Knuckle
ウラシマ ケイタロウ
Level: 54

Posts: 430/1342
EXP: 1201569
For next: 32301

Since: 03-15-04
From: Hinata, Japan

Since last post: 2 days
Last activity: 2 days
Posted on 06-10-04 01:12 AM Link | Quote
Heian, that doc was by me I don't even remember releasing it for the record, it's really old...so I would not suggest going by it. Alot of things are REALLY inaccurate now. I'm going to be posting my extensive sound hacking document tonight, so now you all won't have to fret over the music, and can focus more on getting those maps done

edit: here is the doc


(edited by MajinBlueDragon on 06-09-04 04:18 PM)
(edited by MajinBlueDragon on 06-09-04 05:16 PM)
(edited by MajinBlueDragon on 06-09-04 07:57 PM)
VL-Tone

Red Cheep-cheep
Level: 23

Posts: 12/200
EXP: 64158
For next: 3565

Since: 06-06-04
From: In the Moon!

Since last post: 5 days
Last activity: 2 hours
Posted on 06-10-04 11:32 AM Link | Quote
Here is some information I found about F-Zero's rival cars A.I.

At 7E0BD3 in wram is the on-track angle of the rival car in practice mode.
It's in 2 degree steps.

If you set this value via a cheat to 00 for example, you'll see that from the start,
the rival car faces left, and when the race start you see it go left and start to bounce
off the green barrier. So other cars do bounce on the barrier in that context,
but alas dont explode.

If you disable the cheat when the car is far away from where it should be,
you'll see that the car turns around and starts to drive toward an imaginary point
farther on the track, and this time it will pass through barriers if it has to.

I don't understand exactly what changes the behavior from bouncing to drive-thru-walls.
But the point it drives to is obviously it's next check point on the track so this pretty
much confirm that F-Zero uses a point-to-point A.I. for cars.

The drive-thru-walls game-genie code (for your car) is very usefull to follow the other car.

Angle values like FF will stop the car, and depending on where it is relative to you it will
either continously rotate on itself or stop rotating. A real speed value is probably near
7E0BD3, I'm looking foward to find it.

Note that the angle value is not exactly absolute, the game will rotate the car until it
reaches the angle stored in 7E0BD3 so turning not instantaneous. Suden 180 degrees
changes may not trigger the rotation.

So here is the way it probably works:
The game calculates the angle between the car and it's next check point.
Then, it stores this angle in 7E0BD3, and the game starts to make the car turn until
it reaches the right angle.

When the car is close enough in distance to the check point, the game steps in so
it aims for the next check point. The checkpoint data probably also includes speed
info for each point so the cars can slow down in some tight turns.

Around 7E0030 in wram there are various position values for the enemy car.
Some 16-bit X and Y pointers for its position on the track and another X and Ys
that seem to be the relative pos between the rival car and your car position.
Also there is 7E0BD3 mirrored near that.
I wasn't able to patch those with cheats, they are probably mirrors too.

Anyway have fun
Heian-794

Red Super Koopa
Level: 44

Posts: 87/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-10-04 04:30 PM Link | Quote
Graphics update!

Those obelisks and lintels and things in Silence made me think of Stonehenge, so I thought I'd make a course in the green fields of England with grey stones behind it. (You can see the updated Big Blue in the top left picture, if you haven't seen it already.) How's this for a course in the hacked game?

http://www.geocities.com/tuffydabubba/shallowBB-stonehenge.png

This still needs some work as it didn't turn out as good as I thought it would, and I definitely need to tweak the original graphics so that the moon looks like our moon.

But the more I look at those new numbers (n the time display), the more I like them.
Nestea

Goomba
Level: 8

Posts: 18/20
EXP: 2185
For next: 2

Since: 03-15-04

Since last post: 85 days
Last activity: 53 days
Posted on 06-10-04 07:45 PM Link | Quote
And out of random corrupting, I find...

4719C - Position of Fog in Silence
570E2 - Outerior of Blue Falcon's mini-map icon.
570E3 - Outerior of Blue Falcon's mini-map icon.
570E6 - Interior of Blue Falcon's mini-map icon.
570E7 - Interior of Blue Falcon's mini-map icon.

It actually flashes two colors!


(edited by Nestea on 06-10-04 10:58 AM)
Heian-794

Red Super Koopa
Level: 44

Posts: 92/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-10-04 08:05 PM Link | Quote
Is that the sunset on the horizon? It would be nice to be able to move that stuff around, or better yet, create additional stuff for the backgrounds. I want to make a course on the moon with stars in the sky, and we'd have to sacrifice one of the existing backgrounds to do that.

Any luck with car speeds, jump distances, or acceleration times? If we could edit that, we could put the FZ2 cars in the game.

VL-Tone, that is another excellent find! At the very least, we should be able to figure out where the rival car AI is stored if we can get which bytes your data correspond to in the ROM. I looked around for the player's speed, and also the player's speed as a percentage of 478, and then as a ratio to 999 with 999 being $FF, but couldn't find it anywhere. Maybe the number of km/h is calculated from some other value.
VL-Tone

Red Cheep-cheep
Level: 23

Posts: 13/200
EXP: 64158
For next: 3565

Since: 06-06-04
From: In the Moon!

Since last post: 5 days
Last activity: 2 hours
Posted on 06-11-04 12:29 AM Link | Quote
Look what I've found... at 7E0D02 in wram is the checkpoint counter for the rival car!

It starts at 00 and increment as the car passes through the check points until 3A
(in Mute City 1) when the car reaches the starting line, then it goes back to 00.
Note that again this apply to the practice mode.

It means there are around 59 ($3A+1) checkpoints in MuteCity 1. Using a cheat you
can patch it to any value in this range and see the car turn around and head towards
this checkpoint. Put 00 in 7E0D02 while the rival car is in the middle of the course,
and you'll see it head for the starting line.

As I predicted, the car won't turn around if it has to do a 180 degree turn, so when it
reaches the check point it start to drive in a straight line, wrapping around the track.
If you then remove the cheat, you'll see that the value was incremented elsewhere
and that it has reached a higher number, and the car will head up to the point it was
supposed to be.

This mechanism is probably used in the grand-prix mode for the cars behind you to catch up.
By incrementing the counter faster than the cars would, it forces them to take short-cuts,
and they catch up with you, maybe it actually fetches them the last checkpoint you activated.


So we're closer than ever to find the actual checkpoint data which must have 59 entries
for Mute City 1.

EDIT: I didn't look for the car abilities values yet, to find them you could make a savestate
for each rival car at the starting line of Mute City 1 in practice mode.
Then you use a cheat finder to see what values are different, if you eliminate things like timers that could be different, you should end up finding data that is specific to each car. Fiddle with
the bytes in ram to see what they do, and then you can try to look for that data in the ROM.


(edited by VL-Tone on 06-10-04 03:37 PM)
Pages: 1 2 3 4 5 6Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - f-zero track hack | |


ABII


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



Page rendered in 0.030 seconds.