the cutting room mirror

Perfect Dark (Nintendo 64, Xbox 360)

Featured articleThis article has a talk page!
view on tcrf.net

Unused Levels#

Retaking the Institute#

Intended as another special assignment bonus mission, similar to the four featured in the final game, Retaking the Institute never got beyond the planning stages. According to designer Duncan Botwood, it was to be "a full-on assault against the Skedar in the Institute building."

(Source: The RWP)

Retaking the Institute.
Lead the team and clean out the building.
Kill All Enemy Agents
Do Something Else
And Something Else

Retaking the Institute's incomplete briefing and objective text is still present in the final game. The string for its name in the text file used for the menu places it between the Maian SOS and WAR! missions. Its slot is set up to play the music track CI Operative.

Skedar#

Perfectdark-skedarsolo.png

Using the GameShark code 8009DFE9 0032, a solo edition of the Skedar Combat Simulator arena can be accessed. Joanna starts at a unique spawn point not shared by any of the multiplayer spawn points with a Falcon 2, CMP150, AR34, and Reaper. The mission can be played in Co-Op and Counter-Op mode, but in Counter-Op the other character will just be another Joanna Dark. There are no objectives and no way to complete the mission.

(Source: Will "Yamo" Mistretta)

In the final version, this setup is incomplete since it lacks character objects that are required for its action blocks to work properly. If the characters are added and their IDs properly set, a semi-scripted battle will take place between some Maians on Joanna's side and some dataDyne shocktroopers. This battle can briefly be seen in one of the early game trailers. The setup file also has some other unused content not seen in any footage, including additional paths for characters and an enemy that would seek out Joanna.

Rooftop#

A text string found alongside those used for the other Combat Simulator arenas is all that remains of Rooftop. According to Rare, "it was not up to scratch."

(Source: Rareware.com PD Rumour Mill)

Unused Weapons#

To do:
Find a better GS code to use it without hacking the game. Preferably one without so many caveats.

Tester#

An unused weapon for what seems to be for testing purposes. It uses a floating model and has its own function named "Tester" and functions like a normal gun. It can be used in-game by editing a map's starting weapon in its intro block to 33, or assigning it to a guard (which will display it as the Borg Cube placeholder on the ground).

Use Gameshark code 801DC62C 0033 to replace weapon slot 1 with Tester in the Combat Simulator. (Note: this code only works in low-res mode (no expansion pak), only in the Temple level, and no other players (or Simulants) can be present.)

(Source: Yamo's Lair)

SMG27#

An unused SMG, possibly a JonesCorp weapon and possibly even the unused MagSec SMG. It has no model or name of its own, and its only function is Rapid Fire, which makes the same firing sound as the Reaper, but without the whirring of the barrels, and it has no reload animation. As its name suggests, it has a magazine capacity of 27 rounds.

Use GameShark code 8106FF42 EF50 to replace the CMP150 with the SMG27.

AR27#

An unused assault rifle, possibly another JonesCorp weapon. Like the SMG27, it lacks a model or name, and only has Rapid Fire, making the same firing sound as the AR34. Again, it has no reload animation, and like the SMG27, it has a magazine capacity of 27 rounds.

Use GameShark code 8106FF5E EE98 to replace the AR34 with the AR27.

Unused Monitor Screens#

Defined#

Several characters and other objects encountered in the game. Each of these has their own value and are not animated.

Various astronomical objects. Each of the three colored planets has a screen, but there is also an animated one which fades between them. The elliptical galaxy is never shown in its original coloration, since one screen value tints it green and another blue. Likewise, the spiral galaxy has green- and blue-tinted variants in addition to its original colors.

A green ship. Exists as both individual screens and as one which fades between the three.

These animated screens cannot be used: values exist which seem to correspond to them, but they read the data of the green bar chart instead. Their animations are actually defined as a part of the Skedar warrior screen, but can never be seen normally due to loop commands. The second screen from the left is most likely Justin Cook while the third and fourth are Duncan Botwood.

GE

PD

John Belushi guest-starring in "Spies Like Us" eating borscht.

Two of them appear to be developers recreating screens from GoldenEye.

Undefined#

These are all leftovers from GoldenEye and only exist as textures.

GE

PD

Interestingly, two of the textures were updated. The spinning cube was reduced in size, while Karl Hilton talking was updated to fill the entire width of the texture, rather than being pillarboxed.

Unused Music#

There are three different unused music pieces that lay within. Use GameShark codes 800AA5FB 00?? 800AA66B 00?? (where "??" is one of the below) to hear them in-game:

  • 15: An alternate death theme. Rather creepy.
  • 3C: A track that starts off similar to the Deep Sea - Nullify Threat tune, but then completely changes after a couple minutes or so. This can be heard in one of the very first trailers for the game, but only as background music, not tied to any specific mission.
  • 75: A brief, goofy jingle.

(Source: Will "Yamo" Mistretta)

Unused Text#

Missions#

Mission

Location String

dataDyne Central - Defection

LUCERNE TOWER

dataDyne Research - Investigation

BASEMENT LABORATORY

dataDyne Central - Extraction

LUCERNE TOWER

Carrington Villa - Hostage One

CARRINGTON VILLA

Chicago - Stealth

CHICAGO STREETS

G5 Building - Reconnaissance

G5 BUILDING

Area 51 - Infiltration

AREA 51 - EXTERIOR

Area 51 - Rescue

AREA 51 - MEDLABS

Area 51 - Escape

AREA 51 - ESCAPE

Air Base - Espionage

PRESIDENTIAL TERMINAL US AIRBASE, ALASKA

Air Force One - Antiterrorism

AIR FORCE ONE

Crash Site - Confrontation

CRASH SITE

Pelagic II - Exploration

Cetan Ship

Deep Sea - Nullify Threat

CETAN SHIP

Carrington Institute - Defense

CARRINGTON INSTITUTE

Attack Ship - Covert Assault

SKEDAR ASSAULT SHIP

Skedar Ruins - Battle Shrine

SKEDAR BATTLE SHRINE

Mr. Blonde's Revenge

LUCERNE TOWER

Maian SOS

AREA 51, NEVADA, EARTH

WAR!

BATTLE SHRINE

The Duel

LUCERNE TOWER

Every mission's text file has an unused string that gives its location. They're reminiscent of the location names shown on the objectives screen of GoldenEye's menu and were likely intended to serve the same purpose. Strangely, the Pelagic II's location is given as "Cetan Ship" and is the only one of these strings that isn't in all-caps. Another oddity is that The Duel's location is given as the Lucerne Tower.

E R R O R
No briefing for this mission

The location and background shown in GoldenEye when loading a mission without defined objectives.

Weapons#

MagSec SMG

Found between the Cyclone and RC-P120 is this string for a MagSec SMG.

MaianGrenade The N-Bomb was intended as a Maian grenade, based on its unused firing range description, but this string is found after those for the Rocket Launcher, Devastator, and Slayer, which implies it was for a Maian grenade launcher.

FlashBang The FlashBang has a pickup model seen above, but nothing else of it remains.

Functions#

Guided Shots

Might be an alternate name for the Slayer's Fly-By-Wire Rocket function, or for the CMP150's Follow Lock-on function. Other than that, it doesn't fit any existing weapon.

Half Magazine Discharge The Cyclone's Magazine Discharge function drains the entire magazine, whereas this one only would've drained half.

Timed Detonation Not to be confused with Timed Explosive, the Timed Mine's primary function. This may have originally been intended for the N-Bomb; its two functions are Impact Detonation and Proximity Detonation.

Telescopic Sight
Silencer
Magazine Extension
Laser Sight

These come at the end of the list of functions, and actually don't seem like functions at all, but intended for another stat entirely. Everything here except Magazine Extension makes sense for the Falcon 2; maybe at one point the system was intended to be expanded so certain weapons could be fully modular without having to use separate weapon definitions?

Manufacturers#

JonesCorp

An unused manufacturer based on a developer's name, like Chesluk Industries.

Combat Simulator#

Jonathan

Jonathan has an entry in the character list – it's listed after the other story characters, before the common characters. He actually has his own body model, used for his CI bio, which is indistinguishable from the Area 51 Guard (a uniform he never actually wears in the story). Jonathan, using this model, was added to the available characters in the Xbox Live Arcade port of the game. In pre-release footage, all enemies on the Area 51 maps wore this heavy armor used late in the final game's mission set, and this disguise is almost certainly a remnant from that era.

Boxes Options
Boxes on Radar
Touch That Box
Boxes
Tag Box

Various menu strings for the scrapped Touch That Box mode.

Test
4mb Test

Strings for two test sets can be found alongside the other weapon sets.

Cheats#

Invincible
All Guns
Super x2 Health
Super x2 Armor
Invisible
Phase
Infinite Ammo
DK Mode
Tiny
Super x10 Health
Magnum
Laser
Gun
Silver PP7
Gold PP7
Invincibility On
All Guns On
Maximum Ammo
Super x2 Health
Super x2 Armor
Invisibility On
Phase On
Infinite Ammo On
DK Mode On
Extra Weapons
Tiny On
Paintball Mode On
Super x10 Health
Happy?
Fast Mode On
Invincibility Off
All Guns Off
Invisibility Off
Phase Off
Infinite Ammo Off
DK Mode Off
Tiny Off
Paintball Mode Off
Radar On
Fast Mode Off
NO NAME
Slowest Motion
Very Slow Motion
Slow Motion
Normal Motion
Fast Motion
Very Fast Motion
Fastest Motion
Line Mode
Paintball Mode
Enemy Rockets
2x Rocket L.
2x Grenade L.
2x RC-P90
2x Throwing Knife
2x Hunting Knife
2x Laser
Turbo Mode
Fast Animation
Slow Animation
No Radar [Multi]

Cheat names and their activation messages, left over from GoldenEye. Any references to the Bond franchise have been removed from them.

Warning
If you activate any cheats, then you
will be unable to progress further in the game
while those cheats are active.

A warning about cheats preventing the player from progressing through the game, which is never shown.

Characters#

Guard Greeting
What's that gun?
Don't point that gun at me.

These seem to be debug strings for characters.

Build Dates#

To do:
XBLA build date.

A build date can be found loaded into memory.

Version

Hex Address

Build Date

US v1.0

0x803D7B20

Apr  6 2000 15:05:01

US v1.1

0x803D7C90

Apr  6 2000 15:05:01

EU

0x803D92E0

Apr 28 2000 14:40:49

JP

0x803D8BE0

Jul 19 2000 09:43:24

(Source: Ferrox)

GoldenEye leftovers#

Early GoldenEye Text Files#

There appear to be unused Combat Simulator setup files for Pelagic II and Chicago. Opening these, however, reveals them to actually be Dam and Streets text files from a pre-final version of GoldenEye.

Unlike GoldenEye the final game's Combat Simulator doesn't use the actual levels from the Solo campaign, but some rare pre-release footage shows that early builds did in fact use Solo levels at some point. This would indicate these placeholder files are either very old, or it was intended at some point that original Combat Simulator maps would be made off said levels.

Dam#

Dam's location, briefing, and objectives list shown in the watch menu are present, as is the location string used in the intro camera. The rest of the final mission's text is not in this file.

Background

Early

Final

mi6 has confirmed the existence of 
a secret chemical warfare 
facility at the arkhangelsk dam, 
ussr. its heavily guarded location 
and workings are a cause for 
major concern. nerve gas 
produced there has been turning 
up in the hands of hostile regimes 
around the world and deals with 
international terrorists have 
been rumoured. this facility 
should be destroyed without 
prejudice.
mi6 has confirmed the existence of 
a secret chemical warfare 
facility at the byelomorye dam, 
ussr. its heavily guarded location 
and workings are a cause for 
major concern. nerve gas 
produced there has been turning 
up in the hands of hostile regimes 
around the world and deals with 
international terrorists have 
been rumored. this facility should 
be destroyed with extreme 
prejudice.

The earlier mission background does not refer to the Byelomorye dam by name, instead referring to its location. The line about destroying the facility without prejudice was completely reversed for the final version, which was likely always the intended meaning. The location string shown at the top of the watch menu uses Byelomorye, like the final version, as does the intro text.

M Briefing

Early

Final

the area around the dam is well 
defended against a full scale 
military attack but they won't be 
expecting a lone agent. i've looked 
at the recon reports and decided 
that the easiest way to gain 
entrance to the weapons factory 
will be to bungee jump down the 
face of the dam. safe and simple. 
just throw yourself off the top 
and remember to look before you 
leap old chap.
the area around the dam is well 
defended against a full scale 
military attack but a lone agent 
stands a much better chance.the 
easiest way to gain entrance to 
the weapons factory will be to 
get down the face of the dam. 
q had an idea about that.

Curiously, M seems a bit out-of-character here, particularly the last line which sounds more like something Q would say. Speaking of Q, the part about bungee jumping was moved to his briefing in the final version.

Q Branch

Early

Final

information concerning shipping 
and contacts is stored on a 
computer system in a secret ops 
room within the dam.with this 
covert modem connected to their 
satellite link we can intercept 
this data when a backup is 
carried out.
information concerning shipping 
and contacts is stored on a 
computer system in a secret ops 
room within the dam. with this 
covert modem connected to their 
satellite link we can intercept 
the data when a backup is carried 
out.
as for getting down the dam, use 
the bungee rope. at the bottom of 
the jump, use the piton gun. simple.

The bungee rope was moved to Q's briefing for the final version, as mentioned above, and a reference to the piton gun was also added.

Intro Location

Early

Final

Byelomorye Dam, Archangel, USSR

Byelomorye Dam, Arkangelsk, USSR

The spelling of the mission's location hadn't been finalized when this text file was written. The background uses Arkhangelsk, a different spelling of the Russian name, while this string uses the English name.

Streets#

Streets only has the mission location and background shown in the watch menu, but there are line terminators serving as placeholders for the M Briefing, Q Branch, and Moneypenny strings.

Background

Early

Final

use the stolen tank to chase the 
car containing natalya. you are 
up against a time limit.
after escaping kgb interrogation 
at the military archives, natalya 
has been recaptured by general 
ourumov. she is being taken by car 
to the janus operations base in 
st. petersburg.

The background is only a description of the mission.

Filesystem#

The game has a minimal internal file-system containing models, level geometry, audio, mission setups, etc. Some level file names are leftover from GoldenEye:

Files names

Perfect Dark Level

File path

Corresponding GoldenEye level

Air Base

bgdata/bg_cave.seg

Caverns

Carrington Institute

bgdata/bg_dish.seg

Cradle

Crash Site

bgdata/bg_azt.seg

Aztec

G5 Building

bgdata/bg_depo.seg

Depot

Pelagic II

bgdata/bg_dam.seg

Dam

Oddities#

Cheese Pieces#

Watch on YouTubePerfectDark-ToiletCheese.png There is a small wedge of cheese hidden in every single-player map. These are modeled as part of the map geometry and, as such, cannot be collected or interacted with in any meaningful way.

Sinister Terminals#

PerfectDark-sinisterstation.png

The black terminals used in dataDyne Investigation and the standing variation of them found in Area 51 both have an Easter egg: if you use them as a standard object, rather than a screened object, they display an angry-looking eye where their screen would normally be. This looks identical to the texture Dr. Caroll's "eyes" use when his personality has been erased, but isn't the same index. The filenames of these two models are "sinisterpc" and "sinisterstation".

The terminals used in the Carrington Institute and Air Force One use the filenames "goodpc" and "goodstation", but do not have a similar Easter egg.

Brotherly Love#

PerfectDark-DuelJonAlly.png

In order to pass The Duel on Special Agent, Joanna must defeat a hologram of Jonathan. Despite him taking a sneaky approach, it's easier to bring down Jonathan than the dataDyne guard fought on Agent because, even if he gets the drop on Joanna, his shots will never hit her. The only way to lose to him is to get into his melee range. Any character using Jonathan's head is actually hardcoded as an ally for the purpose of targeting - Joanna's auto aim won't target him, his shots won't damage her, and the aim mode crosshair turns blue when pointing a gun at him. Even though the character used for Jonathan is properly set up as an enemy, the game forces ally targeting on him because of his head.

Unrelated to this, Jonathan is given "Dark" as his surname in the briefing for this mission in the American and European versions of the game. No relation between Joanna and Jonathan is ever mentioned anywhere else in the game. He was originally intended to be Joanna's brother, but this was dropped at some point during development, and The Duel's briefing is the last remnant of it.

(Source: Rareware.com PD Rumour Mill)

RB Easter Egg#

pd_rb_easter_egg.png

In the far end of the long lab of dataDyne: Investigation, where you must shut down the experiments, hidden in the "tech parts" in the floor grate is the initials "Rb", most likely standing for Ross Bury, one of the graphic programmers.

Bury left various other Easter eggs with his name throughout the game, such as the "Rossorama" texture in the Air Force One level.

Mystery Object#

pd_mystery_object.png

This thing, whatever it is, exists on the Pelagic 2 level. It is not used in any mission difficulty, is part of the level geometry, and is unique, only appearing once in the entire level. It's possible it was related to the engines, somehow, since there is a voice line referring an unused object related to the disabling of said engines left in the final game.

Mysterious Explosions#

Pd_mysterious_explosions.jpg

In Mr. Blonde's Revenge, using the BombSpy or any other explosive around the ventilation wall next to the ramp that goes to the helipad will trigger a series of massive explosions all over the rooftop, similar to the explosions in Maian SOS when the UFO is destroyed. This happens because the players' Skedar bombs are stored near here before they're handed out. The co-op player's bomb is left lying around invisible in single player and is only properly hidden once the elevator bomb is planted.

Radio Silence#

In the intro to Chicago, Joanna asks about Carrington's contact, but he cuts her off, insisting on radio silence... then the Institute goes on to break that silence and give hints for several objectives throughout that mission and the next (G5 Building). While this makes no sense in the final game's context, it does make sense in the context of the 1999 prototype, when there were no in-game objective hints.

False Unarmed#

When you plant the Explosives in Area 51: Infiltration, you will switch to "Unarmed", which is in reality still the Explosives; it is a fake Unarmed that does not work. You have to manually switch weapons.

Combat Simulator Map Easter Eggs#

On Sewers there are two Easter egg spots with inaccessible ammunition boxes - the first at the bottom of the map underneath a grate (using the Farsight you can see there's nothing connecting the tunnels, so there's no way to get in there), and the second at the very top of the map atop a grate leading to the surface. This grate has a ladder underneath it, but it isn't tagged for you to be able to climb it, and even if you could it would be difficult to do so because the ladder is above a hallway. You can speed-strafe to touch the very bottom of the ladder.

In Warehouse, at the top of the map inside the ventilation ducts, there is another false ammunition box on top of a grate with a question-mark design on it. This is also just an Easter egg; using the Farsight you can see the question-mark room is absurdly small and would be impossible for a player to enter.

Crash Site Location Discrepancy#

The mission description and "The Story" file in the Carrington Institute Information computer both refer to Crash Site as taking place in "the Alaskan Wilderness". However, the Hangar Information computer refers to the Crash Site as taking place on Victoria Island, which is in Northern Canada.

Of course, since Perfect Dark takes place in an alternate 2023, this could just be a typical Rare joke rather than a discrepancy or error.

Air Base Plant#

For some odd reason, a plant prop is located at the far end of the huge hangar housing Air Force One at the very end of the level. You'll need a Sniper Rifle to see anything more than a few pixels of it.

Floating Cutscene Crate#

In the outro to Pelagic II: Exploration Joanna picks up a crate on the ground, with a nearby crate she soon picks up afterward just... floating there off the edge of the platform. While the weird floating nature of the submarine itself can be explained in the current level geometry setup with anti-gravity technology or the crane, the crate itself cannot.

Usernames and Passwords#

During the course of the game, the player receives two pairs of usernames and passwords. Neither set serves any purpose, however. According to Rare, they were supposed to be access codes to one of the Perfect Dark marketing sites, but were never used. CarringtonInstitute.com and dataDyne.com were both set up prior to the release of the game and did indeed have restricted sections requiring a username and password, but neither set or combination of sets worked on either website.

Username

CDV780322

Password

I8MOZYM8NDI85

The easier set can be obtained in the Attack Ship mission on Perfect Agent. Cassandra will drop her necklace after dying on this difficulty. Its description in the inventory menu gives her username and password.

Cassandra De Vries' replacement necklace. Username: %s Password: %s The username and password are not a part of the description's string, but are actually stored separately and filled in.

Username

EnTROpIcDeCAy

Password

ZeRo-Tau

The second set is much more difficult to unlock, as it requires getting a rank of Perfect:1 in the Combat Simulator, which is no easy task and impossible without playing actual multiplayer games (or at the very least excessive abuse of various exploitative Simulant setups). It will be shown in the player stats. The font used, however, makes no distinction between capital and lowercase letters.

(Perfect:1 username/password case: Krijy)

Villa windmill "drone gun"#

Using the moon jump GameShark code in Carrington's Villa and jumping near the windmill's engine, will cause the rotor blades to spin faster to "shoot" at Joanna, even rotating at weird upward angles if jumping above them, just like an automatic drone gun. Its possible the windmill object is a modified drone gun with its behavior code left intact. Reactivating the windmil will deactivate this function.

Development Text#

8005261C    RareZipAsmDecompress: inflate failed (%d)
80052647    RareZipAsmDecompress: hufts overflow=%d
80052670    RareZipAsmDecompress: bad len
8005268F    RareZipAsmDecompress: input not in any known rare zip format

Anti-Piracy Features#

This game contains several checks to determine if the game is running in unusual conditions, such as with a modified boot loader or with modified functions. The functions which check for these are in various places throughout the code and some even occur during gameplay. Many of these functions are themselves checked by other functions.

boot#

Checks in ROM address 0x2e8 for a known value upon startup. If the value doesn't match, It will go into an infinite loop, making the game unable to boot.

__scHandleTasks#

On every frame it checksums boot to make sure it hasn't been modified. If it does, it writes 40 bytes of 0xff to 0x80095210. This appears to be related to sound effects but has no obvious effect.

cheatMenuHandleDialog#

When the Cheat menu is opened, it checksums __scHandleTasks to make sure it hasn't been modified. If it does, it will corrupt __scHandleTasks by nopping the call to __scAppendList and some of the function arguments to osRecvMesg. Most likely results in a crash.

doorFinishClose#

Checks that the value of osCicId is 6105. If it is not, it will rewrite the start of door_test_interact_angle so it immediately returns false, making it impossible to open doors.

botPickupProp#

When a simulant in multiplayer picks up an item, it checksums doorFinishClose to make sure it hasn't been modified. If it does, it will rewrite the start of chrCheckCanSeeTarget so it immediately returns true, making all guards able to see the player through walls.

chrUncloak#

When a guard uncloaks, this will checksum botPickupPrompt to make sure it hasn't been modified. If it has, it disables the ability for the player or other characters to go up or down slopes. This is done by nopping the jr ra instruction in cdFindGroundY, which causes it to flow into the following function, which unconditionally returns false and only exists for this purpose.

chrsCheckForNoise#

Whenever a guard hears the player, this checksums scHandleRetrace and make sure it hasn't been modified. If it has, it will set the Skedar King's body file to zero, causing the game to crash if Skedar Ruins or WAR! is loaded. Strangely, scHandleRetrace doesn't have any piracy checks attached to it.

lvGetSlowMotionType#

On every tick that the game is unpaused, this checks an address in the bootloader for a known value. If it's been modified, it will corrupt the rspboot microcode, resulting in a crash.

lvReset#

Whenever a level is loaded (including the title screen), this checksums lvGetSlowMotionType to make sure it hasn't been modified. If it has, it writes a 16 byte filesystem terminator at the start of EEPROM, effectively disabling on-cartridge save storage.

bodyAllocateEyespy#

When any stage is loaded that uses the CamSpy (for example, dataDyne Investigation), this will checksum lvReset and make sure it hasn't been modified. If so, then it will no-op _memaFree so anytime that it is called, it will flow to the next function, which just returns. This has the effect of the system being unable to free individual memory allocations which makes it more likely to run out of memory.

bgReset#

When a normal stage is loaded (for example, CI Training), this will checksum ROM address 0x454 in the bootloader and make sure it hasn't been modified. If so, it will copy 64 bytes from a random location in ROM to a random location in RAM.

chrConsiderGrenadeThrow#

When a character decides to throw a grenade, this will checksum bgReset to make sure if hasn't been modified. If so, it will surround the player in infinite explosions.

tagsReset#

When a normal stage is loaded (for example, CI Training), this will call mtxGetObfuscatedRomBase to get the value of osRomBase and compare it to a known value. If the value does not match, it will copy 4KB from a random location in ROM to a random location in RAM.

bgunTickGunLoad#

Whenever the player swaps to a different gun, this will checksum tagsReset to make sure it hasn't been modified. If so, it will corrupt tagsReset by writing 4 bytes to 0xff.

On every frame outside of the credits sequence, this will checksum mtxGetObfuscatedRomBase to make sure if hasn't been modified. If so, it will corrupt bgReset by writing 16 bytes of 0x12 to a random address within that function.

bgTickCounter#

On every frame, this checksums menuTickTimers to make sure if hasn't been modified. If so, it will corrupt bgBuildTables by adding a fixed amount to 16 bytes within that function.

glassDestroy#

When the player breaks glass, this checks an address (0xdc0) in the bootloader for a known value. If the value does not match, it will set the audio frequency to a high value, making everyone sound like chipmunks.

explosionAlertChrs#

Whenever there's an explosion, this will checksum glassDestroy to make sure if hasn't been modified. If so, it will make all explosions huge.

(Source: The Decompile Project)

References#


  1. Nintendo: Perfect Dark↩︎
  2. Buy Perfect Dark | Xbox↩︎
  3. Perfect Dark - Xbox.com. " Trial Game - Perfect Dark" "Release date: 3/17/2010"↩︎
  4. X10: March to be Big Month for XBLA - IGN. "Perhaps more importantly, though, the XBLA game everyone has been waiting for will finally arrive next month: Perfect Dark. No specific date was given, but since arcade games are always released on Wednesdays we know it will be the 10th, 17th, 24th, or 31st."↩︎
  5. 商品紹介/Info.↩︎
  6. Re: Perfect Dark in the UK. "no, cos [sic] I got mine last Friday...." [June 23, as opposed to the post's date of June 29]↩︎
  7. Perfect Dark in Australia↩︎