the cutting room mirror

SSX (2000)

Build Date/Time#

At the following addresses, there are two separate strings for the build date and build time:

Region/Version

Date/Time Addresses

Build Date/Time

JP/SLPS-20025

0x002B3450 (Date)/0x002B3460 (Time)

Aug 29 2000 20:16:13

PAL/SLPS-50030

0x002BA790 (Date)/0x002BA7A0 (Time)

Oct 10 2000 12:17:57

US/SLUS-20095

0x002B3490 (Date)/0x002B34A0 (Time)

Aug 30 2000 11:11:36

These strings are actually used to compose a "ALPHA CDROM" version string at runtime.

(Source: modeco80)

Framerate Display#

Frontend#

To do:

  • Maybe find another later spot the jump can be encoded into? (Assuming it was intended to be on top. The current instruction overwrite makes the current cFE3DScreen instance render on top of the framerate counter)
  • addr/val pair for JP/SLPS-20025

Writing the value at the given address in the following table will overwrite a call to an cFrontend3D member function, which does nothing, to instead call an otherwise unused member function which displays the frame rate while in the frontend/the game's main menus.

Region/Version

Address

Value

PAL/SLES-50030

0x001661F0

AC9E05 (3 bytes)

US/SLUS-20095

0x001660D8

669E (2 bytes)

In-Game#

A framerate display also exists in the cGame class (the class used to handle the game flow).

It can be enabled by setting the 4-byte value at the following address (for your region/version) to any non-zero value.

Region/Version

Address

JP/SLPS-20025

0x00285B24

PAL/SLPM-60124 (PlayStation 2 Demo Disc)

0x00286300

PAL/SLPS-50030

0x0028CFA0

US/SLUS-20095

0x00285A7C

(Source: Punk7890 (Frontend code), modeco80 (In-game version rediscovery))

Debug Menu#

There is evidence of two large debug menus being once embedded in the pause menu.

No main routine in the game enables the sub-menus to these menus.

The cDebugMenu class, and other submenu classes still exist in game code, however.

One of cDebugMenu's unique thiscall functions (presumably the function for actually registering the menu) has been completely dummied out, and as such, the menu doesn't work.

(Source: Punk7890, modeco80 (Reverse engineering))

Cheats#

Unused Cheats#

Several unused cheats exist that no longer have any effects but likely did at an earlier point in development.

While in the options menu, hold L1 + L2 + R1 + R2 and press the following:

Inputs

X(×7), Triangle

X(×7), Circle

X(x4), Triangle(x4)

Circle(×4), Square(×4)

The last cheat is used, but only in the European release, which cycles between the three languages. This was likely used for testing as language can be easily changed from within the Options menu.

Additionally, there's a cheat which does work and does affect gameplay in some way, but the specifics are unknown:

Inputs

X(x8)

Japanese Release Cheats#

The Japanese release of the game has the same cheat codes as the American and European releases, but their inputs are flipped and/or reversed.

Inputs

Effect

Square, Triangle, Circle, X, Right, Up, Down, Left

Unlock Everything

X, Circle, Triangle, Square, X, Circle, Triangle, Square

Running Man Mode

X, Circle, X, Circle, X, Circle, X, Circle

All Course Hints

Square, X(x7)

Full Stats

Square, Triangle, X, Circle(×5)

Mallora Board + Full Stats

All of the unused cheats exist here too, with their inputs also being swapped.

(Source: SlyCooperReloadCoded, modeco80)