If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Notes:F-Zero X

From The Cutting Room Floor
Jump to navigation Jump to search

This page contains notes for the game F-Zero X.

Interesting Memory Addresses

All of the following addresses are found in the RDRAM domain. For any values related to player 1, add 3A8 to the offset to get the same memory address for player 2/AI 1, again for player 3/AI 2, etc.

Offset Length Purpose
10B7B2 1 Byte Determines (most of?) the textures and theme of the track. Can be used to apply any track's textures to any other one. Must be changed before getting into the race. Values larger than 0A will crash the game.
10B7B3 1 Byte Determines the skybox used in the current track.
2C4AD0 2 Byte Probably the acceleration stat of player 1's machine. Standard values are around 3E00 to 400D.
2C4AD8 2 Byte Probably the max speed stat of player 1's machine. Standard values are around 3DC0 to 3E04.
2C4B48 2 Byte Player 1's machine's energy value.

Hidden Track Indices

Indices 0-17 are the normal tracks found in the track selection menus (except for X cup tracks), in the same order as in the menus (Mute City 1 is 0, Silence 1 is 1, etc.). To change the track selection to unintended values, select any track in any mode, freeze the 1-byte RDRAM memory address 0F8517 and change its value to one of the ones listed below. The value can also be changed in the machine selection screen after you've selected a track instead (this is necessary to play the GP ending track, but no others).

Index Title Note
18 to 1D Default 1 to 6 Crash the game upon entering a race if selected.
1E to 2F N/A All display no title. Also crash the game upon entering a race.
30 to 35 X X cup tracks. Work in any game mode.
36 N/A Death Race track. Works in any game mode.
37 N/A Grand Prix mode ending track. Attempting to display the track title freezes the game. It works in any game mode as long as it's selected after the track selection screen, though.

All indices past 36 freeze the game if it tries to display their track title, and all of them past 37 will also crash the game when attempting to start a race in them.

Game Modes and Menus

The binary 2-byte address 0DCE46 determines the game mode or menu that the game is currently in. The higher byte appears to be some kind of menu flag, because it's never used in a race. Note that attempting to change the value directly from one that has the menu flag enabled to one that doesn't (ex. changing from 8007 (main menu) to 0001 (GP mode)) and vice-versa will usually freeze the game, but changing from one that has it disabled to another one that has it disabled usually works with interesting effects (ex. changing from 000E (time trial) to 0011 (GP cup finish)). Below are all the values of this address that are used by the game.

Value (Hex) Value (Binary) Mode/Menu
0001 0000 0000 0000 0001 Grand Prix mode. Also used in demos.
0002 0000 0000 0000 0010 Practice mode.
0003 0000 0000 0000 0011 Used only in demos.
0004 0000 0000 0000 0100 Used only in demos.
0005 0000 0000 0000 0101 Used only in demos.
0006 0000 0000 0000 0110 Records screen for a track.
000E 0000 0000 0000 1110 Time attack mode.
0011 0000 0000 0001 0001 Grand Prix cup finish cutscene.
0015 0000 0000 0001 0101 Death race mode.
4009 0100 0000 0000 1001 Machine settings menu.
8000 1000 0000 0000 0000 Title screen.
8007 1000 0000 0000 0111 Main menu.
8008 1000 0000 0000 1000 Machine selection menu.
800A 1000 0000 0000 1010 Cup/track selection menu.
800B 1000 0000 0000 1011 Credits that can be exited with B.
800C 1000 0000 0000 1100 Credits that cannot be exited with B.
800F 1000 0000 0000 1111 Track selection screen for the next track in the cup in GP mode.
8013 1000 0000 0001 0011 Cup selection in the records menu.
8014 1000 0000 0001 0100 Options menu.