@Darkaiser
  @Darkaiser
Darkaiser | Crash Team Racing (Aug 5, 1999 prototype) - Citadel City Relics [PART 8] @Darkaiser | Uploaded September 2020 | Updated October 2024, 7 hours ago.
The August 5th, 1999 build is a preview version of CTR built a month and a half before the final NTSC build date of September 24th, 1999. This beta version was widely given out among North-american video game magazines to be used in preview articles before the game is released.

A full documentation of the differences can found at: tcrf.net/Proto:Crash_Team_Racing/August_5th,_1999_build
Download the game, patched and ready to go: hiddenpalace.org/Crash_Team_Racing_(Aug_5,_1999_prototype%29

This build has protection to prevent people from using the disc outside of Naughty Dog, or their reviewers.

Protection level 1:
If the disc does not detect a special memory card dongle, then the game will not boot. It is as simple as "if you see a string on the memory card, then boot. If the string is not on the memory card, then freeze". Interestingly, the dongle's internal name is "E3 dongle Copyright 1999 Naughty Dog, Inc.", leading to believe that it was made specifically for E3 demo but later reused in subsequent builds.

Protection level 2:
After the game boots, there are 7 function pointers that are assigned incorrect values, which are incremented by an RNG before being executed. If a controller dongle is inserted, the controller will inject data into the RNG, then the RNG will increment the incorrect function pointers to the correct function addresses. Without the dongle, the incorrect pointers will execute, and crash the game.
In previous videos, we only had one function pointer working correctly, by setting a breakpoint before execution in no$psx emulator, and overriding the value manually. There were several bugs and instabilities.

Niko has spent over a year researching the retail game (94426), so within a few days, he finally was able to find how the entire function pointer system worked, and insert ASM that forces the RNG to return one value, which corrects all 7 function pointers, allowing the game to run.

Niko also fixed one of Naughty Dog's mistakes that was present even with the dongles, that would prevent the game from loading Relic Race on Slide Coliseum and Turbo Track.

In the link below, there are miscellaneous content for this prototype:

- GameShark codes that allow you to instantly beat Adventure Mode 100%, and unlock all rewards.
- A guide for playing the original ISO by making your own memory card dongle, and using GameShark to apply the rest of the fixes.
- We documented exactly how the ISO was patched, to learn how it was done.

Miscellaneous Content:
mediafire.com/file/sh93l6fmimh3e16/CTR+(1999-08-05+prototype)+-+Misc+Content+(Updated+2021).zip/file

Huge thanks to almarkowbender, gdias/Darkaiser, Gh0stBlade, let-over-lambda, mementomori/madmarsrocks, Niko, and psx-collector for making this release possible.
Crash Team Racing (Aug 5, 1999 prototype) - Citadel City Relics [PART 8]Crash Team Racing - PC Port Progress Update #3Crash Team Racing (Demo) | Dengeki PlayStation D26 - JapanCrash Team Racing (Aug 5, 1999 prototype) - Time Trial Mode [Part 1]Crash Team Racing - Wall Ride TestCrash Team Racing - Difficulty Selector ModCrash Team Racing - High Poly Models for Multiplayer ModesOnlineCTR (2020) - A New Crash Team Racing Experience [First Showcase]Crash Team Racing - Crash Ball ModCrash Team Racing (Review Copy prototype) - Spawning Out of Bounds GlitchCrash Team Racing - Custom CupsCrash Team Racing - Mirror Mode

Crash Team Racing (Aug 5, 1999 prototype) - Citadel City Relics [PART 8] @Darkaiser

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER