<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.cbhacks.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chekwob</id>
	<title>Crash Bandicoot Hacking Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cbhacks.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chekwob"/>
	<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/w/Special:Contributions/Chekwob"/>
	<updated>2026-06-02T07:08:50Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=List_of_game_discs&amp;diff=256</id>
		<title>List of game discs</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=List_of_game_discs&amp;diff=256"/>
		<updated>2019-10-27T16:10:47Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: /* Prerelease discs */ Added redlinks for the 4 known leaked builds&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Release discs ==&lt;br /&gt;
&lt;br /&gt;
=== Crash 1 ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Disc ID&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| [[SCUS-94900]]&lt;br /&gt;
| NTSC-U/C&lt;br /&gt;
|-&lt;br /&gt;
| [[SCES-00344]]&lt;br /&gt;
| PAL&lt;br /&gt;
|-&lt;br /&gt;
| [[SCPS-10031]]&lt;br /&gt;
| NTSC-J&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NTSC-J release also appears as SCPS-91057.&lt;br /&gt;
&lt;br /&gt;
=== Crash 2 ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Disc ID&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| [[SCUS-94154]]&lt;br /&gt;
| NTSC-U/C&lt;br /&gt;
|-&lt;br /&gt;
| [[SCES-00967]]&lt;br /&gt;
| PAL&lt;br /&gt;
|-&lt;br /&gt;
| [[SCPS-10047]]&lt;br /&gt;
| NTSC-J&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NTSC-J release also appears as SCPS-91092.&lt;br /&gt;
&lt;br /&gt;
=== Crash 3 ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Disc ID&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| [[SCUS-94244]]&lt;br /&gt;
| NTSC-U/C&lt;br /&gt;
|-&lt;br /&gt;
| [[SCES-01420]]&lt;br /&gt;
| PAL&lt;br /&gt;
|-&lt;br /&gt;
| [[SCPS-10073]]&lt;br /&gt;
| NTSC-J&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NTSC-J release also appears as SCPS-91164 and SCPS-91318.&lt;br /&gt;
&lt;br /&gt;
== Prerelease discs ==&lt;br /&gt;
&lt;br /&gt;
=== Crash 1 ===&lt;br /&gt;
* [[Crash 1 Proto APR08]] aka &amp;quot;Prototype&amp;quot;&lt;br /&gt;
* [[Crash 1 Proto MAY11]] aka &amp;quot;E3 Demo&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Crash 2 ===&lt;br /&gt;
* [[Crash 2 Proto AUG08]]&lt;br /&gt;
&lt;br /&gt;
=== Crash 3 ===&lt;br /&gt;
* [[Crash 3 Proto AUG15]]&lt;br /&gt;
&lt;br /&gt;
== Demo discs ==&lt;br /&gt;
&amp;lt;!-- euro disc list gathered from http://crimson-ceremony.net/demopals/ --&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Disc ID&lt;br /&gt;
! Region&lt;br /&gt;
! Name&lt;br /&gt;
|-&lt;br /&gt;
| [[PBPX-95007]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One EUROPE&lt;br /&gt;
|-&lt;br /&gt;
| [[PBPX-95008]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One EUROPE&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00273]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Autumn/Christmas Releases&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00364]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Crash Bandicoot / Supersonic Racers / Die Hard Trilogy / Broken Sword / F1&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00456]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One uk europe aus/nz&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00456]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One uk europe aus/nz&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00456]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One uk europe aus/nz&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00457]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One german&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00678]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 13 GER&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00777]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 14 FRE&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00823]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 27&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00936]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered User Demo 02&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00938]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Essential Playstation IV&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00986]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Winter Releases - '97 demo 01&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01049]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Playstation Sampler / Nightmare Creatures / Kurushi / Rapid Racer / ...&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01118]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 25 fra&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01120]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 27 fra&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01127]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 10/98 ger&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01128]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 11/98 ger&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01129]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 12/98 ger&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01139]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Essential Playstation VIII&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01141]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Essential Playstation X&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01148]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 38&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01150]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 40&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01229]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Kids&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01230]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered Users Demo 03&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01385]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered Users Demo&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01441]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Winter Releases '98&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01570]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Australian Summer Special&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01636]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered Users Demo&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01713]]&lt;br /&gt;
| PAL&lt;br /&gt;
| M-6 PlayStation Demo fre&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01739]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Katalog Spezial Demo ger&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01828]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 54&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01837]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 06/99 GER&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01860]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 40 FRA&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01861]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 41 FRA&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01988]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered Users Demo 06&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02122]]&lt;br /&gt;
| PAL&lt;br /&gt;
| OPSM Platinum Special Demo (All)&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02327]]&lt;br /&gt;
| PAL&lt;br /&gt;
| The Best Games Ever&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02570]]&lt;br /&gt;
| PAL&lt;br /&gt;
| M6 PlayStation - Best Of Kids Demo&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02655]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo (France) 51&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02851]]&lt;br /&gt;
| PAL&lt;br /&gt;
| OPSM Best Ever Ever Games Demo&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03103]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Speziale Italia&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03452]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 75&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03454]]&lt;br /&gt;
| PAL&lt;br /&gt;
| OPSM Demo 77&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03472]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo Germany 09/01 Deutsch&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03473]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo Germany 10/01 Deutsch&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03790]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Official PlayStation Magazine 87 EUR&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03791]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Official PlayStation Magazine 88 EUR&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03905]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo (Germany) 03/04-2003&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-04076]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo (Future) 97&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-04077]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo (Future) 98&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01633]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 1&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01724]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 2&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01773]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 3&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01783]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 4&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01898]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 5&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-02042]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 7&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-02078]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 8&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-02139]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 9&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=253</id>
		<title>Level ID</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=253"/>
		<updated>2019-05-19T14:16:52Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: Fixed up level names and made them into wiki links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each game level is assigned a single character code which signifies the internal name of the level. This character can be a decimal digit (&amp;lt;code&amp;gt;0-9&amp;lt;/code&amp;gt;), an uppercase or lowercase ASCII letter (&amp;lt;code&amp;gt;a-z&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;A-Z&amp;lt;/code&amp;gt;), an underscore (&amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;) or an exclamation point (&amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;). For letters, this character is case-sensitive, for instance level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; is different from level &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Some levels are more appropriately identified as game states: for example, level ID 19 in Crash 1 refers to the entire title sequence, main menu, options and password menus, map, and game over screen.&lt;br /&gt;
&lt;br /&gt;
Each level's character code is associated with a number. The hexadecimal reading of this number determines the name of the NSD/NSF file pair which contains the game data for that level. For example, ''Cold Hard Crash'' has level code &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; which matches hex ID &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;; therefore, its data is held in the files &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSD&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSF&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Tables matching level names to character codes and hex values for each game are presented below.&lt;br /&gt;
&lt;br /&gt;
== Crash 1 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Cortex Power]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' Cavern Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Generator Room]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Heavy Machinery]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Toxic Waste]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Pinstripe|Pinstripe (Boss 4)]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[N. Sanity Beach]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Papu Papu|Papu Papu (Boss 1)]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Jungle Rollers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Boulders]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Upstream]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Hog Wild]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[The Great Gate]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Boulder Dash]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Road to Nowhere]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Rolling Stones]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[The High Road]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Ripper Roo (C1)|Ripper Roo (Boss 2)]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Up The Creek]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Map (C1)|Map, Main Menu, Title Sequence]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Native Fortress]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Nitrus Brio|Nitrus Brio (Boss 5)]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Temple Ruins]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Jaws of Darkness]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Whole Hog]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Dr. Neo Cortex (C1)|Dr. Neo Cortex (Boss 6)]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[The Lost City]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Koala Kong|Koala Kong (Boss 3)]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' [[Stormy Ascent]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Sunset Vista]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Bonus Round (C1)|Bonus Round]] (Tawna - short version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Bonus Round (C1)|Bonus Round]] (Nitrus Brio)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Bonus Round (C1)|Bonus Round]] '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Lights Out]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[The Lab]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Fumbling in the Dark]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[The Great Hall]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Level Completion Screen]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Slippery Climb]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Bonus Round (C1)|Bonus Round]] (Tawna - long version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Bonus Round (C1)|Bonus Round]] (Dr. Neo Cortex)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Castle Machinery]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Intro (C1)|Intro]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Ending (C1)|Ending]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; is in an older file format and is not properly compatible with the game engine.&lt;br /&gt;
&lt;br /&gt;
=== Prerelease Versions ===&lt;br /&gt;
There are two known leaked prerelease versions of Crash 1. Some additional level slots are used in these versions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Test Area]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Cavern Level]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Cliff Level]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Waterfall Level]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[2D Donkey Kong]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; and level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; (10) are in significantly older versions of the game's file format and are not compatible with the game engine. The other levels are unfinished and contain some compatibility issues.&lt;br /&gt;
&lt;br /&gt;
== Crash 2 ==&lt;br /&gt;
The final version of Crash 2 has .NSD/.NSF files present for 38 level IDs (42 in PAL version).&lt;br /&gt;
&lt;br /&gt;
Each ID for a level is also used for that level's crystal and box gem. Some levels have an additional (non-box) gem. In this case, the ID for this extra gem is stolen from another level ID which does not have a box gem. These extra gem associations are listed below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Hex&lt;br /&gt;
!#&lt;br /&gt;
!Level name&lt;br /&gt;
! Associated gem&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| Second gem for [[Hang Eight]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Warp Room (C2)|Warp Room]] (en/ja)&lt;br /&gt;
| Second gem for [[Air Crash]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Tiny Tiger (C2)|Tiny Tiger (Boss 3)]]&lt;br /&gt;
| Second gem for [[Sewer or Later]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| Second gem for [[Road to Ruin]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| Second gem for [[Piston It Away]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Ripper Roo (C2)|Ripper Roo (Boss 1)]]&lt;br /&gt;
| Second gem for [[Night Fight]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Dr. Neo Cortex (C2)|Dr. Neo Cortex (Boss 5)]]&lt;br /&gt;
| Second gem for [[Spaced Out]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Komodo Bros.|Komodo Bros. (Boss 2)]]&lt;br /&gt;
| Second gem for [[Diggin' It]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[N. Gin (C2)|N. Gin (Boss 4)]]&lt;br /&gt;
| Second gem for [[Cold Hard Crash]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Sewer or Later]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none); Test jungle level (jungle1)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Night Fight]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Hangin' Out]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Snow Go]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Ruination]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Piston it Away]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Snow Biz]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Rock It]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Cold Hard Crash]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Diggin' It]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Road to Ruin]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Un-Bearable]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Crash Dash]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Hang Eight]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Pack Attack]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Crash Crush]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Intro (C2)|Intro]]&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Bear It]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Turtle Woods]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[The Pits]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Air Crash]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Plant Food]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Bear Down]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[The Eel Deal]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Bee-Having]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Totally Bear]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Spaced Out]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Totally Fly]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[100% Ending (C2)|100% Ending]]&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Normal Ending (C2)|Normal Ending]]&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Warp Room (C2)|Warp Room]] (es; PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Warp Room (C2)|Warp Room]] (fr; PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Warp Room (C2)|Warp Room]] (de; PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Warp Room (C2)|Warp Room]] (it; PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| Second gem for [[Ruination]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| Second gem for [[Snow Go]] (red)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Game Over (C2)|Game Over]]&lt;br /&gt;
| Second gem for [[The Eel Deal]] (green)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Title Screen (C2)|Title Screen]]&lt;br /&gt;
| Second gem for [[Bee-Havin']] (purple)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| Second gem for [[Turtle Woods]] (blue)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| Second gem for [[Plant Food]] (yellow)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Crash 3 ==&lt;br /&gt;
{{todo|Add gem ID's for [[Area 51?]], [[Rings of Power]], and the all-gold-relics reward from Coco.}}&lt;br /&gt;
Each ID for a level is also used for that level's crystal, relic, and box gem. Some levels have an additional (non-box) gem. In this case, the ID for this extra gem is stolen from another level which does not have a box gem. These extra gem associations are listed below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
! Associated Gem&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| Second gem for [[Bone Yard]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Warp Room]]&lt;br /&gt;
| Second gem for [[Tomb Time]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Dingodile|Dingodile (Boss 2)]]&lt;br /&gt;
| Second gem for [[Dino Might!]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[N. Tropy|N. Tropy (Boss 3)]]&lt;br /&gt;
| Second gem for [[Sphynxinator]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[N. Gin (C3)|N. Gin (Boss 4)]]&lt;br /&gt;
| Second gem for [[Future Frenzy]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Tiny (C3)|Tiny (Boss 1)]]&lt;br /&gt;
| Second gem for [[Gone Tomorrow]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Dr. Neo Cortex (C3)|Dr. Neo Cortex (Boss 5)]]&lt;br /&gt;
| Second gem for [[Bug Lite]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Orient Express]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Toad Village]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Bone Yard]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Tell No Tales]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Under Pressure]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Gee Wiz]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Dino Might!]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Midnight Run]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Tomb Time]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Bye Bye Blimps]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Road Crash]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Hog Ride]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Hang'em High]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Mad Bombers]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Tomb Wader]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Makin' Waves]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[High Time]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Future Frenzy]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Deep Trouble]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Double Header]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Sphynxinator]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Rings of Power]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Orange Asphalt]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Ski Crazed]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Flaming Passion]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Gone Tomorrow]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Bug Lite]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Area 51?]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Eggipus Rex]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Hot Coco]]&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Opening Cutscene (C3)|Opening Cutscene]] (en/ja)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Normal Ending (C3)|Any% Ending]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[100% Ending (C3)|100% Ending]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Opening Cutscene (C3)|Opening Cutscene]] (es; PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Opening Cutscene (C3)|Opening Cutscene]] (fr; PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Opening Cutscene (C3)|Opening Cutscene]] (de; PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Opening Cutscene (C3)|Opening Cutscene]] (it; PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Intermission Vortex]]&lt;br /&gt;
| Second gem for [[Deep Trouble]] (red)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Game Over (C3)|Game Over]]&lt;br /&gt;
| Second gem for [[Flaming Passion]] (green)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Title Screen (C3)|Title Screen]]&lt;br /&gt;
| Second gem for [[High Time]] (purple)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| Second gem for [[Tomb Wader]] (blue)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
| Second gem for [[Hang'em High]] (yellow)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; (1F), [[Rings of Power]], appears in the S2 directory rather than S1.&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=252</id>
		<title>Level ID</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=252"/>
		<updated>2019-05-19T14:14:55Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: Removed the basic blank table which was commented out&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each game level is assigned a single character code which signifies the internal name of the level. This character can be a decimal digit (&amp;lt;code&amp;gt;0-9&amp;lt;/code&amp;gt;), an uppercase or lowercase ASCII letter (&amp;lt;code&amp;gt;a-z&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;A-Z&amp;lt;/code&amp;gt;), an underscore (&amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;) or an exclamation point (&amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;). For letters, this character is case-sensitive, for instance level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; is different from level &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Some levels are more appropriately identified as game states: for example, level ID 19 in Crash 1 refers to the entire title sequence, main menu, options and password menus, map, and game over screen.&lt;br /&gt;
&lt;br /&gt;
Each level's character code is associated with a number. The hexadecimal reading of this number determines the name of the NSD/NSF file pair which contains the game data for that level. For example, ''Cold Hard Crash'' has level code &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; which matches hex ID &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;; therefore, its data is held in the files &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSD&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSF&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Tables matching level names to character codes and hex values for each game are presented below.&lt;br /&gt;
&lt;br /&gt;
== Crash 1 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cortex Power&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' Cavern Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Generator Room&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| Heavy Machinery&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toxic Waste&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pinstripe (Boss 4)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Sanity Beach&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Papu Papu (Boss 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Jungle Rollers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| Boulders&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| Upstream&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hog Wild&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Great Gate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| Boulder Dash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| Road to Nowhere&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rolling Stones&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| The High Road&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ripper Roo (Boss 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| Up The Creek&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Map, Main Menu, Title Sequence&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| Native Fortress&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Nitrus Brio (Boss 5)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Temple Ruins&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Jaws of Darkness&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| Whole Hog&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dr. Neo Cortex (Boss 6)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Lost City&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Koala Kong (Boss 3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' Stormy Ascent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sunset Vista&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Tawna - short version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Nitrus Brio)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| Lights Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Lab&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fumbling in the Dark&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Great Hall&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| Level Completion Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| Slippery Climb&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Tawna - long version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Dr. Neo Cortex)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| Castle Machinery&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| Intro&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ending&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; is in an older file format and is not properly compatible with the game engine.&lt;br /&gt;
&lt;br /&gt;
=== Prerelease Versions ===&lt;br /&gt;
There are two known leaked prerelease versions of Crash 1. Some additional level slots are used in these versions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Test Area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cavern Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cliff Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Waterfall Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| 2D Donkey Kong&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; and level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; (10) are in significantly older versions of the game's file format and are not compatible with the game engine. The other levels are unfinished and contain some compatibility issues.&lt;br /&gt;
&lt;br /&gt;
== Crash 2 ==&lt;br /&gt;
The final version of Crash 2 has .NSD/.NSF files present for 38 level IDs (42 in PAL version).&lt;br /&gt;
&lt;br /&gt;
Each ID for a level is also used for that level's crystal and box gem. Some levels have an additional (non-box) gem. In this case, the ID for this extra gem is stolen from another level ID which does not have a box gem. These extra gem associations are listed below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Hex&lt;br /&gt;
!#&lt;br /&gt;
!Level name&lt;br /&gt;
! Associated gem&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt; &lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Hang Eight&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; &lt;br /&gt;
|English Warp Room&lt;br /&gt;
| Second gem for Air Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; &lt;br /&gt;
|Tiny Tiger&lt;br /&gt;
| Second gem for Sewer or Later&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Road to Ruin&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Piston It Away&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt; &lt;br /&gt;
|Ripper Roo&lt;br /&gt;
| Second gem for Night Fight&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt; &lt;br /&gt;
|Dr. Neo Cortex&lt;br /&gt;
| Second gem for Spaced Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; &lt;br /&gt;
|Komodo Bros.&lt;br /&gt;
| Second gem for Diggin' It&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; &lt;br /&gt;
|N. Gin&lt;br /&gt;
| Second gem for Cold Hard Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; &lt;br /&gt;
|Sewer or Later&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none); Test jungle level (jungle1)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt; &lt;br /&gt;
|Night Fight&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt; &lt;br /&gt;
|Hangin' Out&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; &lt;br /&gt;
|Snow Go&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt; &lt;br /&gt;
|Ruination&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; &lt;br /&gt;
|Piston it Away&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt; &lt;br /&gt;
|Snow Biz&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; &lt;br /&gt;
|Rock It&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; &lt;br /&gt;
|Cold Hard Crash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; &lt;br /&gt;
|Diggin' It&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; &lt;br /&gt;
|Road to Ruin&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; &lt;br /&gt;
|Un-Bearable&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt; &lt;br /&gt;
|Crash Dash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; &lt;br /&gt;
|Hang Eight&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; &lt;br /&gt;
|Pack Attack&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt; &lt;br /&gt;
|Crash Crush&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; &lt;br /&gt;
|Intro&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bear It&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt; &lt;br /&gt;
|Turtle Woods&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; &lt;br /&gt;
|The Pits&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt; &lt;br /&gt;
|Air Crash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; &lt;br /&gt;
|Plant Food&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bear Down&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt; &lt;br /&gt;
|The Eel Deal&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bee-Having&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; &lt;br /&gt;
|Totally Bear&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; &lt;br /&gt;
|Spaced Out&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; &lt;br /&gt;
|Totally Fly&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; &lt;br /&gt;
|100% Ending&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt; &lt;br /&gt;
|Normal Ending&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt; &lt;br /&gt;
|Spanish Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; &lt;br /&gt;
|French Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt; &lt;br /&gt;
|German Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; &lt;br /&gt;
|Italian Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Ruination&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Snow Go (red)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; &lt;br /&gt;
|Game Over Screen&lt;br /&gt;
| Second gem for The Eel Deal (green)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt; &lt;br /&gt;
|Title Screen&lt;br /&gt;
| Second gem for Bee-Havin' (purple)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Turtle Woods (blue)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Plant Food (yellow)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Crash 3 ==&lt;br /&gt;
{{todo|Add gem ID's for ''Area 51?'', ''Rings of Power'', and the all-gold-relics reward from Coco.}}&lt;br /&gt;
Each ID for a level is also used for that level's crystal, relic, and box gem. Some levels have an additional (non-box) gem. In this case, the ID for this extra gem is stolen from another level which does not have a box gem. These extra gem associations are listed below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
! Associated Gem&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Bone Yard&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Warp Room (English or Japanese)&lt;br /&gt;
| Second gem for Tomb Time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dingodile (Boss 2)&lt;br /&gt;
| Second gem for Dino Might!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Tropy (Boss 3)&lt;br /&gt;
| Second gem for Sphynxinator&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Gin (Boss 4)&lt;br /&gt;
| Second gem for Future Frenzy&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tiny (Boss 1)&lt;br /&gt;
| Second gem for Gone Tomorrow&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dr. Neo Cortex (Boss 5)&lt;br /&gt;
| Second gem for Bug Lite&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Orient Express&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toad Village&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bone Yard&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tell No Tales&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| Under Pressure&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| Gee Wiz&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dino Might!&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Midnight Run&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tomb Time&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bye Bye Blimps&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| Road Crash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hog Ride&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hang'em High&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| Mad Bombers&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tomb Wader&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Makin' Waves&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| High Time&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Future Frenzy&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Deep Trouble&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Double Header&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sphynxinator&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rings of Power&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| Orange Asphalt&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ski Crazed&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| Flaming Passion&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Gone Tomorrow&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bug Lite&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| Area 51?&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Eggipus Rex&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hot Coco&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (English and Japanese)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| Any% Ending Cutscene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| 100% Ending Cutscene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (Spanish, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (French, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (German, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (Italian, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| Intermission Vortex&lt;br /&gt;
| Second gem for Deep Trouble (red)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| Game Over Screen&lt;br /&gt;
| Second gem for Flaming Passion (green)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| Title Screen&lt;br /&gt;
| Second gem for High Time (purple)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Tomb Wader (blue)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Hang'em High (yellow)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; (1F), ''Rings of Power'', appears in the S2 directory rather than S1.&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=MediaWiki:Common.css&amp;diff=250</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=MediaWiki:Common.css&amp;diff=250"/>
		<updated>2019-04-29T16:02:36Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: Added some right-side padding to noticeboxes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
.noticebox {&lt;br /&gt;
    display: table;&lt;br /&gt;
    padding-left: 16px;&lt;br /&gt;
    padding-right: 16px;&lt;br /&gt;
    min-width: 30%;&lt;br /&gt;
    border-radius: 0px 16px 16px 0px;&lt;br /&gt;
    font-size: 1.2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.noticebox-todo {&lt;br /&gt;
    background-color: BlanchedAlmond;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Category:Pages_with_TODO&amp;diff=249</id>
		<title>Category:Pages with TODO</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Category:Pages_with_TODO&amp;diff=249"/>
		<updated>2019-04-29T15:59:08Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: Created page with &amp;quot;Pages are placed into this category because they contain an instance of the Todo template. This indicates that some information in the page is incomplete or...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages are placed into this category because they contain an instance of the [[Template:Todo|Todo template]]. This indicates that some information in the page is incomplete or in need of verification or correction.&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=248</id>
		<title>Level ID</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=248"/>
		<updated>2019-04-29T15:54:23Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: /* Crash 3 */ Fix gone tomorrow ID placement&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each game level is assigned a single character code which signifies the internal name of the level. This character can be a decimal digit (&amp;lt;code&amp;gt;0-9&amp;lt;/code&amp;gt;), an uppercase or lowercase ASCII letter (&amp;lt;code&amp;gt;a-z&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;A-Z&amp;lt;/code&amp;gt;), an underscore (&amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;) or an exclamation point (&amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;). For letters, this character is case-sensitive, for instance level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; is different from level &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Some levels are more appropriately identified as game states: for example, level ID 19 in Crash 1 refers to the entire title sequence, main menu, options and password menus, map, and game over screen.&lt;br /&gt;
&lt;br /&gt;
Each level's character code is associated with a number. The hexadecimal reading of this number determines the name of the NSD/NSF file pair which contains the game data for that level. For example, ''Cold Hard Crash'' has level code &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; which matches hex ID &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;; therefore, its data is held in the files &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSD&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSF&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Tables matching level names to character codes and hex values for each game are presented below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
basic table template with all 64 ID's present, no level names listed&lt;br /&gt;
copy and reuse as desired&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crash 1 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cortex Power&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' Cavern Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Generator Room&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| Heavy Machinery&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toxic Waste&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pinstripe (Boss 4)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Sanity Beach&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Papu Papu (Boss 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Jungle Rollers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| Boulders&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| Upstream&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hog Wild&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Great Gate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| Boulder Dash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| Road to Nowhere&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rolling Stones&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| The High Road&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ripper Roo (Boss 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| Up The Creek&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Map, Main Menu, Title Sequence&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| Native Fortress&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Nitrus Brio (Boss 5)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Temple Ruins&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Jaws of Darkness&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| Whole Hog&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dr. Neo Cortex (Boss 6)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Lost City&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Koala Kong (Boss 3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' Stormy Ascent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sunset Vista&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Tawna - short version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Nitrus Brio)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| Lights Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Lab&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fumbling in the Dark&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Great Hall&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| Level Completion Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| Slippery Climb&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Tawna - long version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Dr. Neo Cortex)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| Castle Machinery&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| Intro&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ending&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; is in an older file format and is not properly compatible with the game engine.&lt;br /&gt;
&lt;br /&gt;
=== Prerelease Versions ===&lt;br /&gt;
There are two known leaked prerelease versions of Crash 1. Some additional level slots are used in these versions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Test Area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cavern Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cliff Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Waterfall Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| 2D Donkey Kong&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; and level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; (10) are in significantly older versions of the game's file format and are not compatible with the game engine. The other levels are unfinished and contain some compatibility issues.&lt;br /&gt;
&lt;br /&gt;
== Crash 2 ==&lt;br /&gt;
The final version of Crash 2 has .NSD/.NSF files present for 38 level IDs (42 in PAL version).&lt;br /&gt;
&lt;br /&gt;
Each ID for a level is also used for that level's crystal and box gem. Some levels have an additional (non-box) gem. In this case, the ID for this extra gem is stolen from another level ID which does not have a box gem. These extra gem associations are listed below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Hex&lt;br /&gt;
!#&lt;br /&gt;
!Level name&lt;br /&gt;
! Associated gem&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt; &lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Hang Eight&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; &lt;br /&gt;
|English Warp Room&lt;br /&gt;
| Second gem for Air Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; &lt;br /&gt;
|Tiny Tiger&lt;br /&gt;
| Second gem for Sewer or Later&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Road to Ruin&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Piston It Away&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt; &lt;br /&gt;
|Ripper Roo&lt;br /&gt;
| Second gem for Night Fight&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt; &lt;br /&gt;
|Dr. Neo Cortex&lt;br /&gt;
| Second gem for Spaced Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; &lt;br /&gt;
|Komodo Bros.&lt;br /&gt;
| Second gem for Diggin' It&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; &lt;br /&gt;
|N. Gin&lt;br /&gt;
| Second gem for Cold Hard Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; &lt;br /&gt;
|Sewer or Later&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none); Test jungle level (jungle1)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt; &lt;br /&gt;
|Night Fight&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt; &lt;br /&gt;
|Hangin' Out&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; &lt;br /&gt;
|Snow Go&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt; &lt;br /&gt;
|Ruination&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; &lt;br /&gt;
|Piston it Away&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt; &lt;br /&gt;
|Snow Biz&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; &lt;br /&gt;
|Rock It&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; &lt;br /&gt;
|Cold Hard Crash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; &lt;br /&gt;
|Diggin' It&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; &lt;br /&gt;
|Road to Ruin&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; &lt;br /&gt;
|Un-Bearable&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt; &lt;br /&gt;
|Crash Dash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; &lt;br /&gt;
|Hang Eight&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; &lt;br /&gt;
|Pack Attack&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt; &lt;br /&gt;
|Crash Crush&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; &lt;br /&gt;
|Intro&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bear It&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt; &lt;br /&gt;
|Turtle Woods&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; &lt;br /&gt;
|The Pits&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt; &lt;br /&gt;
|Air Crash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; &lt;br /&gt;
|Plant Food&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bear Down&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt; &lt;br /&gt;
|The Eel Deal&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bee-Having&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; &lt;br /&gt;
|Totally Bear&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; &lt;br /&gt;
|Spaced Out&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; &lt;br /&gt;
|Totally Fly&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; &lt;br /&gt;
|100% Ending&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt; &lt;br /&gt;
|Normal Ending&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt; &lt;br /&gt;
|Spanish Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; &lt;br /&gt;
|French Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt; &lt;br /&gt;
|German Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; &lt;br /&gt;
|Italian Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Ruination&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Snow Go (red)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; &lt;br /&gt;
|Game Over Screen&lt;br /&gt;
| Second gem for The Eel Deal (green)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt; &lt;br /&gt;
|Title Screen&lt;br /&gt;
| Second gem for Bee-Havin' (purple)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Turtle Woods (blue)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Plant Food (yellow)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Crash 3 ==&lt;br /&gt;
{{todo|Add gem ID's for ''Area 51?'', ''Rings of Power'', and the all-gold-relics reward from Coco.}}&lt;br /&gt;
Each ID for a level is also used for that level's crystal, relic, and box gem. Some levels have an additional (non-box) gem. In this case, the ID for this extra gem is stolen from another level which does not have a box gem. These extra gem associations are listed below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
! Associated Gem&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Bone Yard&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Warp Room (English or Japanese)&lt;br /&gt;
| Second gem for Tomb Time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dingodile (Boss 2)&lt;br /&gt;
| Second gem for Dino Might!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Tropy (Boss 3)&lt;br /&gt;
| Second gem for Sphynxinator&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Gin (Boss 4)&lt;br /&gt;
| Second gem for Future Frenzy&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tiny (Boss 1)&lt;br /&gt;
| Second gem for Gone Tomorrow&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dr. Neo Cortex (Boss 5)&lt;br /&gt;
| Second gem for Bug Lite&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Orient Express&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toad Village&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bone Yard&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tell No Tales&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| Under Pressure&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| Gee Wiz&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dino Might!&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Midnight Run&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tomb Time&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bye Bye Blimps&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| Road Crash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hog Ride&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hang'em High&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| Mad Bombers&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tomb Wader&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Makin' Waves&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| High Time&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Future Frenzy&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Deep Trouble&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Double Header&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sphynxinator&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rings of Power&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| Orange Asphalt&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ski Crazed&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| Flaming Passion&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Gone Tomorrow&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bug Lite&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| Area 51?&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Eggipus Rex&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hot Coco&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (English and Japanese)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| Any% Ending Cutscene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| 100% Ending Cutscene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (Spanish, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (French, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (German, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (Italian, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| Intermission Vortex&lt;br /&gt;
| Second gem for Deep Trouble (red)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| Game Over Screen&lt;br /&gt;
| Second gem for Flaming Passion (green)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| Title Screen&lt;br /&gt;
| Second gem for High Time (purple)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Tomb Wader (blue)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Hang'em High (yellow)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; (1F), ''Rings of Power'', appears in the S2 directory rather than S1.&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=247</id>
		<title>Level ID</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=247"/>
		<updated>2019-04-29T15:53:10Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: /* Crash 3 */ Add most gem ID assignments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each game level is assigned a single character code which signifies the internal name of the level. This character can be a decimal digit (&amp;lt;code&amp;gt;0-9&amp;lt;/code&amp;gt;), an uppercase or lowercase ASCII letter (&amp;lt;code&amp;gt;a-z&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;A-Z&amp;lt;/code&amp;gt;), an underscore (&amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;) or an exclamation point (&amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;). For letters, this character is case-sensitive, for instance level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; is different from level &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Some levels are more appropriately identified as game states: for example, level ID 19 in Crash 1 refers to the entire title sequence, main menu, options and password menus, map, and game over screen.&lt;br /&gt;
&lt;br /&gt;
Each level's character code is associated with a number. The hexadecimal reading of this number determines the name of the NSD/NSF file pair which contains the game data for that level. For example, ''Cold Hard Crash'' has level code &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; which matches hex ID &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;; therefore, its data is held in the files &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSD&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSF&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Tables matching level names to character codes and hex values for each game are presented below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
basic table template with all 64 ID's present, no level names listed&lt;br /&gt;
copy and reuse as desired&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crash 1 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cortex Power&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' Cavern Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Generator Room&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| Heavy Machinery&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toxic Waste&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pinstripe (Boss 4)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Sanity Beach&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Papu Papu (Boss 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Jungle Rollers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| Boulders&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| Upstream&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hog Wild&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Great Gate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| Boulder Dash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| Road to Nowhere&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rolling Stones&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| The High Road&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ripper Roo (Boss 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| Up The Creek&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Map, Main Menu, Title Sequence&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| Native Fortress&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Nitrus Brio (Boss 5)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Temple Ruins&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Jaws of Darkness&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| Whole Hog&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dr. Neo Cortex (Boss 6)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Lost City&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Koala Kong (Boss 3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' Stormy Ascent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sunset Vista&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Tawna - short version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Nitrus Brio)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| Lights Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Lab&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fumbling in the Dark&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Great Hall&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| Level Completion Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| Slippery Climb&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Tawna - long version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Dr. Neo Cortex)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| Castle Machinery&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| Intro&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ending&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; is in an older file format and is not properly compatible with the game engine.&lt;br /&gt;
&lt;br /&gt;
=== Prerelease Versions ===&lt;br /&gt;
There are two known leaked prerelease versions of Crash 1. Some additional level slots are used in these versions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Test Area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cavern Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cliff Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Waterfall Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| 2D Donkey Kong&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; and level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; (10) are in significantly older versions of the game's file format and are not compatible with the game engine. The other levels are unfinished and contain some compatibility issues.&lt;br /&gt;
&lt;br /&gt;
== Crash 2 ==&lt;br /&gt;
The final version of Crash 2 has .NSD/.NSF files present for 38 level IDs (42 in PAL version).&lt;br /&gt;
&lt;br /&gt;
Each ID for a level is also used for that level's crystal and box gem. Some levels have an additional (non-box) gem. In this case, the ID for this extra gem is stolen from another level ID which does not have a box gem. These extra gem associations are listed below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Hex&lt;br /&gt;
!#&lt;br /&gt;
!Level name&lt;br /&gt;
! Associated gem&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt; &lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Hang Eight&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; &lt;br /&gt;
|English Warp Room&lt;br /&gt;
| Second gem for Air Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; &lt;br /&gt;
|Tiny Tiger&lt;br /&gt;
| Second gem for Sewer or Later&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Road to Ruin&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Piston It Away&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt; &lt;br /&gt;
|Ripper Roo&lt;br /&gt;
| Second gem for Night Fight&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt; &lt;br /&gt;
|Dr. Neo Cortex&lt;br /&gt;
| Second gem for Spaced Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; &lt;br /&gt;
|Komodo Bros.&lt;br /&gt;
| Second gem for Diggin' It&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; &lt;br /&gt;
|N. Gin&lt;br /&gt;
| Second gem for Cold Hard Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; &lt;br /&gt;
|Sewer or Later&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none); Test jungle level (jungle1)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt; &lt;br /&gt;
|Night Fight&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt; &lt;br /&gt;
|Hangin' Out&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; &lt;br /&gt;
|Snow Go&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt; &lt;br /&gt;
|Ruination&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; &lt;br /&gt;
|Piston it Away&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt; &lt;br /&gt;
|Snow Biz&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; &lt;br /&gt;
|Rock It&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; &lt;br /&gt;
|Cold Hard Crash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; &lt;br /&gt;
|Diggin' It&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; &lt;br /&gt;
|Road to Ruin&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; &lt;br /&gt;
|Un-Bearable&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt; &lt;br /&gt;
|Crash Dash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; &lt;br /&gt;
|Hang Eight&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; &lt;br /&gt;
|Pack Attack&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt; &lt;br /&gt;
|Crash Crush&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; &lt;br /&gt;
|Intro&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bear It&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt; &lt;br /&gt;
|Turtle Woods&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; &lt;br /&gt;
|The Pits&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt; &lt;br /&gt;
|Air Crash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; &lt;br /&gt;
|Plant Food&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bear Down&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt; &lt;br /&gt;
|The Eel Deal&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bee-Having&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; &lt;br /&gt;
|Totally Bear&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; &lt;br /&gt;
|Spaced Out&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; &lt;br /&gt;
|Totally Fly&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; &lt;br /&gt;
|100% Ending&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt; &lt;br /&gt;
|Normal Ending&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt; &lt;br /&gt;
|Spanish Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; &lt;br /&gt;
|French Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt; &lt;br /&gt;
|German Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; &lt;br /&gt;
|Italian Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Ruination&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Snow Go (red)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; &lt;br /&gt;
|Game Over Screen&lt;br /&gt;
| Second gem for The Eel Deal (green)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt; &lt;br /&gt;
|Title Screen&lt;br /&gt;
| Second gem for Bee-Havin' (purple)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Turtle Woods (blue)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Plant Food (yellow)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Crash 3 ==&lt;br /&gt;
{{todo|Add gem ID's for ''Area 51?'', ''Rings of Power'', and the all-gold-relics reward from Coco.}}&lt;br /&gt;
Each ID for a level is also used for that level's crystal, relic, and box gem. Some levels have an additional (non-box) gem. In this case, the ID for this extra gem is stolen from another level which does not have a box gem. These extra gem associations are listed below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
! Associated Gem&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Bone Yard&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Warp Room (English or Japanese)&lt;br /&gt;
| Second gem for Tomb Time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dingodile (Boss 2)&lt;br /&gt;
| Second gem for Dino Might!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Tropy (Boss 3)&lt;br /&gt;
| Second gem for Sphynxinator&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Gin (Boss 4)&lt;br /&gt;
| Second gem for Future Frenzy&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tiny (Boss 1)&lt;br /&gt;
| Second gem for Gone Tomorrow&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dr. Neo Cortex (Boss 5)&lt;br /&gt;
| Second gem for Bug Lite&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Orient Express&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toad Village&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bone Yard&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tell No Tales&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| Under Pressure&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| Gee Wiz&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dino Might!&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Midnight Run&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tomb Time&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bye Bye Blimps&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| Road Crash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hog Ride&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hang'em High&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| Mad Bombers&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tomb Wader&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Makin' Waves&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| High Time&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Future Frenzy&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Deep Trouble&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Double Header&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sphynxinator&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rings of Power&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| Orange Asphalt&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ski Crazed&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| Flaming Passion&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Future Frenzy&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bug Lite&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| Area 51?&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Eggipus Rex&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hot Coco&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (English and Japanese)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| Any% Ending Cutscene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| 100% Ending Cutscene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (Spanish, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (French, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (German, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (Italian, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| Gone Tomorrow&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| Intermission Vortex&lt;br /&gt;
| Second gem for Deep Trouble (red)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| Game Over Screen&lt;br /&gt;
| Second gem for Flaming Passion (green)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| Title Screen&lt;br /&gt;
| Second gem for High Time (purple)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Tomb Wader (blue)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Hang'em High (yellow)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; (1F), ''Rings of Power'', appears in the S2 directory rather than S1.&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Template:Todo&amp;diff=246</id>
		<title>Template:Todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Template:Todo&amp;diff=246"/>
		<updated>2019-04-29T15:18:09Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: Added the basic TODO box&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;{{todo|&amp;lt;reason for the todo&amp;gt;}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use this template to place a &amp;quot;To do&amp;quot; noticebox. The page will be automatically added to the category [[:Category:Pages with TODO]].&lt;br /&gt;
&lt;br /&gt;
== Example Usage ==&lt;br /&gt;
&amp;lt;pre&amp;gt;{{todo|Explain the 4 and 8 flags.}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example Outcome ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;noticebox noticebox-todo&amp;quot;&amp;gt;&lt;br /&gt;
'''To do:''' Explain the 4 and 8 flags.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Noticebox Templates]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;noticebox noticebox-todo&amp;quot;&amp;gt;&lt;br /&gt;
'''To do:''' {{{1}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:Pages with TODO]]&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=MediaWiki:Common.css&amp;diff=245</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=MediaWiki:Common.css&amp;diff=245"/>
		<updated>2019-04-29T14:50:01Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: Added noticebox and noticebox-todo class styles&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
.noticebox {&lt;br /&gt;
    display: table;&lt;br /&gt;
    padding-left: 16px;&lt;br /&gt;
    min-width: 30%;&lt;br /&gt;
    border-radius: 0px 16px 16px 0px;&lt;br /&gt;
    font-size: 1.2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.noticebox-todo {&lt;br /&gt;
    background-color: BlanchedAlmond;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=244</id>
		<title>Level ID</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=244"/>
		<updated>2019-04-27T20:13:21Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: /* Crash 2 */ Add gem ID assignments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each game level is assigned a single character code which signifies the internal name of the level. This character can be a decimal digit (&amp;lt;code&amp;gt;0-9&amp;lt;/code&amp;gt;), an uppercase or lowercase ASCII letter (&amp;lt;code&amp;gt;a-z&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;A-Z&amp;lt;/code&amp;gt;), an underscore (&amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;) or an exclamation point (&amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;). For letters, this character is case-sensitive, for instance level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; is different from level &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Some levels are more appropriately identified as game states: for example, level ID 19 in Crash 1 refers to the entire title sequence, main menu, options and password menus, map, and game over screen.&lt;br /&gt;
&lt;br /&gt;
Each level's character code is associated with a number. The hexadecimal reading of this number determines the name of the NSD/NSF file pair which contains the game data for that level. For example, ''Cold Hard Crash'' has level code &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; which matches hex ID &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;; therefore, its data is held in the files &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSD&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSF&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Tables matching level names to character codes and hex values for each game are presented below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
basic table template with all 64 ID's present, no level names listed&lt;br /&gt;
copy and reuse as desired&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crash 1 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cortex Power&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' Cavern Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Generator Room&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| Heavy Machinery&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toxic Waste&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pinstripe (Boss 4)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Sanity Beach&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Papu Papu (Boss 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Jungle Rollers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| Boulders&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| Upstream&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hog Wild&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Great Gate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| Boulder Dash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| Road to Nowhere&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rolling Stones&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| The High Road&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ripper Roo (Boss 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| Up The Creek&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Map, Main Menu, Title Sequence&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| Native Fortress&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Nitrus Brio (Boss 5)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Temple Ruins&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Jaws of Darkness&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| Whole Hog&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dr. Neo Cortex (Boss 6)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Lost City&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Koala Kong (Boss 3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' Stormy Ascent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sunset Vista&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Tawna - short version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Nitrus Brio)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| Lights Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Lab&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fumbling in the Dark&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Great Hall&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| Level Completion Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| Slippery Climb&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Tawna - long version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Dr. Neo Cortex)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| Castle Machinery&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| Intro&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ending&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; is in an older file format and is not properly compatible with the game engine.&lt;br /&gt;
&lt;br /&gt;
=== Prerelease Versions ===&lt;br /&gt;
There are two known leaked prerelease versions of Crash 1. Some additional level slots are used in these versions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Test Area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cavern Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cliff Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Waterfall Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| 2D Donkey Kong&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; and level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; (10) are in significantly older versions of the game's file format and are not compatible with the game engine. The other levels are unfinished and contain some compatibility issues.&lt;br /&gt;
&lt;br /&gt;
== Crash 2 ==&lt;br /&gt;
The final version of Crash 2 has .NSD/.NSF files present for 38 level IDs (42 in PAL version).&lt;br /&gt;
&lt;br /&gt;
Each ID for a level is also used for that level's crystal and box gem. Some levels have an additional (non-box) gem. In this case, the ID for this extra gem is stolen from another level ID which does not have a box gem. These extra gem associations are listed below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Hex&lt;br /&gt;
!#&lt;br /&gt;
!Level name&lt;br /&gt;
! Associated gem&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt; &lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Hang Eight&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; &lt;br /&gt;
|English Warp Room&lt;br /&gt;
| Second gem for Air Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; &lt;br /&gt;
|Tiny Tiger&lt;br /&gt;
| Second gem for Sewer or Later&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Road to Ruin&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Piston It Away&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt; &lt;br /&gt;
|Ripper Roo&lt;br /&gt;
| Second gem for Night Fight&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt; &lt;br /&gt;
|Dr. Neo Cortex&lt;br /&gt;
| Second gem for Spaced Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; &lt;br /&gt;
|Komodo Bros.&lt;br /&gt;
| Second gem for Diggin' It&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; &lt;br /&gt;
|N. Gin&lt;br /&gt;
| Second gem for Cold Hard Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; &lt;br /&gt;
|Sewer or Later&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none); Test jungle level (jungle1)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt; &lt;br /&gt;
|Night Fight&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt; &lt;br /&gt;
|Hangin' Out&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; &lt;br /&gt;
|Snow Go&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt; &lt;br /&gt;
|Ruination&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; &lt;br /&gt;
|Piston it Away&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt; &lt;br /&gt;
|Snow Biz&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; &lt;br /&gt;
|Rock It&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; &lt;br /&gt;
|Cold Hard Crash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; &lt;br /&gt;
|Diggin' It&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; &lt;br /&gt;
|Road to Ruin&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; &lt;br /&gt;
|Un-Bearable&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt; &lt;br /&gt;
|Crash Dash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; &lt;br /&gt;
|Hang Eight&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; &lt;br /&gt;
|Pack Attack&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt; &lt;br /&gt;
|Crash Crush&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; &lt;br /&gt;
|Intro&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bear It&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt; &lt;br /&gt;
|Turtle Woods&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; &lt;br /&gt;
|The Pits&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt; &lt;br /&gt;
|Air Crash&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; &lt;br /&gt;
|Plant Food&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bear Down&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt; &lt;br /&gt;
|The Eel Deal&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bee-Having&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; &lt;br /&gt;
|Totally Bear&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; &lt;br /&gt;
|Spaced Out&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; &lt;br /&gt;
|Totally Fly&lt;br /&gt;
| ''Box gem''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; &lt;br /&gt;
|100% Ending&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt; &lt;br /&gt;
|Normal Ending&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt; &lt;br /&gt;
|Spanish Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; &lt;br /&gt;
|French Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt; &lt;br /&gt;
|German Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; &lt;br /&gt;
|Italian Warp Room (PAL only)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| ''(none)''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Ruination&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Snow Go (red)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; &lt;br /&gt;
|Game Over Screen&lt;br /&gt;
| Second gem for The Eel Deal (green)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt; &lt;br /&gt;
|Title Screen&lt;br /&gt;
| Second gem for Bee-Havin' (purple)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Turtle Woods (blue)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
| Second gem for Plant Food (yellow)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Crash 3 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Warp Room (English or Japanese)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dingodile (Boss 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Tropy (Boss 3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Gin (Boss 4)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tiny (Boss 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dr. Neo Cortex (Boss 5)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Orient Express&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toad Village&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bone Yard&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tell No Tales&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| Under Pressure&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| Gee Wiz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dino Might!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Midnight Run&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tomb Time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bye Bye Blimps&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| Road Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hog Ride&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hang'em High&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| Mad Bombers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tomb Wader&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Makin' Waves&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| High Time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Future Frenzy&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Deep Trouble&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Double Header&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sphynxinator&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rings of Power&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| Orange Asphalt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ski Crazed&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| Flaming Passion&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Future Frenzy&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bug Lite&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| Area 51?&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Eggipus Rex&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hot Coco&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (English and Japanese)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| Any% Ending Cutscene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| 100% Ending Cutscene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (Spanish, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (French, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (German, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (Italian, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| Gone Tomorrow&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| Intermission Vortex&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| Game Over Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| Title Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; (1F), ''Rings of Power'', appears in the S2 directory rather than S1.&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=243</id>
		<title>Level ID</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=243"/>
		<updated>2019-04-27T19:39:06Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: /* Crash 2 */ Reword N/A to (none) for consistency with other tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each game level is assigned a single character code which signifies the internal name of the level. This character can be a decimal digit (&amp;lt;code&amp;gt;0-9&amp;lt;/code&amp;gt;), an uppercase or lowercase ASCII letter (&amp;lt;code&amp;gt;a-z&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;A-Z&amp;lt;/code&amp;gt;), an underscore (&amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;) or an exclamation point (&amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;). For letters, this character is case-sensitive, for instance level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; is different from level &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Some levels are more appropriately identified as game states: for example, level ID 19 in Crash 1 refers to the entire title sequence, main menu, options and password menus, map, and game over screen.&lt;br /&gt;
&lt;br /&gt;
Each level's character code is associated with a number. The hexadecimal reading of this number determines the name of the NSD/NSF file pair which contains the game data for that level. For example, ''Cold Hard Crash'' has level code &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; which matches hex ID &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;; therefore, its data is held in the files &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSD&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSF&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Tables matching level names to character codes and hex values for each game are presented below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
basic table template with all 64 ID's present, no level names listed&lt;br /&gt;
copy and reuse as desired&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crash 1 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cortex Power&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' Cavern Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Generator Room&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| Heavy Machinery&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toxic Waste&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pinstripe (Boss 4)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Sanity Beach&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Papu Papu (Boss 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Jungle Rollers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| Boulders&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| Upstream&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hog Wild&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Great Gate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| Boulder Dash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| Road to Nowhere&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rolling Stones&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| The High Road&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ripper Roo (Boss 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| Up The Creek&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Map, Main Menu, Title Sequence&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| Native Fortress&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Nitrus Brio (Boss 5)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Temple Ruins&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Jaws of Darkness&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| Whole Hog&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dr. Neo Cortex (Boss 6)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Lost City&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Koala Kong (Boss 3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' Stormy Ascent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sunset Vista&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Tawna - short version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Nitrus Brio)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| Lights Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Lab&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fumbling in the Dark&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Great Hall&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| Level Completion Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| Slippery Climb&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Tawna - long version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Dr. Neo Cortex)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| Castle Machinery&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| Intro&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ending&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; is in an older file format and is not properly compatible with the game engine.&lt;br /&gt;
&lt;br /&gt;
=== Prerelease Versions ===&lt;br /&gt;
There are two known leaked prerelease versions of Crash 1. Some additional level slots are used in these versions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Test Area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cavern Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cliff Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Waterfall Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| 2D Donkey Kong&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; and level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; (10) are in significantly older versions of the game's file format and are not compatible with the game engine. The other levels are unfinished and contain some compatibility issues.&lt;br /&gt;
&lt;br /&gt;
== Crash 2 ==&lt;br /&gt;
The final version of Crash 2 has .NSD/.NSF files present for 38 level IDs (42 in PAL version). &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Hex&lt;br /&gt;
!#&lt;br /&gt;
!Level name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt; &lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; &lt;br /&gt;
|English Warp Room&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; &lt;br /&gt;
|Tiny Tiger&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt; &lt;br /&gt;
|Ripper Roo&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt; &lt;br /&gt;
|Dr. Neo Cortex&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; &lt;br /&gt;
|Komodo Bros.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; &lt;br /&gt;
|N. Gin&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; &lt;br /&gt;
|Sewer or Later&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none); Test jungle level (jungle1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt; &lt;br /&gt;
|Night Fight&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt; &lt;br /&gt;
|Hangin' Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; &lt;br /&gt;
|Snow Go&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt; &lt;br /&gt;
|Ruination&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; &lt;br /&gt;
|Piston it Away&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt; &lt;br /&gt;
|Snow Biz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; &lt;br /&gt;
|Rock It&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; &lt;br /&gt;
|Cold Hard Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; &lt;br /&gt;
|Diggin' It&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; &lt;br /&gt;
|Road to Ruin&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; &lt;br /&gt;
|Un-Bearable&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt; &lt;br /&gt;
|Crash Dash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; &lt;br /&gt;
|Hang Eight&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; &lt;br /&gt;
|Pack Attack&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt; &lt;br /&gt;
|Crash Crush&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; &lt;br /&gt;
|Intro&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bear It&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt; &lt;br /&gt;
|Turtle Woods&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; &lt;br /&gt;
|The Pits&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt; &lt;br /&gt;
|Air Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; &lt;br /&gt;
|Plant Food&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bear Down&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt; &lt;br /&gt;
|The Eel Deal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bee-Having&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; &lt;br /&gt;
|Totally Bear&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; &lt;br /&gt;
|Spaced Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; &lt;br /&gt;
|Totally Fly&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; &lt;br /&gt;
|100% Ending&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt; &lt;br /&gt;
|Normal Ending&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt; &lt;br /&gt;
|Spanish Warp Room (PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; &lt;br /&gt;
|French Warp Room (PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt; &lt;br /&gt;
|German Warp Room (PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; &lt;br /&gt;
|Italian Warp Room (PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt; &lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; &lt;br /&gt;
|Game Over Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt; &lt;br /&gt;
|Title Screen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Crash 3 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Warp Room (English or Japanese)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dingodile (Boss 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Tropy (Boss 3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Gin (Boss 4)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tiny (Boss 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dr. Neo Cortex (Boss 5)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Orient Express&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toad Village&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bone Yard&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tell No Tales&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| Under Pressure&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| Gee Wiz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dino Might!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Midnight Run&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tomb Time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bye Bye Blimps&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| Road Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hog Ride&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hang'em High&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| Mad Bombers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tomb Wader&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Makin' Waves&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| High Time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Future Frenzy&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Deep Trouble&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Double Header&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sphynxinator&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rings of Power&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| Orange Asphalt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ski Crazed&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| Flaming Passion&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Future Frenzy&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bug Lite&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| Area 51?&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Eggipus Rex&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hot Coco&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (English and Japanese)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| Any% Ending Cutscene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| 100% Ending Cutscene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (Spanish, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (French, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (German, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (Italian, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| Gone Tomorrow&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| Intermission Vortex&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| Game Over Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| Title Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; (1F), ''Rings of Power'', appears in the S2 directory rather than S1.&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Main_Page&amp;diff=242</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Main_Page&amp;diff=242"/>
		<updated>2019-04-27T18:05:39Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: Removed the table of contents&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find a number of in-depth guides detailing the inner-workings of the [[w:c:retro-crash|Crash Bandicoot]] game engine. These guides are not official in any way.&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==Start Here==&lt;br /&gt;
* [[CD-ROM Directory Structure]]&lt;br /&gt;
* [[Entry point]]&lt;br /&gt;
* [[Game Loop]]&lt;br /&gt;
* [[Paging and Subsystem Initialization]]&lt;br /&gt;
* [[Subsystem|Subsystems]]&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* [[Memory Map]]&lt;br /&gt;
* [[Level ID|List of Level ID's]]&lt;br /&gt;
* [[List of game discs|List of Game Discs]]&lt;br /&gt;
&lt;br /&gt;
=== Formats ===&lt;br /&gt;
==== Files ====&lt;br /&gt;
* [[NSD]]&lt;br /&gt;
* [[NSF]]&lt;br /&gt;
** [[Chunk]]&lt;br /&gt;
** [[Entry]]&lt;br /&gt;
* [[SYSTEM.CNF]]&lt;br /&gt;
* [[PSX.EXE]] (also SCUS_xxx.xx, SCES_xxx.xx, etc)&lt;br /&gt;
* [[WARP.BIN]] (also WARPSCUS.BIN, WARPSCES.BIN, etc)&lt;br /&gt;
&lt;br /&gt;
==== Entries ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
! Dec&lt;br /&gt;
! Hex&lt;br /&gt;
! style=&amp;quot;width: 4em&amp;quot;| Crash 1&lt;br /&gt;
! style=&amp;quot;width: 4em&amp;quot;| Crash 2&lt;br /&gt;
! style=&amp;quot;width: 4em&amp;quot;| Crash 3&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 1&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| SVTX&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 2&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| TGEO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 3&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| WGEO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[World]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 4&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| SLST&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[Sort List]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 5&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| TPAG&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 7&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| ZDAT&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[Zone]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
! 11&lt;br /&gt;
! Bh&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| GOOL&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[GOOL Executable]]&lt;br /&gt;
|-&lt;br /&gt;
! 12&lt;br /&gt;
! Ch&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| ADIO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 13&lt;br /&gt;
! Dh&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| MIDI&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 14&lt;br /&gt;
! Eh&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| INST&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 15&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| Fh&lt;br /&gt;
| IMAG&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| VCOL&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 17&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 11h&lt;br /&gt;
| MDAT&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| RAWD&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 18&lt;br /&gt;
! 12h&lt;br /&gt;
| IPAL&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 19&lt;br /&gt;
! 13h&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| PBAK&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 20&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 14h&lt;br /&gt;
| CVTX&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| SDIO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 21&lt;br /&gt;
! 15h&lt;br /&gt;
|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| VIDO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Structures ====&lt;br /&gt;
* [[Object]]&lt;br /&gt;
&lt;br /&gt;
==== Other ====&lt;br /&gt;
* [[ISO 9660]]&lt;br /&gt;
* [[CD-XA]] (Mode 2 for CD tracks, used by the PlayStation)&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=List_of_game_discs&amp;diff=241</id>
		<title>List of game discs</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=List_of_game_discs&amp;diff=241"/>
		<updated>2019-04-27T18:05:25Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: Add borders to the disc ID tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Release discs ==&lt;br /&gt;
&lt;br /&gt;
=== Crash 1 ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Disc ID&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| [[SCUS-94900]]&lt;br /&gt;
| NTSC-U/C&lt;br /&gt;
|-&lt;br /&gt;
| [[SCES-00344]]&lt;br /&gt;
| PAL&lt;br /&gt;
|-&lt;br /&gt;
| [[SCPS-10031]]&lt;br /&gt;
| NTSC-J&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NTSC-J release also appears as SCPS-91057.&lt;br /&gt;
&lt;br /&gt;
=== Crash 2 ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Disc ID&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| [[SCUS-94154]]&lt;br /&gt;
| NTSC-U/C&lt;br /&gt;
|-&lt;br /&gt;
| [[SCES-00967]]&lt;br /&gt;
| PAL&lt;br /&gt;
|-&lt;br /&gt;
| [[SCPS-10047]]&lt;br /&gt;
| NTSC-J&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NTSC-J release also appears as SCPS-91092.&lt;br /&gt;
&lt;br /&gt;
=== Crash 3 ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Disc ID&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| [[SCUS-94244]]&lt;br /&gt;
| NTSC-U/C&lt;br /&gt;
|-&lt;br /&gt;
| [[SCES-01420]]&lt;br /&gt;
| PAL&lt;br /&gt;
|-&lt;br /&gt;
| [[SCPS-10073]]&lt;br /&gt;
| NTSC-J&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NTSC-J release also appears as SCPS-91164 and SCPS-91318.&lt;br /&gt;
&lt;br /&gt;
== Prerelease discs ==&lt;br /&gt;
(stub)&lt;br /&gt;
&lt;br /&gt;
== Demo discs ==&lt;br /&gt;
&amp;lt;!-- euro disc list gathered from http://crimson-ceremony.net/demopals/ --&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Disc ID&lt;br /&gt;
! Region&lt;br /&gt;
! Name&lt;br /&gt;
|-&lt;br /&gt;
| [[PBPX-95007]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One EUROPE&lt;br /&gt;
|-&lt;br /&gt;
| [[PBPX-95008]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One EUROPE&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00273]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Autumn/Christmas Releases&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00364]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Crash Bandicoot / Supersonic Racers / Die Hard Trilogy / Broken Sword / F1&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00456]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One uk europe aus/nz&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00456]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One uk europe aus/nz&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00456]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One uk europe aus/nz&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00457]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One german&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00678]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 13 GER&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00777]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 14 FRE&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00823]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 27&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00936]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered User Demo 02&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00938]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Essential Playstation IV&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00986]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Winter Releases - '97 demo 01&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01049]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Playstation Sampler / Nightmare Creatures / Kurushi / Rapid Racer / ...&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01118]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 25 fra&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01120]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 27 fra&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01127]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 10/98 ger&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01128]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 11/98 ger&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01129]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 12/98 ger&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01139]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Essential Playstation VIII&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01141]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Essential Playstation X&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01148]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 38&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01150]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 40&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01229]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Kids&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01230]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered Users Demo 03&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01385]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered Users Demo&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01441]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Winter Releases '98&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01570]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Australian Summer Special&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01636]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered Users Demo&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01713]]&lt;br /&gt;
| PAL&lt;br /&gt;
| M-6 PlayStation Demo fre&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01739]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Katalog Spezial Demo ger&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01828]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 54&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01837]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 06/99 GER&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01860]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 40 FRA&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01861]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 41 FRA&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01988]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered Users Demo 06&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02122]]&lt;br /&gt;
| PAL&lt;br /&gt;
| OPSM Platinum Special Demo (All)&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02327]]&lt;br /&gt;
| PAL&lt;br /&gt;
| The Best Games Ever&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02570]]&lt;br /&gt;
| PAL&lt;br /&gt;
| M6 PlayStation - Best Of Kids Demo&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02655]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo (France) 51&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02851]]&lt;br /&gt;
| PAL&lt;br /&gt;
| OPSM Best Ever Ever Games Demo&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03103]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Speziale Italia&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03452]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 75&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03454]]&lt;br /&gt;
| PAL&lt;br /&gt;
| OPSM Demo 77&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03472]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo Germany 09/01 Deutsch&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03473]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo Germany 10/01 Deutsch&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03790]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Official PlayStation Magazine 87 EUR&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03791]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Official PlayStation Magazine 88 EUR&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03905]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo (Germany) 03/04-2003&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-04076]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo (Future) 97&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-04077]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo (Future) 98&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01633]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 1&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01724]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 2&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01773]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 3&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01783]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 4&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01898]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 5&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-02042]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 7&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-02078]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 8&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-02139]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 9&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Main_Page&amp;diff=240</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Main_Page&amp;diff=240"/>
		<updated>2019-04-27T17:50:01Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: Remove wikia garbage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find a number of in-depth guides detailing the inner-workings of the [[w:c:retro-crash|Crash Bandicoot]] game engine. These guides are not official in any way.&lt;br /&gt;
&lt;br /&gt;
==Start Here==&lt;br /&gt;
* [[CD-ROM Directory Structure]]&lt;br /&gt;
* [[Entry point]]&lt;br /&gt;
* [[Game Loop]]&lt;br /&gt;
* [[Paging and Subsystem Initialization]]&lt;br /&gt;
* [[Subsystem|Subsystems]]&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* [[Memory Map]]&lt;br /&gt;
* [[Level ID|List of Level ID's]]&lt;br /&gt;
* [[List of game discs|List of Game Discs]]&lt;br /&gt;
&lt;br /&gt;
=== Formats ===&lt;br /&gt;
==== Files ====&lt;br /&gt;
* [[NSD]]&lt;br /&gt;
* [[NSF]]&lt;br /&gt;
** [[Chunk]]&lt;br /&gt;
** [[Entry]]&lt;br /&gt;
* [[SYSTEM.CNF]]&lt;br /&gt;
* [[PSX.EXE]] (also SCUS_xxx.xx, SCES_xxx.xx, etc)&lt;br /&gt;
* [[WARP.BIN]] (also WARPSCUS.BIN, WARPSCES.BIN, etc)&lt;br /&gt;
&lt;br /&gt;
==== Entries ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
! Dec&lt;br /&gt;
! Hex&lt;br /&gt;
! style=&amp;quot;width: 4em&amp;quot;| Crash 1&lt;br /&gt;
! style=&amp;quot;width: 4em&amp;quot;| Crash 2&lt;br /&gt;
! style=&amp;quot;width: 4em&amp;quot;| Crash 3&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 1&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| SVTX&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 2&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| TGEO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 3&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| WGEO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[World]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 4&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| SLST&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[Sort List]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 5&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| TPAG&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 7&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| ZDAT&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[Zone]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
! 11&lt;br /&gt;
! Bh&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| GOOL&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[GOOL Executable]]&lt;br /&gt;
|-&lt;br /&gt;
! 12&lt;br /&gt;
! Ch&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| ADIO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 13&lt;br /&gt;
! Dh&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| MIDI&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 14&lt;br /&gt;
! Eh&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| INST&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 15&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| Fh&lt;br /&gt;
| IMAG&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| VCOL&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 17&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 11h&lt;br /&gt;
| MDAT&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| RAWD&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 18&lt;br /&gt;
! 12h&lt;br /&gt;
| IPAL&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 19&lt;br /&gt;
! 13h&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| PBAK&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 20&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 14h&lt;br /&gt;
| CVTX&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| SDIO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 21&lt;br /&gt;
! 15h&lt;br /&gt;
|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| VIDO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Structures ====&lt;br /&gt;
* [[Object]]&lt;br /&gt;
&lt;br /&gt;
==== Other ====&lt;br /&gt;
* [[ISO 9660]]&lt;br /&gt;
* [[CD-XA]] (Mode 2 for CD tracks, used by the PlayStation)&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Main_Page&amp;diff=238</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Main_Page&amp;diff=238"/>
		<updated>2019-04-27T17:46:38Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: Chekwob moved page Crash Bandicoot Hacking Wikia to Main Page: Move back to legitimate main page from wikia garbage page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;mainpage-leftcolumn-start /&amp;gt;&lt;br /&gt;
{{maitop}}&lt;br /&gt;
Here you will find a number of in-depth guides detailing the inner-workings of the [[w:c:retro-crash|Crash Bandicoot]] game engine. These guides are not official in any way.&lt;br /&gt;
&lt;br /&gt;
==Start Here==&lt;br /&gt;
* [[CD-ROM Directory Structure]]&lt;br /&gt;
* [[Entry point]]&lt;br /&gt;
* [[Game Loop]]&lt;br /&gt;
* [[Paging and Subsystem Initialization]]&lt;br /&gt;
* [[Subsystem|Subsystems]]&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* [[Memory Map]]&lt;br /&gt;
* [[Level ID|List of Level ID's]]&lt;br /&gt;
* [[List of game discs|List of Game Discs]]&lt;br /&gt;
&lt;br /&gt;
=== Formats ===&lt;br /&gt;
==== Files ====&lt;br /&gt;
* [[NSD]]&lt;br /&gt;
* [[NSF]]&lt;br /&gt;
** [[Chunk]]&lt;br /&gt;
** [[Entry]]&lt;br /&gt;
* [[SYSTEM.CNF]]&lt;br /&gt;
* [[PSX.EXE]] (also SCUS_xxx.xx, SCES_xxx.xx, etc)&lt;br /&gt;
* [[WARP.BIN]] (also WARPSCUS.BIN, WARPSCES.BIN, etc)&lt;br /&gt;
&lt;br /&gt;
==== Entries ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
! Dec&lt;br /&gt;
! Hex&lt;br /&gt;
! style=&amp;quot;width: 4em&amp;quot;| Crash 1&lt;br /&gt;
! style=&amp;quot;width: 4em&amp;quot;| Crash 2&lt;br /&gt;
! style=&amp;quot;width: 4em&amp;quot;| Crash 3&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 1&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| SVTX&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 2&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| TGEO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 3&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| WGEO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[World]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 4&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| SLST&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[Sort List]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 5&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| TPAG&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 7&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| ZDAT&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[Zone]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
! 11&lt;br /&gt;
! Bh&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| GOOL&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[GOOL Executable]]&lt;br /&gt;
|-&lt;br /&gt;
! 12&lt;br /&gt;
! Ch&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| ADIO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 13&lt;br /&gt;
! Dh&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| MIDI&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 14&lt;br /&gt;
! Eh&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| INST&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 15&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| Fh&lt;br /&gt;
| IMAG&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| VCOL&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 17&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 11h&lt;br /&gt;
| MDAT&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| RAWD&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 18&lt;br /&gt;
! 12h&lt;br /&gt;
| IPAL&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 19&lt;br /&gt;
! 13h&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| PBAK&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 20&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 14h&lt;br /&gt;
| CVTX&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| SDIO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 21&lt;br /&gt;
! 15h&lt;br /&gt;
|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| VIDO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Structures ====&lt;br /&gt;
* [[Object]]&lt;br /&gt;
&lt;br /&gt;
==== Other ====&lt;br /&gt;
* [[ISO 9660]]&lt;br /&gt;
* [[CD-XA]] (Mode 2 for CD tracks, used by the PlayStation)&lt;br /&gt;
&lt;br /&gt;
==Latest activity==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;activityfeed/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;mainpage-endcolumn /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;mainpage-rightcolumn-start /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Photos and videos are a great way to add visuals to your wiki. Find videos about your topic by exploring Wikia's [[w:c:video|Video Library]].&lt;br /&gt;
&lt;br /&gt;
[[File:Placeholder|298px]]&lt;br /&gt;
&amp;lt;mainpage-endcolumn /&amp;gt;&lt;br /&gt;
[[Category:Browse]]&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Crash_Bandicoot_Hacking_Wikia&amp;diff=239</id>
		<title>Crash Bandicoot Hacking Wikia</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Crash_Bandicoot_Hacking_Wikia&amp;diff=239"/>
		<updated>2019-04-27T17:46:38Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: Chekwob moved page Crash Bandicoot Hacking Wikia to Main Page: Move back to legitimate main page from wikia garbage page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Main Page]]&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Zone&amp;diff=235</id>
		<title>Zone</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Zone&amp;diff=235"/>
		<updated>2019-04-27T17:44:41Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 12 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Crash level is composed of invisible ''zones''. Each zone is a cubic region of 3 dimensional space, with dimensions (width, height, depth) and unique location/position, within its containing level. The space occupied by a zone approximately encompasses [the evidently interactive portions of] up to 8 worlds. All together as a whole, a level's zones encompass all of the apparently interactive space occupied by its worlds and any additional surrounding 'atmosphere'; this complete enclosure defines the approximate boundaries for the entire level.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
In an instance of a Crash game, when initially entering a level, the player character (Crash/Willie) is spawned at a specific location within the level's ''first zone''-(i.e. its ''initial entry point''). At this point, the worlds encompassed by the zone, and possibly other nearby worlds, are visible to the player, and the player character is typically in a location where it appears to be supported by some aspect of the worlds-usually terrain. The player is now free to complete one or more level objectives for furthering its overall game progress.&lt;br /&gt;
&lt;br /&gt;
In a Crash 1 [non-boss] level, the player's primary objective is to progress towards and ultimately reach the goal-i.e. the warp platform located at the end. Crash 2 and 3 extend this objective by requiring that the crystal be collected at some point along the path to the goal. Together, the zones provide the play area through which the player is to roam towards its goal. The player progresses from zone to zone, encountering various obstacles along the way, until it either reaches the goal, or dies in its pursuit.&lt;br /&gt;
&lt;br /&gt;
TBD: introduction for header, dimensions/collision octree, camera paths, and entities&lt;br /&gt;
&lt;br /&gt;
==Format==&lt;br /&gt;
&amp;lt;!--===Prototype===&lt;br /&gt;
This format is only used in the earliest Crash 1 levels (i.e. 02, 10)&lt;br /&gt;
====Item 1: Header====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|World Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|w&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Reserved for World Models &lt;br /&gt;
|8 x 0x40 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x204&lt;br /&gt;
|Header Item Count (Header and Collision octree items)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|h&lt;br /&gt;
|-&lt;br /&gt;
|0x208&lt;br /&gt;
|Camera Path Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x20C&lt;br /&gt;
|Entity Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|e&lt;br /&gt;
|-&lt;br /&gt;
|0x210&lt;br /&gt;
|Neighbor Zone Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|n&lt;br /&gt;
|-&lt;br /&gt;
|0x214&lt;br /&gt;
|Neighbor Zone EIDs&lt;br /&gt;
|5 x 4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x228&lt;br /&gt;
|Texture Page Entry Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|p&lt;br /&gt;
|-&lt;br /&gt;
|0x22C&lt;br /&gt;
|Uncompressed Chunk Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|t&lt;br /&gt;
|-&lt;br /&gt;
|0x230&lt;br /&gt;
|Texture Page Entry EIDs&lt;br /&gt;
|8 x 4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x250&lt;br /&gt;
|Uncompressed Chunk CIDs&lt;br /&gt;
|32 x 4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2D0&lt;br /&gt;
|Unknown&lt;br /&gt;
|? bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x30C&lt;br /&gt;
|Object Light Source Matrix L11&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x30E&lt;br /&gt;
|Object Light Source Matrix L12&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x310&lt;br /&gt;
|Object Light Source Matrix L13&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x312&lt;br /&gt;
|Object Light Source Matrix L21&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x314&lt;br /&gt;
|Object Light Source Matrix L22&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x316&lt;br /&gt;
|Object Light Source Matrix L23&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x318&lt;br /&gt;
|Object Light Source Matrix L31&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x31A&lt;br /&gt;
|Object Light Source Matrix L32&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x31C&lt;br /&gt;
|Object Light Source Matrix L33&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x31E&lt;br /&gt;
|Object Background Color R&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x320&lt;br /&gt;
|Object Background Color G&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x322&lt;br /&gt;
|Object Background Color B&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x324&lt;br /&gt;
|Object Light Color Matrix LR1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x326&lt;br /&gt;
|Object Light Color Matrix LR2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x328&lt;br /&gt;
|Object Light Color Matrix LR3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32A&lt;br /&gt;
|Object Light Color Matrix LG1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32C&lt;br /&gt;
|Object Light Color Matrix LG2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32E&lt;br /&gt;
|Object Light Color Matrix LG3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x330&lt;br /&gt;
|Object Light Color Matrix LB1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x332&lt;br /&gt;
|Object Light Color Matrix LB2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x334&lt;br /&gt;
|Object Light Color Matrix LB3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x336&lt;br /&gt;
|Object Background Color Intensity R&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x338&lt;br /&gt;
|Object Background Color Intensity G&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x33A&lt;br /&gt;
|Object Background Color Intensity B&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x33C&lt;br /&gt;
|Player Light Source Matrix L11&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x33E&lt;br /&gt;
|Player Light Source Matrix L12&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x340&lt;br /&gt;
|Player Light Source Matrix L13&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x342&lt;br /&gt;
|Player Light Source Matrix L21&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x344&lt;br /&gt;
|Player Light Source Matrix L22&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x346&lt;br /&gt;
|Player Light Source Matrix L23&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x348&lt;br /&gt;
|Player Light Source Matrix L31&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x34A&lt;br /&gt;
|Player Light Source Matrix L32&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x34C&lt;br /&gt;
|Player Light Source Matrix L33&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x34E&lt;br /&gt;
|Player Background Color R&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x350&lt;br /&gt;
|Player Background Color G&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x352&lt;br /&gt;
|Player Background Color B&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x354&lt;br /&gt;
|Player Light Color Matrix LR1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x356&lt;br /&gt;
|Player Light Color Matrix LR2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x358&lt;br /&gt;
|Player Light Color Matrix LR3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x35A&lt;br /&gt;
|Player Light Color Matrix LG1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x35C&lt;br /&gt;
|Player Light Color Matrix LG2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x35E&lt;br /&gt;
|Player Light Color Matrix LG3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x360&lt;br /&gt;
|Player Light Color Matrix LB1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x362&lt;br /&gt;
|Player Light Color Matrix LB2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x364&lt;br /&gt;
|Player Light Color Matrix LB3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x366&lt;br /&gt;
|Player Background Color Intensity R&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x368&lt;br /&gt;
|Player Background Color Intensity G&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x36A&lt;br /&gt;
|Player Background Color Intensity B&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Item 2: Dimensions/Collision Octree====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Zone Location X&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Zone Location Y&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Zone Location Z&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Zone Width&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|Zone Height&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x14&lt;br /&gt;
|Zone Depth&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x18&lt;br /&gt;
|unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Collision Octree&lt;br /&gt;
|-&lt;br /&gt;
|0x1C&lt;br /&gt;
|Root Node Index&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x24&lt;br /&gt;
|Octree Nodes&lt;br /&gt;
|* x 2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Item 3+n: Camera Path====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|[Polygon] Sort List EID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Reserved for pointer to parent zone (entry)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|garbage?&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Neighboring Path Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Neighboring Paths&lt;br /&gt;
|4 x 4 x 1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Neighbor Path Structure ''d''&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x 4) +0x0&lt;br /&gt;
|Relation [to ''this ''path]&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x 4) +0x1&lt;br /&gt;
|Parent Zone Index [in neighbor zone list]&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x 4) +0x2&lt;br /&gt;
|Path Item Index&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x 4) +0x3&lt;br /&gt;
|Relation to Goal/Misc Flag&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |end&lt;br /&gt;
|-&lt;br /&gt;
|0x1C&lt;br /&gt;
|Rel. Index of Entry Point [furthest from goal]&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x1D&lt;br /&gt;
|Rel. Index of Exit Point [closest to goal]&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x1E&lt;br /&gt;
|Path Length/Point Count&lt;br /&gt;
|2 bytes&lt;br /&gt;
|L&lt;br /&gt;
|-&lt;br /&gt;
|0x20&lt;br /&gt;
|Camera Mode&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x22&lt;br /&gt;
|Average Distance b/t Consecutive Path Points&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x24&lt;br /&gt;
|Camera Z Zoom/Y Pan Factor&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x26&lt;br /&gt;
|unknown&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x28&lt;br /&gt;
|unknown&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2A&lt;br /&gt;
|unknown&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2C&lt;br /&gt;
|Path Direction X&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2E&lt;br /&gt;
|Path Direction Y&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x30&lt;br /&gt;
|Path Direction Z&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32&lt;br /&gt;
|Camera Path Points&lt;br /&gt;
|L x 12 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Camera Path Point Structure ''p ''(*point/trans location relative to parent zone location)&lt;br /&gt;
|-&lt;br /&gt;
|0x32 + (''p ''x 12) + 0x0&lt;br /&gt;
|Point X/Camera Trans X&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32 + (''p'' x 12) + 0x2&lt;br /&gt;
|Point Y/Camera Trans Y&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32 + (''p ''x 12) + 0x4&lt;br /&gt;
|Point Z/Camera Trans Z&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32 + (''p ''x 12) + 0x6&lt;br /&gt;
|Camera Rotation X&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32 + (''p ''x 12) + 0x8&lt;br /&gt;
|Camera Rotation Y&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32 + (''p ''x 12) + 0xA&lt;br /&gt;
|Camera Rotation Z&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Item 3+c+n: Entity====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Reserved for pointer to parent zone (entry)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|garbage?&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Spawn Configuration Flags&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x6&lt;br /&gt;
|Object Process Type&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|ID&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xA&lt;br /&gt;
|Path Point Count&lt;br /&gt;
|2 bytes&lt;br /&gt;
|L&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Object Starting Path Point&lt;br /&gt;
|L x 6 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Object Start Path Point Structure ''p''&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Point X&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xE&lt;br /&gt;
|Point Y&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|Point Z&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |End&lt;br /&gt;
|-&lt;br /&gt;
|0x12&lt;br /&gt;
|Mode Flags A (or initial Y rot)&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x14&lt;br /&gt;
|Mode Flags B (or initial X rot)&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x16&lt;br /&gt;
|Mode Flags C (or initial Z rot)&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x18&lt;br /&gt;
|Object Type&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x19&lt;br /&gt;
|Object Subtype&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x1A&lt;br /&gt;
|Extra Path Points&lt;br /&gt;
|4 bytes * (L - 1) Yes this is the format.&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x1A + ([L - 1] x 6)&lt;br /&gt;
|unknown?&lt;br /&gt;
|2 bytes&lt;br /&gt;
|0x0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Final===--&amp;gt;&lt;br /&gt;
===Item 1: Header===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|World Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|w&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Reserved for World Models &lt;br /&gt;
|8 x 0x40 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x204&lt;br /&gt;
|Index of First Camera Path Item&lt;br /&gt;
|4 bytes&lt;br /&gt;
|h&lt;br /&gt;
|-&lt;br /&gt;
|0x208&lt;br /&gt;
|Camera Path Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x20C&lt;br /&gt;
|Entity Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|e&lt;br /&gt;
|-&lt;br /&gt;
|0x210&lt;br /&gt;
|Neighbor Zone Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|n&lt;br /&gt;
|-&lt;br /&gt;
|0x214&lt;br /&gt;
|Neighbor Zone EIDs&lt;br /&gt;
|8 x 4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x234&lt;br /&gt;
|Texture Page Entry Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|p&lt;br /&gt;
|-&lt;br /&gt;
|0x238&lt;br /&gt;
|&amp;quot;Obligatory&amp;quot; Chunk CID Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|t&lt;br /&gt;
|-&lt;br /&gt;
|0x23C&lt;br /&gt;
|Texture Page Entry EIDs&lt;br /&gt;
|8 x 4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x25C&lt;br /&gt;
|Chunk CIDs&lt;br /&gt;
|32 x 4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2DC&lt;br /&gt;
|Zone Spawn Flags&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2E0&lt;br /&gt;
|VRAM Fill Height for clearing draw buffer&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2E4&lt;br /&gt;
|unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2E8&lt;br /&gt;
|Draw distance (affects fog) - note that objects that are not &amp;quot;drawn&amp;quot; thanks to this will still be processed&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2EC&lt;br /&gt;
|unknown (affects the way objects are drawn)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2F0&lt;br /&gt;
|unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2F4&lt;br /&gt;
|unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2F8&lt;br /&gt;
|unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2FC&lt;br /&gt;
|Zone Flags&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x300&lt;br /&gt;
|Max Death Height? Max Water Height?&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x304&lt;br /&gt;
|unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x308&lt;br /&gt;
|unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x30C&lt;br /&gt;
|unknown; see sub_260AC&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x310&lt;br /&gt;
|VRAM Clear Color R&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x311&lt;br /&gt;
|VRAM Clear Color G&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x312&lt;br /&gt;
|VRAM Clear Color B&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x313&lt;br /&gt;
|unused&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x314&lt;br /&gt;
|Music entry reference&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x318&lt;br /&gt;
|Background Color 1 (R/G/B/?)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x31C&lt;br /&gt;
|Background Color 2 (R/G/B/?)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x320&lt;br /&gt;
|Background Color 3 (R/G/B/?)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x324&lt;br /&gt;
|Fog Color (R/G/B/?)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x328&lt;br /&gt;
|Object Light Source Matrix L33&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32A&lt;br /&gt;
|Object Background Color R&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32C&lt;br /&gt;
|Object Background Color G&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32E&lt;br /&gt;
|Object Background Color B&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x330&lt;br /&gt;
|Object Light Color Matrix LR1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x332&lt;br /&gt;
|Object Light Color Matrix LR2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x334&lt;br /&gt;
|Object Light Color Matrix LR3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x336&lt;br /&gt;
|Object Light Color Matrix LG1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x338&lt;br /&gt;
|Object Light Color Matrix LG2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x33A&lt;br /&gt;
|Object Light Color Matrix LG3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x33C&lt;br /&gt;
|Object Light Color Matrix LB1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x33E&lt;br /&gt;
|Object Light Color Matrix LB2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x340&lt;br /&gt;
|Object Light Color Matrix LB3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x342&lt;br /&gt;
|Object Background Color Intensity R&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x344&lt;br /&gt;
|Object Background Color Intensity G&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x346&lt;br /&gt;
|Object Background Color Intensity B&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x348&lt;br /&gt;
|Player Light Source Matrix L11&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x34A&lt;br /&gt;
|Player Light Source Matrix L12&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x34C&lt;br /&gt;
|Player Light Source Matrix L13&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x34E&lt;br /&gt;
|Player Light Source Matrix L21&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x350&lt;br /&gt;
|Player Light Source Matrix L22&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x352&lt;br /&gt;
|Player Light Source Matrix L23&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x354&lt;br /&gt;
|Player Light Source Matrix L31&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x356&lt;br /&gt;
|Player Light Source Matrix L32&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x358&lt;br /&gt;
|Player Light Source Matrix L33&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x35A&lt;br /&gt;
|Player Background Color R&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x35C&lt;br /&gt;
|Player Background Color G&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x35E&lt;br /&gt;
|Player Background Color B&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x360&lt;br /&gt;
|Player Light Color Matrix LR1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x362&lt;br /&gt;
|Player Light Color Matrix LR2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x364&lt;br /&gt;
|Player Light Color Matrix LR3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x366&lt;br /&gt;
|Player Light Color Matrix LG1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x368&lt;br /&gt;
|Player Light Color Matrix LG2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x36A&lt;br /&gt;
|Player Light Color Matrix LG3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x36C&lt;br /&gt;
|Player Light Color Matrix LB1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x36E&lt;br /&gt;
|Player Light Color Matrix LB2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x370&lt;br /&gt;
|Player Light Color Matrix LB3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x372&lt;br /&gt;
|Player Background Color Intensity R&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x374&lt;br /&gt;
|Player Background Color Intensity G&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x376&lt;br /&gt;
|Player Background Color Intensity B&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Item 2: Dimensions/Collision Octree===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Zone Location X&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Zone Location Y&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Zone Location Z&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Zone Width&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|Zone Height&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x14&lt;br /&gt;
|Zone Depth&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x18&lt;br /&gt;
|unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Collision Octree&lt;br /&gt;
|-&lt;br /&gt;
|0x1C&lt;br /&gt;
|Root Node Index&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x1E&lt;br /&gt;
|Maximum Depth X&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x20&lt;br /&gt;
|Maximum Depth Y&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x22&lt;br /&gt;
|Maximum Depth Z&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x24&lt;br /&gt;
|Octree Nodes&lt;br /&gt;
|* x 2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Item 3+n: Camera Path===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|[Polygon] Sort List EID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Reserved for pointer to parent zone (entry)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|garbage?&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Neighboring Path Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Neighboring Paths&lt;br /&gt;
|4 x 4 x 1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Neighbor Path Structure ''d''&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x 4) +0x0&lt;br /&gt;
|Relation [to ''this ''path]&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x 4) +0x1&lt;br /&gt;
|Parent Zone Index [in neighbor zone list]&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x 4) +0x2&lt;br /&gt;
|Path Item Index&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x 4) +0x3&lt;br /&gt;
|Relation to Goal/Misc Flag&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |end&lt;br /&gt;
|-&lt;br /&gt;
|0x1C&lt;br /&gt;
|Rel. Index of Entry Point [furthest from goal]&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x1D&lt;br /&gt;
|Rel. Index of Exit Point [closest to goal]&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x1E&lt;br /&gt;
|Path Length/Point Count&lt;br /&gt;
|2 bytes&lt;br /&gt;
|L&lt;br /&gt;
|-&lt;br /&gt;
|0x20&lt;br /&gt;
|Camera Mode&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x22&lt;br /&gt;
|Average Distance b/t Consecutive Path Points&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x24&lt;br /&gt;
|Camera Z Zoom/Y Pan Factor&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x26&lt;br /&gt;
|unknown&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x28&lt;br /&gt;
|unknown&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2A&lt;br /&gt;
|unknown&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2C&lt;br /&gt;
|Path Direction X&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2E&lt;br /&gt;
|Path Direction Y&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x30&lt;br /&gt;
|Path Direction Z&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32&lt;br /&gt;
|Camera Path Points&lt;br /&gt;
|L x 12 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Camera Path Point Structure ''p ''(*point/trans location relative to parent zone location)&lt;br /&gt;
|-&lt;br /&gt;
|0x32 + (''p ''x 12) + 0x0&lt;br /&gt;
|Point X/Camera Trans X&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32 + (''p'' x 12) + 0x2&lt;br /&gt;
|Point Y/Camera Trans Y&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32 + (''p ''x 12) + 0x4&lt;br /&gt;
|Point Z/Camera Trans Z&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32 + (''p ''x 12) + 0x6&lt;br /&gt;
|Camera Rotation X&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32 + (''p ''x 12) + 0x8&lt;br /&gt;
|Camera Rotation Y&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32 + (''p ''x 12) + 0xA&lt;br /&gt;
|Camera Rotation Z&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Item 3+c+n: Entity===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Reserved for pointer to parent zone (entry)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|garbage?&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Spawn Configuration Flags&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x6&lt;br /&gt;
|Object Process Type&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|ID&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xA&lt;br /&gt;
|Path Point Count&lt;br /&gt;
|2 bytes&lt;br /&gt;
|L&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Mode Flags A (or initial Y rot)&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xE&lt;br /&gt;
|Mode Flags B (or initial X rot)&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|Mode Flags C (or initial Z rot)&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x12&lt;br /&gt;
|Object Type&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x13&lt;br /&gt;
|Object Subtype&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x14&lt;br /&gt;
|Object Path Points&lt;br /&gt;
|L x 6 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Object Path Point Structure ''p''&lt;br /&gt;
|-&lt;br /&gt;
|0x14 + (''p ''x 6) + 0x0&lt;br /&gt;
|Point X&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x14 + (''p ''x 6) + 0x2&lt;br /&gt;
|Point Y&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x14 + (''p ''x 6) + 0x4&lt;br /&gt;
|Point Z&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |end&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|0x14 + (L x 6)&lt;br /&gt;
|unknown?&lt;br /&gt;
|2 bytes if L = 1, otherwise 4&lt;br /&gt;
|0x0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
TBD: zonecollisions, entity&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
struct zoneheader&lt;br /&gt;
{&lt;br /&gt;
  unsigned long worldcount;&lt;br /&gt;
  wgeomodel world[8];&lt;br /&gt;
  unsigned long headercount;&lt;br /&gt;
  unsigned long campathcount;&lt;br /&gt;
  unsigned long entitycount;&lt;br /&gt;
  unsigned long neighborcount;&lt;br /&gt;
  union&lt;br /&gt;
  {&lt;br /&gt;
    entry *neighbor[8];&lt;br /&gt;
    unsigned long neighboreid[8];&lt;br /&gt;
  };&lt;br /&gt;
  unsigned long tpagecount;&lt;br /&gt;
  unsigned long tchunkcount;&lt;br /&gt;
  unsigned long tpage[8];&lt;br /&gt;
  unsigned long tchunk[32];&lt;br /&gt;
  unsigned long loadflags;&lt;br /&gt;
  unsigned long vramfillh;&lt;br /&gt;
  unsigned long unknownA;&lt;br /&gt;
  unsigned long visibilitydepth;&lt;br /&gt;
  unsigned long unknownB;&lt;br /&gt;
  unsigned long unknownC;&lt;br /&gt;
  unsigned long unknownD;&lt;br /&gt;
  unsigned long unknownE;&lt;br /&gt;
  unsigned long flags;&lt;br /&gt;
  unsigned long deathy;&lt;br /&gt;
  unsigned long unknownF;&lt;br /&gt;
  unsigned long unknownG;&lt;br /&gt;
  unsigned long unknownH;&lt;br /&gt;
  unsigned char vramfillr;&lt;br /&gt;
  unsigned char vramfillg;&lt;br /&gt;
  unsigned char vramfillb;&lt;br /&gt;
  unsigned char unused_a;&lt;br /&gt;
  unsigned char farcolorr;&lt;br /&gt;
  unsigned char farcolorg;&lt;br /&gt;
  unsigned char farcolorb;&lt;br /&gt;
  unsigned char unused_b;&lt;br /&gt;
  struct slightmatrix objectlightmatrix;&lt;br /&gt;
  struct scolor objectcolor;&lt;br /&gt;
  struct scolormatrix objectcolormatrix;&lt;br /&gt;
  struct scolor objectlightintensity;&lt;br /&gt;
  struct slightmatrix playerlightmatrix;&lt;br /&gt;
  struct scolor playercolor;&lt;br /&gt;
  struct scolormatrix playercolormatrix;&lt;br /&gt;
  struct scolor playerlightintensity;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct zonepathdescriptor&lt;br /&gt;
{&lt;br /&gt;
  unsigned char relation;&lt;br /&gt;
  unsigned char neighborzoneindex;&lt;br /&gt;
  unsigned char campathindex;&lt;br /&gt;
  unsigned char goal;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct zonecampathpoint&lt;br /&gt;
{&lt;br /&gt;
  signed short x;&lt;br /&gt;
  signed short y;&lt;br /&gt;
  signed short z;&lt;br /&gt;
  signed short rotx;&lt;br /&gt;
  signed short roty;&lt;br /&gt;
  signed short rotz;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct zonecampath&lt;br /&gt;
{&lt;br /&gt;
  unsigned long slsteid;&lt;br /&gt;
  union&lt;br /&gt;
  {&lt;br /&gt;
    entry *parentzone;&lt;br /&gt;
    unsigned long parentzoneeid;&lt;br /&gt;
  }&lt;br /&gt;
  unsigned long neighborpathcount;&lt;br /&gt;
  struct zonepathdescriptor neighborpathdescriptor[4];&lt;br /&gt;
  unsigned char entranceindex;&lt;br /&gt;
  unsigned char exitindex;&lt;br /&gt;
  unsigned short length;&lt;br /&gt;
  unsigned short cammode;&lt;br /&gt;
  signed short avgptdist;&lt;br /&gt;
  signed short camzoom;&lt;br /&gt;
  unsigned short unknownA;&lt;br /&gt;
  unsigned short unknownB;&lt;br /&gt;
  unsigned short unknownC;&lt;br /&gt;
  struct svector direction;&lt;br /&gt;
  struct zonecampathpoint point[];&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zone Dimensions/Collision Octree ==&lt;br /&gt;
=== Collision Octree ===&lt;br /&gt;
Each node in the zone's collision octree, except for the root node, is the child of a parent node. Each parent node has either 8, 4, or 2 children nodes. &lt;br /&gt;
&lt;br /&gt;
Each node corresponds to a portion of 3-dimensional space occupied by the zone. The root node corresponds to the entire region of space occupied by the zone (specified at offsets 0x0 to 0x14). Each child node corresponds to a separate subdivision of the space occupied by its parent. The location and dimensions of a subdivision respectively vary based on the corresponding node's index among its siblings and its depth within the tree. &lt;br /&gt;
&lt;br /&gt;
In relation to its corresponding node's parent's associated region of space, a subdivision can be any region resulting from an even partitioning by any combination of 1 to 3 coordinate axis-aligned hyperplanes:&lt;br /&gt;
* Upper left front, upper left back, lower left front, lower left back, upper right front, upper right back, lower right front, or lower right back octant&lt;br /&gt;
* Upper left, Lower left, Upper right, Lower right, Front left, Back left, Front right, Back right, Upper front, Upper back, Lower front, or Lower back quadrant&lt;br /&gt;
* Left, right, top, bottom, front, or back half&lt;br /&gt;
Thus, if a node's parent's associated region of space were split in half along a line parallel to either the x, y, or z axis, then optionally split in half along a line parallel to either one of the remaining axes, and then optionally split in half along a line parallel to the remaining axis, the node's associated region of space could be any of either the resulting halves, quadrants, or octants. In these terms, 3 factors determine the location and dimensions of a subdivision: the number of split lines (1 to 3), the respective axes/axis parallel to those/that split line(s) (x and/or y and/or z), and the number/index of the resulting half, quadrant, or octant that encompasses its space. &lt;br /&gt;
&lt;br /&gt;
For any parent node with depth less than the minimum of the respective maximum x, y, and z depths (specified at offsets 0x1E,0x20,0x22), 3 split lines-each respectively parallel to the x, y, and z axes-determine the 8 octants that, respectively, encompass its children's corresponding subdivisions of space. For the children of parent nodes with a depth greater than or equal to the minimum, the split line(s) parallel to the axis/axes for which is/are specified that minimum are eliminated when determining the corresponding subdivisions. For the children of parent nodes with a depth greater than or equal to the second minimum, i.e. the minimum of the remaining 2 maximums (if any), the respective split lines parallel to the axes for which are specified the minimum ''and'' second minimum are eliminated when determining the corresponding subdivisions. The maximum of the 3 maximum depths determines the height of the tree.&lt;br /&gt;
&lt;br /&gt;
For example, suppose maximum depth x were the minimum of the maximum depths-3, for example. Suppose also that maximum depth z were the second minimum-7, for example. For any parent node with depth less than 3, each of its children's corresponding subdivisions is a separate octant of its (the parent's) associated region of space. For any parent node with depth greater than or equal to 3 but less than 7, the ''x'' split line is eliminated in determining the subdivisions of its associated region-thus, it is only split in half y-wise and z-wise; equivalently, it is only split into 4 quadrants-an upper front, lower front, upper back, and lower back quadrant. Such a parent node could then have only 4 children, each respectively corresponding to a separate one of the 4 subdivisions/quadrants. For any parent node with depth greater than or equal to 7, the ''x'' and ''z'' split lines are eliminated in determining the subdivisions of its associated region-thus, it is only split in half y-wise; equivalently, it is only split into 2 halves-a left half and a right half. Such a parent node could then have only 2 children, each respectively corresponding to a separate one of the 2 subdivisions/halves.&lt;br /&gt;
&lt;br /&gt;
*Parent nodes with depth less than the minimum have 8 children-but only if the minimum is nonzero. &lt;br /&gt;
**If a unique minimum [max] depth of 0 is specified for only one of the 3 axes, parent nodes with depth less than the second minimum have 4 children. &lt;br /&gt;
**If a minimum depth of 0 is specified for 2 of the 3 axes, all parent nodes have 2 children. &lt;br /&gt;
**If a minimum depth of 0 is specified for all axes, the tree is empty.&lt;br /&gt;
*Parent nodes with depth greater than or equal to the minimum and less than the second minimum(if it exists) have 4 children-but only if the minimum is unique.&lt;br /&gt;
**If the same minimum depth is specified for 2 of the 3 axes, parent nodes with depth greater than or equal to the minimum have 2 children.&lt;br /&gt;
**If the same nonzero minimum/maximum depth is specified for all axes-that is, there does not exist a second minimum-then all parent nodes have 8 children.&lt;br /&gt;
*Parent nodes with depth greater than or equal to the second minimum have 2 children-but only if the [first] minimum or second minimum is unique.&lt;br /&gt;
*Height of the tree is given by the maximum [of the max] depth(s).&lt;br /&gt;
&lt;br /&gt;
=== Octree Node Format ===&lt;br /&gt;
Each node in the octree is specified as an unsigned short (2 bytes). The relative offset of the root node within the item is specified at offset 0x1C.  &lt;br /&gt;
&lt;br /&gt;
==== Internal/parent nodes ====&lt;br /&gt;
Internal/parent nodes are indicated by a cleared LSB (least significant bit); consequently, their [nonzero] value refers to the relative offset of [the first of] their children in the ''item''. Child nodes are stored contiguously as groups of 8, 4, or 2. The cardinality and arrangement of a parent's group of child nodes depends on its depth in relation to the axis associated maximum depths:&lt;br /&gt;
{| style=&amp;quot;font-size:7pt;&amp;quot;&lt;br /&gt;
!Parent Depth Condition&lt;br /&gt;
!Children Group [format/arrangement]&lt;br /&gt;
!&amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
!&amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
!&amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
!&amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
!&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
!&amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
!&amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
!&amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;('''d &amp;lt; min''') &amp;amp;&amp;amp; max&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;AA AA BB BB CC CC DD DD EE EE FF FF GG GG HH HH&amp;lt;/code&amp;gt;&lt;br /&gt;
| ULF&lt;br /&gt;
| ULB&lt;br /&gt;
| DLF&lt;br /&gt;
| DLB&lt;br /&gt;
| URF&lt;br /&gt;
| URB&lt;br /&gt;
| DRF&lt;br /&gt;
| DRB&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;10&amp;quot; |&amp;lt;code&amp;gt;cond = ('''d &amp;gt;= min &amp;amp;&amp;amp; d &amp;lt; min2 '''&amp;amp;&amp;amp; min != min2)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;'''cond &amp;amp;&amp;amp;''' '''min == maxx'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;AA AA BB BB CC CC DD DD&amp;lt;/code&amp;gt;&lt;br /&gt;
|UL&lt;br /&gt;
|UR&lt;br /&gt;
|DL&lt;br /&gt;
|DR&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;'''cond &amp;amp;&amp;amp;''' '''min == maxy'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;AA AA BB BB CC CC DD DD&amp;lt;/code&amp;gt;&lt;br /&gt;
|LF&lt;br /&gt;
|LB&lt;br /&gt;
|RF&lt;br /&gt;
|RB&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;'''cond &amp;amp;&amp;amp;''' '''min == maxz'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;AA AA BB BB CC CC DD DD&amp;lt;/code&amp;gt;&lt;br /&gt;
|UF&lt;br /&gt;
|UB&lt;br /&gt;
|DF&lt;br /&gt;
|DB&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;10&amp;quot; |&amp;lt;code&amp;gt;cond = ('''d &amp;gt;= min2'''&amp;lt;nowiki&amp;gt; &amp;amp;&amp;amp; (min != min2 &amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; min2 &amp;lt;nowiki&amp;gt;!=&amp;lt;/nowiki&amp;gt; max)) &amp;lt;nowiki&amp;gt;[||&amp;lt;/nowiki&amp;gt; (d &amp;gt;= min &amp;amp;&amp;amp; (min == min2 &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; min2 == max)) ] &amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;'''cond &amp;amp;&amp;amp; min2 == maxx'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;AA AA BB BB&amp;lt;/code&amp;gt;&lt;br /&gt;
|L&lt;br /&gt;
|R&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;'''cond &amp;amp;&amp;amp; min2 == maxy'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;AA AA BB BB&amp;lt;/code&amp;gt;&lt;br /&gt;
|top&lt;br /&gt;
|bot&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;'''cond &amp;amp;&amp;amp; min2 == maxz'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;AA AA BB BB&amp;lt;/code&amp;gt;&lt;br /&gt;
|F&lt;br /&gt;
|B&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|}&lt;br /&gt;
* The Parent Depth Condition column lists conditions under which a parent node's contiguous group of children have the associated formats. Only the bolded conditions are relevant if max depths are unique. The following symbols are used for brevity:&lt;br /&gt;
** &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt; = parent node depth&lt;br /&gt;
** &amp;lt;code&amp;gt;max*&amp;lt;/code&amp;gt; = max depth *&lt;br /&gt;
** &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; = {&amp;lt;code&amp;gt;max*&amp;lt;/code&amp;gt;} (for &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;)&lt;br /&gt;
** &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; = &amp;lt;code&amp;gt;min(M)&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;min2&amp;lt;/code&amp;gt; = &amp;lt;code&amp;gt;min(M - {min})&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;max = max(M)&amp;lt;/code&amp;gt;&lt;br /&gt;
* The Children Group column lists the arrangement or byte format of the parent's group of child nodes; depending on conditions, there are either 8 children [A-H], 4 children [A-D], or 2 children [A-B] in the group.&lt;br /&gt;
* Each of the A-H columns identifies that child's corresponding subdivision with an abbreviation:&lt;br /&gt;
** L = left, R = right, U = upper, D = lower, F = front, B = back&lt;br /&gt;
&lt;br /&gt;
==== Non-existent nodes ====&lt;br /&gt;
Non-existent nodes are indicated with a value of &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;. A non-existent node refers to empty space; there is nothing particularly interesting about its corresponding subdivision, since the player will never interact/collide with it.&lt;br /&gt;
&lt;br /&gt;
==== Leaf nodes ====&lt;br /&gt;
Leaf nodes are indicated by a set LSB; the remaining 15 bits describe collision attributes for the node's corresponding subdivision:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;UUUUUUSSSSSSTTT1&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; = Node type &lt;br /&gt;
* &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; = Node subtype &lt;br /&gt;
* &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt; = Unknown/unused? &lt;br /&gt;
Node type and subtype refer to type and subtype of the node's corresponding collidable subdivision of 3 space. &lt;br /&gt;
&lt;br /&gt;
===== Node Type =====&lt;br /&gt;
Node type determines the primary type of corresponding collidable space:&lt;br /&gt;
{|&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Solid and Interactive &lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Solid Floor/Ground&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Level Boundary Wall&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Pit Area&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Trigger Misc Death on Collision&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Node Subtype =====&lt;br /&gt;
Solid and Interactive, Pit Area, and Trigger Misc Death on Collision type nodes (types 0, 3, and 4) may optionally specify a node subtype. This subtype determines a specific event sent to the player upon collision with the node:&lt;br /&gt;
{|&lt;br /&gt;
!Subtype&lt;br /&gt;
!Description&lt;br /&gt;
!Event&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Spin, Fall Over, and Die (death sequence)&lt;br /&gt;
|&amp;lt;code&amp;gt;0x700&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|?&lt;br /&gt;
|&amp;lt;code&amp;gt;0xC00&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Drown&lt;br /&gt;
|&amp;lt;code&amp;gt;0x2100&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Burn to Ash&lt;br /&gt;
|&amp;lt;code&amp;gt;0x1F00&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Explode&lt;br /&gt;
|&amp;lt;code&amp;gt;0x1E00&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|?&lt;br /&gt;
|&amp;lt;code&amp;gt;0xD00&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|?&lt;br /&gt;
|&amp;lt;code&amp;gt;0x1200&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|?&lt;br /&gt;
|&amp;lt;code&amp;gt;0x1200&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|?&lt;br /&gt;
|&amp;lt;code&amp;gt;0x1200&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|?&lt;br /&gt;
|&amp;lt;code&amp;gt;0x1200&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|Fall in a Hole and Die&lt;br /&gt;
|&amp;lt;code&amp;gt;0x900&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|?&lt;br /&gt;
|&amp;lt;code&amp;gt;0x2300&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
It is yet to be determined whether there are additional subtypes with other purposes.&lt;br /&gt;
&lt;br /&gt;
== Camera Paths ==&lt;br /&gt;
In each game, the camera follows behind the player as it makes progress towards the goal. The camera, too, along with the player, makes progress towards the goal, albeit somewhat less advanced but at the same rate; thus, the player's progress within the level and the camera's progress within the level are directly related. In each game, the camera appears to travel a fixed path as it follows behind the player, zooming and panning accordingly.&lt;br /&gt;
&lt;br /&gt;
A zone typically includes one or more connected ''paths'' along which the camera is to travel as the player character makes progress within that zone. As a whole, all paths [of all zones] in the level connect to form a ''central path'' from the initial player location to the goal, with possibly several divergences at any arbitrary point(s). Each divergence may or may not converge back into to the central path to trace out an alternate route.&lt;br /&gt;
&lt;br /&gt;
=== Path Points ===&lt;br /&gt;
Each path is composed of a number of closely positioned points that typically trace out an approximate line or smooth curve. Each point corresponds to a position of the camera, and is also associated with a camera orientation. The line or curve traced by a path connects its points in sequence, where points in the path are stored sequentially. Path points are commonly referred to as ''progress points''.&lt;br /&gt;
* When the camera is '''at''' a point in a path, it is positioned at the location of that point and oriented according to the point's associated orientation.&lt;br /&gt;
* After the camera '''moves''' from the point that it is currently ''at'' to another point in the path, it will be ''at'' that other point.&lt;br /&gt;
* To move ''along'' a path, or move ''further into'' its trail, the camera moves from one point on the path to the next, and so on, until it reaches [is at] some desired destination point.&lt;br /&gt;
&lt;br /&gt;
==== Path Progression ====&lt;br /&gt;
As the player ''makes'' ''progress'' within a zone, the camera consequently ''makes'' ''progress'' along the paths in that zone, thus keeping up with the player. As the camera progresses further along a path, it moves further into the path's trail. At any point on the path, by moving to the next point, the camera will have progressed one point further. The camera can progress from one point on the path to the next, and so on, until it reaches a desired destination point. The amount of progress made by the camera in a complete progression is the number of points that it has progressed further.&lt;br /&gt;
&lt;br /&gt;
If the camera begins at the first point in a path and progresses to the ''n''th point, it will have made an amount of progress equal to ''1'' point less than ''n''. For example, if the camera begins at the first point in a path and progresses to the first point=''1''st/th point (''n''=''1''), then it will have made an amount of progress equal to ''1-1=0'' (no progress at all). The length of a path is just the number of points that it contains. If the camera begins at the first point in a path and progresses to the last point, it will have made an amount of progress equal to 1 less than the length of the path. The index of a [zero-indexed] path point is equivalent to the amount of progress that the camera will have made [after moving from the beginning/first point] at that point within the path. Thus, '''each [progress] point is indexed by its corresponding progress value'''.&lt;br /&gt;
&lt;br /&gt;
==== Path Retrogression ====&lt;br /&gt;
Nothing prevents the player from ''retrogressing'' within a zone [unless it is at the initial entry point]; the player may return all the way back to its initial entry point in the first zone if it wishes. As the player retrogresses within a zone, its progress will ''rewind'', as it is counterbalanced by a subtraction in amount. The camera consequently must retrogress along with the player for its continued viewing. As the camera retrogresses along a path, it moves back towards the beginning of (i.e the first point in) the path's trail. At any point on the path, by moving to the previous point, the camera will have retrogressed one point back towards the beginning. The camera can retrogress from a point on the path to its previous point, and so on, until it reaches any desired destination point that is closer to the beginning of the path's trail. The amount of progress lost by the camera in a complete retrogression is the number of points that it has retrogressed.&lt;br /&gt;
&lt;br /&gt;
==== Retrogressing too close - problem ====&lt;br /&gt;
At any point on the path, by moving to the previous point, the camera will have retrogressed one point back towards the beginning. However, at the first point, the camera is already at the beginning, and there is no previous point to move to within that path. At the first point on that path, the camera's ''current progress'' will be 0, as it has not progressed to any point further. If the camera were to retrogress any closer back to the initial entry point [in the first zone] from [its current position at] the beginning of (i.e. the first point within) the path, its current progress would decumulate to become (1 less than 0 =) -1. However, this refers to an invalid point index; there does not exist a point with this index (i.e. one point before the first point) at which the camera could be positioned.&lt;br /&gt;
&lt;br /&gt;
==== Progressing too far - problem ====&lt;br /&gt;
At any point on the path, by moving to the next point, the camera will have progressed one point further. However, at the last point, there is no next point to move to within that path. At the last point on that path, the camera's current progress will be 1 less than the length of the path-i.e. the index of the last point on the path. If the camera were to progress any further past [its current position at] the end of (i.e. the last point within) the path, its current progress would accumulate to become (1 less than the length of the path + 1 =) the length of the path. Path points are zero-indexed, however, so this would refer to an invalid point index; there does not exist a point with this index (i.e. one point past the last point) at which the camera could be positioned. If the path were extended past its current last point, this ''would'' be a valid index-that of a point that continued the path.&lt;br /&gt;
&lt;br /&gt;
=== Neighbor Paths - solution ===&lt;br /&gt;
Even unextended, the path still actually ''does'' continue past its last point. Recall that several paths in a zone can be ''connected'': a single path may reference one or more connected ''neighboring paths''. A path's neighboring paths may be:&lt;br /&gt;
* any path in its parent zone, other than itself &lt;br /&gt;
* any path in any of its parent's neighboring zones &lt;br /&gt;
Each of a path's neighboring paths contain either points that continue the path past its last point, or points that retrogress before its first point. The path's own points are a retrogression of the neighbor path [points] that continue past its last point, and are a continuation of the neighbor path [points] that retrogress before its first point. &lt;br /&gt;
&lt;br /&gt;
==== Progressing too far - solution ====&lt;br /&gt;
When the camera reaches the [invalid] progress that is an invalid index of a point that would be ''one point past the last point'' in the path, the ''current path'' is changed to a neighbor path [with points] that continue(s) the path past its last point; the camera is said to have ''entered'' this path, particularly at its ''entrance'' (i.e. beginning/first point). As it has only just reached the beginning of/first point in this connected path, the camera's current progress along that path is also set to 0 (index of first point). The camera can then continue to progress within that path as necessary along with the player, just as it had done in the previous path.&lt;br /&gt;
&lt;br /&gt;
==== Retrogressing too close - solution ====&lt;br /&gt;
When the camera reaches the [invalid] progress that is an invalid index of a point that would be ''one point before the first point'' in the path, the current path is changed to a neighbor path [with points] that retrogress(es) from the path before its first point; the camera is said to have ''re-entered'' this path, particularly, at its ''exit'' (i.e. end/last point). As it has re-entered the connected path at its exit point, the camera's current progress along that path is also set to 1 less than its length (index of last point). The camera can then continue to retrogress within that path as necessary along with the player, just as it had done in the previous path.&lt;br /&gt;
&lt;br /&gt;
==== Specification ====&lt;br /&gt;
A path specifies up to 4 neighboring paths by including the following information for each path:&lt;br /&gt;
# The zone that contains the neighboring path&lt;br /&gt;
# The index of the neighboring path within that zone&lt;br /&gt;
# Whether the neighboring path, in relation to this path, is a ''continuation'' or a ''retrogression''&lt;br /&gt;
#* A continuation indicates that the neighboring path is closer to the goal than this path&lt;br /&gt;
#*  A retrogression indicates that the neighboring path is further from the goal than this path&lt;br /&gt;
# Whether the neighboring path, from the perspective of the player as it faces in the direction of the goal, is:&lt;br /&gt;
#* In front of the path&lt;br /&gt;
#* Behind the path&lt;br /&gt;
#* Above/Below the path&lt;br /&gt;
&lt;br /&gt;
==== Divergence and Convergence ====&lt;br /&gt;
More than one of a path's neighbors can be either a continuation or a retrogression of the path. Each is either an alternate continuation or retrogression of the path and equivalently either a divergence or convergence from/into the path. For example, at the beginning of the split in route towards the end of N. Sanity Beach, there is a path with 3 neighbors: one a retrogression (the path that leads into it), and the other 2 continuations the left and right branches, respectively, of the path. Right before the goal, the 2 branches meet up again, converging to a singular central path; the point of convergence is of a path with 3 neighbors: one a continuation, which is the final path of all paths in all zones of the level, whose last point is located right behind the goal, and the other 2 retrogressions the left and right branches, respectively, that lead into the path. &lt;br /&gt;
&lt;br /&gt;
=== Additional Parameters ===&lt;br /&gt;
Each camera path includes the following additional information:&lt;br /&gt;
&lt;br /&gt;
* [Polygon] Sort list&lt;br /&gt;
* Parent zone&lt;br /&gt;
* Camera mode&lt;br /&gt;
* Camera zoom/pan factor&lt;br /&gt;
* Length of the path&lt;br /&gt;
* Alternate entrance and exit point relative indices&lt;br /&gt;
* Average distance between each path point&lt;br /&gt;
* Approximate direction of the path (a unit vector)&lt;br /&gt;
&lt;br /&gt;
Average distance between each path point and approximate direction of the path are used to convert the camera's location within the level to a progress along the path. The camera typically has an idea of how much it should move from its current location to keep up with the player, but not in terms of how much it should progress along the path. Usually the camera would ''like'' to move to a location that lies outside of the path, but can not since its movement is restricted following along that path. Thus, the scalar projection of the camera's desired, ''unprojected'' location onto a linear approximation of the path (i.e. path direction) is computed to determine its approximate projected location or distance along the path. This distance is then divided by the average distance between each path point to determine its actual progress along the path.    &lt;br /&gt;
&lt;br /&gt;
Purposes of the other fields are explained elsewhere (See: camera update routine TBD).&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=World&amp;diff=222</id>
		<title>World</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=World&amp;diff=222"/>
		<updated>2019-04-27T17:44:40Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 8 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A World is a 3 dimensional gouraud-shaded textured/semi-textured or non-textured polygon mesh that represents a visible portion of a level; all together, the world(s) [entries] in an NSF file represent the entire model for the corresponding level. Worlds are Type 3 entries. Each zone specifies at most 8 world models that shall be rendered [and will appear to the player] when the player character is within its confines. For each frame of execution, the corresponding polygon primitives are re-generated from the model data for the 8 worlds in the current zone, transformed according to global matrices (i.e. camera trans, rot, and scale) including a perspective transform from 3 dimensions to 2, and finally sent to the GPU for rendering. As a result, the player observes the [up to] 8 world models from the perspective of the camera at its current point/progress along its current path within the current zone.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
It is usually unlikely that a world model lies entirely on-screen; consequently, not all polygons for that world will need to be rendered by the GPU. Polygons must be rendered in a back-to-front order-that is, the [https://en.wikipedia.org/wiki/Painter%27s_algorithm painter's algorithm] can be applied directly to some 'depth sorted' list of to-be-rendered polygons. Polygons cannot be rendered in their order from the Type 3 entry; they are not depth-sorted and therefore would fail at the painter's algorithm. Furthermore the polygons that lie off-screen would still undergo transformation by the GTE and rendering by the GPU only to not appear at all-which is a waste of graphical computation time. A list known as the current polygon list then determines the back-to-front ordering of polygons, listed by Polygon ID. (during a level update, decoding of Sort Lists reorders/rebuilds the current polygon list according to camera progress)&lt;br /&gt;
&lt;br /&gt;
During world model primitive creation and transformation, for each polygon ID in the current polygon list from the end to the beginning, a representative 3-point polygon primitive is generated using the vertex data for the polygon with that ID, in one of  the 8 current zone world models, and transformed accordingly; for each primitive created, its tag field is pointed to the  representative primitive for the previous polygon [ID] in the list (when it is created). This creates a linked list of primitives starting with that created for the last polygon and ending with that created for the first. Since the polygon list sorts IDs by depth of their corresponding polygons, the primitive linked list sorts their corresponding primitives [by depth] from back to front. During the rendering stage, the GPU then steps through this list, rendering each polygon primitive in the  appropriately specified order from back to front.&lt;br /&gt;
&lt;br /&gt;
Primitives generated for worlds are &amp;lt;code&amp;gt;POLY_G3&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;POLY_GT3&amp;lt;/code&amp;gt; structures of the PSX Basic Graphics Run-time library. Several fields from the associated polygon's vertex data are extracted, manipulated, and rearranged before they finally occupy the various fields of the polygon's &amp;lt;code&amp;gt;POLY_G3&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;POLY_GT3&amp;lt;/code&amp;gt; primitive.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
=== Crash 1 ===&lt;br /&gt;
&lt;br /&gt;
==== Item 1: Header ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|X Location&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Y Location&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Z Location&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Polygon count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|Vertice count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x14&lt;br /&gt;
|Texture info structures&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x18&lt;br /&gt;
|Texture Page Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|t&lt;br /&gt;
|-&lt;br /&gt;
|0x1C&lt;br /&gt;
|Translate Flag&lt;br /&gt;
v=0 Indicates a &amp;quot;Backdrop&amp;quot;&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x20&lt;br /&gt;
|Texture Page EIDs&lt;br /&gt;
|8 x 4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x40&lt;br /&gt;
|Texture Info Array&lt;br /&gt;
|* x 4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
Data in the Texture Info Array is consisted of either 4 and/or 8 byte structures with the following formats:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Format A: 0******* RRRRRRRR GGGGGGGG BBBBBBBB&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Format B: 1SS0HHHH RRRRRRRR GGGGGGGG BBBBBBBB DDDDDDDD DDMMLLXX XXXZZZZZ ZZ0YYYYY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; = Semi-Transparency Mode&lt;br /&gt;
* &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; = Color Mode &lt;br /&gt;
* &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt; = Texture Page 128/256 pixel region X index&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; = Texture X offset&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt; = Texture Y offset&lt;br /&gt;
* &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; = Texture Region Index&lt;br /&gt;
* &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt; = Primary CLUT ID &lt;br /&gt;
* &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt; = Secondary CLUT ID&lt;br /&gt;
* R = Red Value?&lt;br /&gt;
* G = Green Value?&lt;br /&gt;
* B = Blue Value?&lt;br /&gt;
&lt;br /&gt;
# A structure of format A describes optional color information ('''unconfirmed''') for a polygon that will be converted to a non-textured primitive.&lt;br /&gt;
# A structure of format B describes texture information for a polygon that will be converted to a textured/semi-textured primitive (explained in detail below).&lt;br /&gt;
&lt;br /&gt;
Each polygon (see below) specifies an offset into the texture info array of the structure that describes a specific region of pixel data [in some texture page] that maps to it (or to describe no texture data at all). The texture page EIDs refer to 8 different texture pages that can be used as sources for texture data. A polygon will refer to one of these 8 EIDs as the source texture page from which to grab the pixel data.&lt;br /&gt;
&lt;br /&gt;
==== Item 2: Polygons ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Polygons&lt;br /&gt;
|* x 8 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
This item contains a number of 8 byte structures, each of which describes an individual ''polygon'' (a 3 point triangle) in the world, by the 3 separate vertices that it consists of and with information about texture that maps to it.&lt;br /&gt;
&lt;br /&gt;
Each structure has the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CCCCCCCC CCCCTTTT TTTTTTTT EEEPPPPP AAAAAAAA AAAABBBB BBBBBBBB VVVWWWWI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* A = Index of Vertex A in Item 3: Vertices&lt;br /&gt;
* B = Index of Vertex B in Item 3: Vertices&lt;br /&gt;
* C = Index of Vertex C in Item 3: Vertices&lt;br /&gt;
* E = Index of one of 8 texture page EIDs in Item 1: Header&lt;br /&gt;
* T = Texture Info index, into Texture Info Array of Item 1: Header&lt;br /&gt;
* P, V, W = determine an additional offset to the index into the Texture Info Array (for animated textures)&lt;br /&gt;
* I = ignored?&lt;br /&gt;
&lt;br /&gt;
==== Item 3: Vertices ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Vertices&lt;br /&gt;
|* x 8 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
This item contains a number of 8 byte structures, each of which describes a single vertex of a polygon (which may or may not be shared by more than one polygon):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ZZZZZZZZ RRRRRRRR GGGGGGGG BBBBBBBB XXXXXXXX XXXXXSSS YYYYYYYY YYYYYNNI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; = Vertex X Position&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt; = Vertex Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt; = Vertex Z Position&lt;br /&gt;
* &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; = Vertex Sub-section (also determines z position)&lt;br /&gt;
* &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; = Vertex Section (also determines z position)&lt;br /&gt;
* &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; = Vertex Red Value (for gouraud shading)&lt;br /&gt;
* &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt; = Vertex Green Value (for gouraud shading)&lt;br /&gt;
* &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; = Vertex Blue Value (for gouraud shading)&lt;br /&gt;
* &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt; = Vertex Shader/Effect Flag&lt;br /&gt;
&lt;br /&gt;
== Primitive Creation ==&lt;br /&gt;
A general outline of the primitive creation loop for world models:&lt;br /&gt;
# Grab next polygon referred to by the current polygon list from 1 of 8 worlds in the current zone&lt;br /&gt;
# Set GTE translation vector to that of the world's (if the world is different than that grabbed from in the last iteration)&lt;br /&gt;
# Perspective transform the 3D polygon vertex coords with GTE; (resulting X, Y will be used as 2D on-screen coordinates for the primitive's vertices)&lt;br /&gt;
# Grab vertex colors (from each vertex of the polygon) for gouraud shading&lt;br /&gt;
# Determine the type (textured, semi-textured, non-textured) and specifics of primitive to create based on polygon's associated texture information&lt;br /&gt;
# Create the gouraud-shaded primitive with the transformed coordinates, vertex colors, and texture information &lt;br /&gt;
# Grab the resulting Z coordinates from the perspective transformation and calculate their average&lt;br /&gt;
# Place a pointer to the primitive at its respective location in the ordering table (OT); if it replaces an already existing primitive [pointer] at that location in the OT, link this primitive to the replaced primitive &lt;br /&gt;
This happens for each frame; primitives from previous frame are overwritten.&lt;br /&gt;
&lt;br /&gt;
=== Extracting Texture Information ===&lt;br /&gt;
&lt;br /&gt;
For a single polygon, texture information is distributed among the bits of 3 separate fields: &lt;br /&gt;
&lt;br /&gt;
1.  Texture chunk index/palette &lt;br /&gt;
&lt;br /&gt;
This field is resolved by processing/lookup of the texture page EID specified for the polygon. A polygon specifies a texture page EID by its index within the [array of 8] Texture Page EIDs in the world's header item (Item 1). (E bits) &amp;lt;pre&amp;gt;00000000 0000RRRR RRRRRRPP Y??1XX??&amp;lt;/pre&amp;gt;2.  Texture information&lt;br /&gt;
&lt;br /&gt;
A polygon specifies ''texture information'' by its index within the Texture Info Array of the world's header item (Item 1). (T bits) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;KSS0HHHH 00000000 00000000 00000000 DDDDDDDD DDMMLLXX XXXZZZZZ ZZ0YYYYY&amp;lt;/pre&amp;gt;3.  Texture region&lt;br /&gt;
&lt;br /&gt;
A polygon's texture information specifies its ''texture''&amp;lt;nowiki/&amp;gt;'s ''region'' by its index within the [game's] global constant ''regions array''. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;XXXXXXXX YYYYYYYY XXXXXXXX YYYYYYYY XXXXXXXX YYYYYYYY XXXXXXXX YYYYYYYY&lt;br /&gt;
     vertex A          vertex B          vertex C          vertex D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From these various sources, texture information is extracted, manipulated, and rearranged before it is finally recorded in the texture-related fields of the polygon's POLY_GT3 primitive. These fields include the &amp;lt;code&amp;gt;tpage&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;u0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;v0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;u0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;v1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;u2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;v2&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;clut&amp;lt;/code&amp;gt; fields. &lt;br /&gt;
 &lt;br /&gt;
==== PSX GPU Framebuffer ====&lt;br /&gt;
The Playstation GPU has 1MB of VRAM. Interpreted as an array of 16 bit pixels, the entire 1MB region of VRAM is a surface of 1024x512 resolution. In the Crash games, the upper left 512x256 quadrant contains the on-screen display of the first frame in every 2-frame &amp;quot;cycle&amp;quot;, while the upper-left 512x256 quadrant contains the on-screen display of the second frame in every 2-frame &amp;quot;cycle&amp;quot;. The lower 1024x256 half is consisted of several ''texture pages''; together, all texture pages are consisted of all texture data loaded into VRAM. A single textured polygon  primitive specifies a 2-dimensional image of pixels, or texture, that is mapped to its surface when rendered. A polygon primitive specifies its texture as the 2-dimensional area, within a specific texture page, that contains the texture image/pattern. &lt;br /&gt;
&lt;br /&gt;
For texture pages, VRAM is also alternatively interpreted as an array of either 2048x512 8 bit pixels or 4096x512 4 bit pixels. The pixel data in a texture page can include either 16 bit pixels, 8 bit pixels, or 4 bit pixels; some portions of a texture page may specify 4 bit pixels while the others may specify 8 or 16 bit pixels. A polygon primitive specifies the ''color mode'' for its texture as either mode 0 = 4 bits, mode 1 = 8 bits, or mode 2 = 16 bits; this means that the region of pixels that it specifies is consisted of either 4 bit, 8 bit, or 16 bit pixels.&lt;br /&gt;
&lt;br /&gt;
In 16, 8, and 4 bit color modes, respectively, a texture page is a surface of 64x256, 128x256, and 256x256 pixels. The pixel data contained by a texture page does not differ with color mode-the same texture page interpreted as 4 bit pixels is interpreted as 8 or 16 bit pixels. In any color mode, only the regions of pixels of that color mode will be interpreted properly. For example, if the contents of a texture page are 'viewed' in 8 bit color mode, the 8 bit pixel regions will display properly while the 4 bit pixel regions will typically appear twice as wide as they should, with an incorrect palette, and interlaced with strangely colored lines. There are a total of 16 [horizontally contiguous] texture pages in the lower half of VRAM-that is, a single row with 16 columns of texture pages.&lt;br /&gt;
&lt;br /&gt;
16 bit pixels have the following format:&lt;br /&gt;
 SBBBBBGGGGGRRRRR&lt;br /&gt;
* R = red value&lt;br /&gt;
&lt;br /&gt;
* G = green value&lt;br /&gt;
&lt;br /&gt;
* B = blue value&lt;br /&gt;
&lt;br /&gt;
* S = semi-transparency flag&lt;br /&gt;
16 bit pixels are raw pixels. The R, G, and B fields in a 16 bit pixel refer directly to the respective red, green, and blue brightnesses of the color.&lt;br /&gt;
&lt;br /&gt;
8 bit and 4 bit pixels are instead specified as an index into a particular table of 256 or 16 colors, known as the ''CLUT'' or ''color lookup table''; an 8 or 4 bit pixel's actual color value is thus located at its specified index in the table. CLUTs are specified in the texture pages themselves-that is, if the texture pages are viewed in 16 bit color mode, several lines of either 256 pixels (stacked vertically) or 16 pixels (can stack horizontally and vertically) with a seemingly random distribution of color may appear [typically at the top] along with the rest of the texture images. The data for such a line of pixels is actually just [the 256 or 16 16-bit colors of] a CLUT ''in'' the texture page. A polygon primitive will then specify the CLUT to use for the pixels in its [texture's] [either 4 or 8 bit pixel] region of the texture page.&lt;br /&gt;
 &lt;br /&gt;
NSF files store the pixel data for texture pages in ''texture chunks'', with resolutions of 512x128 in 8 bit/1024x128 in 4 bit. The space occupied by a texture chunk takes up either the entire top or bottom half of 4 horizontally consecutive texture pages in VRAM. (512x128 / 128x256 = 4 x 1/2) 4x2 texture chunks will thus fill the texture pages in their entirety. (16x1 / 4x1/2 = 4x2). The game will page up to 8 texture chunks from an NSF file and copy their data in sequence to fill the entire bottom half/all texture pages in VRAM.&lt;br /&gt;
&lt;br /&gt;
It must also be noted that what the game refers to as ''texture pages'' are actually the 4x2 ''texture chunks'' in the bottom half of VRAM, and not what the GPU views as the 16 horizontally contiguous 64/128/256x256 texture pages that hold their content. In the format section, ''texture page EID'' refers to the ID for a texture page information 'entry', texture page in this context referring to one of the 4x2 texture chunks in the bottom of VRAM. From here on, ''texture page'' will refer to one of the 16 horizontally contiguous 64/128/256x256 GPU texture pages.&lt;br /&gt;
&lt;br /&gt;
==== Texture Page ====&lt;br /&gt;
The &amp;lt;code&amp;gt;tpage&amp;lt;/code&amp;gt; field of a &amp;lt;code&amp;gt;POLY_GT3&amp;lt;/code&amp;gt; primitive specifies the ''texture page'' which contains (among other textures) the source texture for the polygon. It also specifies the color mode, and semi-transparency mode, of pixels in that texture. &lt;br /&gt;
===== Source =====&lt;br /&gt;
====== Texture Information Field ======&lt;br /&gt;
 KSS0HHHH 00000000 00000000 00000000 DDDDDDDD DDMMLLXX XXXZZZZZ ZZ0YYYYY&lt;br /&gt;
* L = 128/256 pixel region X index &lt;br /&gt;
&lt;br /&gt;
The top/bottom halves of 4 [horizontally contiguous] texture pages in VRAM occupy the polygon's source texture chunk. A polygon's texture information field specifies which 1 of these 4 texture pages contains its source texture-that is, which 128x128 pixel (8 bit)/256x128 pixel (4 bit) region of the source texture chunk contains the source texture. &lt;br /&gt;
* M = Color Mode (0 = 4 bit, 1 = 8 bit, 2 = 16 bi) &lt;br /&gt;
* S = Semi-Transparency Mode &lt;br /&gt;
&lt;br /&gt;
A polygon's texture information field also specifies the color mode and semi-transparency mode of pixels in the source texture. &lt;br /&gt;
&lt;br /&gt;
====== Texture Chunk Index/Palette ======&lt;br /&gt;
 00000000 0000RRRR RRRRRRPP Y??1XX??&lt;br /&gt;
* X = Texture Chunk X Index &lt;br /&gt;
&lt;br /&gt;
A polygon's texture chunk index/palette field specifies the X index of its source texture chunk in VRAM. &lt;br /&gt;
&lt;br /&gt;
Note: The preceding 1 before XX is also copied to its corresponding bit in the texpage field. (Not confirmed that this is always 1 but it should be.) &lt;br /&gt;
&lt;br /&gt;
===== Destination =====&lt;br /&gt;
The &amp;lt;code&amp;gt;tpage&amp;lt;/code&amp;gt; field of a &amp;lt;code&amp;gt;POLY_GT3&amp;lt;/code&amp;gt; primitive has the following format:&lt;br /&gt;
 0000000M MSSYXXXX&lt;br /&gt;
* X = Texture Page Index (**X Base)&lt;br /&gt;
* Y = Indicates the half of VRAM in which texture pages reside (0 = upper, 1 = lower) (**Y Base)&lt;br /&gt;
* S = Semi-Transparency Mode&lt;br /&gt;
* M = Color Mode&lt;br /&gt;
Texture Pages reside in the lower half of VRAM in the Crash games, so Y=1. Each texture chunk horizontally spans 4 texture pages of VRAM. Given the X index of a chunk, and the index among its 4 containing texture pages, the total texture page index is computed by:&lt;br /&gt;
 (chunkx*4)+index    or    (chunkx &amp;lt;&amp;lt; 2) | index&lt;br /&gt;
Thus, the complete extraction of bitfields:&lt;br /&gt;
 KSS0HHHH 00000000 00000000 00000000 DDDDDDDD DDMMLLXX XXXZZZZZ ZZ0YYYYY&lt;br /&gt;
 00000000 0000RRRR RRRRRRPP Y??1XX??&lt;br /&gt;
               |&lt;br /&gt;
               V&lt;br /&gt;
        0000000M MSS1XXLL&lt;br /&gt;
 tpage: 0000000M MSSYXXXX&lt;br /&gt;
 &lt;br /&gt;
 tpage.X = (X &amp;lt;&amp;lt; 2) | L&lt;br /&gt;
 tpage.Y = 1&lt;br /&gt;
 tpage.S = S&lt;br /&gt;
 tpage.M = M&lt;br /&gt;
&lt;br /&gt;
==== Texture coordinates ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;u0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;v0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;u1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;v1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;u2&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;v2&amp;lt;/code&amp;gt; fields of a &amp;lt;code&amp;gt;POLY_GT3&amp;lt;/code&amp;gt; primitive specify the ''texture coordinates'' of the polygon's source texture (relative to the texture page that  contains it [the source texture]). &lt;br /&gt;
&lt;br /&gt;
Note that a texture page will contain 1/4 of a texture chunk in its/the upper half [of the lower half of VRAM], and 1/4 of the texture chunk below the chunk in the upper half-in its/the lower half [of the lower half of VRAM]. Thus, some additional information from the Texture Chunk Index/Palette field-particularly, the Y index of the desired source chunk and thus whether the source texture lies within the upper half (with 1/4th of the upper chunk) or the lower half (with 1/4th of the lower chunk) of the texture page-is needed for factoring into texture [Y] coordinates. &lt;br /&gt;
===== Source =====&lt;br /&gt;
====== Texture Information ======&lt;br /&gt;
 KSS0HHHH 00000000 00000000 00000000 DDDDDDDD DDMMLLXX XXXZZZZZ ZZ0YYYYY&lt;br /&gt;
* X = Texture X Offset (8 bit mode: mult of 4; 4 bit mode: mult of 8)&lt;br /&gt;
* Y = Texture Y Offset (mult of 4)&lt;br /&gt;
&lt;br /&gt;
A polygon's texture information field specifies the X,Y coordinate of the upper left point of a particular rectangular region of VRAM relative to [i.e. within] the source texture page, in terms of 8x4 pixel units for 4 bit mode source textures and 4x4 pixel units for 8 bit mode source textures. A triangular half of this rectangular region determines the actual source texture mapped to the polygon.&lt;br /&gt;
&lt;br /&gt;
====== Texture Chunk Index/Palette ======&lt;br /&gt;
 00000000 0000RRRR RRRRRRPP Y??1XX??&lt;br /&gt;
* Y = Texture Chunk Y Index  &lt;br /&gt;
&lt;br /&gt;
A polygon's texture chunk index/palette field specifies the Y index of its source texture chunk in VRAM. There are only 2 rows of texture chunks, so this value is either 0 = top row, or 1 = bottom row. Equivalently this indicates whether the top or bottom halves of the 4 [horizontally contiguous] texture pages in VRAM occupy the polygon's source texture chunk.  &lt;br /&gt;
&lt;br /&gt;
====== Texture region ======&lt;br /&gt;
 XXXXXXXX YYYYYYYY XXXXXXXX YYYYYYYY XXXXXXXX YYYYYYYY XXXXXXXX YYYYYYY&lt;br /&gt;
      point A           point B           point C           point D&lt;br /&gt;
&lt;br /&gt;
A polygon's texture region determines the triangular region relative to Texture X and Y Offsets [within the containing texture page] of the actual source texture mapped to the polygon. As mentioned previously, a polygon's ''texture information'' specifies its texture's ''region'' by its index within the [game's] global constant ''regions array''. The regions array contains 600 x 4 point 2D quads; each point is 2 bytes in length, with the first and second bytes corresponding to its X and Y coordinates, respectively. Quads in the regions array are indexed by several different attributes:&lt;br /&gt;
* &amp;lt;code&amp;gt;'''width''' = (index % 5)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;'''height''' = ((index / 5) % 5)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;'''winding''' = (index / 25) % 6&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;'''flip''' = (index / 150)&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |Value&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Field&lt;br /&gt;
|-&lt;br /&gt;
!Flip&lt;br /&gt;
!Winding&lt;br /&gt;
!Width&lt;br /&gt;
!Height&lt;br /&gt;
|-&lt;br /&gt;
!0&lt;br /&gt;
|&lt;br /&gt;
  C&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;   |\&lt;br /&gt;
   | \&lt;br /&gt;
 A |--\ B&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ABC&lt;br /&gt;
|4&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
!1&lt;br /&gt;
|&lt;br /&gt;
        C &lt;br /&gt;
     /|   &lt;br /&gt;
    / |   &lt;br /&gt;
 A /--| B &lt;br /&gt;
|ACB&lt;br /&gt;
|8&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
!2&lt;br /&gt;
|&lt;br /&gt;
 C      B&lt;br /&gt;
   \--|  &lt;br /&gt;
    \ |  &lt;br /&gt;
     \| A&lt;br /&gt;
|BCA&lt;br /&gt;
|16&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
!3&lt;br /&gt;
|&lt;br /&gt;
  B     C&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;   |--/&lt;br /&gt;
   | /&lt;br /&gt;
 A |/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|BAC&lt;br /&gt;
|32&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
!4&lt;br /&gt;
|n/a&lt;br /&gt;
|CAB&lt;br /&gt;
|64&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
!5&lt;br /&gt;
|n/a&lt;br /&gt;
|CBA&lt;br /&gt;
|n/a&lt;br /&gt;
|n/a&lt;br /&gt;
|}&lt;br /&gt;
 actual width = 2 ^ (2 + (index % 5));&lt;br /&gt;
 actual height = 2 ^ (2 + ((index / 5) % 5));&lt;br /&gt;
(Note that width and height do not depend on color mode)&lt;br /&gt;
&lt;br /&gt;
Only the first 3 points of a quad determine the 3 points of the triangular region relative to Texture X  and Y Offsets [within the containing texture page] of the the source texture. (The last point is used for quad primitives, created elsewhere for object sprites, fragments, and etc.) Each of the 3 points defines the relative U,V coordinates of its respective vertex in the polygon primitive.&lt;br /&gt;
&lt;br /&gt;
Quads have been pre-computed such that they have the attributes described by their indices. For example, the quad at index 48 has the following attributes:&lt;br /&gt;
 actual width = 2 ^ (2 + (48 % 5)) = 32&lt;br /&gt;
 actual height = 2 ^ (2 + ((48 / 5) % 5)) = 32&lt;br /&gt;
 winding = (48 / 25) % 6 = 1&lt;br /&gt;
 flip = (48 / 150) = 0&lt;br /&gt;
Thus, its first 3 points are the respective A, C, and B vertices (winding 1 = ACB) of a 2D right triangle with width 32, height 32, and orientation as shown for flip = 0. The first 3 points of the quad at that index are then (0, 0), (0, 32), (32, 0). For a polygon that specifies an index of 48 in its texture information for its texture region, these 3 points would define the relative U,V texture coordinates for the respective vertices in its primitive.&lt;br /&gt;
&lt;br /&gt;
===== Destination =====&lt;br /&gt;
&lt;br /&gt;
For each vertex '''v''' in {0,1,2}, the &amp;lt;code&amp;gt;u'''v'''&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;v'''v'''&amp;lt;/code&amp;gt; fields of a &amp;lt;code&amp;gt;POLY_GT3&amp;lt;/code&amp;gt; primitive are both a byte in length and should simply specify the U,V (i.e. X,Y) texture coordinates (in pixels) for that vertex, relative to the source texture page.&lt;br /&gt;
&lt;br /&gt;
In calculating the texture coordinates, the Texture X and Y offsets (and Color Mode*) are first extracted from Texture Information:&lt;br /&gt;
 KSS0HHHH 00000000 00000000 00000000 DDDDDDDD DDMMLLXX XXXZZZZZ ZZ0YYYYY&lt;br /&gt;
And then the Texture Chunk Y Index from Texture Chunk Index/Palette :&lt;br /&gt;
 00000000 0000RRRR RRRRRRPP y001xx00&lt;br /&gt;
And finally the points from the Texture Region:&lt;br /&gt;
 XXXXXXXX YYYYYYYY XXXXXXXX YYYYYYYY XXXXXXXX YYYYYYYY XXXXXXXX YYYYYYYY&lt;br /&gt;
      point A           point B           point C           point D   &lt;br /&gt;
(Point D is unused by world polygons, since they are only 3 point triangles)&lt;br /&gt;
&lt;br /&gt;
Since each point of the triangular texture region is relative to either the top or bottom [quarter of the] chunk within the source texture page, and additionally the Texture X and Y Offsets within [that quarter of the chunk within] the source texture page, the total texture coordinates are then calculated separately for each point. Since a texture chunk is 128 pixels in height, and since the Texture X and Y Offsets are given in terms of 8x4 pixels for Color Mode = 0 (4 bit mode) and 4x4 pixels for Color Mode = 1 (8 bit mode), then the following computes the location within the source texture page that the texture region points are given relative to:&lt;br /&gt;
 tx = ((X * 8) &amp;gt;&amp;gt; M)&lt;br /&gt;
 ty = ((128 * y) + (Y * 4))&lt;br /&gt;
Each texture region point is added to (tx, ty) to get its location within the source texture page, and equivalently the U, V texture coordinates for its corresponding vertex in the polygon primitive. Since the max size of a texture page is 256x256, i.e. for when interpreted in 4 bit mode, the range of UV coordinates is restricted to (0,0)-(255,255). Further, the texture images/patterns in a texture page are aligned only to multiples of their widths and heights. A logical or, rather than an addition, of the region point(s) and (tx, ty) will thus result in the same value, but only if tx and ty respectively are multiples of the width and height of the texture region. &lt;br /&gt;
&lt;br /&gt;
   XXXXXXXX       (rxv)&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; XXXXX000 &amp;gt;&amp;gt; MM (txv)&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;----------&lt;br /&gt;
  &amp;lt;/nowiki&amp;gt; xxxxxxxx (uv)&lt;br /&gt;
&lt;br /&gt;
   YYYYYYYY (ryv)&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; yYYYYY00 (tyv)&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;----------&lt;br /&gt;
  &amp;lt;/nowiki&amp;gt; yyyyyyyy (vv)&lt;br /&gt;
&lt;br /&gt;
==== CLUT coordinates ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;clut&amp;lt;/code&amp;gt; field of a &amp;lt;code&amp;gt;POLY_GT3&amp;lt;/code&amp;gt; primitive specifies the coordinates of the CLUT [for the source texture pixels], within the source texture page. As previously explained, the primitive's CLUT specifies the 256 (8-bit mode) or 16 (4-bit mode) color palette used by pixels of its source texture, in 8 bit mode or 4 bit mode. CLUTs are arranged in narrow and long form horizontally in texture pages, 256 x 1 (8-bit mode) or 16 x 1 (4-bit mode). &lt;br /&gt;
&lt;br /&gt;
The CLUTs are typically included at the top of texture chunks, such that several 512 pixel (8-bit mode)/1024 pixel (4-bit mode) horizontal lines may stack at the top ''n'' lines (where ''n'' is typically &amp;lt; 16) of 4 horizontally consecutive texture pages, and several 512 pixel (8-bit mode)/1024 pixel (4-bit mode) horizontal lines may stack at the top ''n'' lines in the bottom half of the same 4 texture pages. Also, some of these lines might actually instead be groups of 16 [or less] 32 pixel (8-bit mode)/64 pixel (4-bit mode) horizontally consecutive lines. Each of these lines is a CLUT, and viewed in 16-bit mode, is a horizontal line of either 256 pixels (in a line) or a horizontal line of 16 pixels (in a group of 16). Each consecutive pixel in a CLUT line has the color at its corresponding index in that CLUT ['s palette]. In 16-bit mode, texture chunks are 256x128 pixels. &lt;br /&gt;
&lt;br /&gt;
The primitive's &amp;lt;code&amp;gt;clut&amp;lt;/code&amp;gt; field specifies, and thus the GPU processes, the CLUT coordinates as an absolute location in terms of 16 x 1 pixel lines-that is, a CLUT location of (x, y) is actually the ''absolute'' location (16x, y) in VRAM. As an absolute location, unlike texture coordinates, it is ''not'' specified in relation to the source texture page. &lt;br /&gt;
&lt;br /&gt;
===== Source =====&lt;br /&gt;
====== Texture Information ======&lt;br /&gt;
 KSS0HHHH 00000000 00000000 00000000 DDDDDDDD DDMMLLXX XXXZZZZZ ZZ0YYYYY&lt;br /&gt;
* Z = primary CLUT ID (VRAM Y location)&lt;br /&gt;
&lt;br /&gt;
A polygon's Texture Information field specifies the primary ID of the CLUT to use for its 8-bit or 4-bit mode texture. Since 256 color CLUTs are stacked from the top of the source texture chunk, each CLUT is at its own line in VRAM and thus has a unique Y. Therefore, each of the ''chunk's'' CLUTs is identified by its Y location in VRAM.&lt;br /&gt;
* H = secondary CLUT ID (for 16 color/4-bit mode)&lt;br /&gt;
&lt;br /&gt;
A polygon's Texture Information Field also specifies the secondary ID of the CLUT to use for its 4-bit mode texture. Since any 256  color CLUT can also be a group of 16 horizontally consecutive 16 color CLUTs, the primary CLUT ID specifies the group, and the secondary CLUT ID specifies the index of the 16 color CLUT among the 16 within that group. &lt;br /&gt;
Thus, a CLUT with given primary ID and/or secondary ID has the following location, relative to the source texture chunk, in  VRAM:&lt;br /&gt;
 X = H*16&lt;br /&gt;
 Y = Z&lt;br /&gt;
&lt;br /&gt;
====== Texture Chunk Index/Palette ======&lt;br /&gt;
 00000000 0000RRRR RRRRRRPP Y??1XX??&lt;br /&gt;
* P = Texture Chunk CLUTs X location (mult by 256) &lt;br /&gt;
* R = Texture Chunk CLUTs Y location &lt;br /&gt;
A polygon's Texture Chunk Index/Palette field specifies the X (multiplied by 256) and Y location of the source texture chunk's  CLUTs in VRAM. Since the CLUTs are located at the top of a Texture Chunk, they are positioned relative to its [upper-left] location. Thus, the X location, ultimately multiplied by 256, should actually just be the X index of the texture chunk in VRAM. The Y location should then be either 512 if the source chunk is in the upper half of the lower half of VRAM, or 768 if it is in the lower half of  the lower half of VRAM (although the field is open to specify any Y, values other than these would not make sense.) &lt;br /&gt;
&lt;br /&gt;
===== Destination =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;clut&amp;lt;/code&amp;gt; field of a &amp;lt;code&amp;gt;POLY_GT3&amp;lt;/code&amp;gt; primitive has the following format:&lt;br /&gt;
 0YYYYYYY YYXXXXXX&lt;br /&gt;
* X = CLUT X location / 16 (in VRAM) [XXXXXX is multiplied by 16 to get total X location]&lt;br /&gt;
* Y = CLUT Y location (in VRAM)&lt;br /&gt;
In calculating &amp;lt;code&amp;gt;clut&amp;lt;/code&amp;gt; for the primitive, the primary and secondary CLUT IDs are first extracted from Texture Information:&lt;br /&gt;
 KSS0HHHH 00000000 00000000 00000000 DDDDDDDD DDMMLLGG GGGZZZZZ ZZ0XXXXX&lt;br /&gt;
And finally the Texture Chunk CLUT X and Y locations from Texture Chunk Index/Palette (P, R):&lt;br /&gt;
 00000000 0000RRRR RRRRRRPP Y??1XX00&lt;br /&gt;
Recall that a CLUT with given primary ID and/or secondary ID has the following location, relative to the source texture chunk, in VRAM:&lt;br /&gt;
 X = H*16&lt;br /&gt;
 Y = Z&lt;br /&gt;
This location is specified relative to the source texture Chunk's [CLUT] location; the Chunk [CLUTs] X Location specified by the Texture Chunk Index field (P) must first be multiplied by 256 for its actual value. The total CLUT location is then: &lt;br /&gt;
 X = (P*256) + (H*16)&lt;br /&gt;
 Y = R + Z&lt;br /&gt;
However, CLUT X location is specified in the &amp;lt;code&amp;gt;clut&amp;lt;/code&amp;gt; field as its actual value divided by 16, so the total CLUT location (as specified by the &amp;lt;code&amp;gt;clut&amp;lt;/code&amp;gt; field) is: &lt;br /&gt;
 CLUT x = X/16 = (P*16) + H&lt;br /&gt;
 CLUT y = Y = R + Z&lt;br /&gt;
When the game computes CLUT Y, R is logically or'ed with Z rather than added; if both operations were to always yield the same results, this implies that only the upper 2 bits of R have the option to be set. R's MSB adds nothing when clear and 512 when set, so it specifies either the top or bottom half of VRAM. Since the Texture Pages and therefore the CLUTs are located in the bottom half of VRAM, then R's MSB should always be set. Bit 9 of R adds nothing when clear and 256 when set, so it specifies whether the CLUT is located [relative to the top of its chunk] in either the top or bottom half of the bottom half (texture page portion) of VRAM. Note that, under these implications, Bit 14 in the final result for &amp;lt;code&amp;gt;clut &amp;lt;/code&amp;gt;is always clear, which then further implies that CLUTs can only be located in the upper halves of texture chunks.  &lt;br /&gt;
&lt;br /&gt;
Thus, the complete extraction of bitfields: &lt;br /&gt;
 KSS0HHHH 00000000 00000000 00000000 DDDDDDDD DDMMLLGG GGGZZZZZ ZZ0XXXXX &lt;br /&gt;
 00000000 0000RRRR RRRRRRPP Y??1XX00&lt;br /&gt;
           |&lt;br /&gt;
           V&lt;br /&gt;
    000ZZZZZ ZZPPHHHH    &lt;br /&gt;
  | RRRRRRRR RR000000  or if R = 1Y00000000: 1Y0ZZZZZ ZZPPHHHH&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;-------------------&amp;lt;/nowiki&amp;gt;                        -----------------&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;  YYYYYYYY YYXXXXXX                        YYYYYYYY YYXXXXXX&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Textureinformation_Crash_2/3&amp;diff=213</id>
		<title>Textureinformation Crash 2/3</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Textureinformation_Crash_2/3&amp;diff=213"/>
		<updated>2019-04-27T17:44:39Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 12 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
In Crash 2/3, ''texture information'' contains information about a 3D model's UV coordinates, (animated) textures and colorpalettes. The ''texture information'' can also be used by ''&amp;lt;nowiki/&amp;gt;'extended information''' . Extended information can loop through multiple 12-byte structures to make animated textures, or provide settings for textures with different LOD's (Levels of Detail).&lt;br /&gt;
&lt;br /&gt;
== Texture information ==&lt;br /&gt;
Texture information information is stored in 12-byte structures in the 4th item of scenery and model entries. The format for the 12-byte structure consists of 3 consequent 32-bit integers and is as follows:&lt;br /&gt;
&lt;br /&gt;
'''YYYYYYYY YYYYXXXX BBBBBBBB AAAAAAAA'''&lt;br /&gt;
&lt;br /&gt;
'''TTTTTTTT FMM0SSSS DDDDDDDD CCCCCCCC'''&lt;br /&gt;
&lt;br /&gt;
'''HHHHHHHH GGGGGGGG FFFFFFFF EEEEEEEE'''  &lt;br /&gt;
&lt;br /&gt;
The contents represent the following:  &lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;AAAAAAAA&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Model entry: for triangle type “AA” and “BB”, UV point 3 x, for triangle type “CC”, UV point 1 x&lt;br /&gt;
&lt;br /&gt;
Scenery entry: UV point 1 x&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;BBBBBBBB&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Model entry: for triangle type “AA” and “BB”, UV point 3 y, for triangle type “CC”, UV point 1 y&lt;br /&gt;
&lt;br /&gt;
Scenery entry: UV point 1 y&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;XXXX&amp;lt;/u&amp;gt; &lt;br /&gt;
&lt;br /&gt;
CLUT-line origin x coordinate (CLUT: Color LookUp Table, contain the colors for a specific texture)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;YYYYYYYYYYYY&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
CLUT-line origin y coordinate&lt;br /&gt;
&lt;br /&gt;
The origin [x,y] for the CLUT-line is placed in a 16-bit interpretation of the texturechunk.&lt;br /&gt;
&lt;br /&gt;
4-bit textures can have 2^4 = 16 different colors. Therefore the corresponding CLUT-line should always be 16 pixels long (in 16-bit!).&lt;br /&gt;
&lt;br /&gt;
8-bit textures can have 2^8 = 256 different colors. Therefore the corresponding CLUT-line should always be 256 pixels long (in 16-bit!).&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;CCCCCCCC&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 Scenery/model entry: UV point 2 x&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;DDDDDDDD&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 Scenery/model entry: UV point 2 y&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt; '''&lt;br /&gt;
&lt;br /&gt;
Flag determined to define a 8 or 4-bit texture. 0 = 4-bit, 1 = 8-bit.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;MM&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
The colormode instructs how the texture should interpret the CLUT-colors (formatted as 'SBBBBBGGGGGRRRRR').&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Colormode&lt;br /&gt;
!RGBA if 'S' = 1&lt;br /&gt;
!RGBA if 'S' = 0&lt;br /&gt;
|-&lt;br /&gt;
|0 (translucent face)&lt;br /&gt;
|A = 50%&lt;br /&gt;
|if [R,G,B] = [0,0,0]  A = 0% else A = 100%&lt;br /&gt;
|-&lt;br /&gt;
|1 (additive face)&lt;br /&gt;
|A = 50%&lt;br /&gt;
|if [R,G,B] = [0,0,0]  A = 0% else A = 100%&lt;br /&gt;
|-&lt;br /&gt;
|2 (subtractive face)&lt;br /&gt;
|A = 0%&lt;br /&gt;
|if [R,G,B] = [0,0,0]  A = 0% else A = 100%&lt;br /&gt;
|-&lt;br /&gt;
|3 (standard/opaque face)&lt;br /&gt;
|A = 0%&lt;br /&gt;
|if [R,G,B] = [0,0,0]  A = 0% else A = 100%&lt;br /&gt;
|}&lt;br /&gt;
'''&amp;lt;u&amp;gt;0&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Unused?&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;SSSS&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Texturechunk segment index (0, 1, 2 or 3)&lt;br /&gt;
&lt;br /&gt;
Each texturechunk in the original Crash games consists out of 4&lt;br /&gt;
segments.&lt;br /&gt;
&lt;br /&gt;
The 16-bit size of a texturechunk is 256 x 128&lt;br /&gt;
&lt;br /&gt;
The 8-bit size of a texturechunk is 512 x 128&lt;br /&gt;
&lt;br /&gt;
The 4-bit size of a texturechunk is 1024 x 128&lt;br /&gt;
&lt;br /&gt;
Therefore, the segments in 16-, 8- and 4-bit mode are respectively:&lt;br /&gt;
&lt;br /&gt;
- 64 x 128,&lt;br /&gt;
&lt;br /&gt;
- 128 x 128&lt;br /&gt;
&lt;br /&gt;
- 256 x 128&lt;br /&gt;
&lt;br /&gt;
The segment index refers to the origin of the segment. The UV points work relative from this origin. Note that the values of the UV points are not effected by 8- or 4-bit mode. The x,y values range from&lt;br /&gt;
0 to 255 and are fixed.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;TTTTTTTT&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 Model entry: refers to an offset from 0x0C in the header, for which textureslot to use (0-7 (i.e. 0x0 – 0x40 ) )&lt;br /&gt;
&lt;br /&gt;
 Scenery entry: refers to an offset from 0x2C in the header, for which textureslot to use (0-7 (i.e. 0x0 – 0x40 ) )&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;EEEEEEEE&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Model entry: for triangle type “AA” and “BB”, UV point 1 x, for triangle type “CC”, UV point 3 x&lt;br /&gt;
&lt;br /&gt;
Scenery/model entry: UV point 3 x&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;FFFFFFFF&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Model entry: for triangle type “AA” and “BB”, UV point 1 y, for triangle type “CC”, UV point  3 y&lt;br /&gt;
&lt;br /&gt;
Scenery/model entry: UV point 3 y&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;GGGGGGGG&amp;lt;/u&amp;gt; '''&lt;br /&gt;
&lt;br /&gt;
Scenery entry: UV point  4 y (applies to quads only)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;HHHHHHHH&amp;lt;/u&amp;gt; '''&lt;br /&gt;
&lt;br /&gt;
Scenery entry: UV point  4 x (applies to quads only)&lt;br /&gt;
&lt;br /&gt;
== Extended information ==&lt;br /&gt;
Extended information is in the 7th item in scenery entries and/or the 5th item in model entries. It is stored as 32-bit integers and can have 2 different formats according to flag 'F':&lt;br /&gt;
&lt;br /&gt;
'''F???????? ???????? ?????OOO OOOOOOOO'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''OOOOOOOOOOO'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starting offset (in 12-byte structures) in the item for ''texture information''. The first structure is indexed by 1, not 0.           0 is reserved for non-textured!&lt;br /&gt;
&lt;br /&gt;
=== Texture information with LOD ===&lt;br /&gt;
If flag 'F' is set, the extended information will serve as ''texture information'' with 8 customizable LOD-settings according to camera distance, ranging from close (AA) to further away (II).&lt;br /&gt;
&lt;br /&gt;
'''1AABBCCDDE EFFGGHHI I0000OOO OOOOOOOO'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;AA, BB, CC, DD, EE, FF, GG, HH, II&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
LOD-settings. Since each texture has a maximum of 4 LOD's (respectively from hi- to lo-res), each one of these 8 settings can be set from 00 (hi-res) to II (lo-res) in binary.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;0000&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Unused?&lt;br /&gt;
&lt;br /&gt;
=== Animated texture information ===&lt;br /&gt;
If flag 'F' is not set, the extended information will serve as ''animated'' ''texture information. ''The LOD-distances are standardized. This extended information will define a ''128-frame loop''  ranging from 0 to 127, starting at the ''starting offset''.&lt;br /&gt;
&lt;br /&gt;
'''00000000 0000MMMM MMMMLOOO OOOOOOOO'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;MMMMMMMM&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Loopmask. Each frame in the 128-sized loop will be masked by this value. For example, a value of 0x3 would result in a subloop of 4 frames that is repeated 32 times within the 128 frame-sized loop:&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Frame index (bin)&lt;br /&gt;
!Loopmask (bin)&lt;br /&gt;
!Step/played texture information (bin)&lt;br /&gt;
|-&lt;br /&gt;
|0000000&lt;br /&gt;
|0000011&lt;br /&gt;
|Starting offset + 00&lt;br /&gt;
|-&lt;br /&gt;
|0000001&lt;br /&gt;
|0000011&lt;br /&gt;
|Starting offset + 01&lt;br /&gt;
|-&lt;br /&gt;
|0000010&lt;br /&gt;
|0000011&lt;br /&gt;
|Starting offset + 10&lt;br /&gt;
|-&lt;br /&gt;
|0000011&lt;br /&gt;
|0000011&lt;br /&gt;
|Starting offset + 11&lt;br /&gt;
|-&lt;br /&gt;
|0000100&lt;br /&gt;
|0000011&lt;br /&gt;
|Starting offset + 00&lt;br /&gt;
|-&lt;br /&gt;
|0000101&lt;br /&gt;
|0000011&lt;br /&gt;
|Starting offset + 01&lt;br /&gt;
|-&lt;br /&gt;
|0000110&lt;br /&gt;
|0000011&lt;br /&gt;
|Starting offset + 10&lt;br /&gt;
|-&lt;br /&gt;
|0000111&lt;br /&gt;
|0000011&lt;br /&gt;
|Starting offset + 11&lt;br /&gt;
|-&lt;br /&gt;
|.........&lt;br /&gt;
|.........&lt;br /&gt;
|.........&lt;br /&gt;
|-&lt;br /&gt;
|.........&lt;br /&gt;
|.........&lt;br /&gt;
|.........&lt;br /&gt;
|-&lt;br /&gt;
|1111110&lt;br /&gt;
|0000011&lt;br /&gt;
|Starting offset + 10&lt;br /&gt;
|-&lt;br /&gt;
|1111111&lt;br /&gt;
|0000011&lt;br /&gt;
|Starting offset + 11&lt;br /&gt;
|}&lt;br /&gt;
There is a great variety of loops to be made with this mechanism.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;L&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Leapflag: when set, this flag makes the offset refer to another 32-bit structure inside the 7th item in scenery and/or the 5th item in models. The eventual texture uses the offset of the structure that does not refer to another one, like a childnode relating to a leafnode.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;000000000000&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Unused?&lt;br /&gt;
[[Category:Crash 2/3]]&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Subsystem&amp;diff=195</id>
		<title>Subsystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Subsystem&amp;diff=195"/>
		<updated>2019-04-27T17:44:39Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 6 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A subsystem is a self-contained system within a larger system. In each of the Crash games, there exist a number of different subsystems. Each subsystem handles a different aspect of the game's function. Many of these subsystems are associated with the type of entry that they primarily operate upon. In fact, an entry's type is just the ID of the subsystem that operates upon its data; thus, both terms entry type and subsystem ID are inclusively interchangeable with subsystem type.&lt;br /&gt;
&lt;br /&gt;
== Subsystem Table ==&lt;br /&gt;
Each of the Crash games has a subsystem table. Each entry in the subsystem table contains a 4 character acronym or identifier string, and a number of callback functions specific to the subsystem with that identifier. &lt;br /&gt;
&lt;br /&gt;
=== Location ===&lt;br /&gt;
The subsystem table is located at the following addresses in each of the Crash games:&lt;br /&gt;
* Crash 1 - &amp;lt;code&amp;gt;0x514DC&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Structure ===&lt;br /&gt;
The subsystem table has the following structure in each of the Crash games, with the exception that Crash 2 (and 3?) omit the last callback, &amp;lt;code&amp;gt;(*deinit)()&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
struct subsystem&lt;br /&gt;
{&lt;br /&gt;
  char name[4];&lt;br /&gt;
  unsigned long pad;&lt;br /&gt;
  void (*init)();&lt;br /&gt;
  void (*postinit)();&lt;br /&gt;
  void (*onload)(entry*);&lt;br /&gt;
  void (*onfree)(entry*);&lt;br /&gt;
  void (*deinit)();&lt;br /&gt;
} subsystems[NS_COUNT_SUBSYSTEMS];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Subsystem name ====&lt;br /&gt;
Each subsystem specifies a 4 character acronym as its name. See below for a list of the subsystem names in each game.&lt;br /&gt;
&lt;br /&gt;
==== Callbacks ====&lt;br /&gt;
Each entry in the subsystem table may or may not specify the following callbacks:&lt;br /&gt;
* &amp;lt;code&amp;gt;init&amp;lt;/code&amp;gt; - Called during subsystem initialization to initialize this subsystem&lt;br /&gt;
* &amp;lt;code&amp;gt;postinit&amp;lt;/code&amp;gt; - Called during subsystem initialization after...&lt;br /&gt;
* &amp;lt;code&amp;gt;onload&amp;lt;/code&amp;gt; - Called after an entry of this subsystem type is paged into memory&lt;br /&gt;
* &amp;lt;code&amp;gt;onfree&amp;lt;/code&amp;gt; - Called after an entry of this subsystem type is loaded out of memory&lt;br /&gt;
* &amp;lt;code&amp;gt;deinit&amp;lt;/code&amp;gt; - Called during subsystem deinitialization (Crash 1 only)&lt;br /&gt;
The &amp;lt;code&amp;gt;init&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;postinit&amp;lt;/code&amp;gt; callbacks of each subsystem are called during Paging and Subsystem Initialization; each of these callbacks refers to a routine that initializes its associated subsystem.&lt;br /&gt;
...&lt;br /&gt;
All together, a subsystem's callbacks simulate 5 polymorphic functions that would otherwise override a subsystem base class's virtual functions of the same name.&lt;br /&gt;
&lt;br /&gt;
== Subsystem names ==&lt;br /&gt;
&lt;br /&gt;
=== Crash 1 ===&lt;br /&gt;
There are a total of 21 subsystems in Crash 1.  &lt;br /&gt;
&lt;br /&gt;
Note that entries of type 0 do not exist. For this reason, the first subsystem has the name NONE.  &lt;br /&gt;
&lt;br /&gt;
Bolded entries in the table indicate that (while the subsystem exists) there do not exist entries of that subsystem type in any NSF file.&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;NONE&amp;quot; cols=&amp;quot;3&amp;quot;&lt;br /&gt;
! align=&amp;quot;LEFT&amp;quot; height=&amp;quot;47&amp;quot; width=&amp;quot;69&amp;quot; |ID         &lt;br /&gt;
! align=&amp;quot;LEFT&amp;quot; width=&amp;quot;67&amp;quot; |Name&lt;br /&gt;
! align=&amp;quot;LEFT&amp;quot; width=&amp;quot;215&amp;quot; |Proposed Unabbreviated Name/Entry Content Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;0&amp;quot; |'''0'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''NONE'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''None'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;1&amp;quot; |1&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |SVTX&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Object Model Vertices/Animation&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;2&amp;quot; |2&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |TGEO&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Object Model Polygons&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;3&amp;quot; |3&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |WGEO&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |World Geometry&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;4&amp;quot; |4&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |SLST&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Display List&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;5&amp;quot; |5&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |TPAG&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Texture Page&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;6&amp;quot; |6&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |LDAT&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Level Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;7&amp;quot; |7&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |ZDAT&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Zone Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;8&amp;quot; |'''8'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''CPAT'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Color Palette'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;9&amp;quot; |'''9'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''BINF'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Binary File'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;10&amp;quot; |'''10'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''OPAT'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Object/Process Allocation Table'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;11&amp;quot; |11&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |GOOL&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |GOOL Executable&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;12&amp;quot; |12&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |ADIO&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Audio&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;13&amp;quot; |13&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |MIDI&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Music&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;14&amp;quot; |14&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |INST&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Instruments&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;15&amp;quot; |15&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |IMAG&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Image Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;16&amp;quot; |'''16'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''LINK'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Link to another entry?'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;17&amp;quot; |17&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |MDAT&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Map Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;18&amp;quot; |18&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |IPAL&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Palettes for fading transitions&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;19&amp;quot; |19&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |PBAK&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Demo playback&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;20&amp;quot; |20&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |CVTX&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Cutscene Model Vertices/Animation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Crash 2 ===&lt;br /&gt;
There are a total of 22 subsystems in Crash 2.  &lt;br /&gt;
&lt;br /&gt;
Note that entries of type 0 do not exist. For this reason, the first subsystem has the name NONE.  &lt;br /&gt;
&lt;br /&gt;
Bolded entries in the table indicate that (while the subsystem exists) there do not exist entries of that subsystem type in any NSF file.&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;NONE&amp;quot; cols=&amp;quot;3&amp;quot;&lt;br /&gt;
! align=&amp;quot;LEFT&amp;quot; height=&amp;quot;47&amp;quot; width=&amp;quot;69&amp;quot; |ID         &lt;br /&gt;
! align=&amp;quot;LEFT&amp;quot; width=&amp;quot;67&amp;quot; |Name&lt;br /&gt;
! align=&amp;quot;LEFT&amp;quot; width=&amp;quot;215&amp;quot; |Proposed Unabbreviated Name/Entry Content Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;0&amp;quot; |'''0'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''NONE'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''None'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;1&amp;quot; |1&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |SVTX&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Object Model Vertices/Animation&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;2&amp;quot; |2&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |TGEO&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Object Model Polygons and Textures&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;3&amp;quot; |3&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |WGEO&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |World Geometry&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;4&amp;quot; |4&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |SLST&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Display List&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;5&amp;quot; |5&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |TPAG&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Texture Page&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;6&amp;quot; |'''6'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''LDAT'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Level Data'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;7&amp;quot; |7&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |ZDAT&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Zone Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;8&amp;quot; |'''8'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''CPAT'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Color Palette'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;9&amp;quot; |'''9'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''BINF'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Binary File'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;10&amp;quot; |'''10'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''OPAT'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Object/Process Allocation Table'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;11&amp;quot; |11&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |GOOL&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |GOOL Executable&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;12&amp;quot; |12&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |ADIO&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Audio&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;13&amp;quot; |13&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |MIDI&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Music&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;14&amp;quot; |14&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |INST&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Instruments&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;15&amp;quot; |15&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |VCOL&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Special collision rules/map&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;16&amp;quot; |'''16'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''LINK'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Link to another entry?'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;17&amp;quot; |'''17'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''MDAT'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Map Data'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;18&amp;quot; |'''18'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''IPAL'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Palettes for fading transitions'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;19&amp;quot; |19&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |PBAK&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Demo playback&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;20&amp;quot; |20&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |SDIO&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Speech audio&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;20&amp;quot; |21&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |VIDO&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Sprite&lt;br /&gt;
|}&lt;br /&gt;
Note: LDAT entries for each level are mentioned in the NSD, meaning they were in the NSF at some point.&lt;br /&gt;
=== Crash 3 ===&lt;br /&gt;
There are a total of 22 subsystems in Crash 3.  &lt;br /&gt;
&lt;br /&gt;
Note that entries of type 0 do not exist. For this reason, the first subsystem has the name NONE.  &lt;br /&gt;
&lt;br /&gt;
Bolded entries in the table indicate that (while the subsystem exists) there do not exist entries of that subsystem type in any NSF file.&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;NONE&amp;quot; cols=&amp;quot;3&amp;quot;&lt;br /&gt;
! align=&amp;quot;LEFT&amp;quot; height=&amp;quot;47&amp;quot; width=&amp;quot;69&amp;quot; |ID         &lt;br /&gt;
! align=&amp;quot;LEFT&amp;quot; width=&amp;quot;67&amp;quot; |Name&lt;br /&gt;
! align=&amp;quot;LEFT&amp;quot; width=&amp;quot;215&amp;quot; |Proposed Unabbreviated Name/Entry Content Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;0&amp;quot; |'''0'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''NONE'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''None'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;1&amp;quot; |1&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |SVTX&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Object Model Vertices/Animation&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;2&amp;quot; |2&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |TGEO&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Object Model Polygons and Textures&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;3&amp;quot; |3&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |WGEO&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |World Geometry&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;4&amp;quot; |4&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |SLST&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Display List&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;5&amp;quot; |5&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |TPAG&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Texture Page&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;6&amp;quot; |'''6'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''LDAT'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Level Data'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;7&amp;quot; |7&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |ZDAT&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Zone Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;8&amp;quot; |'''8'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''CPAT'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Color Palette'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;9&amp;quot; |'''9'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''BINF'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Binary File'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;10&amp;quot; |'''10'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''OPAT'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Object/Process Allocation Table'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;11&amp;quot; |11&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |GOOL&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |GOOL Executable&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;12&amp;quot; |12&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |ADIO&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Audio&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;13&amp;quot; |13&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |MIDI&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Music&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;14&amp;quot; |14&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |INST&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Instruments&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;15&amp;quot; |15&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |VCOL&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Special collision rules/map&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;16&amp;quot; |'''16'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''LINK'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Link to another entry?'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;17&amp;quot; |17&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |RAWD&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Special data/raw data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;18&amp;quot; |'''18'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''IPAL'''&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |'''Palettes for fading transitions'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;19&amp;quot; |19&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |PBAK&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Demo playback&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;20&amp;quot; |20&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |SDIO&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Speech audio&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;RIGHT&amp;quot; height=&amp;quot;17&amp;quot; sdnum=&amp;quot;1033;&amp;quot; sdval=&amp;quot;20&amp;quot; |21&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |VIDO&lt;br /&gt;
| align=&amp;quot;LEFT&amp;quot; |Sprite&lt;br /&gt;
|}&lt;br /&gt;
Note: LDAT entries for each level are mentioned in the NSD, meaning they were in the NSF at some point.&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=TODO:Crash_Bandicoot_Hacking_Wikia&amp;diff=200</id>
		<title>TODO:Crash Bandicoot Hacking Wikia</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=TODO:Crash_Bandicoot_Hacking_Wikia&amp;diff=200"/>
		<updated>2019-04-27T17:44:39Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 4 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Remaining topics to discuss==&lt;br /&gt;
*[[Entry point|Entry Point]]&lt;br /&gt;
*[[Game Loop]]&lt;br /&gt;
*NS/Paging System&lt;br /&gt;
#EID encoding/decoding; determining type from EID string&lt;br /&gt;
#Filesystem Mapping?&lt;br /&gt;
#Entry Querying&lt;br /&gt;
#Page Operations&lt;br /&gt;
:   a.  Initialization/Deinitialization&lt;br /&gt;
&lt;br /&gt;
:: i.  [[Paging and Subsystem Initialization]]&lt;br /&gt;
&lt;br /&gt;
:: ii. Paging and Subsystem Deinitialization&lt;br /&gt;
&lt;br /&gt;
:   b.  Page Management&lt;br /&gt;
&lt;br /&gt;
:: i.    Page Allocation&lt;br /&gt;
&lt;br /&gt;
:     ii.   Page Deallocation (free)&lt;br /&gt;
&lt;br /&gt;
:     iii.  Page Creation&lt;br /&gt;
&lt;br /&gt;
:     iv.  Page Deletion (truncatePages)&lt;br /&gt;
&lt;br /&gt;
:   c.  Page Update&lt;br /&gt;
&lt;br /&gt;
:: i.   Update Page (single)&lt;br /&gt;
&lt;br /&gt;
::: - incl Page Chunk Decompression/Initialization&lt;br /&gt;
&lt;br /&gt;
::: - Chunk Decompress Routine&lt;br /&gt;
&lt;br /&gt;
:: ii.  Update Pages (global)&lt;br /&gt;
&lt;br /&gt;
:          - incl Update New Pages (called from level update when load new zone)&lt;br /&gt;
&lt;br /&gt;
:     iii. Update Page [chunk] Entries&lt;br /&gt;
&lt;br /&gt;
:   d.  Page Search and Request/Open  &lt;br /&gt;
&lt;br /&gt;
:     i.  Search&lt;br /&gt;
&lt;br /&gt;
:        A.  Find Hash Pair&lt;br /&gt;
&lt;br /&gt;
:        B.  Find Page (that contains entry w/EID)&lt;br /&gt;
&lt;br /&gt;
:     ii.  Request/Open&lt;br /&gt;
&lt;br /&gt;
:        A.  Page Chunk&lt;br /&gt;
&lt;br /&gt;
::        - Pages a single new page with req. CID, EID&lt;br /&gt;
&lt;br /&gt;
:        B.  Page Entry &lt;br /&gt;
&lt;br /&gt;
::        - Variant intended to page a single new page with req. entry w/EID; since paging the new page requires Updating Page Entries, which replaces the data fields of hash pairs for its entries with pointers to them, this returns a pointer to the resolved entry in its hash pair&lt;br /&gt;
&lt;br /&gt;
:        C.  Open Entry&lt;br /&gt;
&lt;br /&gt;
::        - Variant intended to increment read requests for an already paged page with req. entry w/EID;will page chunk if it does not exist; can optionally schedule paging the chunk with req. entry as part of a 'group' of contiguous chunks, during next page update&lt;br /&gt;
&lt;br /&gt;
::          i) **Open Entry Given Container Chunk - also a variant, is just the bottom half of the open entry routine&lt;br /&gt;
&lt;br /&gt;
:        D.  Close Entry&lt;br /&gt;
&lt;br /&gt;
::        - Decrements read requests for an already paged page with req. entry w/EID; &lt;br /&gt;
&lt;br /&gt;
:        E.  Unpage Chunk&lt;br /&gt;
&lt;br /&gt;
::        - Clears the chunk's entry in the page map&lt;br /&gt;
&lt;br /&gt;
:        F.  Close Entries and Unpage Chunk&lt;br /&gt;
&lt;br /&gt;
::        - Closes chunk's n last opened entries, and unpages if all have been closed     &lt;br /&gt;
&lt;br /&gt;
:   e.  Page Queries&lt;br /&gt;
&lt;br /&gt;
::: A.  Get Number of Free or Available Pages&lt;br /&gt;
&lt;br /&gt;
::     B.  Get Number of Free or Available Pages With Specified List Entries&lt;br /&gt;
&lt;br /&gt;
:   f.  Texture Pages&lt;br /&gt;
&lt;br /&gt;
::     A.  Unpage Texture Page&lt;br /&gt;
&lt;br /&gt;
:   g.  Zone-Specific&lt;br /&gt;
&lt;br /&gt;
::     A.  Close Zone Entries and Unpage Zone Chunks&lt;br /&gt;
&lt;br /&gt;
::     B.  Unpage a Texture Page among Zone Entries [i.e. that is already paged]&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span style=&amp;quot;line-height:20px;&amp;quot;&amp;gt; Misc/incomplete&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:   a.  Seek Disc to file&lt;br /&gt;
&lt;br /&gt;
:   b.  Find Audio Page?&lt;br /&gt;
&lt;br /&gt;
*Hardware Initialization&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;span style=&amp;quot;line-height:21px;&amp;quot;&amp;gt;Hardware Init Routine&amp;lt;/span&amp;gt;&lt;br /&gt;
#&amp;lt;span style=&amp;quot;line-height:21px;&amp;quot;&amp;gt;Hardware Deinit Routine&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;line-height:21px;&amp;quot;&amp;gt;​Hardware &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height:21px;&amp;quot;&amp;gt;Libraries&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;span style=&amp;quot;line-height:21px;&amp;quot;&amp;gt;​&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height:21px;&amp;quot;&amp;gt;Controller&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span style=&amp;quot;line-height:21px;&amp;quot;&amp;gt;​&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height:21px;&amp;quot;&amp;gt;a.  Controller Initialization&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: b.  Controller Read&lt;br /&gt;
&lt;br /&gt;
: 2.  GPU&lt;br /&gt;
&lt;br /&gt;
:: a.  GPU Initialization&lt;br /&gt;
&lt;br /&gt;
:: b.  GPU Deinitialization&lt;br /&gt;
&lt;br /&gt;
:: c.  GPU Shaders&lt;br /&gt;
&lt;br /&gt;
:: d.  GPU Driver&lt;br /&gt;
&lt;br /&gt;
::: A.  Clear Screen&lt;br /&gt;
&lt;br /&gt;
::: B.  Fill Screen w/Black Tile&lt;br /&gt;
&lt;br /&gt;
::: C.  Draw Sync&lt;br /&gt;
&lt;br /&gt;
:::: - incl root counter callback&lt;br /&gt;
&lt;br /&gt;
::: D.  OT (prim list)&lt;br /&gt;
&lt;br /&gt;
:::: i.   Initialize OT&lt;br /&gt;
&lt;br /&gt;
:::: ii.  Get OT Pointer&lt;br /&gt;
&lt;br /&gt;
::: E.  Swap Buffers and Render Stage&lt;br /&gt;
&lt;br /&gt;
::: F.  Render Primitive&lt;br /&gt;
&lt;br /&gt;
::: G. Game Rate Calculations&lt;br /&gt;
&lt;br /&gt;
: 3.  GFX&lt;br /&gt;
&lt;br /&gt;
:: a.  [Page] Texture Chunk to VRAM&lt;br /&gt;
&lt;br /&gt;
:: b.  Global Matrices&lt;br /&gt;
&lt;br /&gt;
::: A.  Set Projection and Screen Offset&lt;br /&gt;
&lt;br /&gt;
::: B.  Generate View Matrix, Rot, Angles, World Models, etc.&lt;br /&gt;
&lt;br /&gt;
::: C.  Generate Matrices for Map**&lt;br /&gt;
&lt;br /&gt;
:: c.  Global Light Matrices&lt;br /&gt;
&lt;br /&gt;
::: A.  Light Matrix Generation&lt;br /&gt;
&lt;br /&gt;
:: d.  Matrix Transformation Routine&lt;br /&gt;
&lt;br /&gt;
:: e.  Primitive Creation&lt;br /&gt;
&lt;br /&gt;
::: A.  Objects&lt;br /&gt;
&lt;br /&gt;
:::: i.  Object SVTX Primitive Creation&lt;br /&gt;
&lt;br /&gt;
:::: - incl. 3 clipping-related routines&lt;br /&gt;
&lt;br /&gt;
:::: - incl. 2 svtx vertex shading (light) routines&lt;br /&gt;
&lt;br /&gt;
:::: - incl. assembly routine portion&lt;br /&gt;
&lt;br /&gt;
:::: ii.  Object CVTX Primitive Creation&lt;br /&gt;
&lt;br /&gt;
:::: iii. Object Sprite Primitive Creation&lt;br /&gt;
&lt;br /&gt;
:::: - incl. rotation assembly portion&lt;br /&gt;
&lt;br /&gt;
:::: - incl. assembly routine portion&lt;br /&gt;
&lt;br /&gt;
: iv.  Object Font Primitive Creation&lt;br /&gt;
:::: &lt;br /&gt;
&lt;br /&gt;
::: B.  [[World|Worlds]] (incomplete, format only partially explained)&lt;br /&gt;
&lt;br /&gt;
:::: i.   World Model Creation&lt;br /&gt;
&lt;br /&gt;
:::: - incl also sub_8001A460?&lt;br /&gt;
&lt;br /&gt;
:::: ii.  World Primitive Creation&lt;br /&gt;
&lt;br /&gt;
:::: - 7 Variations, incl 1 unused&lt;br /&gt;
&lt;br /&gt;
:::: - incl. optimized world model copying&lt;br /&gt;
&lt;br /&gt;
:::: - incl. assembly routine portion for each variation&lt;br /&gt;
&lt;br /&gt;
:: f. Memory Card Images&lt;br /&gt;
&lt;br /&gt;
::: A. 3 undocumented routines&lt;br /&gt;
&lt;br /&gt;
:: g.  Audio Matrix Generation (assembly portion)&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
-GOOL/Objects&lt;br /&gt;
&lt;br /&gt;
: 1. [[OPAT|OPAT Initialization/Deinitialization]]&lt;br /&gt;
&lt;br /&gt;
: 2. sub_8001AC60?&lt;br /&gt;
&lt;br /&gt;
: 3. Object Hierarchy&lt;br /&gt;
&lt;br /&gt;
:: a. Object Left-parent/Right-sibling desc.&lt;br /&gt;
&lt;br /&gt;
:: b. Object Adoption&lt;br /&gt;
&lt;br /&gt;
::: i. Add Child Object&lt;br /&gt;
&lt;br /&gt;
::: ii. Remove Child Object&lt;br /&gt;
&lt;br /&gt;
:: c) Object Traversal&lt;br /&gt;
&lt;br /&gt;
::: i)   General Traversal&lt;br /&gt;
&lt;br /&gt;
:::: 1) Pre-order traversal with callback&lt;br /&gt;
&lt;br /&gt;
:::: 2) Post-order traversal with callback&lt;br /&gt;
&lt;br /&gt;
:::: 3) List handle pre-order traversal with callback&lt;br /&gt;
&lt;br /&gt;
:::: 4) List handle post-order traversal with callback&lt;br /&gt;
&lt;br /&gt;
::: ii)  Object Find Traversal&lt;br /&gt;
&lt;br /&gt;
:::: 1) Object Find traversal with callback   &lt;br /&gt;
&lt;br /&gt;
:::: - Callback routines: HasID, HasStateFlags&lt;br /&gt;
&lt;br /&gt;
:::: 2) Object Find/Query traversal (no callback)&lt;br /&gt;
&lt;br /&gt;
:::: - Find nearest object (incl. send asynchronously handled event-another routine)&lt;br /&gt;
&lt;br /&gt;
: 4) Object Initialization, Creation, and Termination&lt;br /&gt;
&lt;br /&gt;
:: a) Object Initialization&lt;br /&gt;
&lt;br /&gt;
:: b) Object Creation&lt;br /&gt;
&lt;br /&gt;
::: i)   Process Object 'Creation'&lt;br /&gt;
&lt;br /&gt;
::: ii)  Entity Object Spawning&lt;br /&gt;
&lt;br /&gt;
:: c) Object Termination  &lt;br /&gt;
&lt;br /&gt;
::: i)   3 Object Termination variants&lt;br /&gt;
&lt;br /&gt;
::: ii)  Mass Object Termination&lt;br /&gt;
&lt;br /&gt;
: 5) Object Update&lt;br /&gt;
&lt;br /&gt;
:: a) Object Trans Block Interpretation&lt;br /&gt;
&lt;br /&gt;
:: b) Object Code Block Interpretation&lt;br /&gt;
&lt;br /&gt;
:: c) Object Colors Update&lt;br /&gt;
&lt;br /&gt;
:: d) Object Physics Update&lt;br /&gt;
&lt;br /&gt;
:: - Object Paths&lt;br /&gt;
&lt;br /&gt;
:: e) Object Primitive Creation&lt;br /&gt;
&lt;br /&gt;
:: - Text Creation Routines&lt;br /&gt;
&lt;br /&gt;
:: f) Object Bound Box Update&lt;br /&gt;
&lt;br /&gt;
:: g) Object Bound Collision Registration&lt;br /&gt;
&lt;br /&gt;
: 6) GOOL&lt;br /&gt;
&lt;br /&gt;
:: a) Changing Object State&lt;br /&gt;
&lt;br /&gt;
:: b) Sending Object Events&lt;br /&gt;
&lt;br /&gt;
::: - incl. Object Collision Events&lt;br /&gt;
&lt;br /&gt;
::: - incl. Broadcasting Events&lt;br /&gt;
&lt;br /&gt;
:::: - Incl. nearest object query&lt;br /&gt;
&lt;br /&gt;
:: c) [[GOOL Interpreter|Interpret Object]]&lt;br /&gt;
&lt;br /&gt;
:: - incl. GOOL Reference Translation&lt;br /&gt;
&lt;br /&gt;
:: - incl. Reading Control Pad&lt;br /&gt;
&lt;br /&gt;
:: - See also geometric computations and calculations for objects&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
-Geometric Computations/Calculations&lt;br /&gt;
&lt;br /&gt;
: 1) For Objects&lt;br /&gt;
&lt;br /&gt;
:: a) Object Rotation&lt;br /&gt;
&lt;br /&gt;
:: - 2 Variations&lt;br /&gt;
&lt;br /&gt;
: 2) Seek&lt;br /&gt;
&lt;br /&gt;
: 3) Distance&lt;br /&gt;
&lt;br /&gt;
:: a) Euclidean distance&lt;br /&gt;
&lt;br /&gt;
:: - in 3 space&lt;br /&gt;
&lt;br /&gt;
:: - in XYZ plane&lt;br /&gt;
&lt;br /&gt;
:: b) Manhattan distance&lt;br /&gt;
&lt;br /&gt;
:: c) Absolute 1D distance&lt;br /&gt;
&lt;br /&gt;
: 4) Angles&lt;br /&gt;
&lt;br /&gt;
:: a) Angular distance&lt;br /&gt;
&lt;br /&gt;
:: b) Angle in XZ plane (btwn 2 vectors)&lt;br /&gt;
&lt;br /&gt;
:: c) Angle in YZ plane (btwn 2 vectors)&lt;br /&gt;
&lt;br /&gt;
: 5) Vector Operations&lt;br /&gt;
&lt;br /&gt;
:: a) Matrix Transformation&lt;br /&gt;
&lt;br /&gt;
:: 2 variations... (1 for visual, 1 for audio)&lt;br /&gt;
&lt;br /&gt;
:: b) 2D Projection&lt;br /&gt;
&lt;br /&gt;
: 6) Collision Test&lt;br /&gt;
&lt;br /&gt;
:: a) Test 2 3D spaces for a collision&lt;br /&gt;
&lt;br /&gt;
:: b) Test point for containment by 3D space&lt;br /&gt;
&lt;br /&gt;
:: c) Test 3D space given by 2 points for collision with another 3D space&lt;br /&gt;
&lt;br /&gt;
: 7) General Math Functions&lt;br /&gt;
&lt;br /&gt;
:: a) Sine&lt;br /&gt;
&lt;br /&gt;
:: b) Cosine&lt;br /&gt;
&lt;br /&gt;
:: c) Square Root&lt;br /&gt;
&lt;br /&gt;
:: d) Atan2 (ratan2)&lt;br /&gt;
&lt;br /&gt;
-GOOL Globals Initialization...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Level&lt;br /&gt;
&lt;br /&gt;
: 1) Initialization&lt;br /&gt;
&lt;br /&gt;
:: - LDAT Initialization&lt;br /&gt;
&lt;br /&gt;
:: - GOOL Globals Reset&lt;br /&gt;
&lt;br /&gt;
:: - Load Universal Entries&lt;br /&gt;
&lt;br /&gt;
:: - Create HUD + Level Restart (*sub_8002E98C)&lt;br /&gt;
&lt;br /&gt;
::: (Level Restart Creates Crash Object)&lt;br /&gt;
&lt;br /&gt;
: 2) Level Update&lt;br /&gt;
&lt;br /&gt;
:: - Zone&lt;br /&gt;
&lt;br /&gt;
::: A) Camera Path&lt;br /&gt;
&lt;br /&gt;
:::: i) Progress&lt;br /&gt;
&lt;br /&gt;
:::: - Update Sort List&lt;br /&gt;
&lt;br /&gt;
::: - [[Camera Update]]&lt;br /&gt;
&lt;br /&gt;
:: - incl update level misc&lt;br /&gt;
&lt;br /&gt;
: 3) Level Current Zone Spawn Objects [outlier]&lt;br /&gt;
&lt;br /&gt;
: 4) Level Save State&lt;br /&gt;
&lt;br /&gt;
: 5) Level Restart&lt;br /&gt;
&lt;br /&gt;
: 6) Level-Specific &lt;br /&gt;
&lt;br /&gt;
:: a) Level Specific World Vertex Shader Parameter Initialization&lt;br /&gt;
&lt;br /&gt;
:: b) Level Specific Audio Vector Parameter Initialization&lt;br /&gt;
&lt;br /&gt;
-Camera&lt;br /&gt;
&lt;br /&gt;
: 1) [[Camera Update]]&lt;br /&gt;
&lt;br /&gt;
:: a) Camera Follow&lt;br /&gt;
&lt;br /&gt;
::: A) Camera Get Projected Progress Non-forward&lt;br /&gt;
&lt;br /&gt;
::: B) Camera Get Projected Progress Forward&lt;br /&gt;
&lt;br /&gt;
::: C) Camera Adjust Progress (w/speed)&lt;br /&gt;
&lt;br /&gt;
:: b) Other Camera Modes &lt;br /&gt;
&lt;br /&gt;
::: A) Camera Calculate Progress&lt;br /&gt;
&lt;br /&gt;
::: B) Other: todo&lt;br /&gt;
&lt;br /&gt;
:: c) Death Camera&lt;br /&gt;
&lt;br /&gt;
:: TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-[[Sort List]]&lt;br /&gt;
&lt;br /&gt;
: 1) Format&lt;br /&gt;
&lt;br /&gt;
: 2) Encoding/Decoding&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
-Solid Surface Collision&lt;br /&gt;
&lt;br /&gt;
: 1) Node Querying&lt;br /&gt;
&lt;br /&gt;
:: -(one routine calls query routine for each zone)&lt;br /&gt;
&lt;br /&gt;
: 2) Translation&lt;br /&gt;
&lt;br /&gt;
:: -incl smooth, pull, and stop at solid&lt;br /&gt;
&lt;br /&gt;
:: a) Stopping at Floor&lt;br /&gt;
&lt;br /&gt;
::: - incl. Finding Highest Object Below&lt;br /&gt;
&lt;br /&gt;
::: - incl. Finding Average Y&lt;br /&gt;
&lt;br /&gt;
:: b) Stopping at Walls&lt;br /&gt;
&lt;br /&gt;
::: A) Wall Plot &lt;br /&gt;
&lt;br /&gt;
:::: i)   Initialization/Deinitialization (BINF)&lt;br /&gt;
&lt;br /&gt;
:::: ii)  Plotting a Wall&lt;br /&gt;
&lt;br /&gt;
:::: - 2 Variations&lt;br /&gt;
&lt;br /&gt;
:::: iii) Node Subdivision Wall Plotting&lt;br /&gt;
&lt;br /&gt;
:::: iv)  Object Sides Wall Plotting&lt;br /&gt;
&lt;br /&gt;
:::: v)   Zone Boundaries Wall Plotting&lt;br /&gt;
&lt;br /&gt;
:::: vi)  Testing the Wall Plot&lt;br /&gt;
&lt;br /&gt;
::::: - Replotting Walls&lt;br /&gt;
&lt;br /&gt;
:: c) Stopping at Ceiling&lt;br /&gt;
&lt;br /&gt;
:: - incl. Finding Ceiling&lt;br /&gt;
&lt;br /&gt;
:: d) Stopping at Bottom Zone Bounds&lt;br /&gt;
&lt;br /&gt;
:: e) Node Death Events&lt;br /&gt;
&lt;br /&gt;
:: - incl. Handle Nodes...&lt;br /&gt;
&lt;br /&gt;
: 3) GOOL Operations&lt;br /&gt;
&lt;br /&gt;
:: a) Vector Rebound&lt;br /&gt;
&lt;br /&gt;
:: b) Closest Solid Thing Above/Below or in Front/Behind&lt;br /&gt;
&lt;br /&gt;
:: c) Highest Solid Thing Above&lt;br /&gt;
&lt;br /&gt;
:: d) TODO remaining&lt;br /&gt;
&lt;br /&gt;
-Audio/MIDI&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
-Memory Card&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
-Misc&lt;br /&gt;
&lt;br /&gt;
: 1) Demo Mode&lt;br /&gt;
&lt;br /&gt;
:: a) PBAK initialization&lt;br /&gt;
&lt;br /&gt;
:: b) Demo mode routine&lt;br /&gt;
&lt;br /&gt;
:: c) 4 Random Number routines&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Sort_List_Crash_2/3&amp;diff=188</id>
		<title>Sort List Crash 2/3</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Sort_List_Crash_2/3&amp;diff=188"/>
		<updated>2019-04-27T17:44:39Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 6 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The sort lists in Crash 2/3 are for the most part similar to the ones found in Crash 1. Therefore it is recommended to read [https://crash-hacking.wikia.com/wiki/Sort_List the extensive article about Sort Lists in Crash 1] first before reading this article.&lt;br /&gt;
== Format ==&lt;br /&gt;
=== Item 1/Item N: Main Source/Target List ===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|List Size (polygon ID count)&lt;br /&gt;
|2 bytes&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|List Type&lt;br /&gt;
|2 bytes&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Polygon IDs&lt;br /&gt;
|c x 2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
==== Polygon ID ====&lt;br /&gt;
Each Polygon ID has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;*WWWSSPPPPPPPPPP&amp;lt;/code&amp;gt;&lt;br /&gt;
* W = index of world model&lt;br /&gt;
* S = state of the polygon&lt;br /&gt;
* P = index of polygon in world model&lt;br /&gt;
Since scenery entries in Crash 2/3 have lists for both triangles and quads, the polygon state is used to differentiate between an index for a triangle (SS = 0) and a quad (SS = 1-3). &lt;br /&gt;
&lt;br /&gt;
The polygon state also specifies whether to fully draw the quad or only half of it. A quad can be conceived as a combination of two triangles (ABC and CDA respectively) into a single polygon (ABCD). When only triangle ABC needs to be drawn, SS=1. Should only triangle CDA be drawn, SS=2. Finally, if the entire quad needs to be drawn, SS=3.&lt;br /&gt;
=== Item 2 to N-1: Difference List ===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|List Size '''minus 2 '''(in hwords)&lt;br /&gt;
|2 bytes&lt;br /&gt;
|c + 2&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|List Type&lt;br /&gt;
|2 bytes&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Rel. Index of end of removing nodes '''minus 2'''Rel. Index of start of adding nodes '''minus 2'''&lt;br /&gt;
|2 bytes&lt;br /&gt;
|a + 2&lt;br /&gt;
|-&lt;br /&gt;
|0x6&lt;br /&gt;
|Rel. Index of end of adding nodes '''minus 2'''Rel. Index of start of swapping nodes '''minus 2'''&lt;br /&gt;
|2 bytes&lt;br /&gt;
|r + 2&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Nodes/List&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Removing Nodes&lt;br /&gt;
|(a - 2) x 2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8 + ((a - 2) x 2)&lt;br /&gt;
|Adding Nodes&lt;br /&gt;
|(r-a-2) x 2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8 + ((r - 2) x 2)&lt;br /&gt;
|Swapping Nodes&lt;br /&gt;
|(c-r-a-2) x 2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
=== Adding/Removing Nodes ===&lt;br /&gt;
Adding and Removing nodes have the same format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CCCCNNNN NNNNNNNN (WWWSSPPP PPPPPPPP x (C+1))&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; = add/skip count (this node contains C+1 polygon IDs, number of polygon IDs to add/skip)&lt;br /&gt;
* &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; = add/skip index (the polygon IDs from this node will be added to the new list in a progression, or skipped and not added in a retrogression)&lt;br /&gt;
* WSP = polygon ID(s) to add when inserting; other than in Crash 1 these polygon IDs in are the same as in the Source/Target lists since the copyflag functionality is abandoned in Crash 2/3.&lt;br /&gt;
=== Swapping Nodes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Format A: 1BBBBAAA AAAAAAAA [01CCCCCC CCCDDDDD] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Format B: 0000AAAA AAAAAAAA  0000BBBB BBBBBBBB [01CCCCCC CCCDDDDD]&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; = index of Polygon ID A&lt;br /&gt;
* &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; = index of Polygon ID B relative to A + 1&lt;br /&gt;
* &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; = index of Polygon ID C relative to A&lt;br /&gt;
* &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; = index of Polygon ID D relative to C + 17&lt;br /&gt;
Besides these swapping node formats familiair from Crash 1, there is another type of 'swapping node' in Crash 2/3 that accounts for the swapping of polygon states. They always come after the formats A - D, at the end of the difference list. The swapping is really a XOR-operation on the SS-value of the polygon ID that it refers to. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Format E: 001XXPPP PPPPPPPP&amp;lt;/code&amp;gt; &lt;br /&gt;
* X = XOR mask; the new polygon ID &amp;lt;code&amp;gt;WWW**PPP PPPPPPPP&amp;lt;/code&amp;gt; = &amp;lt;code&amp;gt;WWW00PPP PPPPPPPP + ((SS^XX) &amp;lt;&amp;lt; 11)&amp;lt;/code&amp;gt;&lt;br /&gt;
* P = Targeted polygon index&lt;br /&gt;
[[Category:Crash 2/3]]&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=OPAT&amp;diff=160</id>
		<title>OPAT</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=OPAT&amp;diff=160"/>
		<updated>2019-04-27T17:44:38Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 1 revision imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OPAT is the 10th subsystem in Crash 1. It concerns the allocation and initialization (and releasing) of all game objects. For this reason, a proposed name for its expansion is '''''O'''bject/'''P'''rocess '''A'''llocation '''T'''able''.&lt;br /&gt;
&lt;br /&gt;
== Initialization routine ==&lt;br /&gt;
The OPAT initialization routine is located at the following addresses in each of the Crash games:&lt;br /&gt;
* 0x1AAD8&lt;br /&gt;
&lt;br /&gt;
=== Object Allocation ===&lt;br /&gt;
This routine begins by allocating a block of memory for 96 objects with the malloc function (96 objects * 604 bytes/object = 57984 bytes). A pointer to the newly allocated memory is stored in &amp;lt;code&amp;gt;objects&amp;lt;/code&amp;gt; of the GOOL subsystem namespace. &amp;lt;code&amp;gt;objects&amp;lt;/code&amp;gt; now refers to a dynamically allocated array of 96 objects.&lt;br /&gt;
&lt;br /&gt;
The routine then allocates a separate section of memory for the 97th object-the player object. An extra 256 bytes in addition to the standard 608 byte structure size (608+256 = 860) is allocated for the player object. This is to account for the higher number of activation records created and local 'registers' used by its lengthier, more complex code. A pointer to the newly allocated memory is stored in &amp;lt;code&amp;gt;player&amp;lt;/code&amp;gt; of the GOOL subsystem namespace.&lt;br /&gt;
&lt;br /&gt;
If either the memory for the objects or for the player object could not be allocated, the routine returns error code 0xFFFFFFF1. &lt;br /&gt;
&lt;br /&gt;
=== Free List/Free Object Pool Initialization ===&lt;br /&gt;
At this point, all the necessary memory for objects has been allocated. The routine now initializes the &amp;lt;code&amp;gt;freelist&amp;lt;/code&amp;gt; [list handle] object, marking it as a list handle by setting its &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;. Note that a list handle object is not an actual object and only refers to a 'category' of objects, composed of its children.&lt;br /&gt;
&lt;br /&gt;
Next the routine initializes and constructs a linked list of the 96 objects, marking each as a free object and assigning the first object as &amp;lt;code&amp;gt;children&amp;lt;/code&amp;gt; of the &amp;lt;code&amp;gt;freelist&amp;lt;/code&amp;gt; handle. This establishes a pool of free objects, initially consisting of all 96 objects. In detail, this is done by iterating through the first 95 objects, and for each object:&lt;br /&gt;
*setting its &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;. This marks the object a free object.&lt;br /&gt;
*storing a pointer to the object that follows it [in the array] in its &amp;lt;code&amp;gt;sibling&amp;lt;/code&amp;gt; field. (&amp;lt;code&amp;gt;objects[n].sibling = &amp;amp;objects[n+1];&amp;lt;/code&amp;gt;) This establishes the link between objects. The 96th object does not have a following object so its sibling field is set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
*setting its &amp;lt;code&amp;gt;parent&amp;lt;/code&amp;gt; field to point to the &amp;lt;code&amp;gt;freelist&amp;lt;/code&amp;gt; handle. Each object in the free list is a child of the &amp;lt;code&amp;gt;freelist&amp;lt;/code&amp;gt; handle, and the left-child right-sibling representation requires that an object always points to its parent object.&lt;br /&gt;
*setting its &amp;lt;code&amp;gt;children&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;. Presence of a &amp;lt;code&amp;gt;children&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sibling&amp;lt;/code&amp;gt; field allow objects to have a left-child right-sibling k-ary tree of descendants, however this is irrelevant for free objects. Free objects do not have children and thus initialize their &amp;lt;code&amp;gt;children&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
The &amp;lt;code&amp;gt;freelist&amp;lt;/code&amp;gt; handle now refers to the category of free objects, and each of its children are an object in the pool.&lt;br /&gt;
&lt;br /&gt;
=== Used Object List Initialization ===&lt;br /&gt;
Now the routine initializes 8 the used object list handles: &amp;lt;code&amp;gt;usedlists&amp;lt;/code&amp;gt; (array). When the game eventually creates or spawns an object, a free object is adopted from the pool to one of the 8 used object list handles; the game then marks that object as an existing object (i.e. 'in use') and continues to perform its remaining instantiation. Initially, however, no object is in use-all 96 objects are free objects. Consequently, none of the used object list handles should have children. Initializing the 8 handles is then accomplished by iterating through them, and for each handle:&lt;br /&gt;
*setting its &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;. This marks the handle [object] a list handle.&lt;br /&gt;
*setting its &amp;lt;code&amp;gt;children&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;. The handle does not yet have children.&lt;br /&gt;
Eventually, the &amp;lt;code&amp;gt;usedlists&amp;lt;/code&amp;gt; are used not only to 'contain' spawned or created objects, but also to categorize them into 8 distinct categories.&lt;br /&gt;
&lt;br /&gt;
=== Player Object Initialization ===&lt;br /&gt;
Finally the routine initializes the player object. This is done by&lt;br /&gt;
*setting its &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;. This marks the object a free object (**or rather, not in use)&lt;br /&gt;
*setting its &amp;lt;code&amp;gt;parent&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;. The player object is treated separately from normal objects. Spawning the player does not require or involve adopting a free object from the pool; the player never belongs to and is never an object among the pool of free objects. Its data will always exist in the 860 byte region allocated for it, **in use or not. Thus it is not necessary for the player object to belong to any particular category and therefore have a parent at initialization.&lt;br /&gt;
*setting its &amp;lt;code&amp;gt;sibling&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;. The player does not belong to a category and therefore does not have any sibling that could belong to a same category.&lt;br /&gt;
*setting its &amp;lt;code&amp;gt;children&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;. The player object, though separate from the pool, is a free object and does not have children.&lt;br /&gt;
&lt;br /&gt;
=== Return Success Code ===&lt;br /&gt;
At this point, the routine returns a success code (0xFFFFFF01).&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; For the &amp;lt;code&amp;gt;freelist&amp;lt;/code&amp;gt; handle:&lt;br /&gt;
* set &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; (the object is a list handle)&lt;br /&gt;
* set &amp;lt;code&amp;gt;children&amp;lt;/code&amp;gt; field to point to &amp;lt;code&amp;gt;objects[0]&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; For the 96 allocated &amp;lt;code&amp;gt;objects&amp;lt;/code&amp;gt;:&lt;br /&gt;
* set &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; (the object is free/unused)&lt;br /&gt;
* set &amp;lt;code&amp;gt;sibling&amp;lt;/code&amp;gt; field to point to the following object if not the last object: &lt;br /&gt;
&amp;lt;code&amp;gt;objects[n].process.sibling = &amp;amp;objects[n+1];&amp;lt;/code&amp;gt;, else set &amp;lt;code&amp;gt;sibling&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
* set &amp;lt;code&amp;gt;parent&amp;lt;/code&amp;gt; field to point to the &amp;lt;code&amp;gt;freelist&amp;lt;/code&amp;gt; handle&lt;br /&gt;
* set &amp;lt;code&amp;gt;children&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; For the 8 &amp;lt;code&amp;gt;usedlists&amp;lt;/code&amp;gt; handles:&lt;br /&gt;
* set &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; (the object is a list handle)&lt;br /&gt;
* set &amp;lt;code&amp;gt;children&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; (no objects belong to it at init)&lt;br /&gt;
&amp;lt;li&amp;gt; For the &amp;lt;code&amp;gt;player&amp;lt;/code&amp;gt; object:&lt;br /&gt;
* set &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; (the object is free/unused)&lt;br /&gt;
* set &amp;lt;code&amp;gt;parent&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; (not part of a category)&lt;br /&gt;
* set &amp;lt;code&amp;gt;sibling&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; (no sibling in its non-existent category)&lt;br /&gt;
* set &amp;lt;code&amp;gt;children&amp;lt;/code&amp;gt; field to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Deinitialization routine ==&lt;br /&gt;
This routine simply releases the object memory allocated by the initialization routine:&lt;br /&gt;
* &amp;lt;code&amp;gt;free(objects);&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;free(player);&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=NSD&amp;diff=154</id>
		<title>NSD</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=NSD&amp;diff=154"/>
		<updated>2019-04-27T17:44:38Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 11 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NSD (most likely to stand for '''N'''aughty Dog '''S'''oftware '''D'''ata or '''N'''aughty Dog '''S'''ystem '''D'''ata) is a custom file format created by Naughty Dog for use in the Crash games. The [[CD-ROM Directory Structure|root directory]] of a Crash game CD will have several sub-directories, with names S0, S1, S2, and S3; within these sub-directories are pairs of files with the name S00000**.NSD/.NSF. Each pair corresponds to a specific &amp;quot;level&amp;quot; in the game, and these files contain the game data for that level. An NSD file is essentially an index for its paired NSF file, but it also contains additional information such as a level descriptor/header and a loading screen descriptor. &lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
=== Crash 1 Prototype ===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Entry Hash Table Offsets&lt;br /&gt;
|4 bytes x 256&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x400&lt;br /&gt;
|Chunk Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x404&lt;br /&gt;
|Entry Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|s&lt;br /&gt;
|-&lt;br /&gt;
|0x408&lt;br /&gt;
|Entry Hash Table&lt;br /&gt;
|4 bytes x 2 x s&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
Remaining data (object type --&amp;gt; executable EID type, level ID, initial zone EID and magic number) is stored inside an LDAT entry in the respective NSF file.&lt;br /&gt;
=== Crash 1 ===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Entry Hash Table Offsets&amp;lt;!--Setting this whole list to 0 or adding entries to the NSD without changing this does not affect the game at all--&amp;gt;&lt;br /&gt;
|4 bytes x 256&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x400&lt;br /&gt;
|Chunk Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x404&lt;br /&gt;
|Entry Hash Table Size&lt;br /&gt;
|4 bytes&lt;br /&gt;
|s&lt;br /&gt;
|-&lt;br /&gt;
|0x408&lt;br /&gt;
|Entry containing object type -&amp;gt; executable EID type(**)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x40C&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x410&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x414&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x418&lt;br /&gt;
|Offset of Uncompressed Chunks&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x41C&lt;br /&gt;
|Compressed Chunk Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x420&lt;br /&gt;
|Compressed Chunk Offsets&lt;br /&gt;
|4 bytes x 64&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520&lt;br /&gt;
|Entry Hash Table&lt;br /&gt;
|4 bytes x 2 x s&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x0&lt;br /&gt;
|Level Header Magic Number&lt;br /&gt;
|4 bytes&lt;br /&gt;
|0x1&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x4&lt;br /&gt;
|Level ID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x8&lt;br /&gt;
|Initial Zone EID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0xC&lt;br /&gt;
|Initial Camera Path (Camera Item Index)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x10&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x14&lt;br /&gt;
|Object Type -&amp;gt; Executable EID map&lt;br /&gt;
|4 bytes x 64&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x118&lt;br /&gt;
|Misc images (loading screens, etc.)&lt;br /&gt;
|62720 bytes each image&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;(**) - Possibly completely useless.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Crash 2===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Entry Hash Table Offsets&lt;br /&gt;
|4 bytes x 256&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x400&lt;br /&gt;
|Chunk Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x404&lt;br /&gt;
|Entry Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|s&lt;br /&gt;
|-&lt;br /&gt;
|0x408&lt;br /&gt;
|Entry containing object type -&amp;gt; executable EID type(**) (DAT?L where ? is the level's ID shortened to 1 character)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x40C&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x410&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x414&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x418&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x41C&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x420&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes x 64&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520&lt;br /&gt;
|Entry Hash Table&lt;br /&gt;
|4 bytes x 2 x s&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s)&lt;br /&gt;
|Number of spawn points present in the NSD&lt;br /&gt;
|4 bytes&lt;br /&gt;
|p&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x4&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x8&lt;br /&gt;
|Level ID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0xC&lt;br /&gt;
|Object count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x14&lt;br /&gt;
|Object Type -&amp;gt; Executable EID map&lt;br /&gt;
|4 bytes x 64&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x1DC&lt;br /&gt;
|Spawn points (semi-optional, only starting spawn points are needed)&lt;br /&gt;
|24 bytes x p&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x1DC + (24 x p)&lt;br /&gt;
|Misc images (loading screens, etc.)&lt;br /&gt;
|62720 bytes each&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;(**) - Possibly completely useless.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Crash 3===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Entry Hash Table Offsets&lt;br /&gt;
|4 bytes x 256&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x400&lt;br /&gt;
|Chunk Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x404&lt;br /&gt;
|Entry Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|s&lt;br /&gt;
|-&lt;br /&gt;
|0x408&lt;br /&gt;
|Entry containing object type -&amp;gt; executable EID type(**) (DAT?L where ? is the level's ID shortened to 1 character)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x40C&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x410&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x414&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x418&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x41C&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x420&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes x 64&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520&lt;br /&gt;
|Entry Hash Table&lt;br /&gt;
|4 bytes x 2 x s&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x0&lt;br /&gt;
|Spawn points present in the NSD count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|p&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x4&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x8&lt;br /&gt;
|Level ID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0xC&lt;br /&gt;
|Object count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x14&lt;br /&gt;
|Object Type -&amp;gt; Executable EID map&lt;br /&gt;
|4 bytes x 128&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x2DC&lt;br /&gt;
|Spawn points (optional, only starting spawn points are needed)&lt;br /&gt;
|24 bytes x p&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x520 + (8 x s) + 0x2DC + (24 x p)&lt;br /&gt;
|Misc images (loading screens, etc.)&lt;br /&gt;
|62720 bytes each&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;(**) - Possibly completely useless.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
&lt;br /&gt;
=== Crash 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
struct NSD&lt;br /&gt;
{&lt;br /&gt;
  union&lt;br /&gt;
  {&lt;br /&gt;
    unsigned long entryhashoffsets[256];&lt;br /&gt;
    unsigned long *entryhashbuckets[256];&lt;br /&gt;
  }&lt;br /&gt;
  unsigned long chunkcount;&lt;br /&gt;
  unsigned long entryhashcount;&lt;br /&gt;
  unsigned long unk_408;&lt;br /&gt;
  unsigned long unk_40C;&lt;br /&gt;
  unsigned long unk_410;&lt;br /&gt;
  unsigned long unk_414;&lt;br /&gt;
  unsigned long uncompressedoffset;&lt;br /&gt;
  unsigned long compressedcount;&lt;br /&gt;
  unsigned long compressedoffsets[64];&lt;br /&gt;
  hashpair      entryhash[entryhashcount];&lt;br /&gt;
  struct levelheader&lt;br /&gt;
  {&lt;br /&gt;
    const unsigned long magic = ?&lt;br /&gt;
    unsigned long levelID;&lt;br /&gt;
    unsigned long firstzone;&lt;br /&gt;
    unsigned long firstcampath;&lt;br /&gt;
    unsigned long unknown;&lt;br /&gt;
    unsigned long execeidmap[64];&lt;br /&gt;
  };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
TBD&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=NSF&amp;diff=158</id>
		<title>NSF</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=NSF&amp;diff=158"/>
		<updated>2019-04-27T17:44:38Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 3 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Created mainly to prevent redlinks.--&amp;gt;&lt;br /&gt;
NSF is a custom file format created by Naughty Dog for use in the Crash games. The root directory of a Crash game CD will have several sub-directories, with names S0, S1, S2, and S3; within these sub-directories are pairs of files with the name S00000**.NSD/.NSF. Each pair corresponds to a specific &amp;quot;level&amp;quot; in the game, and these files contain the game data for that level. An NSF file contains all of the resources used by the level currently being played.&lt;br /&gt;
&lt;br /&gt;
It only serves as a container for [[chunk]]s.&lt;br /&gt;
[[Category:Structure]]&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Sort_List&amp;diff=181</id>
		<title>Sort List</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Sort_List&amp;diff=181"/>
		<updated>2019-04-27T17:44:38Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 5 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sort Lists are delta encoded depth-sorted polygon lists. They are Type 4 entries. For each point in some camera path, a Type 4 entry encodes the depth order, when viewed from the position and orientation of the camera at that point, of all visible polygons in the [up to] 8 visible worlds of the path's parent zone. Each distinct camera path from a zone in the level refers to its own Type 4 entry. Thus, at every possible position and orientation of the camera, the painter's algorithm can be employed in rendering visible geometric content (worlds), given the corresponding decoded sort list.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Each zone specifies up to 8 individual worlds. Together, these worlds compose the geometric content visible to the player at all possible positions/orientations of the camera along the zone's paths. The representative worlds for that zone shall naturally be observed as the camera travels along its paths, through the 3-dimensional space occupied by the zone.&lt;br /&gt;
&lt;br /&gt;
The camera at any instant is positioned (i.e. translated) at a particular point on its ''current path'' with index given by its ''current progress'' along that path. Each point in the path is also associated with an ''orientation angle ''to which the camera is additionally rotated when it reaches that progress. Since each of a zone's camera path's points are indexed by [each possible] progress [that can be attained within that path], each subsequent point describes a further location and orientation for the camera to reach as the player makes a single, +1 = positive change in progress. Thus, for each change in progress, there is a change to a new predefined/fixed orientation and location for the camera, at which all polygons that compose the zone's representative geometry will have exhibited a change in relative location [from the camera]. At the camera's new location and orientation, some of these polygons will have naturally changed ordering to appear ''in front'' of some other polygons that, at the camera's previous location, they appeared to be ''behind''. At this new location and orientation, there may also be some polygons that were previously ''off screen'' that should now be visible ''on screen''-and some polygons that were previously visible ''on screen'' that should now be ''off screen''.   &lt;br /&gt;
&lt;br /&gt;
The first and last items in a Sort List (Type 4) entry are important: they are the only purely raw, non-delta encoded polygon lists in the entry. Polygons are listed by ''Polygon ID. ''The first item in a Type 4 entry lists each visible polygon (belonging to the world models of the zone that contains the corresponding path) in sorted order from front to back when viewed from the camera position and orientation of the ''first'' camera path point (in the corresponding path). Conversely, the last item in a Type 4 entry lists each visible polygon in sorted order from front to back when viewed from the camera position and orientation of the ''last ''camera path point (in the corresponding path)''.''&lt;br /&gt;
&lt;br /&gt;
The items between the first and last items then ''encode ''the ''progressive changes'' in polygon ordering from the first to the last lists-hence the term ''delta encoding''. These items also encode'' ''the ''retrogressive changes'' in polygon ordering from the ''last to first'' lists. The encoding also specifies any new onscreen polygons not previously visible and any old polygons no longer visible from one polygon list to the next. &lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
=== Item 1/Item N: Main Source/Target List ===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|List Size (polygon ID count)&lt;br /&gt;
|2 bytes&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|List Type&lt;br /&gt;
|2 bytes&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Polygon IDs&lt;br /&gt;
|c x 2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Polygon ID ====&lt;br /&gt;
Each Polygon ID has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;*WWWPPPPPPPPPPPP&amp;lt;/code&amp;gt;&lt;br /&gt;
* W = index of world model&lt;br /&gt;
* P = index of polygon in world model&lt;br /&gt;
Thus, a polygon id refers to the ''P''th polygon of the ''W''th world model in the zone with a path that references this entry.&lt;br /&gt;
&lt;br /&gt;
=== Item 2 to N-1: Difference List ===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|List Size '''minus 2 '''(in hwords)&lt;br /&gt;
|2 bytes&lt;br /&gt;
|c + 2&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|List Type&lt;br /&gt;
|2 bytes&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Rel. Index of end of removing nodes '''minus 2'''Rel. Index of start of adding nodes '''minus 2'''&lt;br /&gt;
|2 bytes&lt;br /&gt;
|a + 2&lt;br /&gt;
|-&lt;br /&gt;
|0x6&lt;br /&gt;
|Rel. Index of end of adding nodes '''minus 2'''Rel. Index of start of swapping nodes '''minus 2'''&lt;br /&gt;
|2 bytes&lt;br /&gt;
|r + 2&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Nodes/List&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Removing Nodes&lt;br /&gt;
|(a - 2) x 2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8 + ((a - 2) x 2)&lt;br /&gt;
|Adding Nodes&lt;br /&gt;
|(r-a-2) x 2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8 + ((r - 2) x 2)&lt;br /&gt;
|Swapping Nodes&lt;br /&gt;
|(c-r-a-2) x 2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
A difference list encodes ''changes'' in polygon ordering. Each change is encoded as a ''node''. Each node specifies an individual operation performed in modifying the ''current polygon list ''to reach the form of the decoded [difference] list''.''&lt;br /&gt;
* Polygon reordering is encoded in these items for processing as swap operations between polygons [polygon ids] in the current polygon list.&lt;br /&gt;
* Changes from onscreen to offscreen are encoded in these items for processing as the operation of removing polygons from the current polygon list.&lt;br /&gt;
* Changes from offscreen to onscreen are encoded in these items for processing as the operation of adding polygons to the current polygon list.&lt;br /&gt;
Each node can be 1 of 3 types: a swapping node, an adding node, or a removing node. All nodes of one type are stored contiguously, in a region separate from that of nodes of other types; thus, a difference list has a swapping node region, an adding node region, and a removing node region.&lt;br /&gt;
&lt;br /&gt;
=== Adding/Removing Nodes ===&lt;br /&gt;
Adding and Removing nodes have the same format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;SSSSNNNN NNNNNNNN (PPPPPPPP PPPPPPPP x (S+1))&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; = add/skip count (number of polygon IDs to add/skip)&lt;br /&gt;
* &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; = add/skip index (relative to source point)&lt;br /&gt;
* &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; = polygon ID(s) to add when inserting&lt;br /&gt;
** These have the following format: &amp;lt;code&amp;gt;CWWWPPPPPPPPPPPP&amp;lt;/code&amp;gt;&lt;br /&gt;
*** W = index of world model&lt;br /&gt;
*** P = index of polygon in world model&lt;br /&gt;
*** C = copy flag (determines whether the ID is included or excluded from the addition/removal)&lt;br /&gt;
&lt;br /&gt;
A value of &amp;lt;code&amp;gt;0xFFFF&amp;lt;/code&amp;gt; is sometimes used as an indicator of the last adding/removing node in a region, however this is not always the case. If a node with this value is encountered during processing of a region, it is simply skipped. &lt;br /&gt;
&lt;br /&gt;
Adding nodes are sorted in ascending order by the indices into the current polygon list that they refer to. &lt;br /&gt;
* During a gain in progress (progression), an adding node is processed by ''adding'' its specified polygon ID, or sequence of polygon IDs, at the specified index within the current polygon list. &lt;br /&gt;
* During a loss in progress (retrogression), an adding node is processed as if it were a removing node-that is, by ''removing'' the specified ''number'' of polygon IDs (skip count), from the specified index (skip index) within the current polygon list.&lt;br /&gt;
Likewise, removing nodes are sorted in ascending order by the indices into the current polygon list that they refer to.&lt;br /&gt;
* During a gain in progress (progression), a removing node is processed by ''removing'' the specified ''number'' of polygon IDs (skip count), from the specified index (skip index) within the current polygon list.&lt;br /&gt;
* During a loss in progress (retrogression), a removing node is processed as if it were an adding node-that is, by ''adding'' its specified polygon ID, or sequence of polygon IDs, at the specified index within the current polygon list. &lt;br /&gt;
&lt;br /&gt;
=== Swapping Nodes ===&lt;br /&gt;
&amp;lt;code&amp;gt;Format A: 1BBBBAAA AAAAAAAA [01CCCCCC CCCDDDDD] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Format B: 00**AAAA AAAAAAAA  00**BBBB BBBBBBBB [01CCCCCC CCCDDDDD]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; = index of Polygon ID A&lt;br /&gt;
* &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; = index of Polygon ID B relative to A + 1&lt;br /&gt;
* &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; = index of Polygon ID C relative to A&lt;br /&gt;
* &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; = index of Polygon ID D relative to C + 17&lt;br /&gt;
&lt;br /&gt;
A swapping node is processed as a swap between the 2 respective polygon IDs A and B at the specified [possibly relative] indices. It may optionally be followed with up to one swapping node of the format &amp;lt;code&amp;gt;01CCCCCC CCCDDDDD&amp;lt;/code&amp;gt;-this particular swapping node is processed as a swap between the 2 respective polygon IDs C and D at the specified indices (the first of which is relative to that specified in the preceding node). &lt;br /&gt;
&lt;br /&gt;
(By using an optional follow-up node, the somewhat limited range of relative destination indices available for specification using only the standard format is extended, along with the range of relative source indices, provided that the source index is within a given range of that of the preceding node's.)&lt;br /&gt;
&lt;br /&gt;
Whether during a progression or retrogression, a swapping node is processed as a swap between the 2 respective polygon IDs at the same 2 specified indices.&lt;br /&gt;
&lt;br /&gt;
== Decoding ==&lt;br /&gt;
When a progress of 0 is attained in a path (i.e. the path is ''entered ''at the front), the corresponding source/target list (first item in the corresponding Type 4 entry) is copied in its entirety to overwrite the [game's] ''current polygon list''. Similarly, when a progress of ''n'' is reached, where ''n'' is the maximum progress that can be attained in the path, the corresponding source/target list (last item in the corresponding Type 4 entry) is copied in its entirety to overwrite the current polygon list. Both lists are raw polygon lists, so no decoding [and thus a direct copy] is involved.&lt;br /&gt;
&lt;br /&gt;
Assuming that progress is made and that the camera does not retrogress and exit the path, the next possible progress that can be attained after the path is entered at its entrance point/after progress 0 is progress 1. However, the corresponding list item in the Type 4 entry (progress 1 = item 2 = second item) is not in the format of a raw source/target list: it is in the format of an ''encoded'' difference list. Then, ''that'' difference list determines how the current polygon list (which, after progress 0, contains the content of the first list=entrance point's corresponding source/target list) shall be ''modified'' to yield the polygon list that it (the difference list) encodes. When progress 2 is attained, the corresponding difference list then works on the modified list in further modification; this continues in the same trend for further progresses, such that when progress ''n''-1 is attained, the current polygon list has undergone enough modification that it is almost identical to the source/target list corresponding to progress ''n''=last list.&lt;br /&gt;
&lt;br /&gt;
Assuming that progress is lost, i.e. the camera retrogresses, and that the camera does not progress and exit the path (at its exit point), the next possible progress that can be attained after the path is entered at its exit point/after progress ''n'' is progress ''n''-1. However, the corresponding list item in the Type 4 entry (progress ''n''-1'' ''= item ''n ''- 1 = second-to-last item) is not in the format of a raw source/target list: it is in the format of an ''encoded'' difference list. Then, ''that'' difference list determines how the current polygon list (which, after progress ''n'', contains the content of the last list=exit point's corresponding source/target list) shall be ''modified'' to yield the polygon list that it (the difference list) encodes. When progress ''n''-2 is attained, the corresponding difference list then works on the modified list in further modification; this continues in the same trend for nearer progresses, such that when progress 1 is attained, the current polygon list has undergone enough modification that it is almost identical to the source/target list corresponding to progress 0=first list. &lt;br /&gt;
&lt;br /&gt;
The modification process consists of 2 stages: the first stage is a ''swapping stage'', and the second stage is a ''rebuilding stage''. &lt;br /&gt;
* During a progression, the swapping stage comes '''after''' the rebuilding stage&lt;br /&gt;
* During a retrogression, the swapping stage comes '''before''' the rebuilding stage&lt;br /&gt;
&lt;br /&gt;
=== Swapping stage ===&lt;br /&gt;
The swapping stage begins by calculating the range of the swapping node region in the difference list; the beginning of the range-which is also the index of the first node in the region-is computed with (4+(r*2)), and the index of the last node in the list-which is also the index of the last node in the region-is computed with (4+(c-1)*2). &lt;br /&gt;
&lt;br /&gt;
During a progression, the swapping stage works forward through the region, processing each node, starting with the first swapping node and ending with the last. During a retrogression, the swapping stage works backward through the region as it processes each node, starting with the last swapping node and ending with the first. The format section lists the possible swapping node formats and includes a description of how the nodes with those formats are processed. Ultimately, as a result of the swapping stage, the current polygon list will have undergone some rearrangement according to the swapping node specifications.&lt;br /&gt;
&lt;br /&gt;
=== Rebuilding stage ===&lt;br /&gt;
The rebuilding stage begins by calculating the ranges of the adding and removing node regions, respectively, in the difference list.  &lt;br /&gt;
&lt;br /&gt;
The current polygon list is double-buffered: the game allocates 2 separate regions of memory for holding 2 separate polygon buffers; at any given time, one of these lists-the ''active polygon list''-is the current polygon list, and the other list is the ''inactive polygon list''.&lt;br /&gt;
&lt;br /&gt;
At the start of the rebuilding stage, the ''current adding node'' and the ''current removing node'' are defined, respectively, as the first adding and removing nodes in the difference list. The ''current source point'' is then set to the beginning of [the list of polygon IDs in] the active/current polygon list, and the ''current insertion point'' is set to the beginning of [the list of polygon IDs in] the inactive display list. &lt;br /&gt;
&lt;br /&gt;
Until the current source point reaches the end of the current polygon list, the following steps are repeated: &lt;br /&gt;
# If neither the current adding node nor the current removing node reference the node at the current source point, all polygon IDs from the source point to the polygon ID at the ''nearest'' index (smallest)-either that referred to by the current adding node or the current removing node-are copied to the inactive polygon list at the current insertion point. &lt;br /&gt;
# The current insertion point is then moved to the end of the polygon IDs that were copied ''to'' the inactive polygon list, and the current source point is moved to the end of the corresponding polygon IDs that were copied ''from'' [in] the active polygon list.    &lt;br /&gt;
#* If the current adding node refers to the polygon ID at the nearest index (at the current source point), then ''that'' node is processed, effectively ''appending'' additional polygon IDs to the inactive polygon list at the current insertion point; the current insertion point is then moved to the end of the appended polygon IDs, and the current adding node is updated to the next adding node in the difference list.  &lt;br /&gt;
#* If the current removing node refers to the polygon ID at the nearest index (at the current source point), then ''that'' node is processed, effectively ''skipping'' a number of polygon IDs by moving the source point ahead; the current removing node is then updated to the next removing node in the difference list.  &lt;br /&gt;
#* If the current removing node and the current adding node both refer to [a polygon ID at] the same index, then both are processed as described above and updated to the next nodes in their respective regions. &lt;br /&gt;
&lt;br /&gt;
=== Additional Notes ===&lt;br /&gt;
Note that, during a retrogression, adding nodes are processed as removing nodes and removing nodes are processed as adding nodes. Thus, ''the adding node region becomes the removing node region ''and'' vice-versa''. The difference lists are said to encode the changes from the first source/target polygon list to the last source/target polygon list progressively and retrogressively. Assuming the camera starts at the path's first/entrance/initial [progress] point, when progressing along the path to a new progress, some polygons at the initial progress that were not visible/off screen will become visible/on screen at the new progress and vice versa. After reaching the new progress, if the camera then retrogresses back to the initial progress, the ''same'' polygons that were added/that previously became visible should be removed, thus returning to their initial state of visibility (not visible), and the ''same'' polygons that were removed/that previously became off screen (not visible) should be added, thus returning to their initial visible, on screen state.  &lt;br /&gt;
&lt;br /&gt;
The same correlation can be made between a change in obstruction between polygons and a swap of their polygon IDs during a progression or retrogression. Given any 2 polygons such that one appears behind and then in front of the other (or vice versa), respectively, before and after a progression, they are the same 2 polygons such that one appears in front of and then behind the other (or vice versa) before and after a countering retrogression. Thus, whether during a progression or retrogression, a swapping node is processed as a swap between the 2 respective polygon IDs at the same 2 specified indices-that is, the same swap operation between the same 2 polygons is performed in either case. Note that, while a change in sort order via swap is equivalent to its counteractive operation, and thus the same swap operation is decoded for both progression and retrogression, a change in visibility via add is not equivalent to the counteractive remove and vice-versa, hence the differing decoding process from progression to retrogression and vice-versa for adding/removing nodes.  &lt;br /&gt;
&lt;br /&gt;
The usage of forward slash in ''source/target list'' indicates that, neither the first nor the last list in a Type 4 entry are strictly a source or target list. When entering a path at its entrance point (progress 0), if the camera continues to progress along the path, the source list = the first list (copied as the active polygon list) should ultimately reach the form of the target list = the last list, lists being the lists in the corresponding Type 4 entry. When entering a path at its exit point (progress ''n''), if the camera continues to retrogress back to the beginning of the path, the source list = the last list (copied as the active polygon list) should ultimately reach the form of the target list = the first list. &lt;br /&gt;
&lt;br /&gt;
=== Conclusion ===&lt;br /&gt;
The decoding process will have accomplished creating a modified version of the active polygon list in the inactive polygon list, using the encoded difference list. The inactive polygon list is finally swapped with the active/current polygon list, thus redefining the current polygon list as the modified list. &lt;br /&gt;
&lt;br /&gt;
During world model primitive creation and transformation, for each polygon ID in the current polygon list ''from the end to the beginning'', a representative 3-point polygon primitive is created (using the vertex data for the polygon with that ID, in one of the 8 current zone world models) and transformed accordingly; for each primitive created, its &amp;lt;code&amp;gt;tag&amp;lt;/code&amp;gt; field is pointed to the representative primitive for the previous polygon [ID] in the list (when it is created). This creates a linked list of primitives starting with that created for the last polygon and ending with that created for the first. Since the polygon list sorts IDs by depth of their corresponding polygons, the primitive linked list sorts their corresponding primitives [by depth] from ''back to front''. During the rendering stage, the GPU then steps through this list, rendering each polygon primitive in the appropriately specified order from back to front.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* https://news.ycombinator.com/item?id=9277569 - brief write-up on the sort lists&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Paging_and_Subsystem_Initialization&amp;diff=175</id>
		<title>Paging and Subsystem Initialization</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Paging_and_Subsystem_Initialization&amp;diff=175"/>
		<updated>2019-04-27T17:44:38Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 8 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the Crash games, Paging and Subsystem Initialization is the process of readying the system to transfer (page) game content from a specified NSF file on disc into main memory. Using the NSF file's paired NSD file or index, the process occupies a structure with all the information needed to effectively page its content.&lt;br /&gt;
&lt;br /&gt;
== Routine Location ==&lt;br /&gt;
The Paging and Subsystem Initialization routine is located at the following addresses in each of the Crash games:&lt;br /&gt;
* Crash 1 - 0x15B58&lt;br /&gt;
&lt;br /&gt;
== Paging System Structure ==&lt;br /&gt;
The Paging and Subsystem Initialization routine requires as its second argument a pointer to the resultant 'paging system structure'. As a result of the routine's execution, this structure is occupied with all the information needed to effectively page content from an NSF file. (The NSF file used is that of the level with ID specified in the first argument to the routine.)&lt;br /&gt;
&lt;br /&gt;
=== Crash 1 ===&lt;br /&gt;
In Crash 1, a pointer to the 'global paging system structure'-located at &amp;lt;code&amp;gt;0x5C528-&amp;lt;/code&amp;gt;is passed as the second argument in each call to the Paging and Subsystem Initialization routine.&lt;br /&gt;
&lt;br /&gt;
==== Format ====&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
==== Structure ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
struct pagingsystem&lt;br /&gt;
{&lt;br /&gt;
  bool inited;                     // 0x5C528&lt;br /&gt;
  unsigned long levelid;           // 0x5C52C&lt;br /&gt;
  void **entryhashindices;         // 0x5C530&lt;br /&gt;
  struct hashpair *entryhash;      // 0x5C534&lt;br /&gt;
  unsigned long ???;               // 0x5C538&lt;br /&gt;
  void *levelheader;               // 0x5C53C&lt;br /&gt;
  struct NSD *NSD;                 // 0x5C540&lt;br /&gt;
  unsigned long ???;               // 0x5C544&lt;br /&gt;
  unsigned long NSFlocation;       // 0x5C548&lt;br /&gt;
  unsigned long flag;              // 0x5C54C&lt;br /&gt;
  unsigned long physicalpagecount; // 0x5C550&lt;br /&gt;
  struct page physicalpages[22];   // 0x5C554&lt;br /&gt;
  unsigned long virtualpagecount;  // 0x5C91C&lt;br /&gt;
  struct page virtualpages[38];    // 0x5C920&lt;br /&gt;
  unsigned long pagecount;         // 0x5CFA8&lt;br /&gt;
  struct page *currentlypaging;    // 0x5CFAC&lt;br /&gt;
  void *itemlist;                  // 0x5CFB0&lt;br /&gt;
  struct page *mostrecent8;        // 0x5CFB4&lt;br /&gt;
  unsigned long CIDpaging;         // 0x5CFB8&lt;br /&gt;
  struct page **pagemap;           // 0x5CFBC&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Operation ==&lt;br /&gt;
The &amp;lt;code&amp;gt;inited&amp;lt;/code&amp;gt; flag is first checked to determine whether the paging system has previously been initialized (by this routine). If so, a success code is returned, for the paging system has already been successfully initialized. If not, the routine proceeds to initialize the paging system.&lt;br /&gt;
&lt;br /&gt;
=== Locate and Load NSD file ===&lt;br /&gt;
At this point, a string for the specified level id's corresponding NSD filename is constructed by concatenating &amp;quot;S00000&amp;quot;, the level id, and &amp;quot;.NSD&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A filesystem map exists, which maps NSD files, indexed by level id, to their corresponding sector position and file size on disc; this map has been created by the hardware initialization routine. The level id is used as an index into this table and the malloc routine is used to allocate space of the corresponding file size. The system then begins reading from disc at the corresponding sector position to the newly allocated space. A pointer to this data is saved in the &amp;lt;code&amp;gt;NSD&amp;lt;/code&amp;gt; field of the paging system structure.&lt;br /&gt;
&lt;br /&gt;
=== Record Entry Hash Pointers  ===&lt;br /&gt;
With the NSD contents in main memory, pointers to its &amp;lt;code&amp;gt;entryhashoffsets&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;entryhash&amp;lt;/code&amp;gt; arrays, respectively, are recorded in &amp;lt;code&amp;gt;entryhashbuckets&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;entryhash&amp;lt;/code&amp;gt; of the paging system structure.&lt;br /&gt;
&lt;br /&gt;
=== Record Level Header Pointer ===&lt;br /&gt;
At this point, a pointer to the NSD's &amp;lt;code&amp;gt;levelheader&amp;lt;/code&amp;gt; must also be calculated since the preceding block of data in the file structure (i.e. the entry hash table) is of variable size. This pointer is calculated by adding the size of the entry hash table (&amp;lt;code&amp;gt;entryhashcount&amp;lt;/code&amp;gt;) to its location (&amp;lt;code&amp;gt;entryhash&amp;lt;/code&amp;gt;), and stored in &amp;lt;code&amp;gt;levelheader&amp;lt;/code&amp;gt; of the paging system structure. [calculated without pointer arithmetic this is entryhash+(8*entryhashcount)]. The NSD's &amp;lt;code&amp;gt;levelheader&amp;lt;/code&amp;gt; is a structure that specifies its corresponding level ID, the EID of the level's first zone(T7) entry and the index of the first camera path in that zone, an unknown value, and &amp;lt;code&amp;gt;execeidmap&amp;lt;/code&amp;gt;-an array that maps object types to GOOL executable entries.&lt;br /&gt;
&lt;br /&gt;
=== Initialize Entry Hash Table ===&lt;br /&gt;
The &amp;lt;code&amp;gt;entryhash&amp;lt;/code&amp;gt; array, or entry hash table, is a list of key-value pairs. The &amp;lt;code&amp;gt;entryhashoffsets&amp;lt;/code&amp;gt; array is a list of relative offsets into the &amp;lt;code&amp;gt;entryhash&amp;lt;/code&amp;gt; array. Each offset locates the beginning (first pair) of a bucket in the open-addressing based entry hash table. At this point the routine calculates the corresponding absolute pointers by iterating through the 256 offset values and replacing them with &amp;lt;code&amp;gt;&amp;amp;entryhash[entryhashoffset[c]]&amp;lt;/code&amp;gt; (where c is an iterator). &amp;lt;code&amp;gt;entryhashbuckets&amp;lt;/code&amp;gt; of the paging system structure now refers to the updated array of pointers. &lt;br /&gt;
&lt;br /&gt;
[[File:Hash2-0.png|left|thumb|635x635px]]                 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The universe of keys in the entry hash table is composed of all possible EIDs [of entries] from the NSF file. Initially, each slot in the table pairs an EID (key) with the CID (value) of the chunk that contains the entry with that EID. Thus, the table initially associates each entry with its parent chunk.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Eventually, a request will be made to page an entry's content into main memory. Throughout the game, this is done by specifying the EID of an entry with desired content as the argument in a call to the entry paging routine. The entry paging routine ultimately pages the &amp;lt;i&amp;gt;chunk&amp;lt;/i&amp;gt; that contains the entry, rather than the entry alone. It accomplishes this by:&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;li&amp;gt;Calculating the EID's hash with the hash function: &amp;lt;code data-rte-washtml=&amp;quot;1&amp;quot;&amp;gt;(EID &amp;amp;lt;&amp;amp;lt; 15) &amp;amp;amp; 0xFF&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Using the hash as an index into the &amp;lt;code&amp;gt;entryhashbuckets&amp;lt;/code&amp;gt;&amp;amp;nbsp;pointer array to locate the associated bucket&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Starting the search for the pair with key &amp;lt;code&amp;gt;EID&amp;lt;/code&amp;gt; at the pointed index&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Obtaining the accompanying &amp;lt;code&amp;gt;CID&amp;lt;/code&amp;gt; value for the pair upon finding a match&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Using the NSD to determine the sector position and/or size of the chunk with that CID&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Reading from disc at the corresponding sector position to a free page    &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;With the chunk contents in main memory, the entry paging routine then locates the requested entry [within the chunk data] and returns a pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Record NSF Location ===&lt;br /&gt;
At this point the level id is used as an index into the filesystem map at &amp;lt;code&amp;gt;0x5E03C&amp;lt;/code&amp;gt; to determine the sector location of the current NSF file, and this is recorded in &amp;lt;code&amp;gt;NSFlocation&amp;lt;/code&amp;gt; of the paging system structure.&lt;br /&gt;
&lt;br /&gt;
=== Initialize Page Map ===&lt;br /&gt;
At this point, space is allocated for &amp;lt;code&amp;gt;chunkcount&amp;lt;/code&amp;gt; pointers to page structures with malloc, and a pointer to the newly allocated space is stored in &amp;lt;code&amp;gt;pagemap&amp;lt;/code&amp;gt; of the paging system structure. Each of these pointers is then initialized with the value &amp;lt;code&amp;gt;0xFFFFFFEE&amp;lt;/code&amp;gt;, a constant identified as the ''null page pointer''. The page map, indexed by index of chunks in the NSF file (chunk index = &amp;lt;code&amp;gt;(CID &amp;gt;&amp;gt; 1)&amp;lt;/code&amp;gt;), will eventually be used to map chunks to their associated page structures (once created.) &lt;br /&gt;
&lt;br /&gt;
=== Initialize Subsystems ===&lt;br /&gt;
Next, the game's subsystems are initialized by iterating through the subsystem table and calling the &amp;lt;code&amp;gt;init&amp;lt;/code&amp;gt; callback of each subsystem.&lt;br /&gt;
&lt;br /&gt;
=== Allocate Pages ===&lt;br /&gt;
A physical page of memory is 64kb (0x10000 bytes) in size. At this point, the routine attempts to allocate space for at most 22 physical pages (22 x 0x10000 bytes) of memory-if there is not enough space then it continues to try for 21 pages, 20, and so on. The total number of physical pages allocated is then stored in &amp;lt;code&amp;gt;physicalpagecount&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Initialize Pages ===&lt;br /&gt;
&lt;br /&gt;
==== Physical Pages ====&lt;br /&gt;
The routine then initializes &amp;lt;code&amp;gt;physicalpagecount&amp;lt;/code&amp;gt; of the reserved/statically allocated physical page structures (i.e. &amp;lt;code&amp;gt;physicalpages&amp;lt;/code&amp;gt;) in the paging system structure. For each of the &amp;lt;code&amp;gt;physicalpagecount&amp;lt;/code&amp;gt; structures, the &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; field is pointed to its own successively contiguous 64kb physical page of memory from the block allocated. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;Each physical page structure now refers to its own 64kb physical page of memory, and each referenced physical page will eventually be used to contain a 64kb chunk for paging in from the NSF file. &lt;br /&gt;
&lt;br /&gt;
In addition to determining the location of the physical page for the &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; field, initialization for each physical page structure also involves appropriately initializing the &amp;lt;code&amp;gt;state&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;rw&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;requests&amp;lt;/code&amp;gt; fields: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;state&amp;lt;/code&amp;gt; is set to 1; this is the initial state for the page structure and indicates that its page is a clean, blank slate page.&lt;br /&gt;
* &amp;lt;code&amp;gt;rw&amp;lt;/code&amp;gt; is set to 1; this indicates some sort of page replacement mode&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt; is set to the index of the physical page allocated to the page structure&lt;br /&gt;
* &amp;lt;code&amp;gt;requests&amp;lt;/code&amp;gt; is set to 0; this indicates the number of unprocessed requests to read from the structure's page&lt;br /&gt;
&lt;br /&gt;
==== Virtual Pages (?) ====&lt;br /&gt;
The routine then sets &amp;lt;code&amp;gt;virtualpagecount&amp;lt;/code&amp;gt; to 38, and initializes all 38 reserved virtual page structures (&amp;lt;code&amp;gt;virtualpages&amp;lt;/code&amp;gt;) in the paging system structure. These are initialized differently from physical page structures: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; is set to 0; this indicates that the page structure does not reference a physical page of memory and consequently describes a virtual page &lt;br /&gt;
* &amp;lt;code&amp;gt;rw&amp;lt;/code&amp;gt; is set to 0; this indicates some sort of page replacement mode and is different for virtual pages&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt; is set to 0; this field is unused and therefore zeroed because the index of a physical page is irrelevant when no physical page has been allocated for this (virtual) page&lt;br /&gt;
&lt;br /&gt;
=== Print Debug Message ===&lt;br /&gt;
When all pages have been allocated and initialized, the game writes to standard output a confirmation message with the number of physical pages allocated, i.e. &amp;lt;code&amp;gt;printf(&amp;quot;Inited and Allocated %d pages\n&amp;quot;, NSD.physicalpagecount);&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Initialize Texture and Wavebank Page Structures ===&lt;br /&gt;
At this point the game initializes 16 texture page structures and 8 wavebank page structures. These differ from normal physical page structures in that the memory they reference is located in video or sound hardware.&lt;br /&gt;
&lt;br /&gt;
This section is TBD.&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Object&amp;diff=166</id>
		<title>Object</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Object&amp;diff=166"/>
		<updated>2019-04-27T17:44:38Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 5 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In technical terms, an Object is an instance of a GOOL executable. From the player's point of view, it is an in-game entity with specific appearance, behavior, location, state, and a variety of other characteristics. For each frame, or approximately every 1/60th of a second of gameplay, an object's executable bytecode is interpreted by the GOOL interpreter. This bytecode instructs the interpreter to perform a specific sequence of operations that will ultimately render the object according to its changing characteristics. As a result, the player observes a lively, animated, and interactive enemy, box, collectible item, or whatever other kind of in-game object it may be.&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
When the game wishes to create an object, it first specifies a source GOOL executable, and an object is created as an instance of that executable-much like how a process is created in relation to its source executable in an operating system. Probably the most important part of a GOOL executable is its compiled GOOL bytecode; the compiled GOOL bytecode of an executable that any given object is an instance of-or more simply the bytecode for that object-will be 'interpreted' by the GOOL bytecode interpreter routine. The GOOL bytecode interpreter routine will then operate according to the instructions it sees in the bytecode for that object.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
=== Crash 1 ===&lt;br /&gt;
All objects in Crash 1, with the exception of the player object, are 604 (0x25C) bytes in size. The player object, 860 (0x35C) bytes in size, includes an additional 0x100 bytes of object memory to account for the higher number of activation records and local 'registers' created by its lengthier, more complex code.&lt;br /&gt;
&lt;br /&gt;
==== Free and Existing Objects ====&lt;br /&gt;
Free Objects have a header value of 0. They are placed into a 'free object pool' until the game requests to create or spawn them into existence.&lt;br /&gt;
&lt;br /&gt;
Existing Objects have a header value of 1. They are the actual objects 'in use' by the game and are created or spawned into existence from a free object.&lt;br /&gt;
&lt;br /&gt;
Both variations have the following format:&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Header&lt;br /&gt;
|4 bytes&lt;br /&gt;
|!=2&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Process Type&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Bounding Box x1&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Bounding Box y1&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|Bounding Box z1&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x14&lt;br /&gt;
|Bounding Box x2&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x18&lt;br /&gt;
|Bounding Box y2&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x1C&lt;br /&gt;
|Bounding Box z2&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x20&lt;br /&gt;
|Source GOOL Executable&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x24&lt;br /&gt;
|External GOOL Executable&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x28&lt;br /&gt;
|Parent Zone&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2C&lt;br /&gt;
|State&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x30&lt;br /&gt;
|Light Source Matrix L11&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x32&lt;br /&gt;
|Light Source Matrix L12&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x34&lt;br /&gt;
|Light Source Matrix L13&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x36&lt;br /&gt;
|Light Source Matrix L21&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x38&lt;br /&gt;
|Light Source Matrix L22&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x3A&lt;br /&gt;
|Light Source Matrix L23&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x3C&lt;br /&gt;
|Light Source Matrix L31&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x3E&lt;br /&gt;
|Light Source Matrix L32&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x40&lt;br /&gt;
|Light Source Matrix L33&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x42&lt;br /&gt;
|Background Color R&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x44&lt;br /&gt;
|Background Color G&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x46&lt;br /&gt;
|Background Color B&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x48&lt;br /&gt;
|Light Color Matrix LR1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4A&lt;br /&gt;
|Light Color Matrix LR2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4C&lt;br /&gt;
|Light Color Matrix LR3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4E&lt;br /&gt;
|Light Color Matrix LG1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x50&lt;br /&gt;
|Light Color Matrix LG2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x52&lt;br /&gt;
|Light Color Matrix LG3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x54&lt;br /&gt;
|Light Color Matrix LB1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x56&lt;br /&gt;
|Light Color Matrix LB2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x58&lt;br /&gt;
|Light Color Matrix LB3&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x5A&lt;br /&gt;
|Background Color Intensity R&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x5C&lt;br /&gt;
|Background Color Intensity G&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x5E&lt;br /&gt;
|Background Color Intensity B&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x60&lt;br /&gt;
|Self Link&lt;br /&gt;
|4 bytes&lt;br /&gt;
|this&lt;br /&gt;
|-&lt;br /&gt;
|0x64&lt;br /&gt;
|Parent&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x68&lt;br /&gt;
|Sibling&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x6C&lt;br /&gt;
|Children (head child)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x70&lt;br /&gt;
|Creator&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x74&lt;br /&gt;
|Player&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x78&lt;br /&gt;
|Collider&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x7C&lt;br /&gt;
|Interrupter&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x80&lt;br /&gt;
|Trans x&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x84&lt;br /&gt;
|Trans y&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x88&lt;br /&gt;
|Trans z&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8C&lt;br /&gt;
|Rotation y&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x90&lt;br /&gt;
|Rotation x&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x94&lt;br /&gt;
|Rotation z&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x98&lt;br /&gt;
|Scale x&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x9C&lt;br /&gt;
|Scale y&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xA0&lt;br /&gt;
|Scale z&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xA4&lt;br /&gt;
|Velocity x&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xA8&lt;br /&gt;
|Velocity y&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xAC&lt;br /&gt;
|Velocity z&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xB0&lt;br /&gt;
|Target Rotation y&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xB4&lt;br /&gt;
|Target Rotation x&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xB8&lt;br /&gt;
|Target Rotation z&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xBC&lt;br /&gt;
|Mode Flags A&lt;br /&gt;
or Angular Velocity y&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC0&lt;br /&gt;
|Mode Flags B&lt;br /&gt;
or Angular Velocity x&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC4&lt;br /&gt;
|Mode Flags C&lt;br /&gt;
or Angular Velocity z&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC8&lt;br /&gt;
|Status Flags A&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xCC&lt;br /&gt;
|Status Flags B&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xD0&lt;br /&gt;
|Status Flags C&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xD4&lt;br /&gt;
|Subtype/Initial State&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xD8&lt;br /&gt;
|ID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xDC&lt;br /&gt;
|Stack Pointer&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xE0&lt;br /&gt;
|Program Counter (ins. pointer)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xE4&lt;br /&gt;
|Frame Pointer&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xE8&lt;br /&gt;
|Trans Block Program Counter&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xEC&lt;br /&gt;
|Event Block Program Counter&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xF0&lt;br /&gt;
|Head Block Program Counter&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xF4&lt;br /&gt;
|Various&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xF8&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xFC&lt;br /&gt;
|Frame Change Timestamp&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x100&lt;br /&gt;
|State Change Timestamp&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x104&lt;br /&gt;
|Animation Lag Counter&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x108&lt;br /&gt;
|Animation Sequence&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x10C&lt;br /&gt;
|Animation Frame&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x110&lt;br /&gt;
|Entity Spawned From&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x114&lt;br /&gt;
|Path Progress&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x118&lt;br /&gt;
|Path Length (point count)&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x11C&lt;br /&gt;
|Ground y&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x120&lt;br /&gt;
|State Flags&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x124&lt;br /&gt;
|Speed&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x128&lt;br /&gt;
|Display Mode&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x12C&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x130&lt;br /&gt;
|Timestamp of Most Recent Landing&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x134&lt;br /&gt;
|Velocity y at Most Recent Landing&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x138&lt;br /&gt;
|Z-Index&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x13C&lt;br /&gt;
|Event Received&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x140&lt;br /&gt;
|Camera Zoom Factor&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x144&lt;br /&gt;
|Target Rotation Angle YZ plane&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x148&lt;br /&gt;
|Collision Hot-Spot Clip Amount&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x14C&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x150&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x154&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x158&lt;br /&gt;
|Collision Node&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x15C&lt;br /&gt;
|Object Memory&lt;br /&gt;
|64 x 4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== List Handle Objects ===&lt;br /&gt;
List Handle Objects have a header value of 2. They are not actual objects and instead used only to point to the head object in a list of (children) objects. For this reason their structure contains only 2 fields: the object header and a pointer to the list head object.&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Header&lt;br /&gt;
|4 bytes&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Head Object of List&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
&lt;br /&gt;
=== Crash 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
struct object;&lt;br /&gt;
struct dbllink&lt;br /&gt;
{&lt;br /&gt;
  object *prev;&lt;br /&gt;
  object *next;&lt;br /&gt;
  unsigned long unk_8;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct object&lt;br /&gt;
{&lt;br /&gt;
  unsigned long header;&lt;br /&gt;
  union&lt;br /&gt;
  {&lt;br /&gt;
    unsigned long proctype;&lt;br /&gt;
    object *listchildren;&lt;br /&gt;
  };&lt;br /&gt;
  struct bound bound;&lt;br /&gt;
  entry *local;&lt;br /&gt;
  entry *external;&lt;br /&gt;
  entry *zone;&lt;br /&gt;
  unsigned long state;&lt;br /&gt;
  &lt;br /&gt;
  union { struct slightmatrix colors;&lt;br /&gt;
  struct slightmatrix lightmatrix; };&lt;br /&gt;
  struct scolor color;&lt;br /&gt;
  struct scolormatrix colormatrix;&lt;br /&gt;
  struct scolor intensity;&lt;br /&gt;
  &lt;br /&gt;
  object *self;&lt;br /&gt;
  object *parent;&lt;br /&gt;
  object *sibling;&lt;br /&gt;
  object *children;&lt;br /&gt;
  object *creator;&lt;br /&gt;
  object *player;&lt;br /&gt;
  object *collider;&lt;br /&gt;
  object *interrupter;&lt;br /&gt;
  &lt;br /&gt;
  union { struct vector vectors;&lt;br /&gt;
  struct vector trans; };&lt;br /&gt;
  struct angle rot;        &lt;br /&gt;
  struct vector scale;     &lt;br /&gt;
  union&lt;br /&gt;
  {&lt;br /&gt;
    struct vector velocity;&lt;br /&gt;
    struct dbllink link;&lt;br /&gt;
  };&lt;br /&gt;
  struct angle targetrot;  &lt;br /&gt;
  union&lt;br /&gt;
  {  &lt;br /&gt;
    struct angle angvelocity;     &lt;br /&gt;
    struct&lt;br /&gt;
    {&lt;br /&gt;
      unsigned long modeflagsa;&lt;br /&gt;
      unsigned long modeflagsb;&lt;br /&gt;
      unsigned long modeflagsc;&lt;br /&gt;
    };&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  unsigned long statusa;       &lt;br /&gt;
  unsigned long statusb;       &lt;br /&gt;
  unsigned long statusc;       &lt;br /&gt;
  unsigned long subtype;         &lt;br /&gt;
  unsigned long id;           &lt;br /&gt;
  unsigned long *sp;    &lt;br /&gt;
  unsigned long *pc;    &lt;br /&gt;
  unsigned long *fp;    &lt;br /&gt;
  unsigned long *pctrans;&lt;br /&gt;
  unsigned long *pcevent;&lt;br /&gt;
  unsigned long *pchead;&lt;br /&gt;
  union&lt;br /&gt;
  {&lt;br /&gt;
    unsigned long misc_flag;&lt;br /&gt;
    object *misc_child;&lt;br /&gt;
    entry *misc_entry;&lt;br /&gt;
    unsigned long misc_memcard;&lt;br /&gt;
  };&lt;br /&gt;
  unsigned long unk_F8;&lt;br /&gt;
  unsigned long stampanim;&lt;br /&gt;
  unsigned long stampstate;&lt;br /&gt;
  unsigned long animcounter;&lt;br /&gt;
  unsigned long *animseq;&lt;br /&gt;
  unsigned long animframe;&lt;br /&gt;
  &lt;br /&gt;
  unsigned char *entity;&lt;br /&gt;
  signed long pathprogress;&lt;br /&gt;
  unsigned long pathcount;&lt;br /&gt;
  signed long groundy;&lt;br /&gt;
  unsigned long stateflags;&lt;br /&gt;
  signed long speed;&lt;br /&gt;
  unsigned long displaymode;&lt;br /&gt;
  unsigned long unk_12C;&lt;br /&gt;
  unsigned long stampland; &lt;br /&gt;
  signed long landyvel;    &lt;br /&gt;
  unsigned long zindex;    &lt;br /&gt;
  unsigned long event;     &lt;br /&gt;
  signed long camzoom;     &lt;br /&gt;
  unsigned long approachyz;&lt;br /&gt;
  signed long hotspotclip; &lt;br /&gt;
  signed long unk_14C;&lt;br /&gt;
  unsigned long unk_150;  &lt;br /&gt;
  unsigned long unk_154;&lt;br /&gt;
  signed long node;&lt;br /&gt;
  unsigned long memory[0x40];&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Field Information ==&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
The header field determines whether the object is free, existing, or a list handle:&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Free Object&lt;br /&gt;
|An empty or previously terminated object that doesn't actually exist in the game. It has been placed into a 'free object pool' until created or spawned into existence.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Existing Object&lt;br /&gt;
|An actual object 'in use' by the game and created or spawned into existence from a free object.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|List Handle Object&lt;br /&gt;
|Not an actual object; used only to point to the head object in a list of (children) objects.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Process Type or List Head ===&lt;br /&gt;
* When the object is a List Handle, this field points to the head object in its referenced list. &lt;br /&gt;
* When the object is ''not'' a List Handle, this field is set to 3 after it is successfully created or spawned.&lt;br /&gt;
** note: after successful spawning, this field is actually set to the source entity's &amp;lt;code&amp;gt;proctype&amp;lt;/code&amp;gt;. However, all entities appear to have a &amp;lt;code&amp;gt;proctype&amp;lt;/code&amp;gt; of 3 (not confirmed**).&lt;br /&gt;
&lt;br /&gt;
=== Bounding Box ===&lt;br /&gt;
An object's bounding box specifies the rectangular region of 3-dimensional space which it occupies. It encompasses the geometry rendered for the object's current frame of animation. It is specified by the 3-dimensional fixed-point coordinates of its upper left and lower right points relative to the object's location (which is typically positioned at the center point of the object's animation frame model), and is recalculated for each change in frame of animation. &lt;br /&gt;
&lt;br /&gt;
Fields at offsets 0x8, 0xC, and 0x10, respectively, specify the relative x, y, and z coordinates of the object's upper left bounding box point. Fields at offsets 0x14, 0x18, and 0x1C, respectively, specify the relative x, y, and z coordinates of the object's lower right bounding box point.&lt;br /&gt;
&lt;br /&gt;
=== Other fields... ===&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Status Flags A ===&lt;br /&gt;
This field is the first bitfield in a sequence of 3 ''object status flag'' bitfields&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
		!Bit&lt;br /&gt;
!Indication/Purpose&lt;br /&gt;
!Additional&lt;br /&gt;
|-&lt;br /&gt;
			|1&lt;br /&gt;
			| object has been stopped by solid ground&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|2&lt;br /&gt;
			| ?&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|3&lt;br /&gt;
			|0 = object is progressing forward along its path&lt;br /&gt;
&lt;br /&gt;
1 = object is progressing backward along its path&lt;br /&gt;
			|path travelling objects only&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|4&lt;br /&gt;
			|0 = object was rotating counter-clockwise&lt;br /&gt;
&lt;br /&gt;
1 = object was rotating clockwise&lt;br /&gt;
			|rotating objects only&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|5&lt;br /&gt;
			| object is transitioning from travelling forward to backward/vice versa along its path&lt;br /&gt;
			|path travelling objects only&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|6&lt;br /&gt;
			| object has changed animation [i.e. first frame of animation]         &lt;br /&gt;
			|state change also assumes change in animation by setting this&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|7&lt;br /&gt;
			|?&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|8&lt;br /&gt;
			| object has been hit from the bottom &lt;br /&gt;
			| set when collision check does not pass?&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|9&lt;br /&gt;
			| object is moving and not stopped by a wall&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|10&lt;br /&gt;
			| overrides the effect of displacement caused when bits 7 and 16 of status flags b are set, allowing the object to remain stationary &lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|11&lt;br /&gt;
			| set when colliding with an octree node and it triggers event&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|12&lt;br /&gt;
			| cleared when spinning or changing direction, reset by sub_243A0&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|13&lt;br /&gt;
			| object has a collider [collider = object that collides with the object's bound volume, specifically after it is clipped of hotspotclip units from each of its faces]&lt;br /&gt;
			|this bit tested by an object's GOOL code to determine whether another object [i.e. crash] collides with it, so it can send the 'kill' event (0x300)&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|14&lt;br /&gt;
			| object is hitting a bounce box (for setting a higher acceleration)&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|15&lt;br /&gt;
			| set when bouncing on and breaking a box?&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|16&lt;br /&gt;
			| object's bounding box needs recalculating&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|17&lt;br /&gt;
			| ?&lt;br /&gt;
			|recipient process sets this bit when sent event 'crushed by boulder (and ?)' (0x1800, 0x1900)&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|18&lt;br /&gt;
			| object has changed state&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|19&lt;br /&gt;
			| object is on the ground&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|20&lt;br /&gt;
			| ?&lt;br /&gt;
			|boxes set this at the end of their init routine&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|21&lt;br /&gt;
			| set right after bounce from box/enemy?&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|22&lt;br /&gt;
			| object is a solid object (or supported by a solid object?) &lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|23 to 32&lt;br /&gt;
			| ?&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Status Flags B ===&lt;br /&gt;
This field is the second bitfield in a sequence of 3 ''object status flag'' bitfields&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
		!Bit&lt;br /&gt;
!Indication/Purpose&lt;br /&gt;
!Additional&lt;br /&gt;
|-&lt;br /&gt;
			|1 &lt;br /&gt;
			| object rotates in XZ plane based on target rot angle (cleared during spin?) &lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|2 &lt;br /&gt;
			| object rotates in XZ plane and approaches the opposite direction when travelling backwards along its path (i.e. spins 180 degrees when reaching either end of its path)&lt;br /&gt;
			|for path travelling objects;&lt;br /&gt;
bit 3 must be set for this to take effect&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|3 &lt;br /&gt;
			| auto rotate mode&lt;br /&gt;
0 = auto banking along curves is outward&lt;br /&gt;
&lt;br /&gt;
1 = a) auto banking along curves is inward&lt;br /&gt;
&lt;br /&gt;
b) object rotates in XZ plane to face the direction of its path (if bit 2 is set,               the object will additionally 'reverse' this direction when travelling its path             backwards)&lt;br /&gt;
			|path curve auto banking does not take effect unless bit 12 is set&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|4 &lt;br /&gt;
			| 0 = object position is only affected by velocity&lt;br /&gt;
1 = object is stopped by solid surfaces: floor, ceiling, walls, and tops/bottoms and sides of solid objects&lt;br /&gt;
			|**NOTE: see bit 7&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|5 &lt;br /&gt;
			| object is collide-able (records space occupied by object and pointer to object in a pair during this frame) &lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|6 &lt;br /&gt;
			| object y velocity is affected by gravity&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|7 &lt;br /&gt;
			| object displacement is handled by the physics engine:&lt;br /&gt;
'''if bit 4 = 0''': displacement is handled by only adding velocity to location (ex. of this is when enemies are killed and spun off into the distance); effect of this may be overridden if bit 10 of status flags a is set and object assumes the ground is at its initial y location (see bit 16)&lt;br /&gt;
&lt;br /&gt;
'''if bit 4 = 1''': displacement is handled with the main collision routine (Crash object is the only object to ever have bit 4 set)&lt;br /&gt;
			|bit 7 also allows bit 13, 15, and 16 to take effect&lt;br /&gt;
&lt;br /&gt;
when bit 7 is clear, object displacement should be handled manually by the object's GOOL code&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|8 &lt;br /&gt;
			| object [speed, velocity, and angular velocity] is controlled with the controller&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|9 &lt;br /&gt;
			| object does not render&lt;br /&gt;
			|ex. HUD offscreen, dying in water&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|10 &lt;br /&gt;
			| object is 2 dimensional&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|11 &lt;br /&gt;
			| text object has a backdrop &lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|12 &lt;br /&gt;
			| object auto banks along path curves&lt;br /&gt;
			|path travelling objects only&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|13 &lt;br /&gt;
			| object has air resistance? (causes angvelocity to act as a velocity cap on both pos and neg velocities of its [absolute] value)&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|14 &lt;br /&gt;
			| object rotates in YZ plane to approach its target rot angle&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|15 &lt;br /&gt;
			| object treats XZ plane at Y given by field groundy as solid ground&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|16 &lt;br /&gt;
			| object assumes the ground is at, and field groundy is set to, its initial y location&lt;br /&gt;
			|NOTE: object is not effectively 'stopped' at the ground without bits 7 and 15 set&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|17 &lt;br /&gt;
			| object is solid at the sides&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|18 &lt;br /&gt;
			| object is solid at the top?&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|19 &lt;br /&gt;
			| disable frustum culling?&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|20 &lt;br /&gt;
			| object optionally rotates in XZ plane to approach its target rot angle&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|21 &lt;br /&gt;
			| object is shaded based on its parent zone, using the zone's color matrices&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|22&lt;br /&gt;
			|?&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|23 &lt;br /&gt;
			| overrides an initial test in determining the highest object below the source? adds an additional 0x19000 in ground offset calculation?&lt;br /&gt;
			|guess: stacked object&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|         24&lt;br /&gt;
			|?&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|25 &lt;br /&gt;
			| object can not be terminated &lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|26 &lt;br /&gt;
			| always display and animate object&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|27&lt;br /&gt;
			|?&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|28&lt;br /&gt;
			|?&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|29 &lt;br /&gt;
			| object waits a number of frames until its next animation change/code block burst: may take precedence over 'wait' value from most recent suspending frame primitive (i.e. GOOL ANIM operation)&lt;br /&gt;
			|also prevents the object from changing state&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|30&lt;br /&gt;
			|?&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|31&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|32  &lt;br /&gt;
			| object is solid at the bottom?&lt;br /&gt;
			|forces more elaborate screen culling check (based on object projected 2d area rather than projected 2d midpt)&lt;br /&gt;
		&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Memory_Map&amp;diff=142</id>
		<title>Memory Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Memory_Map&amp;diff=142"/>
		<updated>2019-04-27T17:44:37Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 4 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A memory map is essentially a table of associations between addresses in a binary executable and descriptions of the data and/or code they locate. &lt;br /&gt;
&lt;br /&gt;
== Crash 1 ==&lt;br /&gt;
Currently incomplete.&lt;br /&gt;
&lt;br /&gt;
=== Data ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;   	&lt;br /&gt;
		&lt;br /&gt;
			|-&lt;br /&gt;
			!Address&lt;br /&gt;
			!Description&lt;br /&gt;
			!Size&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |TEXT segment data&lt;br /&gt;
|-&lt;br /&gt;
|0x10000&lt;br /&gt;
|&amp;quot;\S%X\\S%07X.NSD&amp;quot; - NSD filename format string (uppercase) &lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10010&lt;br /&gt;
|&amp;quot;%s%ss%07x.nsd&amp;quot; - NSD filename format string (lowercase)&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10020&lt;br /&gt;
|&amp;quot;c:/src/willie/target/&amp;quot; - original codebase target directory string&lt;br /&gt;
|24 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10038&lt;br /&gt;
|&amp;quot;streams/&amp;quot; - streams directory string&lt;br /&gt;
|12 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10044&lt;br /&gt;
|&amp;quot;\S%X\\S%07X.NSF&amp;quot; - NSF filename format string (uppercase) &lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10054&lt;br /&gt;
|&amp;quot;%s%ss%07x.nsf&amp;quot; - NSF filename format string (lowercase)&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10064&lt;br /&gt;
|&amp;quot;Inited and Allocated %d pages\n&amp;quot; - paging initialization confirmation debug string&lt;br /&gt;
|20 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10084&lt;br /&gt;
|jumptables - see Code section&lt;br /&gt;
|144 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x102C0&lt;br /&gt;
|unknown number sequence&lt;br /&gt;
|24 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x102D8&lt;br /&gt;
|more jumptables - see Code section&lt;br /&gt;
|56 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x103B8&lt;br /&gt;
|&amp;quot;----stack pop\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x103C8&lt;br /&gt;
|&amp;quot;----stack push\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x103D8&lt;br /&gt;
|&amp;quot;-----ireg ref\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x103E8&lt;br /&gt;
|&amp;quot;-----null ref\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x103F8&lt;br /&gt;
|&amp;quot;-----sp-double ref\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|20 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x1040C&lt;br /&gt;
|&amp;quot;-----stack ref\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x1041C&lt;br /&gt;
|&amp;quot;-----var ref\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x1042C&lt;br /&gt;
|&amp;quot;-----frac ref\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x1043C&lt;br /&gt;
|&amp;quot;-----int ref\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x1044C&lt;br /&gt;
|&amp;quot;-----pool ref\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x1045C&lt;br /&gt;
|&amp;quot;-----reg ref\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x1046C&lt;br /&gt;
|&amp;quot;*************** gop %d\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|24 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10484&lt;br /&gt;
|&amp;quot;******************** return return %d\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|40 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x104AC&lt;br /&gt;
|&amp;quot;********************running pop\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|36 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x104D0&lt;br /&gt;
|&amp;quot;******************** state return %d\n&amp;quot; - GOOL interpreter debug string&lt;br /&gt;
|40 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x104F8&lt;br /&gt;
|more jumptables - see Code section&lt;br /&gt;
|600 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x10E58&lt;br /&gt;
|&amp;quot;Damaged slot&amp;quot; - memory card string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10E68&lt;br /&gt;
|&amp;quot;PART %d OF %d&amp;quot; - memory card string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10E78&lt;br /&gt;
|&amp;quot;%s%s%02d%06d&amp;quot; - memory card string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10E88&lt;br /&gt;
|&amp;quot;BASCUS-94900&amp;quot; - memory card string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10E98&lt;br /&gt;
|&amp;quot;file descriptor is %d\n&amp;quot; - memory card string&lt;br /&gt;
|24 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10EB0&lt;br /&gt;
|&amp;quot;Crash (%d%%)&amp;quot; - memory card string&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10EC0&lt;br /&gt;
|more jumptables - see Code section&lt;br /&gt;
|21 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x10F14&lt;br /&gt;
|&amp;quot;0123456789ABCDEF&amp;quot; - int to uppercase hex string conversion array&lt;br /&gt;
|20 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10F28&lt;br /&gt;
|&amp;quot;0123456789abcdef&amp;quot; - int to lowercase hex string conversion array&lt;br /&gt;
|20 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x10F3C&lt;br /&gt;
|more jumptables - see Code section&lt;br /&gt;
|45 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x10FF0&lt;br /&gt;
|GPU and CD-ROM debug strings&lt;br /&gt;
|1404 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x1156C&lt;br /&gt;
|more jumptables - see Code section&lt;br /&gt;
|5 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x11580&lt;br /&gt;
|more CD-ROM and SPU debug strings&lt;br /&gt;
|296 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x116A8&lt;br /&gt;
|more jumptables -see Code section&lt;br /&gt;
|32 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x11728&lt;br /&gt;
|SEP sequence debug strings&lt;br /&gt;
|60 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |CODE begins at 0x11764, ends at 0x514DC&lt;br /&gt;
|-&lt;br /&gt;
			|0x514DC&lt;br /&gt;
			| subsystem tables&lt;br /&gt;
			|21 x 28 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x51728&lt;br /&gt;
			| character table for EID decoding&lt;br /&gt;
			|64 x 1 byte&lt;br /&gt;
		|-&lt;br /&gt;
			|0x51768&lt;br /&gt;
			| zero vector     &lt;br /&gt;
			|3 x 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x51774&lt;br /&gt;
			| texture regions map &lt;br /&gt;
			|600 x 4 x 2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x52A34&lt;br /&gt;
			| pre-computed list of (x,y) byte pairs sorted by euclidean distance (for wall detection)&lt;br /&gt;
			|152 x 2 x 1 byte&lt;br /&gt;
		|-&lt;br /&gt;
			|0x52B64&lt;br /&gt;
			| structures describing player angle and displacement for each controller direction &lt;br /&gt;
			|16 x 3 x 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x52C24&lt;br /&gt;
			| structures describing player velocity for each state (on ground, in air, etc.)&lt;br /&gt;
			|8 x 4 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x52CA4&lt;br /&gt;
|used by GOOL VECB&lt;br /&gt;
|4 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
			|0x52CB4&lt;br /&gt;
			| percentages used to scale a monochromatic color for GOOL VECB subop. 1&lt;br /&gt;
			|12 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x52CE4&lt;br /&gt;
|?&lt;br /&gt;
|16 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
			|0x52CF4&lt;br /&gt;
			| circle bitmap (used for wall detection)&lt;br /&gt;
			|128 bytes (32x32 bits)&lt;br /&gt;
		|-&lt;br /&gt;
			|0x52D74&lt;br /&gt;
			| ? (referenced by sub_8002EC68 TBD)&lt;br /&gt;
			|84 x 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x52EC4&lt;br /&gt;
			| array 1 (unknown)&lt;br /&gt;
			|14 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x52EFC&lt;br /&gt;
|array 2 (unknown)&lt;br /&gt;
|10 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x52F24&lt;br /&gt;
|array 3 (unknown)&lt;br /&gt;
|11 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x52F50&lt;br /&gt;
|array 4 (unknown)&lt;br /&gt;
|11 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x52F88&lt;br /&gt;
|array 5 (unknown)&lt;br /&gt;
|19 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x52FD4&lt;br /&gt;
|array 6 (unknown)&lt;br /&gt;
|32 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x53054&lt;br /&gt;
|array of 6 pointers to the above arrays(referenced by sub_8002EC68 TBD)&lt;br /&gt;
|6 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
			|0x5306C&lt;br /&gt;
			| sin/cosine table&lt;br /&gt;
			|1042 x 2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x53890&lt;br /&gt;
			| reserved for various library (gpu and etc?) routines&lt;br /&gt;
			|4876 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|*0x54A20 &lt;br /&gt;
			| pointer for generating the current drawing primitive packet &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x54B9C&lt;br /&gt;
			| square root table&lt;br /&gt;
			|192 x 2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x54D1C&lt;br /&gt;
			| atan2 table&lt;br /&gt;
			|2052 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x55520&lt;br /&gt;
			| reserved for CD-ROM (and SPU?) routines &lt;br /&gt;
			|3804 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			| colspan=&amp;quot;3&amp;quot; |global variables&lt;br /&gt;
		|-&lt;br /&gt;
			|0x563FC: gp[0]     &lt;br /&gt;
			| ?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56400: gp[0x4]   &lt;br /&gt;
			| ?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
			|7 x 4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56420: gp[0x24]  &lt;br /&gt;
			| frame buffer destination X&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56422: gp[0x26]  &lt;br /&gt;
			| frame buffer destination Y&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56424: gp[0x28]  &lt;br /&gt;
			| frame buffer destination W (inited in binary with 0x100)&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56426: gp[0x2A]  &lt;br /&gt;
			| frame buffer destination H (inited in binary with 0x80)&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56428: gp[0x2C]  &lt;br /&gt;
			| quit game flag (will break game loop)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|5 x 4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56440: gp[0x44]  &lt;br /&gt;
			| depth cuing matrix used by sub_80019F90&lt;br /&gt;
			|32 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56460: gp[0x64]  &lt;br /&gt;
			| ??used by sub_2EC68  &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56464: gp[0x68]  &lt;br /&gt;
			| ??used by sub_2EC68&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56468: gp[0x6C]  &lt;br /&gt;
			| ??used by sub_2EC68&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5646C: gp[0x70]  &lt;br /&gt;
			| ??used by sub_2EC68&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56470: gp[0x74]  &lt;br /&gt;
			| ??used by sub_2EC68&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56474: gp[0x78]  &lt;br /&gt;
			| ??used by sub_2EBB4, also sub_19DE0 (wgeo transform routine variant)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56478: gp[0x7C]  &lt;br /&gt;
			| ??used by sub_2EBB4, also sub_19DE0 (wgeo transform routine variant)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5647C: gp[0x80]  &lt;br /&gt;
			| ??copied to stack and unused during path routine; inited with 0x80000000&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56480: gp[0x84]  &lt;br /&gt;
			| GOOL interpreter double buffer for const refs, pointer to scratch[0x40]&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56484: gp[0x88]  &lt;br /&gt;
			| index of active const buffer for gp[0x84]&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56488: gp[0x8C]  &lt;br /&gt;
			| GOOL interpreter double buffer for const refs (alt), pointer to scratch[0x40]&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5648C: gp[0x90]  &lt;br /&gt;
			| index of active const buffer for gp[0x8C]&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56490: gp[0x94]  &lt;br /&gt;
			| ? see LDAT postinit/253a0&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56494: gp[0x98]  &lt;br /&gt;
			| ? see LDAT postinit/253a0&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56498: gp[0x9C]  &lt;br /&gt;
			| &amp;quot;0b_pZ\0&amp;quot; string used by demo routine (extends to gp[0xA0])&lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x564A0: gp[0xA4]  &lt;br /&gt;
			| ? flag that prevents resetting the spawn lists when the level is restarted&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x564A4: gp[0xA8]  &lt;br /&gt;
			| amount of camera z trans due to 'lookback' (i.e. moving forward or backward)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x564A8: gp[0xAC]  &lt;br /&gt;
			| amount of camera z trans due to 'camzoom' of the nearest forward or backward camera path&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x564AC: gp[0xB0]  &lt;br /&gt;
			| flag for camera 'lookback' &lt;br /&gt;
0 = camera is zoomed in (as player moves forward)&lt;br /&gt;
&lt;br /&gt;
1 = camera is zoomed out (as player moves backward)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x564B0: gp[0xB4]  &lt;br /&gt;
			| flag for camera pan x&lt;br /&gt;
0 = camera is panned left (as player moves left)&lt;br /&gt;
&lt;br /&gt;
1 = camera is panned right (as player moves right)&lt;br /&gt;
			|&amp;lt;br&amp;gt;4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x564B4: gp[0xB8]  &lt;br /&gt;
			| amount of camera y trans due to 'camzoom' of the nearest upward or downward camera path&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x564B8: gp[0xBC]  &lt;br /&gt;
			| amount of camera x trans due to 'panx' (i.e. player moving left or right)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x564BC: gp[0xC0]  &lt;br /&gt;
			| ground offset (additional y distance from bottom of player, factored in determining its collision with solid underlying supportive octree nodes)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|2 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x564C8:&lt;br /&gt;
gp[0xCC]&lt;br /&gt;
|? used by sub_8002EC68&lt;br /&gt;
|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x564CC:&lt;br /&gt;
gp[0xD0]&lt;br /&gt;
|? used by sub_8002EC68&lt;br /&gt;
|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x564D0&lt;br /&gt;
gp[0xD4]&lt;br /&gt;
|&amp;quot;lt1rA&amp;quot; (audio entry EID?) string used by sub_8002EC68&lt;br /&gt;
|8 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x564D8:&lt;br /&gt;
gp[0xDC]&lt;br /&gt;
|?&lt;br /&gt;
|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
			|0x564DC: gp[0xE0]  &lt;br /&gt;
			| random seed (inited to 1)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x564E0: gp[0xE4]  &lt;br /&gt;
			| &amp;quot;CD001&amp;quot; string used by filesystem read routine (sub_8002F8C4)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x564E8&lt;br /&gt;
gp[0xEC]&lt;br /&gt;
			|&amp;quot;.&amp;quot; string used by filesystem read routine?&lt;br /&gt;
			|4 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x564EC&lt;br /&gt;
gp[0xF0]&lt;br /&gt;
|&amp;quot;..&amp;quot; string used by filesystem read routine?&lt;br /&gt;
|8 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x564E8&lt;br /&gt;
gp[0xF8]&lt;br /&gt;
|??&lt;br /&gt;
|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|...&lt;br /&gt;
|&lt;br /&gt;
|2 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
			|0x56500: gp[0x104] &lt;br /&gt;
			| ? see mdat initb (inited with 1)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56504: gp[0x108] &lt;br /&gt;
			| &amp;quot;0b_pz&amp;quot; string (EID string for game over screen/zone)&lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5650C: gp[0x110] &lt;br /&gt;
			| &amp;quot;0c_pz&amp;quot; string (EID string for main menu screen/zone)&lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56514: gp[0x118] &lt;br /&gt;
			| &amp;quot;0d_pz&amp;quot; string (EID string for Naughty Dog screen/zone) &lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5651C: gp[0x120] &lt;br /&gt;
			| &amp;quot;0e_pz&amp;quot; string (EID string for options/password/load game menu/zone)&lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56524: gp[0x128] &lt;br /&gt;
			| &amp;quot;0f_pz&amp;quot; string (EID string for 6th zone in map model)&lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5652C: gp[0x130] &lt;br /&gt;
			| &amp;quot;1e_pz&amp;quot; string (EID string for first island (before end) zone in map model)&lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56534: gp[0x138] &lt;br /&gt;
			| &amp;quot;1a_pz&amp;quot; string (EID string for first island (at end/native fortress) zone in map model)&lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5653C: gp[0x140] &lt;br /&gt;
			| &amp;quot;2b_pz&amp;quot; string (EID string for second island zone in map model)&lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56544: gp[0x148] &lt;br /&gt;
			| &amp;quot;3a_pz&amp;quot; string (EID string for third island zone in map model)&lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5654C: gp[0x150] &lt;br /&gt;
			| &amp;quot;0a_pz&amp;quot; string (EID string for Entertainment America &amp;amp; Universal Interactive Screens/zone)&lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56554: gp[0x158] &lt;br /&gt;
			| &amp;quot;%cMapP&amp;quot; EID string to grab the entries in sequence used for palette fading&lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5655C: gp[0x160] &lt;br /&gt;
			| &amp;quot;0MapP&amp;quot; EID string used to grab the first palette entry in sequence for a palette fade&lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56568:&lt;br /&gt;
gp[0x16C]&lt;br /&gt;
			|? inited with 1&lt;br /&gt;
			|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x5656C:&lt;br /&gt;
gp[0x170]&lt;br /&gt;
|? inited with -1&lt;br /&gt;
|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x56570:&lt;br /&gt;
gp[0x174]&lt;br /&gt;
|? inited with -1&lt;br /&gt;
|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x56574:&lt;br /&gt;
gp[0x178]&lt;br /&gt;
|&amp;quot;bu00:&amp;quot; string used by memory card routines&lt;br /&gt;
|8 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x5657C:&lt;br /&gt;
gp[0x180]&lt;br /&gt;
|&amp;quot;%s%s&amp;quot; string used by memory card routines&lt;br /&gt;
|8 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x56584:&lt;br /&gt;
gp[0x188]&lt;br /&gt;
|&amp;quot;*&amp;quot; string used by memory card routines&lt;br /&gt;
|4 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x56588&lt;br /&gt;
gp[0x18C]&lt;br /&gt;
|&amp;quot;EMPTY&amp;quot; string used by memory card routines&lt;br /&gt;
|8 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x56590&lt;br /&gt;
gp[0x194]&lt;br /&gt;
|&amp;quot;~inv!&amp;quot; string used by memory card routines&lt;br /&gt;
|8 x 1 byte&lt;br /&gt;
|-&lt;br /&gt;
|0x56598&lt;br /&gt;
gp[0x19C]&lt;br /&gt;
|_AllocRestBlockTop&lt;br /&gt;
|8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x565A0&lt;br /&gt;
gp[0x1A4]&lt;br /&gt;
|_AllocMaxBlockSize&lt;br /&gt;
|8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x565A8&lt;br /&gt;
gp[0x1AC]&lt;br /&gt;
|max_heap&lt;br /&gt;
|8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x565B0&lt;br /&gt;
gp[0x1B4]&lt;br /&gt;
|AllocAreaFlag&lt;br /&gt;
|8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|...&lt;br /&gt;
|&lt;br /&gt;
|3 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
			|0x565C0: gp[0x1C4] &lt;br /&gt;
			| camera speed/most recent change in camera path progress&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|6 x 4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x565DC: gp[0x1E0] &lt;br /&gt;
			| small slope flag?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|....&lt;br /&gt;
			|&lt;br /&gt;
			|34 x 4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56664: gp[0x268] &lt;br /&gt;
			| ? used by GOOL MSC&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|..&lt;br /&gt;
			|&lt;br /&gt;
			|4 x 4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56678: gp[0x27C] &lt;br /&gt;
			| ? see MDAT postinit&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|13 x 4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566AC: gp[0x2B0] &lt;br /&gt;
			| wall cache: points to scratch[0x180]&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0X566B0: gp[0x2B4] &lt;br /&gt;
			| EID of Crash GOOL executable entry&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566B4: gp[0x2B8] &lt;br /&gt;
			| Crash object&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566B8: gp[0x2BC] &lt;br /&gt;
			| SLST decoded buffer temp (used for swap)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566BC: gp[0x2C0] &lt;br /&gt;
			| SLST decoded back buffer (swapped with front buf, gp[0x304])&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566C4: gp[0x2C8] &lt;br /&gt;
			| event descriptor for '(software) memory card: end of i/o'&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566C8: gp[0x2CC] &lt;br /&gt;
			| event descriptor for '(software) memory card: error happened'&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566CC: gp[0x2D0] &lt;br /&gt;
			| event descriptor for '(software) memory card: timeout'&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566D0: gp[0x2D4] &lt;br /&gt;
			| event descriptor for '(software) memory card: new device'&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|3 x 4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566E0: gp[0x2E4] &lt;br /&gt;
			| points to memory allocated by MDAT; structure used by the title sequence&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566E4: gp[0x2E8] &lt;br /&gt;
			| ? zeroed at LDAT postinit &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566E8: gp[0x2EC] &lt;br /&gt;
			| ? zeroed at LDAT postinit&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566EC: gp[0x2F0] &lt;br /&gt;
			| event descriptor for '(hardware) memory card: end of i/o'&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566F0: gp[0x2F4] &lt;br /&gt;
			| event descriptor for '(hardware) memory card: error happened'&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566F4: gp[0x2F8] &lt;br /&gt;
			| wall map: points to scratch[0x100]&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566F8: gp[0x2FC] &lt;br /&gt;
			| event descriptor for '(hardware) memory card: timeout'&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x566FC: gp[0x300] &lt;br /&gt;
			| event descriptor for '(hardware) memory card: new device'&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56700: gp[0x304] &lt;br /&gt;
			| SLST decoded front buffer (swapped with back buf, gp[0x2C0])&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56704: gp[0x308] &lt;br /&gt;
			| some demo mode object?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56708: gp[0x30C]&lt;br /&gt;
			|?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5670C: gp[0x310] &lt;br /&gt;
			| points to scratch[0x380], circle bitmap is copied from 0x52CF4 to here during BINF init routine&lt;br /&gt;
			|4 bytes		&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56710 &lt;br /&gt;
			| current level ID&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56714 &lt;br /&gt;
			| next level ID (for changing levels)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|236 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |DATA segment&lt;br /&gt;
|-&lt;br /&gt;
|0x56800&lt;br /&gt;
|?&lt;br /&gt;
|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
			|0x56804 &lt;br /&gt;
			| structures describing SPU hardware voices&lt;br /&gt;
			|24 x 68 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x56E64&lt;br /&gt;
			|more unknown SPU stuff &lt;br /&gt;
			|472 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x5703C&lt;br /&gt;
|reserved by memory card routines&lt;br /&gt;
|24 bytes&lt;br /&gt;
|-&lt;br /&gt;
			|0x57054&lt;br /&gt;
			| reserved by controller routines&lt;br /&gt;
			|324 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x57198&lt;br /&gt;
|reserved by CD-ROM routines&lt;br /&gt;
|180 bytes&lt;br /&gt;
|-&lt;br /&gt;
			|0x5724C&lt;br /&gt;
			|reserved by SPU routines&lt;br /&gt;
			|20 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x5726C&lt;br /&gt;
|audio matrix?&lt;br /&gt;
|10 x 2 bytes&lt;br /&gt;
|-&lt;br /&gt;
			|0x57280&lt;br /&gt;
			| ? initially 0;&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57284&lt;br /&gt;
			| ? initially 0;&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57288&lt;br /&gt;
			| ? initially 0;&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5728C&lt;br /&gt;
			| 8 wavebank entry EIDs (last 5 are inited to null EID by hardware init routine)&lt;br /&gt;
			|8 x 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x572AC&lt;br /&gt;
			|reserved by SPU routines&lt;br /&gt;
			|1296 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x577BC&lt;br /&gt;
|reserved by malloc&lt;br /&gt;
|8 bytes&lt;br /&gt;
|-&lt;br /&gt;
			| colspan=&amp;quot;3&amp;quot; |***for hword matrices only first 9 hwords used, last 7 are padding for align to 32 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x577C4&lt;br /&gt;
			| viewpoint rotation matrix (including translation by viewpoint translation vector)&lt;br /&gt;
			|16 x 2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x577E4&lt;br /&gt;
			| viewpoint rotation matrix negated and scaled 5/8s for Y, negated for Z&lt;br /&gt;
			|16 x 2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57804&lt;br /&gt;
			| copy of 0x577E4 - 0x57804&lt;br /&gt;
			|16 x 2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57824&lt;br /&gt;
			| unknown matrix&lt;br /&gt;
			|16 x 2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57844&lt;br /&gt;
			| 0x57824 scaled 5/8 in the y and negated in the z OR a copy of 0x577E4 in certain case&lt;br /&gt;
			|?&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5785C&lt;br /&gt;
			| z rotation matrix for a small angle, approximately 11 degrees OR weirdly rotated version of 577E4 in certain case&lt;br /&gt;
			|?&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57864&lt;br /&gt;
			| camera x [initial value 0] &lt;br /&gt;
			|       4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57868&lt;br /&gt;
			| camera y [initial value 0] &lt;br /&gt;
			|       4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5786C&lt;br /&gt;
			| camera z [initial value 0x1F400] &lt;br /&gt;
			| 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57870&lt;br /&gt;
			| camera x rotation angle [initial value 0] &lt;br /&gt;
			|    4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57874&lt;br /&gt;
			| camera y rotation angle [initial value 0] &lt;br /&gt;
			|    4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57878&lt;br /&gt;
			| camera z rotation angle [initial value 0] &lt;br /&gt;
			|    4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5787C&lt;br /&gt;
			| camera x scale? [initial value 0x1000]&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57880&lt;br /&gt;
			| camera y scale? [initial value 0x1000]&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57884&lt;br /&gt;
			| camera z scale? [initial value 0x1000]&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57888&lt;br /&gt;
			| camera x @ last time zone flags bit 13 not set [initial value 0] &lt;br /&gt;
			|        4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5788C&lt;br /&gt;
			| camera y @ last time zone flags bit 13 not set [initial value 0xE1000] &lt;br /&gt;
			|  4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57890&lt;br /&gt;
			| camera z @ last time zone flags bit 13 not set [initial value 0x5DC000] &lt;br /&gt;
			| 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|24 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578AC&lt;br /&gt;
			| ? intially 0, cleared by projection routine&lt;br /&gt;
			| 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578B0&lt;br /&gt;
			| ? initially 0&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578B2&lt;br /&gt;
			| ? initially 0&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578B4&lt;br /&gt;
			| ? initially 0x1000&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|12 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578C4&lt;br /&gt;
			| ? initially 0&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578C8&lt;br /&gt;
			| ? initially 0&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578CC&lt;br /&gt;
			| ? initially 0&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578D0&lt;br /&gt;
			| projection distance (from viewer's eye)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578D4&lt;br /&gt;
			| starts hword matrix... initially 0x200&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578D6&lt;br /&gt;
			| initially 0x200&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578D8&lt;br /&gt;
			| initially 0x200&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578DA&lt;br /&gt;
			| initially 0x200&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578DC&lt;br /&gt;
			| initially 0x200&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578DE&lt;br /&gt;
			| initially 0x200&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578E0&lt;br /&gt;
			| initially 0x200&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578E2&lt;br /&gt;
			| initially 0x200&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x578E4&lt;br /&gt;
			| initially 0x200&lt;br /&gt;
			|2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|48 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57914&lt;br /&gt;
			| current zone (entry)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57918&lt;br /&gt;
			| previous zone header (zone item)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5791C&lt;br /&gt;
			| current camera path (zone item)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57920&lt;br /&gt;
			| current camera path progress&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|12 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57930&lt;br /&gt;
			| set to 0x57938 when zone flags bit 13 not set, else cleared&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57934&lt;br /&gt;
			| camera x rotation after most recent adjustment/level update&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57938&lt;br /&gt;
			| camera y rotation after most recent adjustment/level update&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5793C&lt;br /&gt;
			| camera z rotation after most recent adjustment/level update&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57940&lt;br /&gt;
			| camera x rotation before most recent adjustment/level update&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57944&lt;br /&gt;
			| camera y rotation before most recent adjustment/level update&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x59748&lt;br /&gt;
			| camera z rotation before most recent adjustment/level update&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5794C&lt;br /&gt;
			| sin(*(0x57930))/16;&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57950&lt;br /&gt;
			| ?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57954&lt;br /&gt;
			| cos(*(0x57930))/16;&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|8 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57960 &lt;br /&gt;
			| (active buffer?)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57968 &lt;br /&gt;
			| 4 byte string? cleared at loadLevel (demo mode sub uses this?)&lt;br /&gt;
			|8 x 1 byte&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57970 &lt;br /&gt;
			| set to *(0x34520) at loadLevel&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57974 &lt;br /&gt;
			| zone checkpoint state: player trans X&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57978 &lt;br /&gt;
			| zone checkpoint state: player trans Y&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5797C &lt;br /&gt;
			| zone checkpoint state: player trans Z&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57980 &lt;br /&gt;
			| zone checkpoint state: player rotation Y? (rewritten with 0)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57984 &lt;br /&gt;
			| zone checkpoint state: player rotation X? (rewritten with 0)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57988 &lt;br /&gt;
			| zone checkpoint state: player rotation Z? (rewritten with 0)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5798C &lt;br /&gt;
			| zone checkpoint state: player scale X&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57990 &lt;br /&gt;
			| zone checkpoint state: player scale Y&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57994 &lt;br /&gt;
			| zone checkpoint state: player scale Z&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57998 &lt;br /&gt;
			| zone checkpoint state: current zone EID&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5799C &lt;br /&gt;
			| zone checkpoint state: current camera path&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x579A0 &lt;br /&gt;
			| zone checkpoint state: current camera path progress&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x579A4 &lt;br /&gt;
			| zone checkpoint state: either level ID or MDAT/LDAT EID? (saved as 0x5c53c[4])&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x579A8 &lt;br /&gt;
			| zone checkpoint state: flag&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x579AC &lt;br /&gt;
			| zone checkpoint state: copy of spawn flags list &lt;br /&gt;
			|304 x 2 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57E6C &lt;br /&gt;
			| zone checkpoint state: boxes broken count&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57E70&lt;br /&gt;
			|reserved for SPU routines&lt;br /&gt;
			|212 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x57F40 &lt;br /&gt;
			| 8 x wavebank page structures&lt;br /&gt;
			|8 x 44 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x580A0 &lt;br /&gt;
			| 16 x texture page structures&lt;br /&gt;
			|16 x 44 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x58360&lt;br /&gt;
			|reserved for SPU routines&lt;br /&gt;
			|160 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x58400 &lt;br /&gt;
			| buffer count (2)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x58404 &lt;br /&gt;
			| buffer onscreen pointer&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x58408 &lt;br /&gt;
			| buffer offscreen pointer&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5840C &lt;br /&gt;
			| buffer onscreen  (mirror?) pointer&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x58410 - 0x5A497 &lt;br /&gt;
			| buffer onscreen&lt;br /&gt;
			|136 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5A498 - 0x5C51F &lt;br /&gt;
			| buffer offscreen&lt;br /&gt;
			|136 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5C520&lt;br /&gt;
			|reserved for SPU routines&lt;br /&gt;
			|8 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |paging system structure&lt;br /&gt;
|-&lt;br /&gt;
			|0x5C528 &lt;br /&gt;
			| paging inited flag                 &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5C52C &lt;br /&gt;
			| level ID (copied to 0x56710)                                      &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5C530 &lt;br /&gt;
			| pointer to entry hash table bucket pointer array                      &lt;br /&gt;
			| 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5C534 &lt;br /&gt;
			| pointer to entry hash table&lt;br /&gt;
			| 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5C538 &lt;br /&gt;
			| pointer to (loading screen information from NSD?)  &lt;br /&gt;
			| 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5C53C &lt;br /&gt;
			| pointer to NSD level header         &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5C540 &lt;br /&gt;
			| pointer to NSD (structure)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|          0x5C544&lt;br /&gt;
			|?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5C548 &lt;br /&gt;
			| current sector to read from disc&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5C54C &lt;br /&gt;
			|                             flag: 0&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5C550 &lt;br /&gt;
			| physical page count     &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5C554 &lt;br /&gt;
			| physical page structures                            &lt;br /&gt;
			|22 x 44 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5C91C &lt;br /&gt;
			| virtual page count       &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5C920 &lt;br /&gt;
			| virtual page structures                &lt;br /&gt;
			|38 x 44 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5CFA8 &lt;br /&gt;
			| pages allocated                          &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5CFAC &lt;br /&gt;
			| page structure of the destination page for the chunk currently being paged&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5CFB0 &lt;br /&gt;
			| pointer to a list of items?                                                                &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5CFB4 &lt;br /&gt;
			| most recent page structure set at case 8, and cleared at case 9&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5CFB8 &lt;br /&gt;
			| CID of the chunk that is currently being paged&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5CFBC &lt;br /&gt;
			| CID-&amp;gt;page stucture map (pointer)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5CFC0 &lt;br /&gt;
			| CID of most recently compressed chunk?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5CFC4 &lt;br /&gt;
			| reserved for SPU routines&lt;br /&gt;
			|40 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5CFEC &lt;br /&gt;
			| surface collision/octree query data          &lt;br /&gt;
			|4176 or 0x1050 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x5E03C &lt;br /&gt;
			| filesystem map&lt;br /&gt;
			| 64 x 3 x 4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x5E344&lt;br /&gt;
|spuVmMaxVoice&lt;br /&gt;
|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
			|0x5E348 &lt;br /&gt;
			| spawned level object list &lt;br /&gt;
			| 256 x 2 bytes &lt;br /&gt;
|-&lt;br /&gt;
|0x5E548&lt;br /&gt;
|reserved for SPU routines&lt;br /&gt;
|6672 bytes&lt;br /&gt;
|-&lt;br /&gt;
			|0x5FF58 &lt;br /&gt;
			| spawn list&lt;br /&gt;
			|304 x 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|                                                                       0x60418&lt;br /&gt;
			|reserved for MIDI/SPU routines&lt;br /&gt;
			|2456 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60DB0 &lt;br /&gt;
			| pointer to player object space(points to space allocated for playerobject)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60DB4 &lt;br /&gt;
			| pointer to object space (points to space allocated for 96 objects)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60DB8 &lt;br /&gt;
			| object list A handle &lt;br /&gt;
			|8 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60DC0 &lt;br /&gt;
			| object list B handle &lt;br /&gt;
			|8 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60DC8 &lt;br /&gt;
			| object list C handle &lt;br /&gt;
			|8 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60DD0 &lt;br /&gt;
			| object list D handle &lt;br /&gt;
			|8 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60DD8 &lt;br /&gt;
			| object list E handle &lt;br /&gt;
			|8 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60DE0 &lt;br /&gt;
			| object list F handle &lt;br /&gt;
			|8 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60DE8 &lt;br /&gt;
			| object list G handle &lt;br /&gt;
			|8 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60DF0 &lt;br /&gt;
			| object list H handle &lt;br /&gt;
			| 8 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60DF8 &lt;br /&gt;
			| free object list handle&lt;br /&gt;
			|8 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60E00 &lt;br /&gt;
			| most recently updated object&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60E04 &lt;br /&gt;
			| global game counter&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x60E08-0x61887 &lt;br /&gt;
			| object space map&lt;br /&gt;
			|96 x 28 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61888 &lt;br /&gt;
			| object space map entry count&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			| colspan=&amp;quot;3&amp;quot; |At 0x6188C starts global variables for GOOL objects&lt;br /&gt;
		|-&lt;br /&gt;
			|0x6188C [0x00]&lt;br /&gt;
			| initialized with level ID in left 3 bytes (by OPAT)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61890 [0x01]&lt;br /&gt;
			| ...?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61894 [0x02]&lt;br /&gt;
			| screen Y offset base?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61898 [0x03]&lt;br /&gt;
			| ...used by the other drawing modes&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x6189C [0x04]&lt;br /&gt;
			| copied to global render/animate flags (bit 3 &amp;amp; 4 set right before title screen fade in) (see mdat postinit)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618A0 [0x05]&lt;br /&gt;
			| ?  (level reload count?)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618A4 [0x06]&lt;br /&gt;
			| instance of DispC state 1&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618A8 [0x07]&lt;br /&gt;
			| instance of DispC state 0&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618AC [0x08]&lt;br /&gt;
			| instance of DispC state 0x27, set for ripper roo (level)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618B0 [0x09]&lt;br /&gt;
			| global render/animate flags&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618B4 [0x0A]&lt;br /&gt;
			| ? modified by sub_8002BAB4, called at beginning of sub_8002B2BC (handles Crash 'woah' death sequence)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618B8 [0x0B]&lt;br /&gt;
			| ? global central Z of illumination for object brightness?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618BC [0x0C]&lt;br /&gt;
			| instance of DispC state 4 (pause menu)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618C0 [0x0D]&lt;br /&gt;
			| used by FruiC, incremented (fruit to HUD collection path interpolation factor?)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618C4 [0x0E]&lt;br /&gt;
			| instance of DispC state 5&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618C8 [0x0F]&lt;br /&gt;
			| mirror of 0x57930; used by aku, and fruit for some y positioning&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618CC [0x10]&lt;br /&gt;
			| aku aku stores pointer to itself here (17A14)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618D0 [0x11]&lt;br /&gt;
			| ? set to 0x100 by camera routine for cam mode 0, (5, 6 level); set to 6 by DispC &lt;br /&gt;
			| 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618D4 [0x12]&lt;br /&gt;
			| title mode buffer? set by DispC&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618D8 [0x13]&lt;br /&gt;
			|?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618DC [0x14]&lt;br /&gt;
			| game progress (0x63 initial progress before start game), (0x1F full completion, i.e. 31+1 &lt;br /&gt;
			|  4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618E0 [0x15]&lt;br /&gt;
			|?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618E4 [0x16]&lt;br /&gt;
			|?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618E8 [0x17]&lt;br /&gt;
			|?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618EC [0x18]&lt;br /&gt;
			| init 0; incremented by FruiC (fruit or live counter?)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618F0 [0x19]&lt;br /&gt;
			| init 0&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618F4 [0x1A]&lt;br /&gt;
			| init 0&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618F8 [0x1B]&lt;br /&gt;
			| init 0&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x618FC [0x1C]&lt;br /&gt;
			| init 0&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61900 [0x1D]&lt;br /&gt;
			| init 0&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61904 [0x1E]&lt;br /&gt;
			| set to zone flags when loading a new zone&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61908 [0x1F]&lt;br /&gt;
			| loaded from mem card routine... used by?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x6190C [0x20]&lt;br /&gt;
			| loaded from mem card routine... used by?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61910 [0x21]&lt;br /&gt;
			| loaded from mem card routine... used by?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61914 [0x22]&lt;br /&gt;
			| loaded from mem card routine... used by?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61918 [0x23]&lt;br /&gt;
			| loaded from mem card routine... used by?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x6191C [0x24]&lt;br /&gt;
			| pointer to tnt explosion object (if event spawns it)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61920 [0x25]&lt;br /&gt;
			| camera x (0x57864) mirror&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61924 [0x26]&lt;br /&gt;
			| camera y (0x57868) mirror &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61928 [0x27]&lt;br /&gt;
			| camera z (0x5786C) mirror &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x6192C [0x28]&lt;br /&gt;
			| camera rot y (0x57870) mirror &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61930 [0x29]&lt;br /&gt;
			| camera rot x (0x57874) mirror &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61934 [0x2A]&lt;br /&gt;
			| camera rot z (0x57878) mirror &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61938 [0x2B]&lt;br /&gt;
			| previous game loop iteration execution time minus VSync time (checked by aku aku, also GemsC and WarpC)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x6193C [0x2C]&lt;br /&gt;
			| screen x offset (used as arg in call to SetGeomOffset) initially 0, cleared by projection init routine&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61940 [0x2D]&lt;br /&gt;
			| screen y offset (used as arg in call to SetGeomOffset, after adding initial y offset value at 0x2 &amp;lt;&amp;lt; 8) initially 0&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61944 [0x2E]&lt;br /&gt;
			| set by memory card data load routines, checked by BoxsC, or FruiC, along with game progress at 0x14&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61948 [0x2F]&lt;br /&gt;
			| maximum initial Z position for entities spawned during title sequences&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61950 [0x31]&lt;br /&gt;
			| cleared when an event is sent to a TNT explosion fragment object&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|4 x 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61964 [0x36]&lt;br /&gt;
			| ? aku aku sets this to 0; also sets to point to itself in certain conditions&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|5 x 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x6197C [0x3C]&lt;br /&gt;
			| incremental value set by DispC [0x3C]&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|....&lt;br /&gt;
			|&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61984 [0x3E]&lt;br /&gt;
			| box count/number of boxes broken &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61988 [0x3F]&lt;br /&gt;
			| read by GemsC (gems collected?)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|....&lt;br /&gt;
			|&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61990 [0x41]&lt;br /&gt;
			| timestamp of most recent gem render?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61998 [0x43]&lt;br /&gt;
			| cleared when a new zone is loaded&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x6199C [0x44]&lt;br /&gt;
			| debug flag (set in prototype?)&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x619A0 [0x45]&lt;br /&gt;
			| ID of most recently hit checkpoint box; when not -1 or 0 and saving state, vector at 0x61A24 recorded in place of objects trans&lt;br /&gt;
			| 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|2 x 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x619AC [0x48]&lt;br /&gt;
			| ? read by GemsC, also BoxsC and FruiC &lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|3 x 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x619BC [0x4C]&lt;br /&gt;
			| points to self-instantiated DispC state 10&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|23 x 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61A1C [0x64]&lt;br /&gt;
			| set to 0xD00 by DispC&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61A24 [0x66]&lt;br /&gt;
			| trans vector of most recent broken checkpoint box; replaces object trans when saving state if flag 0x619A0 set&lt;br /&gt;
			|3 x 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|3 x 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61A34 [0x6A]&lt;br /&gt;
			| fade duration/counter?&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|...&lt;br /&gt;
			|&lt;br /&gt;
			|9 x 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61A5C [0x74]&lt;br /&gt;
			| ?? set to 0 for each neighbor zone when loading a new zone&lt;br /&gt;
			|4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61A60 [0x75]&lt;br /&gt;
			| set/incremented by boxes when spawned; reset when loading a new zone for each neighbor zone &lt;br /&gt;
			| 4 bytes&lt;br /&gt;
		|-&lt;br /&gt;
			|0x61A64 [0x76]&lt;br /&gt;
			| ?? set to 0 for each neighbor zone when loading a new zone&lt;br /&gt;
			|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x61A68&lt;br /&gt;
|_svm_okof1&lt;br /&gt;
|8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x61A70&lt;br /&gt;
|_svm_okof2&lt;br /&gt;
|8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|0x61A78&lt;br /&gt;
|heap&lt;br /&gt;
|* bytes&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=List_of_game_discs&amp;diff=135</id>
		<title>List of game discs</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=List_of_game_discs&amp;diff=135"/>
		<updated>2019-04-27T17:44:37Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 1 revision imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Release discs ==&lt;br /&gt;
&lt;br /&gt;
=== Crash 1 ===&lt;br /&gt;
{|&lt;br /&gt;
! Disc ID&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| [[SCUS-94900]]&lt;br /&gt;
| NTSC-U/C&lt;br /&gt;
|-&lt;br /&gt;
| [[SCES-00344]]&lt;br /&gt;
| PAL&lt;br /&gt;
|-&lt;br /&gt;
| [[SCPS-10031]]&lt;br /&gt;
| NTSC-J&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NTSC-J release also appears as SCPS-91057.&lt;br /&gt;
&lt;br /&gt;
=== Crash 2 ===&lt;br /&gt;
{|&lt;br /&gt;
! Disc ID&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| [[SCUS-94154]]&lt;br /&gt;
| NTSC-U/C&lt;br /&gt;
|-&lt;br /&gt;
| [[SCES-00967]]&lt;br /&gt;
| PAL&lt;br /&gt;
|-&lt;br /&gt;
| [[SCPS-10047]]&lt;br /&gt;
| NTSC-J&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NTSC-J release also appears as SCPS-91092.&lt;br /&gt;
&lt;br /&gt;
=== Crash 3 ===&lt;br /&gt;
{|&lt;br /&gt;
! Disc ID&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| [[SCUS-94244]]&lt;br /&gt;
| NTSC-U/C&lt;br /&gt;
|-&lt;br /&gt;
| [[SCES-01420]]&lt;br /&gt;
| PAL&lt;br /&gt;
|-&lt;br /&gt;
| [[SCPS-10073]]&lt;br /&gt;
| NTSC-J&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NTSC-J release also appears as SCPS-91164 and SCPS-91318.&lt;br /&gt;
&lt;br /&gt;
== Prerelease discs ==&lt;br /&gt;
(stub)&lt;br /&gt;
&lt;br /&gt;
== Demo discs ==&lt;br /&gt;
&amp;lt;!-- euro disc list gathered from http://crimson-ceremony.net/demopals/ --&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! Disc ID&lt;br /&gt;
! Region&lt;br /&gt;
! Name&lt;br /&gt;
|-&lt;br /&gt;
| [[PBPX-95007]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One EUROPE&lt;br /&gt;
|-&lt;br /&gt;
| [[PBPX-95008]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One EUROPE&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00273]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Autumn/Christmas Releases&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00364]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Crash Bandicoot / Supersonic Racers / Die Hard Trilogy / Broken Sword / F1&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00456]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One uk europe aus/nz&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00456]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One uk europe aus/nz&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00456]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One uk europe aus/nz&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00457]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Demo One german&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00678]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 13 GER&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00777]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 14 FRE&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00823]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 27&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00936]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered User Demo 02&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00938]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Essential Playstation IV&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-00986]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Winter Releases - '97 demo 01&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01049]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Playstation Sampler / Nightmare Creatures / Kurushi / Rapid Racer / ...&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01118]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 25 fra&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01120]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 27 fra&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01127]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 10/98 ger&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01128]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 11/98 ger&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01129]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 12/98 ger&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01139]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Essential Playstation VIII&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01141]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Essential Playstation X&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01148]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 38&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01150]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 40&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01229]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Kids&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01230]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered Users Demo 03&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01385]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered Users Demo&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01441]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Winter Releases '98&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01570]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Australian Summer Special&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01636]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered Users Demo&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01713]]&lt;br /&gt;
| PAL&lt;br /&gt;
| M-6 PlayStation Demo fre&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01739]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Katalog Spezial Demo ger&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01828]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 54&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01837]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 06/99 GER&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01860]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 40 FRA&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01861]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 41 FRA&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-01988]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Registered Users Demo 06&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02122]]&lt;br /&gt;
| PAL&lt;br /&gt;
| OPSM Platinum Special Demo (All)&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02327]]&lt;br /&gt;
| PAL&lt;br /&gt;
| The Best Games Ever&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02570]]&lt;br /&gt;
| PAL&lt;br /&gt;
| M6 PlayStation - Best Of Kids Demo&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02655]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo (France) 51&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-02851]]&lt;br /&gt;
| PAL&lt;br /&gt;
| OPSM Best Ever Ever Games Demo&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03103]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Speziale Italia&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03452]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo 75&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03454]]&lt;br /&gt;
| PAL&lt;br /&gt;
| OPSM Demo 77&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03472]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo Germany 09/01 Deutsch&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03473]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo Germany 10/01 Deutsch&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03790]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Official PlayStation Magazine 87 EUR&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03791]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Official PlayStation Magazine 88 EUR&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-03905]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo (Germany) 03/04-2003&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-04076]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo (Future) 97&lt;br /&gt;
|-&lt;br /&gt;
| [[SCED-04077]]&lt;br /&gt;
| PAL&lt;br /&gt;
| Euro Demo (Future) 98&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01633]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 1&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01724]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 2&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01773]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 3&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01783]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 4&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-01898]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 5&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-02042]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 7&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-02078]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 8&lt;br /&gt;
|-&lt;br /&gt;
| [[SLED-02139]]&lt;br /&gt;
| PAL&lt;br /&gt;
| PlayStation Zone CD Vol. 9&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=133</id>
		<title>Level ID</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Level_ID&amp;diff=133"/>
		<updated>2019-04-27T17:44:37Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 9 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each game level is assigned a single character code which signifies the internal name of the level. This character can be a decimal digit (&amp;lt;code&amp;gt;0-9&amp;lt;/code&amp;gt;), an uppercase or lowercase ASCII letter (&amp;lt;code&amp;gt;a-z&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;A-Z&amp;lt;/code&amp;gt;), an underscore (&amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;) or an exclamation point (&amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;). For letters, this character is case-sensitive, for instance level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; is different from level &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Some levels are more appropriately identified as game states: for example, level ID 19 in Crash 1 refers to the entire title sequence, main menu, options and password menus, map, and game over screen.&lt;br /&gt;
&lt;br /&gt;
Each level's character code is associated with a number. The hexadecimal reading of this number determines the name of the NSD/NSF file pair which contains the game data for that level. For example, ''Cold Hard Crash'' has level code &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; which matches hex ID &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;; therefore, its data is held in the files &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSD&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;S00000&amp;lt;u&amp;gt;'''13'''&amp;lt;/u&amp;gt;.NSF&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Tables matching level names to character codes and hex values for each game are presented below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
basic table template with all 64 ID's present, no level names listed&lt;br /&gt;
copy and reuse as desired&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crash 1 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cortex Power&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' Cavern Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Generator Room&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| Heavy Machinery&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toxic Waste&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pinstripe (Boss 4)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Sanity Beach&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Papu Papu (Boss 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Jungle Rollers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| Boulders&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| Upstream&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hog Wild&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Great Gate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| Boulder Dash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| Road to Nowhere&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rolling Stones&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| The High Road&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ripper Roo (Boss 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| Up The Creek&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Map, Main Menu, Title Sequence&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| Native Fortress&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Nitrus Brio (Boss 5)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Temple Ruins&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Jaws of Darkness&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| Whole Hog&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dr. Neo Cortex (Boss 6)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Lost City&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Koala Kong (Boss 3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| ''(unused)'' Stormy Ascent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sunset Vista&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Tawna - short version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Nitrus Brio)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| Lights Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Lab&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fumbling in the Dark&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Great Hall&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| Level Completion Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| Slippery Climb&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Tawna - long version)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bonus Round (Dr. Neo Cortex)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| Castle Machinery&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| Intro&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ending&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; is in an older file format and is not properly compatible with the game engine.&lt;br /&gt;
&lt;br /&gt;
=== Prerelease Versions ===&lt;br /&gt;
There are two known leaked prerelease versions of Crash 1. Some additional level slots are used in these versions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Test Area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| '''(currently unknown)'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cavern Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cliff Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Waterfall Level&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| 2D Donkey Kong&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; and level &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; (10) are in significantly older versions of the game's file format and are not compatible with the game engine. The other levels are unfinished and contain some compatibility issues.&lt;br /&gt;
&lt;br /&gt;
== Crash 2 ==&lt;br /&gt;
The final version of Crash 2 has .NSD/.NSF files present for 38 level IDs (42 in PAL version). &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Hex&lt;br /&gt;
!#&lt;br /&gt;
!Level name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt; &lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; &lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; &lt;br /&gt;
|English Warp Room&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; &lt;br /&gt;
|Tiny Tiger&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt; &lt;br /&gt;
|Ripper Roo&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt; &lt;br /&gt;
|Dr. Neo Cortex&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; &lt;br /&gt;
|Komodo Bros.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; &lt;br /&gt;
|N. Gin&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; &lt;br /&gt;
|Sewer or Later&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A; Test jungle level (jungle1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt; &lt;br /&gt;
|Night Fight&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt; &lt;br /&gt;
|Hangin' Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; &lt;br /&gt;
|Snow Go&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt; &lt;br /&gt;
|Ruination&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; &lt;br /&gt;
|Piston it Away&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt; &lt;br /&gt;
|Snow Biz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; &lt;br /&gt;
|Rock It&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; &lt;br /&gt;
|Cold Hard Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; &lt;br /&gt;
|Diggin' It&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; &lt;br /&gt;
|Road to Ruin&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; &lt;br /&gt;
|Un-Bearable&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt; &lt;br /&gt;
|Crash Dash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; &lt;br /&gt;
|Hang Eight&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; &lt;br /&gt;
|Pack Attack&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt; &lt;br /&gt;
|Crash Crush&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; &lt;br /&gt;
|Intro&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bear It&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt; &lt;br /&gt;
|Turtle Woods&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; &lt;br /&gt;
|The Pits&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt; &lt;br /&gt;
|Air Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; &lt;br /&gt;
|Plant Food&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bear Down&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt; &lt;br /&gt;
|The Eel Deal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; &lt;br /&gt;
|Bee-Having&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; &lt;br /&gt;
|Totally Bear&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; &lt;br /&gt;
|Spaced Out&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; &lt;br /&gt;
|Totally Fly&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; &lt;br /&gt;
|100% Ending&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt; &lt;br /&gt;
|Normal Ending&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt; &lt;br /&gt;
|Spanish Warp Room (PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; &lt;br /&gt;
|French Warp Room (PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt; &lt;br /&gt;
|German Warp Room (PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; &lt;br /&gt;
|Italian Warp Room (PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt; &lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; &lt;br /&gt;
|Game Over Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt; &lt;br /&gt;
|Title Screen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Crash 3 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hex&lt;br /&gt;
! #&lt;br /&gt;
! Level Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Warp Room (English or Japanese)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dingodile (Boss 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Tropy (Boss 3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| N. Gin (Boss 4)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tiny (Boss 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dr. Neo Cortex (Boss 5)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Orient Express&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toad Village&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bone Yard&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tell No Tales&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;&lt;br /&gt;
| Under Pressure&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&lt;br /&gt;
| Gee Wiz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dino Might!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Midnight Run&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tomb Time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bye Bye Blimps&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;&lt;br /&gt;
| Road Crash&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hog Ride&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hang'em High&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
| Mad Bombers&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tomb Wader&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Makin' Waves&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;&lt;br /&gt;
| High Time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Future Frenzy&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Deep Trouble&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Double Header&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sphynxinator&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rings of Power&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;&lt;br /&gt;
| Orange Asphalt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ski Crazed&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;&lt;br /&gt;
| Flaming Passion&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Future Frenzy&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bug Lite&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| Area 51?&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Eggipus Rex&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hot Coco&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (English and Japanese)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| Any% Ending Cutscene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| 100% Ending Cutscene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (Spanish, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (French, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (German, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opening Cutscene (Italian, PAL only)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| Gone Tomorrow&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;W&amp;lt;/code&amp;gt;&lt;br /&gt;
| Intermission Vortex&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
| Game Over Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
| Title Screen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Level &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; (1F), ''Rings of Power'', appears in the S2 directory rather than S1.&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Game_Loop&amp;diff=123</id>
		<title>Game Loop</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Game_Loop&amp;diff=123"/>
		<updated>2019-04-27T17:44:36Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 6 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The central flow construct in a video game is its game loop. In a single iteration of the game loop, all the necessary logic is performed in updating the game state, including processing of user input, before the game scene is finally rendered to the display.&lt;br /&gt;
&lt;br /&gt;
The window of time during which an iteration of the game loop takes place is commonly referred to as a frame.&lt;br /&gt;
&lt;br /&gt;
== Crash 1 ==&lt;br /&gt;
The game loop routine is located at &amp;lt;code&amp;gt;0x11FC4&amp;lt;/code&amp;gt; in Crash 1. From the &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; routine, the game loop routine is passed the level id of an 'initial level' as its argument; in Crash 1 this value is 19-the level ID for the title sequence, main menu, and then possibly map if 'a game is started'. &lt;br /&gt;
&lt;br /&gt;
=== Outline ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub_80011FC4(levelid)&lt;br /&gt;
{ &lt;br /&gt;
  A) sub_80026140 - Game initialization&lt;br /&gt;
  B) sub_80015B58 - Paging and subsystem initialization 	  &lt;br /&gt;
  C) sub_80011DD0 - Load entries and/or create main game objects &lt;br /&gt;
                    (HUD/display, Crash, Aku Aku, Shadows, Boxes, Fruit)&lt;br /&gt;
  GAME LOOP:&lt;br /&gt;
  {&lt;br /&gt;
    1) Code for handling game pause/start button press&lt;br /&gt;
    2) If Crash object does not exist: &lt;br /&gt;
      A) sub_8002E98C - Create HUD and initialize level&lt;br /&gt;
    3) Code for loading a new level if necessary&lt;br /&gt;
    4) Update pages&lt;br /&gt;
      A) sub_800134C8 - UpdatePages()&lt;br /&gt;
    5) Spawn all objects in current zone [for those that have their respawn bit set]&lt;br /&gt;
      A) sub_80025928 - SpawnObjects()&lt;br /&gt;
    6) Update camera&lt;br /&gt;
      A) sub_8002EC68 - level dependent routine A&lt;br /&gt;
      B) sub_8002EBB4 - level dependent routine B&lt;br /&gt;
      C) sub_8002B2BC - UpdateCamera()&lt;br /&gt;
    7) Update matrices&lt;br /&gt;
      A) sub_80017A14 - UpdateMatrices()&lt;br /&gt;
         - recalculate camera translation, rotation, scale, and light matrices&lt;br /&gt;
         - create world models for current zone&lt;br /&gt;
    8) Create transformed primitives for current zone world models &lt;br /&gt;
       dependent on current zone render mode:&lt;br /&gt;
         sub_80019508 - default world model primitive creation routine&lt;br /&gt;
         sub_80019BCC - w.m.p.c.r high road/road to nowhere depth shader variant&lt;br /&gt;
         sub_80019DE0 - w.m.p.c.r ripple effect vertex position shader variant&lt;br /&gt;
         sub_80019F90 - w.m.p.c.r lightning effect vertex shader variant&lt;br /&gt;
         sub_8001A0CC - w.m.p.c.r darken depth effect shader variant&lt;br /&gt;
         sub_8001A2E0 - w.m.p.c.r darken effect shader variant&lt;br /&gt;
    9) Update all objects and create transformed primitives for them&lt;br /&gt;
      A) sub_8001D5EC - UpdateObjects()&lt;br /&gt;
    10) If current level is title screen (0x19) then do title screen routine&lt;br /&gt;
      A) sub_800326D8 - title screen routine&lt;br /&gt;
    11) Send transformed primitives to GPU for rendering&lt;br /&gt;
      A) sub_80016E5C - GPU routine&lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Game initialization ===&lt;br /&gt;
The game loop routine begins with a call to the game initialization routine, located at &amp;lt;code&amp;gt;0x26140&amp;lt;/code&amp;gt;. This initializes all global game variables. &lt;br /&gt;
&lt;br /&gt;
=== Paging and subsystem initialization ===&lt;br /&gt;
After executing the game initialization routine, the game still has no data to work with: nothing from the disc has been loaded into memory other than the currently executing binary. At this point, the [[Paging and Subsystem Initialization|paging and subsystem initialization routine]] is called. This routine has 2 input parameters, the first being the level id of a level whose content shall be paged from disc, and the second a pointer to the location of storage for the resultant [[Paging and Subsystem Initialization#Paging System Structure|paging system structure]]. The arguments specified in the call are the current level's ID (passed as the argument to the game loop routine), and a pointer to the game's global [[Paging and Subsystem Initialization#Paging System Structure|paging system structure]]-located at &amp;lt;code&amp;gt;0x5C528&amp;lt;/code&amp;gt;. After execution of the paging and subsystem initialization routine, the paging system structure will include all the necessary information for paging data from disc, specifically that data located in the current level's corresponding NSF file.&lt;br /&gt;
&lt;br /&gt;
=== Load executables for and/or create main game objects ===&lt;br /&gt;
Once paging has been initialized, the appropriate paging routines are used to load all [[GOOL Executable|GOOL executable entry]] data for the main or 'universal' game objects (HUD/display, Crash, Aku Aku, shadows, boxes, fruit) from the current level's corresponding NSF file (i.e. the current NSF file) into main memory. Most NSF files contain the same copy of data for each of these objects (hence the term universal), with a few exceptions: for example, The Great Hall does not contain any box objects in its layout, so its NSF file does not contain the [[GOOL Executable|GOOL executable]] for the box object. Consequently, no box objects are spawned in an instance of the game on level 2C. The routine located at &amp;lt;code&amp;gt;0x11DD0&amp;lt;/code&amp;gt; loads all existing universal game object executables into main memory.&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=GOOL_Interpreter&amp;diff=116</id>
		<title>GOOL Interpreter</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=GOOL_Interpreter&amp;diff=116"/>
		<updated>2019-04-27T17:44:36Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 18 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the Crash games, the GOOL Interpreter is responsible for interpreting an object's executable bytecode. This bytecode instructs the interpreter to perform a specific sequence of operations that can conditionally or unconditionally alter specific characteristics of the object (ex. appearance, location, status, etc.), and should ultimately render the object according to its changing characteristics. As a result, the player observes a lively, animated, and interactive enemy, box, collectible item, or whatever other kind of in-game object it may be.&lt;br /&gt;
&lt;br /&gt;
== Interpretation ==&lt;br /&gt;
A single ''interpretation'' of an object's bytecode consists of the following steps:&lt;br /&gt;
# ''Fetch'' the instruction at the object's program counter location&lt;br /&gt;
#* Read the instruction at the object's program counter location&lt;br /&gt;
#* Point the object's program counter to the location of the following instruction&lt;br /&gt;
# ''Perform'' the operation specified by the fetched instruction&lt;br /&gt;
# ''Continue'' repeating steps 1 and 2 until a suspending instruction is fetched&lt;br /&gt;
(A suspending instruction is typically either a RET, which marks the end of a block, or ANIF/ANIS, which change the object's current frame of animation.)&lt;br /&gt;
&lt;br /&gt;
A single call to the GOOL interpreter routine with some desired object as its first argument results in a single interpretation of that object's bytecode. The GOOL bytecode interpreter routine expects an object that provides the following information:&lt;br /&gt;
* The location in its bytecode at which the interpreter shall begin its interpretation = object's program counter&lt;br /&gt;
* The location in its memory of a stack frame created for the interpretation = object's frame pointer&lt;br /&gt;
* The location in its memory at which the interpreter shall begin pushing the results of/popping the operands for interpreted instructions = object's stack pointer&lt;br /&gt;
Prior to an interpretation, each of these fields (program counter, frame pointer, stack pointer) is modified according to the object's current state [descriptor] and the type of interpretation.&lt;br /&gt;
&lt;br /&gt;
== Types of interpretation ==&lt;br /&gt;
Many separate interpretations of an object's bytecode can occur within a single frame. The GOOL interpreter routine can be called with the same object from up to 7 distinct locations in a single iteration of the game loop. Each of the 7 calls to the interpreter routine with that object, and thus the ensuing interpretations of its bytecode, occurs under a separate condition. The 7 interpretations are identified based on the conditions under which they occur, and are as follows:&lt;br /&gt;
* One that occurs at a specified rate, i.e. after a specific amount of time has elapsed since its previous occurrence. (Code Block interpretation)&lt;br /&gt;
* One that [always] occurs [for each frame]. (Trans Block interpretation)&lt;br /&gt;
* One that occurs whenever the object is sent an event and its current state specifies the location of an event service routine. (Event Block interpretation)&lt;br /&gt;
* One that occurs whenever the object is sent an event and: its current state does not specify an event service routine or its event service routine failed to return an event, and the event sent maps to an event handler. (Handles Block interpretation)&lt;br /&gt;
* One that occurs whenever the object changes state. (Head Block interpretation)&lt;br /&gt;
* One that occurs whenever the object changes state and its recent Trans Block interpretation was unsuccessful (*Trans Block interpretation)&lt;br /&gt;
* One that occurs when the object minimizes the distance during another object's query to 'find the nearest object', and the event sent for asynchronous handling (from the querying object) maps to an event handler. (*Handles Block interpretation)&lt;br /&gt;
&lt;br /&gt;
Ignoring the details for now, the latter 2 types are just a Trans Block and Handles Block interpretation, respectively, although their calls cross-reference the interpreter routine from different locations. Thus, there are a total of 5 types. These 5 types are more simply viewed as 5 separate &amp;lt;i&amp;gt;threads&amp;lt;/i&amp;gt; of execution of the object's bytecode. To demonstrate, here is the expanded game loop routine with only the calls to routines that have a descendant call to the interpreter routine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 sub_80011FC4(levelid)&lt;br /&gt;
 { &lt;br /&gt;
   ...	  &lt;br /&gt;
   C) sub_80011DD0 - Load entries and/or create universal game objects &lt;br /&gt;
                     (HUD/display, Crash, Aku Aku, Shadows, Boxes, Fruit)&lt;br /&gt;
     1) sub_8001C6C8 - CreateObject() [called once for each object created]&lt;br /&gt;
     ...&lt;br /&gt;
   GAME LOOP:&lt;br /&gt;
   {&lt;br /&gt;
     1) Code for handling game pause/start button press&lt;br /&gt;
       A) If start pressed...&lt;br /&gt;
          i) If pause menu object does not exist....&lt;br /&gt;
             1) sub_8001C6C8 - CreateObject() [create pause menu object]&lt;br /&gt;
             ...&lt;br /&gt;
             else&lt;br /&gt;
             1) sub_80024040 - SendEvent() [destroy pause menu object]&lt;br /&gt;
             ...&lt;br /&gt;
     2) If Crash object does not exist: &lt;br /&gt;
       A) sub_8002E98C - Create HUD and initialize level&lt;br /&gt;
          i) sub_8001C6C8 - CreateObject() [create HUD object]&lt;br /&gt;
          ii)sub_80026650 - Reinitialize Level&lt;br /&gt;
             1) sub_8001C6C8 - CreateObject() [create Crash object]&lt;br /&gt;
             ...&lt;br /&gt;
     3) Code for loading a new level if necessary&lt;br /&gt;
       A) If new level to load&lt;br /&gt;
          ...&lt;br /&gt;
          ii)sub_80011DD0 - Load entries and/or create universal game objects &lt;br /&gt;
             1) sub_8001C6C8 - CreateObject() [called once for each object created]&lt;br /&gt;
             ...&lt;br /&gt;
     ...&lt;br /&gt;
     5) Spawn all objects in current zone [for those that have their respawn bit set]&lt;br /&gt;
       A) sub_80025928 - Spawn objects&lt;br /&gt;
          1) sub_8001BCC8 - SpawnObject() [called for each object spawned]&lt;br /&gt;
          ...&lt;br /&gt;
     ...&lt;br /&gt;
     9) Update all objects and create transformed primitives for them&lt;br /&gt;
       A) sub_8001D5EC - UpdateObjects()&lt;br /&gt;
          1) sub_8001DA0C - UpdateObject() [called for each existing object]&lt;br /&gt;
     ...&lt;br /&gt;
   } &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Based on the above, consider an arbitrary frame of execution in terms of a single object. CreateObject() or SpawnObject() will not be called more than once [to create that object] in that frame; that is-the object is not created or spawned more than once, or even spawned after it is created and vice-versa. The object may not even be created/spawned in that frame because it either already exists or does not exist since the game has not requested it be created/spawned. If it is an existing object, it will also be updated only once in that frame. For a single object, the above can be reduced the following series of potential calls:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 sub_80011FC4(levelid)&lt;br /&gt;
 { &lt;br /&gt;
   ...	  &lt;br /&gt;
   GAME LOOP:&lt;br /&gt;
   {&lt;br /&gt;
     ...&lt;br /&gt;
     CreateObject(obj,...) or SpawnObject(obj,...)&lt;br /&gt;
     ...&lt;br /&gt;
     SendEvent(src,obj,...)&lt;br /&gt;
     ...&lt;br /&gt;
     UpdateObject(obj)&lt;br /&gt;
   } &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What the above leaves out, however, are the number of other locations at which a call to the SendEvent() routine reside. Some are located before the CreateObject or SpawnObject routine calls, some after, some within the UpdateObject routine itself, and even some within the interpreter routine, since there exist several types of GOOL instructions that allow another object to send an event to the recipient object. In fact, there is nothing preventing the object from being the recipient of more than one event sent (from potentially multiple sources) in a single frame. There may be an interpretation for each event sent to the object during that frame, and there is no limit on the number of events that can be sent. Thus, there may be many calls to SendEvent() [with the object as the recipient] in a single frame, but still only at most one call to CreateObject/SpawnObject() and UpdateObject(). Without getting too far off track, it is simply necessary to understand that each of these routines contains (or calls a routine that calls a routine that contains) a call to the interpreter routine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 sub_80011FC4(levelid)&lt;br /&gt;
 { &lt;br /&gt;
   ...	  &lt;br /&gt;
   GAME LOOP:&lt;br /&gt;
   {&lt;br /&gt;
     ...&lt;br /&gt;
     CreateObject(obj,...) or SpawnObject(obj,...)&lt;br /&gt;
       InitObject(obj, ...)&lt;br /&gt;
         ChangeObjectState(obj, ...)&lt;br /&gt;
           CreateObjectStackFrame(obj); // *create initial stack frame&lt;br /&gt;
           -if there is a head block to interpret for the object&lt;br /&gt;
             CreateObjectStackFrame(obj);&lt;br /&gt;
             obj-&amp;gt;pc = obj-&amp;gt;pchead;&lt;br /&gt;
             InterpretObject(obj, 0x13, &amp;amp;stateref); // # 1 (head block interpretation)&lt;br /&gt;
         &lt;br /&gt;
     SendEvent(src,obj,...) // there may be multiple calls to this&lt;br /&gt;
        -if there is an event service routine for the object (in its current state)&lt;br /&gt;
           CreateObjectStackFrame(obj);&lt;br /&gt;
           obj-&amp;gt;pc = obj-&amp;gt;pcevent;&lt;br /&gt;
           InterpretObject(obj, 0x8, &amp;amp;stateref);    // # 2 (event block interpretation)&lt;br /&gt;
        -if there is not an event service routine for the object (in its current state)&lt;br /&gt;
         or the event service routine failed to return an event&lt;br /&gt;
          -if the event maps to an event handler in the event-&amp;gt;state/handler map&lt;br /&gt;
           CreateObjectStackFrame(obj);&lt;br /&gt;
           obj-&amp;gt;pc = handlerlocation;&lt;br /&gt;
           InterpretObject(obj, 0x3, &amp;amp;stateref);    // # 3 (handles block interpretation)&lt;br /&gt;
          -else&lt;br /&gt;
           ChangeObjectState(obj,state,...); // *&lt;br /&gt;
&lt;br /&gt;
     UpdateObject(obj)&lt;br /&gt;
      -if the object is able to animate&lt;br /&gt;
        -if there is a trans block to interpret for the object (in its current state)&lt;br /&gt;
           CreateObjectStackFrame(obj);&lt;br /&gt;
           obj-&amp;gt;pc = obj-&amp;gt;pctrans;&lt;br /&gt;
           InterpretObject(obj, 0x3, &amp;amp;stateref);   // # 4 (trans block interpretation)&lt;br /&gt;
        -if at least n ticks have elapsed, where n is given by the 'wait' operand of the &lt;br /&gt;
         most recently suspending animation type instruction of the object's code block &lt;br /&gt;
           InterpretObject(obj, 0x4, &amp;amp;stateref);   // # 5 (code block interpretation)&lt;br /&gt;
&lt;br /&gt;
   } &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
Notice that immediately prior to each call [to the interpreter routine], with the exception of #5, a new stack frame is created for the object (which includes pointing its frame pointer and stack pointer, respectively, to the beginning and ending of its new frame), and its program counter is pointed to a distinct location within its bytecode. If each bytecode instruction is represented by a pseudo-instruction, a potential sequence of calls to the interpreter routine in a single frame [for only that object] might be represented by the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
label  | address | pseudo-instruction&lt;br /&gt;
&lt;br /&gt;
pcevent: 0x34      N  // call A&lt;br /&gt;
         0x38      N&lt;br /&gt;
         0x3C      S&lt;br /&gt;
...&lt;br /&gt;
pchead:   0x0      N  // call B&lt;br /&gt;
          0x4      N&lt;br /&gt;
          0x8      N&lt;br /&gt;
          0xC      S&lt;br /&gt;
...&lt;br /&gt;
pctrans: 0x50      N  // call C&lt;br /&gt;
         0x54      N&lt;br /&gt;
         0x58      N&lt;br /&gt;
         0x5C      N&lt;br /&gt;
         0x60      N&lt;br /&gt;
         0x64      N&lt;br /&gt;
         0x68      S&lt;br /&gt;
...&lt;br /&gt;
*pccode: 0x70      N  // call D&lt;br /&gt;
         0x74      N&lt;br /&gt;
         0x78      N&lt;br /&gt;
         0x7C      N&lt;br /&gt;
         0x80      S&lt;br /&gt;
...&lt;br /&gt;
pcevent: 0x34      N  // call E&lt;br /&gt;
         0x38      N&lt;br /&gt;
         0x3C      S&lt;br /&gt;
...&lt;br /&gt;
pcevent: 0x34      N  // call F&lt;br /&gt;
         0x38      N&lt;br /&gt;
         0x3C      S&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each call above to the interpreter routine is represented by the sequence of instructions (represented as pseudo-instructions) fetched during its interpretation. An N pseudo-instruction represents an instruction that did not suspend the interpreter, causing the next instruction in sequence to be fetched and interpreted. An S pseudo-instruction represents an instruction that did suspend the interpreter, causing the interpreter routine to end the interpretation/return to its caller. Each pseudo-instruction is listed with the address of the instruction it represents in the object's bytecode [relative to the beginning]. &lt;br /&gt;
&lt;br /&gt;
The first instruction fetched in each interpretation is also marked with a label; this label is given the name of the object &amp;lt;i&amp;gt;field&amp;lt;/i&amp;gt; that points to its associated instruction. Immediately prior to each interpretation, with the exception of the one marked *pccode, the object's program counter is pointed to the location in ''this'' particular field; it is this operation that causes each interpretation to begin at the location it does. This particular object field is also primarily responsible for determining the type of interpretation:&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Field&lt;br /&gt;
!Interpretation Type&lt;br /&gt;
|-&lt;br /&gt;
|pctrans&lt;br /&gt;
|Trans Block Interpretation&lt;br /&gt;
|-&lt;br /&gt;
|pcevent&lt;br /&gt;
|Event Block Intepretation&lt;br /&gt;
|-&lt;br /&gt;
|pchead&lt;br /&gt;
|Head Block Interpretation&lt;br /&gt;
|-&lt;br /&gt;
|pc&lt;br /&gt;
|Code Block Interpretation&lt;br /&gt;
|}&lt;br /&gt;
The &amp;lt;code&amp;gt;pctrans&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pcevent&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;pchead&amp;lt;/code&amp;gt; fields each contain a pointer to/the absolute location of an individual ''block'' in the object's bytecode. These fields locate the respective entry points for 3 separate ''threads'' of interpretation for the object-a &amp;lt;i&amp;gt;trans&amp;lt;/i&amp;gt; thread, an &amp;lt;i&amp;gt;event&amp;lt;/i&amp;gt; thread, and a &amp;lt;i&amp;gt;head&amp;lt;/i&amp;gt; thread. Whenever the object changes state, its &amp;lt;code&amp;gt;pctrans&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pcevent&amp;lt;/code&amp;gt; fields are modified according to the state descriptor for its new state; its &amp;lt;code&amp;gt;pchead&amp;lt;/code&amp;gt; field is then cleared. (If the object wishes to modify its &amp;lt;code&amp;gt;pchead&amp;lt;/code&amp;gt; field, it does so via a MOVC instruction in its bytecode.)&lt;br /&gt;
&lt;br /&gt;
Whenever the object changes state, its program counter (&amp;lt;code&amp;gt;pc&amp;lt;/code&amp;gt; field) is also set directly to the location of the &amp;lt;i&amp;gt;code&amp;lt;/i&amp;gt; block specified by the &amp;lt;code&amp;gt;pccode&amp;lt;/code&amp;gt; field of the state descriptor for its new state. The entirety of the object's stack contents are then unwound, or the object's stack pointer is reset to its initial location, and an initial stack frame is [re]created. This program counter location and stack configuration is then restored after each subsequent non-code block interpretation is completed. (That is-since those interpretations require the program counter value to be &amp;lt;i&amp;gt;replaced&amp;lt;/i&amp;gt; with a new location and a new stack frame to be created, after they are completed, the original program counter location and initial stack frame are restored). When the interpretation marked #5 in the above pseudo-code (the code block interpretation) finally occurs, the object's program counter will point to its code block and its stack frame will be the initial frame. The code block interpretation is yet another thread of interpretation for the object-a &amp;lt;i&amp;gt;code&amp;lt;/i&amp;gt; thread. &lt;br /&gt;
[[File:Goolinterp1.png|thumb|236x236px]]&lt;br /&gt;
For the sake of explanation, &amp;lt;i&amp;gt;handles&amp;lt;/i&amp;gt; blocks are viewed as being equivalent to &amp;lt;i&amp;gt;event&amp;lt;/i&amp;gt; blocks, so &amp;lt;i&amp;gt;handles&amp;lt;/i&amp;gt; interpretations and threads are simply ignored. The timeline to the right shows an arbitrary frame of execution in terms of the times elapsed for the various interpretations of a single object's bytecode. Towards the beginning of the frame, the interpreter has performed a code block interpretation and a trans block interpretation for the object. Towards the end of the frame, the interpreter has performed an event block interpretation for that object, as it has been sent an event from some [unknown] source. The following timeline extends this timeline [to the right] to 6 arbitrary frames of execution:&lt;br /&gt;
[[File:Goolinterp2b.png|thumb|733x733px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The extended timeline makes it clear that this particular object has been configured to have its code block interpretation occur every other frame. It also shows the performance of more than one event block interpretation for that object during the second frame. The following timeline shows the same 6 frames of execution in terms of the times elapsed for all interpretations of each existing object's bytecode; in this particular instance, there are only 2 existing objects.&lt;br /&gt;
[[File:Goolinterp2c.png|thumb|733x733px|none]]&lt;br /&gt;
&lt;br /&gt;
== Stack Frame (incomplete) ==&lt;br /&gt;
A new stack frame is created for an object immediately prior to an interpretation of its bytecode. It is also created when jumping to and linking a bytecode routine via the JAL instruction. An object's ''initial'' stack frame is created when it enters its initial state, and is recreated for each subsequent state change (after the unwinding the stack). The initial stack frame is used for the object's code block interpretation. At any given point in time, an object's frame pointer and stack pointer, respectively, locate the beginning and end of its ''current'' stack frame. &lt;br /&gt;
&lt;br /&gt;
=== Format ===&lt;br /&gt;
A stack frame has the following format:&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-0x4 x &amp;lt;/nowiki&amp;gt;''a''&lt;br /&gt;
|**Argument ''a''&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Preserved Interpreter Mode Flags&lt;br /&gt;
|4 bytes&lt;br /&gt;
|0xFFFF for initial frame; * otherwise&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Preserved Program Counter&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Preserved Frame Pointer Relative Offset&lt;br /&gt;
|2 bytes&lt;br /&gt;
|f&lt;br /&gt;
|-&lt;br /&gt;
|0xA&lt;br /&gt;
|Preserved Stack Pointer Relative Offset&lt;br /&gt;
|2 bytes&lt;br /&gt;
|s&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Frame Data&lt;br /&gt;
|* x 4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
(**Arguments come before frames and are not actually 'part' of them)&lt;br /&gt;
&lt;br /&gt;
=== Initial Stack Frame ===&lt;br /&gt;
When the object is first created/spawned, or when it changes state, its program counter is pointed to the code block with offset &amp;lt;code&amp;gt;pccode&amp;lt;/code&amp;gt; (given by the state descriptor for its initial or new state), its frame pointer is cleared, and its stack pointer is ''reset'' to its initial location:&lt;br /&gt;
[[File:Goolinterp3b.png|none|thumb|646x646px]]&lt;br /&gt;
The object's initial stack frame is then [re]created by pushing the following sequence of values to the stack:&lt;br /&gt;
* 0x0000FFFF - Interpreter Mode Flags. Not an actual interpreter mode flags value but rather an indicator that an unwinding of this frame shall not restore interpreter mode flags.&lt;br /&gt;
* &amp;lt;code&amp;gt;obj-&amp;gt;pc&amp;lt;/code&amp;gt; - Program Counter. At this point, it points to the code block for the object's initial/new state.&lt;br /&gt;
* &amp;lt;code&amp;gt;(((unsigned long)obj-&amp;gt;fp - (unsigned long)&amp;amp;obj-&amp;gt;self) &amp;lt;&amp;lt; 16) | ((unsigned long)obj-&amp;gt;sp - (unsigned long)&amp;amp;obj-&amp;gt;self))&amp;lt;/code&amp;gt; Frame Pointer and Stack Pointer relative offsets. At this point, frame pointer (&amp;lt;code&amp;gt;obj-&amp;gt;fp&amp;lt;/code&amp;gt;) is 0 and stack pointer points to its initial location; this combined value should be of the form 0x0000****.&lt;br /&gt;
The object's frame pointer is then pointed to the beginning of that frame. With these values having been pushed to its stack, the object's stack pointer now points to the end of that frame. Thus, immediately following the instantiation or state change, the object's current stack frame is its initial stack frame.  &lt;br /&gt;
[[File:Goolinterp3d.png|none|thumb|756x756px]]&lt;br /&gt;
During the object's code block interpretation, this frame is then ''extended ''with additional data, including stack operands and/or the results of interpreted instructions. &lt;br /&gt;
&lt;br /&gt;
=== Non-Initial Stack Frame ===&lt;br /&gt;
After an object's initial stack frame is created, but before its next code block interpretation occurs, several other non-code block interpretations may be performed. Immediately prior to performing any of these interpretations, a new stack frame is created ''on top ''of the initial stack frame, and ''then'' the current program counter value (which contains the code block location) is replaced with the location of the non-code block. This frame is created by pushing the following sequence of values to the stack:&lt;br /&gt;
* &amp;lt;code&amp;gt;modeflags&amp;lt;/code&amp;gt; - Interpreter Mode Flags&lt;br /&gt;
* &amp;lt;code&amp;gt;obj-&amp;gt;pc&amp;lt;/code&amp;gt; - Program Counter. At this point, it points to the '''code block '''for the object's initial/new state.&lt;br /&gt;
* &amp;lt;code&amp;gt;(((unsigned long)obj-&amp;gt;fp - (unsigned long)&amp;amp;obj-&amp;gt;self) &amp;lt;&amp;lt; 16) | ((unsigned long)obj-&amp;gt;sp - (unsigned long)&amp;amp;obj-&amp;gt;self))&amp;lt;/code&amp;gt; Frame Pointer and Stack Pointer relative offsets. At this point, frame pointer points to the beginning of the initial frame, and stack pointer points to the end of the initial frame.&lt;br /&gt;
The object's frame pointer is then pointed to the beginning of that frame. With these values having been pushed to its stack, the object's stack pointer now points to the end of that frame. Thus, immediately following the creation of the frame, ''it'' is the object's current stack frame-that is, the initial stack frame is no longer the current stack frame.  &lt;br /&gt;
[[File:Goolinterp3e.png|none|thumb|573x573px]]&lt;br /&gt;
When the following interpretation finishes, the object's program counter is &amp;lt;i&amp;gt;restored&amp;lt;/i&amp;gt; to the code block location preserved in the current frame, and the preserved frame pointer and stack pointer offsets are used to restore the initial stack frame as the current frame. &lt;br /&gt;
&lt;br /&gt;
'''UNFINISHED'''&lt;br /&gt;
&lt;br /&gt;
== Interpreter Mode Flags ==&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
== GOOL Instructions ==&lt;br /&gt;
&lt;br /&gt;
=== Crash 1 ===&lt;br /&gt;
The GOOL Interpreter in Crash 1 recognizes a total of 58 different GOOL instructions: &lt;br /&gt;
* 6 Arithmetic Instructions (incl SHA*) &lt;br /&gt;
* 4 Non-bitwise Logical/Logical Comparison Instructions &lt;br /&gt;
* 4 Bitwise Logical Instructions &lt;br /&gt;
* 5 Comparison Instructions &lt;br /&gt;
* 5 Data Transfer Instructions &lt;br /&gt;
* 8 Mathematical Function Instructions &lt;br /&gt;
* 4 Control Flow Instructions &lt;br /&gt;
* 19 Miscellaneous/Multi-Purpose Instructions &lt;br /&gt;
&lt;br /&gt;
==== GOOL Instruction Tables ====&lt;br /&gt;
&lt;br /&gt;
===== Main Instruction Table =====&lt;br /&gt;
The GOOL instruction table below lists the opcode, mnemonic/name, format, operands (based on explicit and/or implicit specification of source origin and/or destination target), general operation (represented with c-style statement), and a description for each GOOL instruction.  &lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:monospace;font-size:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;   	&lt;br /&gt;
		&lt;br /&gt;
			|-&lt;br /&gt;
			!  Opcode  &lt;br /&gt;
			! Name &lt;br /&gt;
			!           Encoding/Format           &lt;br /&gt;
			!Explicit GOOL ops&lt;br /&gt;
in&lt;br /&gt;
			!Explicit IMM. ops&lt;br /&gt;
in&lt;br /&gt;
			!Implicit STACK ops&lt;br /&gt;
in&lt;br /&gt;
			!         Operation        &lt;br /&gt;
			! Implicit STACK out &lt;br /&gt;
			!Explicit&lt;br /&gt;
GOOL ops out&lt;br /&gt;
			!  Description&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 0/0x00 &lt;br /&gt;
			| ADD  &lt;br /&gt;
			| '''00000000'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L + R        &lt;br /&gt;
			|O  &lt;br /&gt;
			|                &lt;br /&gt;
			|  add &lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 1/0x01 &lt;br /&gt;
			| SUB  &lt;br /&gt;
			| '''00000001'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L - R        &lt;br /&gt;
			|O  &lt;br /&gt;
			|                &lt;br /&gt;
			|  subtract&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 2/0x02 &lt;br /&gt;
			| MUL  &lt;br /&gt;
			| '''00000010'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L * R        &lt;br /&gt;
			|O  &lt;br /&gt;
			|                &lt;br /&gt;
			|  multiply&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 3/0x03 &lt;br /&gt;
			| DIV  &lt;br /&gt;
			| '''00000011'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L / R        &lt;br /&gt;
			|O  &lt;br /&gt;
			|                &lt;br /&gt;
			|  divide&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 4/0X04 &lt;br /&gt;
			| CEQ  &lt;br /&gt;
			| '''00000100'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|        O = (L == R),&lt;br /&gt;
O = ((L ^ R) == 0)     &lt;br /&gt;
			|O  &lt;br /&gt;
			|                &lt;br /&gt;
			|  check if equal&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 5/0x05 &lt;br /&gt;
			| ANDL &lt;br /&gt;
			| 00000101RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|        O = (L &amp;amp;&amp;amp; R),&lt;br /&gt;
O = (L ? (R &amp;gt; 0) : 0)     &lt;br /&gt;
			|O   &lt;br /&gt;
			|                &lt;br /&gt;
			|  logical and&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 6/0x06 &lt;br /&gt;
			| ORL  &lt;br /&gt;
			| 00000110RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|&amp;lt;nowiki&amp;gt;O = (L || R)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
			|O&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
			|  logical or&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 7/0x07 &lt;br /&gt;
			| ANDB &lt;br /&gt;
			| 00000111RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L &amp;amp; R        &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  bitwise and&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 8/0x08 &lt;br /&gt;
			| ORB  &lt;br /&gt;
			| 00001000RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|&amp;lt;nowiki&amp;gt;O = L | R&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
			|O&lt;br /&gt;
			|  &lt;br /&gt;
			|  bitwise or&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 9/0x09 &lt;br /&gt;
			| SLT  &lt;br /&gt;
			| 00001001RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L &amp;lt; R        &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  set less than&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|10/0x0A &lt;br /&gt;
			| SLE  &lt;br /&gt;
			| 00001010RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|        O = (L &amp;lt;= R)      &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  set less than or equal&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|11/0x0B &lt;br /&gt;
			| SGT  &lt;br /&gt;
			| 00001011RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L &amp;gt; R        &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  set greater than&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|12/0x0C &lt;br /&gt;
			| SGE  &lt;br /&gt;
			| 00001100RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|        O = (L &amp;gt;= R)      &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  set greater than or equal&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|13/0x0D &lt;br /&gt;
			| MOD  &lt;br /&gt;
			| 00001101RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L % R        &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  modulo&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|14/0x0E &lt;br /&gt;
			| XOR  &lt;br /&gt;
			| 00001110RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L ^ R        &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  exclusive or&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|15/0x0F &lt;br /&gt;
			| TST  &lt;br /&gt;
			| 00001111RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			| O = (((L &amp;amp; R) ^ R) == 0) &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  test bit&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|16/0x10 &lt;br /&gt;
			| RND  &lt;br /&gt;
			| 00010000AAAAAAAAAAAABBBBBBBBBBBB &lt;br /&gt;
			|  A,B   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			| O = B+(rand() % (A - B))&lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  random&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|17/0x11 &lt;br /&gt;
			| MOVE &lt;br /&gt;
			| 00010001SSSSSSSSSSSSDDDDDDDDDDDD &lt;br /&gt;
			|   S    &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|           D = S          &lt;br /&gt;
			|              &lt;br /&gt;
			|  [D]   &lt;br /&gt;
			|  move data&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|18/0x12 &lt;br /&gt;
			| NOTL &lt;br /&gt;
			| 00010010SSSSSSSSSSSSDDDDDDDDDDDD &lt;br /&gt;
			|   S    &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|        D = (S == 0)      &lt;br /&gt;
			|              &lt;br /&gt;
			|   D    &lt;br /&gt;
			|  logical not&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|19/0x13 &lt;br /&gt;
			| PATH  &lt;br /&gt;
			| 00010011AAAAAAAAAAAABBBBBBBBBBBB &lt;br /&gt;
			|  (A),B &lt;br /&gt;
			|R = 0x100&lt;br /&gt;
			|  [R,A]  &lt;br /&gt;
			|           varies         &lt;br /&gt;
			|   P   &lt;br /&gt;
			|   B    &lt;br /&gt;
			|  path progress &lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|20/0x14 &lt;br /&gt;
			| LEA  &lt;br /&gt;
			| 00010100SSSSSSSSSSSSDDDDDDDDDDDD &lt;br /&gt;
			|   S    &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|           D = &amp;amp;S         &lt;br /&gt;
			|              &lt;br /&gt;
			|   D    &lt;br /&gt;
			|  load effective address&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|21/0x15 &lt;br /&gt;
			| SHA  &lt;br /&gt;
			| 00010101RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			| O = ((R &amp;lt; 0) ? (L &amp;gt;&amp;gt; -R) &lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; (L &amp;lt;&amp;lt; R)) &lt;br /&gt;
			|   O   &lt;br /&gt;
			|                &lt;br /&gt;
			|  arithmetic shift&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|22/0x16 &lt;br /&gt;
			| PSHV  &lt;br /&gt;
			| 00010110AAAAAAAAAAAABBBBBBBBBBBB &lt;br /&gt;
			|  [A,[B]]   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|       [arg_buf = A]&lt;br /&gt;
I = A; J = B;      &lt;br /&gt;
			|[I,[J]]&lt;br /&gt;
			|                &lt;br /&gt;
			|  push value to stack   &lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|23/0x17 &lt;br /&gt;
			| NOTB &lt;br /&gt;
			| 00010111SSSSSSSSSSSSDDDDDDDDDDDD                        &lt;br /&gt;
			|                &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    D = ~S&lt;br /&gt;
			|              &lt;br /&gt;
			|                D&lt;br /&gt;
			|  bitwise not&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|24/0x18 &lt;br /&gt;
			| MOVC &lt;br /&gt;
			| 000110000000RRRRRRIIIIIIIIIIIIII &lt;br /&gt;
			|                &lt;br /&gt;
			|   R,C   &lt;br /&gt;
			|                  &lt;br /&gt;
			|         see docs         &lt;br /&gt;
			|   O   &lt;br /&gt;
			|                &lt;br /&gt;
			|  move code pointer&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|25/0x19 &lt;br /&gt;
			| ABS  &lt;br /&gt;
			| 00011001SSSSSSSSSSSSDDDDDDDDDDDD &lt;br /&gt;
			|   S    &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|   D = (S &amp;lt; 0) ? -S: S    &lt;br /&gt;
			|              &lt;br /&gt;
			|   D    &lt;br /&gt;
			|  absolute value&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|26/0x1A &lt;br /&gt;
			| PAD  &lt;br /&gt;
			| 00011010000TDDDDSSPPBBBBBBBBBBBB &lt;br /&gt;
			|                &lt;br /&gt;
			|B,P,S,D,T&lt;br /&gt;
			|                  &lt;br /&gt;
			| O = testctrls(instr,0)&lt;br /&gt;
			|   O   &lt;br /&gt;
			|                &lt;br /&gt;
			|  test controller buttons    &lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|27/0x1B &lt;br /&gt;
			| SPD  &lt;br /&gt;
			| 00011011VVVVVVVVVVVVBBBBBBBBBBBB &lt;br /&gt;
			|  V,B   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|S = B + ((V*gvel) &amp;gt;&amp;gt; 10)&lt;br /&gt;
			|   S   &lt;br /&gt;
			|                &lt;br /&gt;
			|  calculate speed &lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|28/0x1C &lt;br /&gt;
			| MSC  &lt;br /&gt;
			| 00011100PPPPSSSSSLLLXXXXXXXXXXXX &lt;br /&gt;
			|   X    &lt;br /&gt;
			|  P,S,L  &lt;br /&gt;
			|                  &lt;br /&gt;
			|     various; see docs    &lt;br /&gt;
			|  ***  &lt;br /&gt;
			|   ***  &lt;br /&gt;
			|  multi-purpose&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|29/0x1D &lt;br /&gt;
			| PRS  &lt;br /&gt;
			| 00011101PPPPPPPPPPPPDDDDDDDDDDDD &lt;br /&gt;
			|  P,D   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|    large calc; see docs  &lt;br /&gt;
			|   O   &lt;br /&gt;
			|                &lt;br /&gt;
			|  driven sine wave&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|30/0x1E &lt;br /&gt;
			| SSAW  &lt;br /&gt;
			| 00011110DDDDDDDDDDDDPPPPPPPPPPPP &lt;br /&gt;
			|  M,P   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			| O = (M + frameCount) % P &lt;br /&gt;
			|   O   &lt;br /&gt;
			|                &lt;br /&gt;
			|  synchronized saw wave&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|31/0x1F &lt;br /&gt;
			| RGL  &lt;br /&gt;
			| 00011111000000000000IIIIIIIIIIII &lt;br /&gt;
			|   I    &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|    O = globals[I &amp;gt;&amp;gt; 8]   &lt;br /&gt;
			|   O   &lt;br /&gt;
			|                &lt;br /&gt;
			|  read global variable&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|32/0x20 &lt;br /&gt;
			| WGL  &lt;br /&gt;
			| 00100000SSSSSSSSSSSSIIIIIIIIIIII &lt;br /&gt;
			|  I,S   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|    globals[I &amp;lt;&amp;lt; 8] = *S   &lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|  write global variable&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|33/0x21 &lt;br /&gt;
			| ANGD  &lt;br /&gt;
			|                                                                          00100001RRRRRRRRRRRRLLLLLLLLLLLL&lt;br /&gt;
			|                L,R&lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    O = angdist(L,R)&lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|  angle between&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|34/0x22 &lt;br /&gt;
			| APCH  &lt;br /&gt;
			| 00100010RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,(R) &lt;br /&gt;
			|                  S = 0x100&lt;br /&gt;
			|  [R,S]  &lt;br /&gt;
			|    O = approach(L,R,S)   &lt;br /&gt;
			|   O   &lt;br /&gt;
			|                &lt;br /&gt;
			|  approach a value&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|35/0x23 &lt;br /&gt;
			| CVMR &lt;br /&gt;
			|                                                                          00100011000IIIIIILLL000000000000&lt;br /&gt;
			|                &lt;br /&gt;
			|                  I,L&lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    O = obj.link[L].colors[I]&lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|color vector or matrix read&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|36/0x24 &lt;br /&gt;
			| CVMW &lt;br /&gt;
			|                                                                          00100011000IIIIIILLLCCCCCCCCCCCC&lt;br /&gt;
			|                C&lt;br /&gt;
			|                  I,L&lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    obj.link[L].colors[I] = C&lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|color vector or matrix write&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|37/0x25 &lt;br /&gt;
			| ROT &lt;br /&gt;
			| 00100101RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,(R) &lt;br /&gt;
			|                  &lt;br /&gt;
			|  [R,S]  &lt;br /&gt;
			|    O = rotate(L,R,S,0)   &lt;br /&gt;
			|   O   &lt;br /&gt;
			|                &lt;br /&gt;
			|  approach an angle&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|38/0x26 &lt;br /&gt;
			| PSHP &lt;br /&gt;
			|                                                                          001001100AAAAAAAAAAABBBBBBBBBBBB&lt;br /&gt;
			|                [A,[B]]&lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    I = &amp;amp;A; J = &amp;amp;B;&lt;br /&gt;
			|              &lt;br /&gt;
			|                [I,[J]]&lt;br /&gt;
			|  push pointer to stack&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|39/0X27 &lt;br /&gt;
			| ANID  &lt;br /&gt;
			| 00100111FFFFFFFFFFFFDDDDDDDDDDDD &lt;br /&gt;
			|   F    &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			| D=&amp;amp;obj.global.anim[F&amp;gt;&amp;gt;5] &lt;br /&gt;
			|              &lt;br /&gt;
			|   D    &lt;br /&gt;
			|set animation&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|128/0x80 &lt;br /&gt;
			| DBG  &lt;br /&gt;
			| 10000000RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|                L,R&lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    &lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|  debug print ops (beta only)&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|129/0x81 &lt;br /&gt;
			| NOP  &lt;br /&gt;
			| 10000001000000000000000000000000 &lt;br /&gt;
			|                &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    &lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|  no operation&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|130/0x82 &lt;br /&gt;
			| CFL  &lt;br /&gt;
			| 10000010TTCCRRRRRRIIIIIIIIIIIIII &lt;br /&gt;
			|                &lt;br /&gt;
			| T,C,R,I &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    &lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|  general control flow&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|                    &lt;br /&gt;
			|  BRA   &lt;br /&gt;
			| 100000100000RRRRRRVVVVIIIIIIIIII &lt;br /&gt;
			|                &lt;br /&gt;
			|  R,V,I  &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    &lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|  branch&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|                    &lt;br /&gt;
			|  BNEZ&lt;br /&gt;
			| 100000100001RRRRRRVVVVIIIIIIIIII &lt;br /&gt;
			|                &lt;br /&gt;
			|  R,V,I  &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    &lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|  branch not equal zero&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|                    &lt;br /&gt;
			|  BEQZ&lt;br /&gt;
			| 100000100010RRRRRRVVVVIIIIIIIIII &lt;br /&gt;
			|                &lt;br /&gt;
			|  R,V,I  &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    &lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|  branch equal zero&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|                    &lt;br /&gt;
			|  CST &lt;br /&gt;
			| 100000100100RRRRRRSSSSSSSSSSSSSS &lt;br /&gt;
			|                &lt;br /&gt;
			|   R,S   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    &lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|  change state&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|                    &lt;br /&gt;
			|  CSNZ&lt;br /&gt;
			| 100000100101RRRRRRSSSSSSSSSSSSSS &lt;br /&gt;
			|                &lt;br /&gt;
			|   R,S   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    &lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|  change state not zero&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|                    &lt;br /&gt;
			|  CSEZ&lt;br /&gt;
			| 100000100110RRRRRRSSSSSSSSSSSSSS &lt;br /&gt;
			|                &lt;br /&gt;
			|   R,S   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    &lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|  change state equal zero&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|                    &lt;br /&gt;
			|  RET &lt;br /&gt;
			| 100000101000RRRRRRIIIIIIIIIIIIII &lt;br /&gt;
			|                &lt;br /&gt;
			|                  R,I&lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    &lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|  return&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|131/0x83 &lt;br /&gt;
			| ANIS &lt;br /&gt;
			| 10000011HHTTTTTTSSSSSSSSSFFFFFFF &lt;br /&gt;
			|                &lt;br /&gt;
			| F,S,T,H &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    &lt;br /&gt;
			|   W   &lt;br /&gt;
			|                &lt;br /&gt;
			|  change animation sequence&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|132/0x84 &lt;br /&gt;
			| ANIF &lt;br /&gt;
			| 10000100HHTTTTTTFFFFFFFFFFFFFFFF &lt;br /&gt;
			|   F    &lt;br /&gt;
			|   T,H   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    &lt;br /&gt;
			|   W   &lt;br /&gt;
			|                &lt;br /&gt;
			|  change animation frame&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|133/0x85 &lt;br /&gt;
			| VECA &lt;br /&gt;
			| 10000101CCCTTTBBBAAAVVVVVVVVVVVV &lt;br /&gt;
			|   V    &lt;br /&gt;
			| T,A,B,C &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    &lt;br /&gt;
			|  *  &lt;br /&gt;
			|  **   &lt;br /&gt;
			|  multi-purpose vector calcs&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|134/0x86 &lt;br /&gt;
			| JAL  &lt;br /&gt;
			| 10000110VVVV000000IIIIIIIIIIIIII &lt;br /&gt;
			|                &lt;br /&gt;
			|   I,V   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                                                      &lt;br /&gt;
			|  &lt;br /&gt;
			|&lt;br /&gt;
			|jump and link&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|135/0x87 &lt;br /&gt;
			| EVNT   &lt;br /&gt;
			|                                                                          10000111LLLAAARRRRRREEEEEEEEEEEE&lt;br /&gt;
			|                E&lt;br /&gt;
			|                  L,A,R&lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                                                      &lt;br /&gt;
			|    &lt;br /&gt;
			|&lt;br /&gt;
			|send an event&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|136/0x88 &lt;br /&gt;
			| RSTT  &lt;br /&gt;
			|                                                                          10001000TTCCRRRRRR**************&lt;br /&gt;
			|                &lt;br /&gt;
			|                  R,C,T,*&lt;br /&gt;
			|                  **&lt;br /&gt;
			|&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
			|&lt;br /&gt;
			|state return guard = true variant&lt;br /&gt;
|-&lt;br /&gt;
			|137/0x89 &lt;br /&gt;
			| RSTF  &lt;br /&gt;
			|                                                                          10001001TTCCRRRRRR**************&lt;br /&gt;
			|                &lt;br /&gt;
			|                  R,C,T,*&lt;br /&gt;
			|                  **&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|state return guard = false variant&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
			|138/0x8A &lt;br /&gt;
			| CHLD &lt;br /&gt;
			| 10001010AAAATTTTTTTTSSSSSSCCCCCC &lt;br /&gt;
			|                &lt;br /&gt;
			| C,T,S,A &lt;br /&gt;
			|[C], &lt;br /&gt;
arg[0 to A]&lt;br /&gt;
			|                                                    &lt;br /&gt;
			|              &lt;br /&gt;
			|                &lt;br /&gt;
			|  spawn children objects&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|139/0x8B &lt;br /&gt;
			| NTRY &lt;br /&gt;
			| 10001011TTTTTTTTTTTTEEEEEEEEEEEE &lt;br /&gt;
			|                &lt;br /&gt;
			|   T,E   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                                                      &lt;br /&gt;
			|  &lt;br /&gt;
			|&lt;br /&gt;
			|multi-purpose page operation&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|140/0x8C &lt;br /&gt;
			| SNDA &lt;br /&gt;
			|                                                                          10001100AAAAAAAAAAAABBBBBBBBBBBB&lt;br /&gt;
			|                A,B&lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                                                      &lt;br /&gt;
			|  &lt;br /&gt;
			|&lt;br /&gt;
			|adjust audio levels&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|141/0x8D &lt;br /&gt;
			| SNDB &lt;br /&gt;
			|                                                                          10001101VVVVRRRRRRSSSSSSSSSSSSS&lt;br /&gt;
			|                S&lt;br /&gt;
			|                  V,R&lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                                                      &lt;br /&gt;
			|  &lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
			|play sound&amp;lt;br&amp;gt;effect&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|142/0x8E &lt;br /&gt;
			| VECB &lt;br /&gt;
			| 10001110CCCTTTBBBAAAVVVVVVVVVVVV &lt;br /&gt;
			|                V&lt;br /&gt;
			|                  T,A,B,C&lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                                                      &lt;br /&gt;
			|  &lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
			|multi-purpose vector calcs&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|143/0x8F &lt;br /&gt;
			| EVNB &lt;br /&gt;
			|                                                                          10001111LLLAAARRRRRREEEEEEEEEEEE&lt;br /&gt;
			|                E&lt;br /&gt;
			|                  L,A,R&lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                                                      &lt;br /&gt;
			|  &lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
			|broadcast an event&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|144/0x90 &lt;br /&gt;
			| EVNU   &lt;br /&gt;
			|                                                                          10010000LLLAAARRRRRREEEEEEEEEEEE&lt;br /&gt;
			|                E&lt;br /&gt;
			|                  L,A,R&lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                                                      &lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
			|send event unknown variant&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|145/0x91 &lt;br /&gt;
			| CHLF &lt;br /&gt;
			|                                                                          10100000AAAATTTTTTTTSSSSSSCCCCCC&lt;br /&gt;
			|                &lt;br /&gt;
			|                  C,T,S,A&lt;br /&gt;
			|                  [C], &lt;br /&gt;
arg[0 to A]&lt;br /&gt;
			|                                                                                      &lt;br /&gt;
			|  &lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
			|spawn children objects; &lt;br /&gt;
no replacement if obj pool full&lt;br /&gt;
	&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that a few instructions can not be represented with a single mnemonic; operations for these instructions are not only determined by their opcode but also their primary operation subtype and possibly secondary operation subtype fields. These instructions have their own tables, which are given in the following sections.&lt;br /&gt;
&lt;br /&gt;
===== State Return Instruction Table =====&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:monospace;font-size:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Opcode&lt;br /&gt;
!Name&lt;br /&gt;
!Encoding/Format&lt;br /&gt;
!Explicit&lt;br /&gt;
IMM. ops&lt;br /&gt;
&lt;br /&gt;
in &lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|136/0x88&lt;br /&gt;
|RSTT&lt;br /&gt;
|10001000TTCCRRRRRR**************&lt;br /&gt;
|R,C,T,*&lt;br /&gt;
|state return guard = true variant&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RST&lt;br /&gt;
|100010000100RRRRRRSSSSSSSSSSSSSS&lt;br /&gt;
|R,S&lt;br /&gt;
|state return guard = true&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RSNT&lt;br /&gt;
|100010000101RRRRRRSSSSSSSSSSSSSS&lt;br /&gt;
|R,S&lt;br /&gt;
|state return if nonzero guard = true&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RSZT&lt;br /&gt;
|100010000110RRRRRRSSSSSSSSSSSSSS&lt;br /&gt;
|R,S&lt;br /&gt;
|state return if equal zero guard = true&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RSCT&lt;br /&gt;
|100010000111RRRRRRSSSSSSSSSSSSSS&lt;br /&gt;
|R,S&lt;br /&gt;
|state return eval prev cond guard = true&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RNT&lt;br /&gt;
|100010001000RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|null return guard = true&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RNNT&lt;br /&gt;
|100010001001RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|null return if nonzero guard = true&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RNZT&lt;br /&gt;
|100010001010RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|null return if equal zero guard = true&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RNCT&lt;br /&gt;
|100010001011RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|null return eval prev cond guard = true&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GDT&lt;br /&gt;
|100010001100RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|guard = true&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GNT&lt;br /&gt;
|100010001101RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|if nonzero guard = true&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GZT&lt;br /&gt;
|100010001110RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|if equal zero guard = true&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GCT&lt;br /&gt;
|100010001111RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|eval prev cond guard = true&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GBNT&lt;br /&gt;
|100010000001RRRRRRVVVVIIIIIIIIII&lt;br /&gt;
|R,V,I&lt;br /&gt;
|if nonzero guard = true else branch&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GBZT&lt;br /&gt;
|100010000010RRRRRRVVVVIIIIIIIIII&lt;br /&gt;
|R,V,I&lt;br /&gt;
|if equal zero guard = true else branch&lt;br /&gt;
|-&lt;br /&gt;
			|137/0x89 &lt;br /&gt;
			| RSTF  &lt;br /&gt;
			|                                                                          10001001TTCCRRRRRR**************&lt;br /&gt;
			|                  R,C,T,*&lt;br /&gt;
			|state return guard = false variant&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RSF&lt;br /&gt;
|100010000100RRRRRRSSSSSSSSSSSSSS&lt;br /&gt;
|R,S&lt;br /&gt;
|state return guard = false&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RSNF&lt;br /&gt;
|100010000101RRRRRRSSSSSSSSSSSSSS&lt;br /&gt;
|R,S&lt;br /&gt;
|state return if nonzero guard = false&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RSZF&lt;br /&gt;
|100010000110RRRRRRSSSSSSSSSSSSSS&lt;br /&gt;
|R,S&lt;br /&gt;
|state return if equal zero guard = false&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RSCF&lt;br /&gt;
|100010000111RRRRRRSSSSSSSSSSSSSS&lt;br /&gt;
|R,S&lt;br /&gt;
|state return eval prev cond guard = false&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RNF&lt;br /&gt;
|100010001000RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|null return guard = false&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RNNF&lt;br /&gt;
|100010001001RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|null return if nonzero guard = false&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RNZF&lt;br /&gt;
|100010001010RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|null return if equal zero guard = false&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|RNCF&lt;br /&gt;
|100010001011RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|null return eval prev cond guard = false&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GDF&lt;br /&gt;
|100010001100RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|guard = false&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GNF&lt;br /&gt;
|100010001101RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|if nonzero guard = false&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GZF&lt;br /&gt;
|100010001110RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|if equal zero guard = false&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GCF&lt;br /&gt;
|100010001111RRRRRRxxxxxxxxxxxxxx&lt;br /&gt;
|R&lt;br /&gt;
|eval prev cond guard = false&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GBNF&lt;br /&gt;
|100010000001RRRRRRVVVVIIIIIIIIII&lt;br /&gt;
|R,V,I&lt;br /&gt;
|if nonzero guard = false else branch&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GBZF&lt;br /&gt;
|100010000010RRRRRRVVVVIIIIIIIIII&lt;br /&gt;
|R,V,I&lt;br /&gt;
|if equal zero guard = false else branch&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Operand Name Table =====&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:monospace;font-size:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
Specification Format&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |A&lt;br /&gt;
|AAAAAAAAAAAA&lt;br /&gt;
|AAAA&lt;br /&gt;
|AAA (EVNT/EVNU/EVNB)&lt;br /&gt;
|AAA (VECA/VECB)&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Value A&lt;br /&gt;
|Argument Count&lt;br /&gt;
|Argument Count&lt;br /&gt;
|Vector A Index&lt;br /&gt;
|-&lt;br /&gt;
!Specification Format&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |B&lt;br /&gt;
|BBBBBBBBBBBB&lt;br /&gt;
|BBBBBBBBBBBB (PAD)&lt;br /&gt;
|BBBBBBBBBBBB (SPD)&lt;br /&gt;
|BBB&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Value B&lt;br /&gt;
|Controller Buttons&lt;br /&gt;
|Base Speed&lt;br /&gt;
|Vector B Index&lt;br /&gt;
|-&lt;br /&gt;
!Specification Format&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |C&lt;br /&gt;
|CCCCCCCCCCCC&lt;br /&gt;
|CCCCCC&lt;br /&gt;
|CCC&lt;br /&gt;
|CC&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Color Value&lt;br /&gt;
|Spawn Count&lt;br /&gt;
|Vector C Index&lt;br /&gt;
|Conditional Check Type&lt;br /&gt;
|-&lt;br /&gt;
!Specification Format&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |D&lt;br /&gt;
|DDDDDDDDDDDD&lt;br /&gt;
|DDDDDDDDDDDD (PRS)&lt;br /&gt;
|DDDD&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Destination&lt;br /&gt;
|Wave Phase&lt;br /&gt;
|Directional Buttons&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!Specification Format&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |E&lt;br /&gt;
|EEEEEEEEEEEE (NTRY)&lt;br /&gt;
|EEEEEEEEEEEE (EVNT/EVNU/EVNB)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Entry&lt;br /&gt;
|Event&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!Specification Format&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |F&lt;br /&gt;
|FFFFFFFFFFFFFFFF&lt;br /&gt;
|FFFFFFFFFFFF&lt;br /&gt;
|FFFFFFF&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Animation Frame&lt;br /&gt;
|Animation Descriptor Offset&lt;br /&gt;
|Animation Frame&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
Specification Format&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |H&lt;br /&gt;
|HH&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Horizontal Flip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
Specification Format&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |I&lt;br /&gt;
|IIIIIIIIIIIIII&lt;br /&gt;
|IIIIIIIIIIII&lt;br /&gt;
|IIIIIIIIII&lt;br /&gt;
|IIIIII&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Immediate Code Location&lt;br /&gt;
|Global Variable Index&lt;br /&gt;
|Immediate Branch Offset&lt;br /&gt;
|Color Index&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
Specification Format&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |L&lt;br /&gt;
|LLLLLLLLLLLL&lt;br /&gt;
|LLL&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Left Operand&lt;br /&gt;
|Object Link Index&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
Specification Format&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |P&lt;br /&gt;
|PPPPPPPPPPPP&lt;br /&gt;
|PPPP&lt;br /&gt;
|PP&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Wave Period&lt;br /&gt;
|Primary Operation Subtype&lt;br /&gt;
|Primary Check Type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
Specification Format&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |R&lt;br /&gt;
|RRRRRRRRRRRR&lt;br /&gt;
|RRRRRR&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Right Operand&lt;br /&gt;
|Object Register Index&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
Specification Format&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |S&lt;br /&gt;
|SSSSSSSSSSSSSS&lt;br /&gt;
|SSSSSSSSSSSS&lt;br /&gt;
|SSSSSSSSS&lt;br /&gt;
|SSSSSS&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|State&lt;br /&gt;
|Source&lt;br /&gt;
|Animation Sequence Index&lt;br /&gt;
|Subtype&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
Specification Format&lt;br /&gt;
|SSSSS&lt;br /&gt;
|SS&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Secondary Operation Subtype&lt;br /&gt;
|Secondary Check Type&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
Specification Format&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |T&lt;br /&gt;
|TTTTTTTTTTTT&lt;br /&gt;
|TTTTTTTT&lt;br /&gt;
|TTTTTT&lt;br /&gt;
|TTT&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Operation Subtype&lt;br /&gt;
|(Object) Type&lt;br /&gt;
|Time&lt;br /&gt;
|Operation Subtype&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
Specification Format&lt;br /&gt;
|TT&lt;br /&gt;
|T&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Operation Subtype&lt;br /&gt;
|Truth Invert Toggle&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
Specification Format&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |V&lt;br /&gt;
|VVVVVVVVVVVV&lt;br /&gt;
|VVVV&lt;br /&gt;
|VVVV (SNDB)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
|Velocity&lt;br /&gt;
|Variable Count&lt;br /&gt;
|Volume&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Crash 2 ===&lt;br /&gt;
The GOOL Interpreter in Crash 2 recognizes a total of 79 GOOL instructions, including two duplicates. Many of the instructions are unknown. The basic arithmetic and logical operations are preserved the same as in Crash 1, but most others have been changed.&lt;br /&gt;
&lt;br /&gt;
Crash 2 GOOL code may also contain sections of machine code for the MIPS processor architecture (used by the playstation).&lt;br /&gt;
&lt;br /&gt;
==== GOOLv2 Instruction Table ====&lt;br /&gt;
The GOOL instruction table below lists the opcode, mnemonic/name, format, operands (based on explicit and/or implicit specification of source origin and/or destination target), general operation (represented with c-style statement), and a description for each GOOL instruction.  &lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:monospace;font-size:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;   	&lt;br /&gt;
		&lt;br /&gt;
			|-&lt;br /&gt;
			!  Opcode  &lt;br /&gt;
			! Name &lt;br /&gt;
			!           Encoding/Format           &lt;br /&gt;
			!Explicit GOOL ops&lt;br /&gt;
in&lt;br /&gt;
			!Explicit IMM. ops&lt;br /&gt;
in&lt;br /&gt;
			!Implicit STACK ops&lt;br /&gt;
in&lt;br /&gt;
			!         Operation        &lt;br /&gt;
			! Implicit STACK out &lt;br /&gt;
			!Explicit&lt;br /&gt;
GOOL ops out&lt;br /&gt;
			!  Description&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 0/0x00 &lt;br /&gt;
			| ADD  &lt;br /&gt;
			| '''00000000'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L + R        &lt;br /&gt;
			|O  &lt;br /&gt;
			|                &lt;br /&gt;
			|  add &lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 1/0x01 &lt;br /&gt;
			| SUB  &lt;br /&gt;
			| '''00000001'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L - R        &lt;br /&gt;
			|O  &lt;br /&gt;
			|                &lt;br /&gt;
			|  subtract&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 2/0x02 &lt;br /&gt;
			| MUL  &lt;br /&gt;
			| '''00000010'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L * R        &lt;br /&gt;
			|O  &lt;br /&gt;
			|                &lt;br /&gt;
			|  multiply&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 3/0x03 &lt;br /&gt;
			| DIV  &lt;br /&gt;
			| '''00000011'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L / R        &lt;br /&gt;
			|O  &lt;br /&gt;
			|                &lt;br /&gt;
			|  divide&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 4/0X04 &lt;br /&gt;
			| CEQ  &lt;br /&gt;
			| '''00000100'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|        O = (L == R),&lt;br /&gt;
O = ((L ^ R) == 0)     &lt;br /&gt;
			|O  &lt;br /&gt;
			|                &lt;br /&gt;
			|  check if equal&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 5/0x05 &lt;br /&gt;
			| ANDL &lt;br /&gt;
			| '''00000101'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|        O = (L &amp;amp;&amp;amp; R),&lt;br /&gt;
O = (L ? (R &amp;gt; 0) : 0)     &lt;br /&gt;
			|O   &lt;br /&gt;
			|                &lt;br /&gt;
			|  logical and&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 6/0x06 &lt;br /&gt;
			| ORL  &lt;br /&gt;
			| '''00000110'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|&amp;lt;nowiki&amp;gt;O = (L || R)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
			|O&lt;br /&gt;
			|&amp;lt;br&amp;gt;&lt;br /&gt;
			|  logical or&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 7/0x07 &lt;br /&gt;
			| ANDB &lt;br /&gt;
			| '''00000111'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L &amp;amp; R        &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  bitwise and&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 8/0x08 &lt;br /&gt;
			| ORB  &lt;br /&gt;
			| '''00001000'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|&amp;lt;nowiki&amp;gt;O = L | R&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
			|O&lt;br /&gt;
			|  &lt;br /&gt;
			|  bitwise or&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			| 9/0x09 &lt;br /&gt;
			| SLT  &lt;br /&gt;
			| '''00001001'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L &amp;lt; R        &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  set less than&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|10/0x0A &lt;br /&gt;
			| SLE  &lt;br /&gt;
			| '''00001010'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|        O = (L &amp;lt;= R)      &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  set less than or equal&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|11/0x0B &lt;br /&gt;
			| SGT  &lt;br /&gt;
			| '''00001011'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L &amp;gt; R        &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  set greater than&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|12/0x0C &lt;br /&gt;
			| SGE  &lt;br /&gt;
			| '''00001100'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|        O = (L &amp;gt;= R)      &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  set greater than or equal&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|13/0x0D &lt;br /&gt;
			| MOD  &lt;br /&gt;
			| '''00001101'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L % R        &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  modulo&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|14/0x0E &lt;br /&gt;
			| XOR  &lt;br /&gt;
			| '''00001110'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|         O = L ^ R        &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  exclusive or&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|15/0x0F &lt;br /&gt;
			| TST  &lt;br /&gt;
			| '''00001111'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			| O = (((L &amp;amp; R) ^ R) == 0) &lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  test bit&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|16/0x10 &lt;br /&gt;
			| RND  &lt;br /&gt;
			| '''00010000'''AAAAAAAAAAAABBBBBBBBBBBB &lt;br /&gt;
			|  A,B   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			| O = B+(rand() % (A - B))&lt;br /&gt;
			|O&lt;br /&gt;
			|                &lt;br /&gt;
			|  random&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|17/0x11 &lt;br /&gt;
			| MOVE &lt;br /&gt;
			| '''00010001'''SSSSSSSSSSSSDDDDDDDDDDDD &lt;br /&gt;
			|   S    &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|           D = S          &lt;br /&gt;
			|              &lt;br /&gt;
			|  [D]   &lt;br /&gt;
			|  move data&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|18/0x12 &lt;br /&gt;
			| NOTL &lt;br /&gt;
			| '''00010010'''SSSSSSSSSSSSDDDDDDDDDDDD &lt;br /&gt;
			|   S    &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|        D = (S == 0)      &lt;br /&gt;
			|              &lt;br /&gt;
			|   D    &lt;br /&gt;
			|  logical not&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|19/0x13 &lt;br /&gt;
			| PATH  &lt;br /&gt;
			| '''00010011'''AAAAAAAAAAAABBBBBBBBBBBB &lt;br /&gt;
			|  (A),B &lt;br /&gt;
			|R = 0x100&lt;br /&gt;
			|  [R,A]  &lt;br /&gt;
			|           varies         &lt;br /&gt;
			|   P   &lt;br /&gt;
			|   B    &lt;br /&gt;
			|  path progress (unconfirmed for c2)&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|20/0x14 &lt;br /&gt;
			| LEA  &lt;br /&gt;
			| '''00010100'''SSSSSSSSSSSSDDDDDDDDDDDD &lt;br /&gt;
			|   S    &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|           D = &amp;amp;S         &lt;br /&gt;
			|              &lt;br /&gt;
			|   D    &lt;br /&gt;
			|  load effective address (unconfirmed for c2)&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|21/0x15 &lt;br /&gt;
			| SHA  &lt;br /&gt;
			| '''00010101'''RRRRRRRRRRRRLLLLLLLLLLLL &lt;br /&gt;
			|  L,R   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			| O = ((R &amp;lt; 0) ? (L &amp;gt;&amp;gt; -R) &lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; (L &amp;lt;&amp;lt; R)) &lt;br /&gt;
			|   O   &lt;br /&gt;
			|                &lt;br /&gt;
			|  arithmetic shift&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|22/0x16 &lt;br /&gt;
			| PSHV  &lt;br /&gt;
			| '''00010110'''AAAAAAAAAAAABBBBBBBBBBBB &lt;br /&gt;
			|  [A,[B]]   &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|       [arg_buf = A]&lt;br /&gt;
I = A; J = B;      &lt;br /&gt;
			|[I,[J]]&lt;br /&gt;
			|                &lt;br /&gt;
			|  push value to stack (unconfirmed for c2)&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|23/0x17 &lt;br /&gt;
			| NOTB &lt;br /&gt;
			| '''00010111'''SSSSSSSSSSSSDDDDDDDDDDDD                        &lt;br /&gt;
			|                &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|                                                    D = ~S&lt;br /&gt;
			|              &lt;br /&gt;
			|                D&lt;br /&gt;
			|  bitwise not&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|24/0x18 &lt;br /&gt;
			| MOVC &lt;br /&gt;
			| '''00011000'''0000RRRRRRIIIIIIIIIIIIII &lt;br /&gt;
			|                &lt;br /&gt;
			|   R,C   &lt;br /&gt;
			|                  &lt;br /&gt;
			|         see docs         &lt;br /&gt;
			|   O   &lt;br /&gt;
			|                &lt;br /&gt;
			|  move code pointer (unconfirmed for c2)&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|25/0x19 &lt;br /&gt;
			| ABS  &lt;br /&gt;
			| '''00011001'''SSSSSSSSSSSSDDDDDDDDDDDD &lt;br /&gt;
			|   S    &lt;br /&gt;
			|                  &lt;br /&gt;
			|                  &lt;br /&gt;
			|   D = (S &amp;lt; 0) ? -S: S    &lt;br /&gt;
			|              &lt;br /&gt;
			|   D    &lt;br /&gt;
			|  absolute value&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|26/0x1A &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00011010'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|27/0x1B &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00011011'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|28/0x1C &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00011100'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|29/0x1D &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00011101'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|30/0x1E &lt;br /&gt;
			| TICK&lt;br /&gt;
			| '''00011110'''RRRRRRRRRRRRLLLLLLLLLLLL&lt;br /&gt;
			|L,R&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|O = (R + TICKS) % L&lt;br /&gt;
			|O&lt;br /&gt;
			|&lt;br /&gt;
			|  get ticks&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|31/0x1F &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00011111'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|32/0x20 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00100000'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|33/0x21 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00100001'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|34/0x22 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00100010'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|35/0x23 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00100011'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|36/0x24 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00100100'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|37/0x25 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00100101'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|38/0x26 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00100110'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|39/0x27 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00100111'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|40/0x28 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00101000'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|41/0x29 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00101001'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|42/0x2A &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00101010'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|43/0x2B &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00101011'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|44/0x2C &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00101100'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|45/0x2D &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00101101'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|46/0x2E &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00101110'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|47/0x2F &lt;br /&gt;
			| NOP&lt;br /&gt;
			| '''00101111'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  no operation&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|48/0x30 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00110000'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|49/0x31 &lt;br /&gt;
			| RET&lt;br /&gt;
			| '''00110001'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  conditionally stop gool execution&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|50/0x32 &lt;br /&gt;
			| BRA&lt;br /&gt;
			| '''00110010'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  branch&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|51/0x33 &lt;br /&gt;
			| BNEZ&lt;br /&gt;
			| '''00110011'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  branch not equal zero&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|52/0x34 &lt;br /&gt;
			| BEQZ&lt;br /&gt;
			| '''00110100'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  branch equal zero&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|53/0x35 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00110101'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|54/0x36 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00110110'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|55/0x37 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00110111'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|56/0x38 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00111000'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|57/0x39 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00111001'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|58/0x3A &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00111010'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|59/0x3B &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00111011'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|60/0x3C &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00111100'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|61/0x3D &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00111101'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|62/0x3E &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00111110'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|63/0x3F &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''00111111'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|64/0x40 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01000000'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|65/0x41 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01000001'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|66/0x42 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01000010'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|67/0x43 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01000011'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|68/0x44 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01000100'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|69/0x45 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01000101'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|70/0x46 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01000110'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|71/0x47 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01000111'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|72/0x48 &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01001000'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|73/0x49 &lt;br /&gt;
			| NATIVE&lt;br /&gt;
			| '''01001001'''101111100000101111100000&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  begin native code&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|74/0x4A &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01001010'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|75/0x4B &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01001011'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|76/0x4C &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01001100'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|77/0x4D &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01001101'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
		&lt;br /&gt;
		|-&lt;br /&gt;
			|78/0x4E &lt;br /&gt;
			| ?&lt;br /&gt;
			| '''01001110'''????????????????????????&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|&lt;br /&gt;
			|  unknown&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GOOL Instruction Operands ===&lt;br /&gt;
... &lt;br /&gt;
* In/Source type operands&lt;br /&gt;
** Explicitly specified (i.e. origin = determined by operand's corresponding bitfield from the instruction)&lt;br /&gt;
*** GOOL in/source operand&lt;br /&gt;
*** Immediate operand&lt;br /&gt;
** Implicitly specified (i.e. origin = top of object's stack; implicitly popped from top of object's stack)&lt;br /&gt;
*** Stack in/source operand&lt;br /&gt;
* Out/Destination type operands&lt;br /&gt;
** Explicitly specified (i.e. target = determined by operand's corresponding bitfield from the instruction)&lt;br /&gt;
*** GOOL out/destination operand&lt;br /&gt;
** Implicitly specified (i.e. target = top of object's stack; implicitly pushed to top of object's stack)&lt;br /&gt;
*** Stack out/destination operand/result*&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;technically not an 'operand', but rather a ''result'' of the instruction's overall operation; it is &amp;lt;i&amp;gt;implied&amp;lt;/i&amp;gt; that instructions that use [an] operand(s) of this type always pushes it/them (i.e the result(s)) to the top of the object's stack.&lt;br /&gt;
&lt;br /&gt;
==== Explicit Operands ====&lt;br /&gt;
A GOOL instruction's explicit operands are ''explicitly'' specified in its lower 24 bits (operand portion). Each explicitly specified operand is either an immediate operand, or a GOOL operand. &lt;br /&gt;
&lt;br /&gt;
===== Immediate Operands =====&lt;br /&gt;
An immediate operand ''directly'' specifies its value in its corresponding bitfield (within the operand portion) of the instruction. The number of immediate operands and their positions/bit-lengths varies between instructions. &lt;br /&gt;
&lt;br /&gt;
Immediate Operands are in operands (source operands).&lt;br /&gt;
&lt;br /&gt;
===== GOOL Operands =====&lt;br /&gt;
Conversely, a GOOL operand is specified as a ''reference'' to its actual value or destination location. Each GOOL operand is 12 bits in length; a GOOL instruction may require the specification of at most 2 GOOL operands, within the upper and/or lower halves of its operand portion, respectively. The 12 bit GOOL reference that specifies a GOOL operand encodes a [32 bit] pointer to its corresponding source value and/or destination location. Operations for instructions that require GOOL operand specification first &amp;lt;i&amp;gt;translate&amp;lt;/i&amp;gt; the corresponding GOOL reference(s) to yield their decoded pointer(s) before accessing pointed data. &lt;br /&gt;
&lt;br /&gt;
See the GOOL Reference Translation section for more information.&lt;br /&gt;
&lt;br /&gt;
Depending on how a GOOL operand is used by its instruction, it may be an ''in'' (source) operand, an ''out'' (destination) operand, or both (''inout'' operand). If an instruction only reads the [input] value located by its translated GOOL operand (a pointer), it is an ''in'' (source) operand. If an instruction only writes a result/value to the location of its translated GOOL operand, it is an ''out'' (destination) operand. If an operand meets both of these criteria it is an ''inout'' operand.&lt;br /&gt;
&lt;br /&gt;
==== Implicit Operands ====&lt;br /&gt;
===== Implicit In Operands =====&lt;br /&gt;
Some GOOL instructions may require the ''implicit'' specification of one or more (implicit) in operands. In operands are implicitly specified prior to an instruction's interpretation by pushing their value(s)-which must remain the topmost values at interpretation-to the object's stack. It is &amp;lt;i&amp;gt;implied&amp;lt;/i&amp;gt; that these so-called implicit operands will exist on the stack for the instruction to pop and use as input. &lt;br /&gt;
===== Implicit Out Operands =====&lt;br /&gt;
For most GOOL instructions, the net effect of their operation involves an implicit push of one or more &amp;lt;i&amp;gt;results&amp;lt;/i&amp;gt; to the object's stack. That is-it is &amp;lt;i&amp;gt;implied&amp;lt;/i&amp;gt; or expected that these instructions will ultimately push their results to the object's stack.&lt;br /&gt;
&lt;br /&gt;
=== GOOL Reference Translation ===&lt;br /&gt;
The following table lists the encoding format, potential type name, and a descriptive type name for each of the possible GOOL reference types:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Format&lt;br /&gt;
!Potential Type Name&lt;br /&gt;
!Descriptive Type Name&lt;br /&gt;
|-&lt;br /&gt;
|00RRRRRRRRRR&lt;br /&gt;
|Ireg Ref&lt;br /&gt;
|object local executable data pool reference&lt;br /&gt;
|-&lt;br /&gt;
|01RRRRRRRRRR&lt;br /&gt;
|Pool Ref&lt;br /&gt;
|object external executable data pool reference&lt;br /&gt;
|-&lt;br /&gt;
|100IIIIIIIII&lt;br /&gt;
|Int Ref&lt;br /&gt;
|constant mult of 16  (range: -8192 - 8176)&lt;br /&gt;
|-&lt;br /&gt;
|1010IIIIFFFF&lt;br /&gt;
|Frac Ref&lt;br /&gt;
|constant mult of 256 (range: -32768 - 32512)&lt;br /&gt;
|-&lt;br /&gt;
|10110SSSSSSS&lt;br /&gt;
|Stack Ref&lt;br /&gt;
|object frame argument/local variable reference [peek stack @ location relative to fp]&lt;br /&gt;
|-&lt;br /&gt;
|101111100000&lt;br /&gt;
|Null Ref&lt;br /&gt;
|null reference (translates to 0)&lt;br /&gt;
|-&lt;br /&gt;
|101111110000&lt;br /&gt;
|Sp-Double Ref&lt;br /&gt;
|double stack pop reference (translates to 1)&lt;br /&gt;
|-&lt;br /&gt;
|110LLLMMMMMM&lt;br /&gt;
|Reg Ref&lt;br /&gt;
|object link memory reference&lt;br /&gt;
|-&lt;br /&gt;
|111MMMMMMMMM (M != 0x1F)&lt;br /&gt;
|Var Ref&lt;br /&gt;
|object field/memory reference&lt;br /&gt;
|-&lt;br /&gt;
|111000011111&lt;br /&gt;
|Stack Pop/Push&lt;br /&gt;
|stack pop/push reference&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Potential GOOL Reference type names have been deduced based on what appears to be an unreferenced array of GOOL interpreter debug strings at 0x103B8.&lt;br /&gt;
&lt;br /&gt;
==== Stack Pop/Push ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-family:monospace;&amp;quot;&lt;br /&gt;
!Format&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
|111000011111&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |Stack Pop/Push Reference&lt;br /&gt;
|}&lt;br /&gt;
A GOOL reference of this format translates differently depending on whether the operand that specifies it is an ''in'' operand or an ''out'' operand:&lt;br /&gt;
* ''In'' operands specified as a reference of this type translate to a pointer to the top of the object's stack after an ensuing pop of the value located there (i.e. stack pointer is decremented). &lt;br /&gt;
* ''Out'' operands specified as a reference of this type translate to a pointer to the top of the object's stack prior to an incrementation of its stack pointer. A stack push will result from the translation's incrementing of the object's stack pointer and the instruction's ultimate dereferencing of the returned/translated pointer for a write.&lt;br /&gt;
&lt;br /&gt;
==== Var Ref ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-family:monospace;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Format&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |111FFFFFFFFF&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |Object Field/Memory Reference&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Description&lt;br /&gt;
!Domain&lt;br /&gt;
!Range&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|F&lt;br /&gt;
|Object Field Index&lt;br /&gt;
|0 to 0x1FF&lt;br /&gt;
|0x60 to 0x860&lt;br /&gt;
|R = 4N&lt;br /&gt;
|}&lt;br /&gt;
GOOL References of this format translate to a pointer to the &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;th object field in relation to the object's &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; field.&lt;br /&gt;
                         &lt;br /&gt;
Most of an object's significant fields are located past a &amp;lt;code&amp;gt;0x60&amp;lt;/code&amp;gt; byte offset from the beginning of its structure-i.e. past its &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; field. Note that the last of these fields is the object's array of/address space for its [local] memory where its global variables and stack contents are stored. Because object fields are 4 bytes in size and an object's &amp;lt;code&amp;gt;self &amp;lt;/code&amp;gt;field is located at a 0x60 byte offset from the beginning of its structure, then the formula:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0x60 + (A * 4)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gives the byte offset of the actual field located by the translated pointer. &lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; = &amp;lt;code&amp;gt;0x1F&amp;lt;/code&amp;gt;, then the reference will have the format &amp;lt;code&amp;gt;111000011111&amp;lt;/code&amp;gt;; this is, however, already defined as the format for a stack pop/push reference-the processing of which takes precedence over that of var references. Notice that if such a reference were not instead translated as a stack pop/push reference, its translated pointer would locate the field at byte offset &amp;lt;code&amp;gt;0x60 + (0x1F * 4) = 0xDC&amp;lt;/code&amp;gt;-the object's stack pointer. Then, it should not be possible to directly modify an object's stack pointer by accessing a translated reference. Only indirectly via translation of a stack push/pop reference should the object's stack pointer be modified.&lt;br /&gt;
&lt;br /&gt;
==== Reg Ref ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-family:monospace;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Format&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |110LLLFFFFFF&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |Object Link Field/Memory Reference&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Description&lt;br /&gt;
!Domain&lt;br /&gt;
!Range&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|F&lt;br /&gt;
|Link Object Field Index&lt;br /&gt;
|0 to 0x3F&lt;br /&gt;
|0x60 to 0x15C&lt;br /&gt;
|R = 4N&lt;br /&gt;
|-&lt;br /&gt;
|L&lt;br /&gt;
|Object Link Index&lt;br /&gt;
|0 to 7&lt;br /&gt;
|0x60 to 0x7C&lt;br /&gt;
|R = 4N&lt;br /&gt;
|}&lt;br /&gt;
GOOL references of this format translate to a pointer to the &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;th object field in relation to the object's &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;th link object's &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; field. An object's ''link objects'' are referred to by the group of 8 object pointers beginning with its &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; field; the first of these pointers is the object's &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; link, the second a pointer to its &amp;lt;code&amp;gt;parent&amp;lt;/code&amp;gt; object, the third a pointer to its &amp;lt;code&amp;gt;sibling&amp;lt;/code&amp;gt; object, and so on. &lt;br /&gt;
&lt;br /&gt;
==== Ireg Ref ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-family:monospace;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Format&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |00RRRRRRRRRR&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |Object Local Executable Data Pool Reference&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Description&lt;br /&gt;
!Domain&lt;br /&gt;
!Range&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|R&lt;br /&gt;
|Index of Value in Pool&lt;br /&gt;
|0 to 0x3FF&lt;br /&gt;
|0 to 0xFFC&lt;br /&gt;
|R = 4N&lt;br /&gt;
|}&lt;br /&gt;
GOOL references of this format translate to a pointer to the predefined constant long at an offset of &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; longs relative to the beginning of the object's local executable's constant data pool item. &lt;br /&gt;
&lt;br /&gt;
A GOOL executable's constant data pool item is essentially a table of predefined constants. For example, it includes the EIDs of any entries, preconfigured bitfields and bit selectors, audio sample parameters (volume, pan, etc), specific speeds or velocities, and other constants referenced by this type. &lt;br /&gt;
&lt;br /&gt;
NOTE: if an instruction's ''out'' operand is specified as a reference of this type, its operation will ultimately replace the constant at the translated location with its output result. A write to the executable's data pool should generally be avoided unless a global change to that constant, and therefore an equal change in behavior for each object that is an instance of that executable, is desired. &lt;br /&gt;
&lt;br /&gt;
==== Pool Ref ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-family:monospace;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Format&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |01RRRRRRRRRR&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |Object External Executable Data Pool Reference&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Description&lt;br /&gt;
!Domain&lt;br /&gt;
!Range&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|R&lt;br /&gt;
|Index of Value in Pool&lt;br /&gt;
|0 to 0x3FF&lt;br /&gt;
|0 to 0xFFC&lt;br /&gt;
|R = 4N&lt;br /&gt;
|}&lt;br /&gt;
GOOL references of this format translate to a pointer to the predefined constant long at an offset of &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; longs relative to the beginning of the object's external executable's constant data pool item. &lt;br /&gt;
&lt;br /&gt;
The same considerations for ireg refs apply to pool refs.&lt;br /&gt;
&lt;br /&gt;
==== Frac Ref ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-family:monospace;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Format&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |100CCCCCCCCC or&lt;br /&gt;
100IIIIIFFFF&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |Reference to Constant Multiple of 16&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Description&lt;br /&gt;
!Domain&lt;br /&gt;
!Range&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|C&lt;br /&gt;
|Constant that will &lt;br /&gt;
be multiplied by 16&lt;br /&gt;
|0 to 0x1FF&lt;br /&gt;
| -8192 to 8176&lt;br /&gt;
-0x2000 to 0x1FF0&lt;br /&gt;
&lt;br /&gt;
-16.0 to 15.9375?&lt;br /&gt;
|R = 16N&lt;br /&gt;
R = 0x10N&lt;br /&gt;
&lt;br /&gt;
R = 0.0625N&lt;br /&gt;
|-&lt;br /&gt;
|I&lt;br /&gt;
|Integral Portion?&lt;br /&gt;
|0 to 0x1F&lt;br /&gt;
| -15 to 16&lt;br /&gt;
|R = 1N&lt;br /&gt;
|-&lt;br /&gt;
|F&lt;br /&gt;
|Fractional Portion?&lt;br /&gt;
|0 to 15&lt;br /&gt;
|0 to 0.9375&lt;br /&gt;
|R = 0.0625N&lt;br /&gt;
|}&lt;br /&gt;
GOOL references of this format translate to a pointer to the value &amp;lt;code&amp;gt;(16*C)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Two signed long ''constant buffers'' are located at offsets &amp;lt;code&amp;gt;0x40&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x44&amp;lt;/code&amp;gt;, respectively, in scratch memory (as referenced by the pointer at memory location &amp;lt;code&amp;gt;0x56480&amp;lt;/code&amp;gt; [&amp;lt;code&amp;gt;gp$(0x44)&amp;lt;/code&amp;gt;].) At any point during the game's execution, the ''currently active constant buffer'' is either the buffer at offset &amp;lt;code&amp;gt;0x40&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0x44&amp;lt;/code&amp;gt;, and is indicated by either a &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; or a &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; in the unsigned long at memory location &amp;lt;code&amp;gt;0x56484&amp;lt;/code&amp;gt; [&amp;lt;code&amp;gt;gp$(0x48)&amp;lt;/code&amp;gt;]. Translation for references of this format consists of the following steps:&lt;br /&gt;
*Write the value &amp;lt;code&amp;gt;(16*C)&amp;lt;/code&amp;gt;-that is, 16 times the value specified by the &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; bits-to the currently active constant buffer.&lt;br /&gt;
*Swap the currently active and inactive constant buffers (that is, if &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; previously indicated the currently active constant buffer, change it to a &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;; conversely, if it is a &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, change it to a &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;). &lt;br /&gt;
*Return a pointer to the &amp;lt;code&amp;gt;(16*C)&amp;lt;/code&amp;gt; signed long value in the buffer it was written to (which, after the swap, will always be the currently inactive buffer.) &lt;br /&gt;
                          &lt;br /&gt;
This double-buffer allows the sufficient specification of up to 2 constant type GOOL references per instruction; each of the 2 buffers will keep track of up to 2 constants to be used by operations of instructions with the corresponding operands. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; can be specified as a negative constant with the following 2's complement format: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;C = 1NNNNNNNN (-N): V = 11111111111111111111NNNNNNNN0000 (16 * -N)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;C = 0NNNNNNNN ( N): V = 00000000000000000000NNNNNNNN0000 (16 *  N)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt; is the calculated signed long that will be written to the appropriate constant buffer for the specified formats of &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Note: ''out'' operands are not meant to specify a reference of this type; any that do so are useless. Translation of this reference type returns a pointer to the currently inactive constant buffer after storing the appropriate constant value &amp;lt;code&amp;gt;(C * 16)&amp;lt;/code&amp;gt; in the currently active constant buffer and then swapping the 2 buffers. The constant value in the inactive constant buffer would ultimately be overwritten with an expected result of the instruction with the out operand. However, since that buffer could only be accessed via subsequent translation of another frac or int ref, which would involve first overwriting its current value (the result) with a new constant value, then that result could never be accessed [without first being overwritten].  &lt;br /&gt;
&lt;br /&gt;
==== Int Ref ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-family:monospace;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Format&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |1010IIIIIIII&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |Reference to Constant Multiple of 256&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Description&lt;br /&gt;
!Domain&lt;br /&gt;
!Range&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|I&lt;br /&gt;
|Constant (int) that will &lt;br /&gt;
be multiplied by 256&lt;br /&gt;
|0 to 0xFF&lt;br /&gt;
| -32768 to 32512&lt;br /&gt;
-0x8000 to 0x7F00&lt;br /&gt;
|R = 256N&lt;br /&gt;
R = 0x100N&lt;br /&gt;
|}&lt;br /&gt;
GOOL references of this format are translated almost identically to frac refs; the only difference is in the calculation for the constant written to the buffer: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;I = 1NNNNNNN (-N): V = 1111111111111111NNNNNNNN00000000 (256 * -N)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;I = 0NNNNNNN ( N): V = 0000000000000000NNNNNNNN00000000 (256 *  N)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same considerations for frac refs apply to int refs.&lt;br /&gt;
&lt;br /&gt;
==== Stack Ref ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-family:monospace;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Format&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |10110SSSSSSS&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |Object Frame Argument/Local Variable Reference [peek stack at location relative to fp]&lt;br /&gt;
|-&lt;br /&gt;
!Field&lt;br /&gt;
!Description&lt;br /&gt;
!Domain&lt;br /&gt;
!Range&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|S&lt;br /&gt;
|Argument/Local Variable Index/Offset &lt;br /&gt;
relative to object fp&lt;br /&gt;
|0 to 0x7F&lt;br /&gt;
-64 args to +63 local vars&lt;br /&gt;
| -0x100 to 0xFC&lt;br /&gt;
|R = 4N&lt;br /&gt;
|}&lt;br /&gt;
GOOL references of this format translate to a pointer to the long that is &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; longs (&amp;lt;code&amp;gt;4*S&amp;lt;/code&amp;gt; bytes) relative to the object's current frame pointer. If &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; is specified as a negative value/offset, it refers to an argument; this is because arguments are located ''before'' the start of the stack frame. If &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; is specified as a positive offset (&amp;gt; 3), it refers to a local variable (i.e. operation result).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; can be specified as a negative offset with the following 2's complement format: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;S = 1NNNNNN (-N): O = 111111111111111111111111NNNNNN00 (4 * -N)&amp;lt;/code&amp;gt; (argument offset)&lt;br /&gt;
* &amp;lt;code&amp;gt;S = 0NNNNNN ( N): O = 000000000000000000000000NNNNNN00 (4 *  N)&amp;lt;/code&amp;gt; (local variable offset)&lt;br /&gt;
&lt;br /&gt;
==== Null Ref ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-family:monospace;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Format&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |101111100000 = 0xBE0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |Null Reference&lt;br /&gt;
(translates to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
GOOL references of this format translate to the value &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; (i.e. invalid pointer to address &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;). Some instructions will return without making any calculations or pushing any results if an operand is specified as a reference of this type. &lt;br /&gt;
&lt;br /&gt;
Most other instructions do not account for translated references of this type. They assume that a translated reference will always point to a valid memory location. After these instructions translate a null ref, they will attempt to access the memory at address &amp;lt;code&amp;gt;0x0&amp;lt;/code&amp;gt;-which lies in the kernel code segment-thus resulting in a trap. &lt;br /&gt;
&lt;br /&gt;
In the instruction table, brackets '[]' around one or more of an instruction's explicit operands (*given that parenthesis '()' are not listed around any other operand) indicate that, if any of those operands are specified as null refs, the instruction will return before performing their associated calculations. Brackets '[]' around one or more of an instruction's implicit operands (*given that parenthesis '()' are not listed around any other operand) indicate that, if the 'corresponding' explicit operands are specified as null refs, they (the implicit operands) do not actually exist. The order in which associated calculations are performed is indicated by the nested bracketing of operands.&lt;br /&gt;
&lt;br /&gt;
For example, the &amp;lt;code&amp;gt;PSHV&amp;lt;/code&amp;gt; instruction is listed with explicit GOOL in operands &amp;lt;code&amp;gt;[A,[B]]&amp;lt;/code&amp;gt;, and implicit stack out operands &amp;lt;code&amp;gt;[I,[J]]&amp;lt;/code&amp;gt;-aliases for the respective destinations of two subsequent stack pushes. These operand nestings indicate that:&lt;br /&gt;
&lt;br /&gt;
* If only operand &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; is specified as a null ref, the instruction returns before operation &amp;lt;code&amp;gt;J = B&amp;lt;/code&amp;gt; (equivalently, &amp;lt;code&amp;gt;push(obj,B)&amp;lt;/code&amp;gt;) is performed. As a result, only operation &amp;lt;code&amp;gt;I = A&amp;lt;/code&amp;gt; (equivalently, &amp;lt;code&amp;gt;push(obj,A)&amp;lt;/code&amp;gt;) is performed.&lt;br /&gt;
* If operand &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is specified as a null ref, the instruction returns before &amp;lt;code&amp;gt;push(obj,A)&amp;lt;/code&amp;gt; is performed; then &amp;lt;code&amp;gt;push(obj,B)&amp;lt;/code&amp;gt; is also never performed-so the instruction does nothing. It does not matter whether or not &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; is a null ref because its associated calculation/operation (i.e. push to stack) is never performed.&lt;br /&gt;
* If neither operand &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; nor operand &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; are specified as null refs, both/all operations-&amp;lt;code&amp;gt;push(obj,A)&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;push(obj,B)&amp;lt;/code&amp;gt;-are performed.&lt;br /&gt;
  &lt;br /&gt;
==== SP-Double Ref ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-family:monospace;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Format&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |101111110000 = 0xBF0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |Double Stack Pop Reference&lt;br /&gt;
(translates to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
GOOL references of this format translate to the value &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; (i.e. invalid pointer to address &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;). Specification of sp-double refs is exclusive to a few specific instructions. Most instructions do not account for translated references of this type. They assume that a translated reference will always point to a valid memory location. After these instructions translate an sp-double ref, they will attempt to access the memory at address &amp;lt;code&amp;gt;0x1&amp;lt;/code&amp;gt;-which lies in the kernel code segment-thus resulting in a trap. &lt;br /&gt;
&lt;br /&gt;
For a few instructions, if [a specific] one of their operands is explicitly specified as an sp-double ref, the actual values for both that operand and some other operand will be implicitly popped (in 2 subsequent pops) from the object's stack; no actual translation of the reference is performed. Alternatively, if that operand is not specified as an sp-double ref, then it is a valid reference to its actual value (and will be translated to a pointer that can be dereferenced to resolve that value); the other operand will then instead take on some ''default'' value.&lt;br /&gt;
&lt;br /&gt;
In the instruction table, parenthesis '()' around one of an instruction's explicit operands indicate that: if that operand is specified as an sp-double ref, the instruction will pop the actual values for the bracketed '[]' pair of implicit stack in operands including that operand, in the order listed; otherwise the operand is a valid reference to its actual value, and its paired operand-for example, &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;-will take on a default value of &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;, where &amp;lt;code&amp;gt;P = V&amp;lt;/code&amp;gt; is listed as an explicit immediate operand for that instruction.&lt;br /&gt;
&lt;br /&gt;
For example, the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; instruction is listed with explicit GOOL in operands &amp;lt;code&amp;gt;(A),B&amp;lt;/code&amp;gt;, explicit immediate in operand &amp;lt;code&amp;gt;R = 0x100&amp;lt;/code&amp;gt;, and implicit stack in operands &amp;lt;code&amp;gt;[R,A]&amp;lt;/code&amp;gt;. If operand &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is specified as an sp-double ref, the values for &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; will be popped from the object's stack, in that order. Otherwise, &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; [rate of path travel] will take on a default value of &amp;lt;code&amp;gt;0x100&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;1.0&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;'s reference will be translated to resolve its value (by dereferencing, just as the majority of other instructions do for GOOL operands.)&lt;br /&gt;
&lt;br /&gt;
=== GOOL Instruction Operations ===&lt;br /&gt;
TBD&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=GOOL_Executable&amp;diff=97</id>
		<title>GOOL Executable</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=GOOL_Executable&amp;diff=97"/>
		<updated>2019-04-27T17:44:33Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 2 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A GOOL Executable is a type of entry that describes the behavior or application of a particular type of game object. GOOL executables contain a header, executable compiled [GOOL] bytecode, a constant pool, a mapping of subtypes to [initial] states, a mapping of events to states/interrupts, state descriptors, and animation sequence, text, and sprite descriptors. They are Type 11 entries.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
=== Item 1: Header ===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
|+Item 1: Header&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Object Type&lt;br /&gt;
|4 bytes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Object Category&lt;br /&gt;
|4 bytes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Initial Stack Frame Offset&lt;br /&gt;
|4 bytes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|Subtype-&amp;gt;State Map Index&lt;br /&gt;
|4 bytes&lt;br /&gt;
|s&lt;br /&gt;
|-&lt;br /&gt;
|0x14&lt;br /&gt;
|unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Item 2: Executable Bytecode ===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
|+Item 2: Executable Bytecode&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Code&lt;br /&gt;
|* x 4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Item 3: Constant Data Pool ===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Item 3: Constant Data Pool&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Data&lt;br /&gt;
|* x 4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Item 4: State Map ===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
|+Item 4: State Map&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Event-&amp;gt;State/Interrupt Map&lt;br /&gt;
|s x 2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x0 + (2 x s)&lt;br /&gt;
|Subtype-&amp;gt;State Map&lt;br /&gt;
|* x 2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;0xFF is a null state&lt;br /&gt;
&lt;br /&gt;
=== Item 5: State Descriptors/Definitions ===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
|+Item 5: State Descriptors/Definitions&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|State Descriptors&lt;br /&gt;
|* x 16 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |(format of state descriptor ''d'')&lt;br /&gt;
|-&lt;br /&gt;
|(''d'' x 16) + 0x0&lt;br /&gt;
|State Flags&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|(''d'' x 16) + 0x4&lt;br /&gt;
|Object Status C Flags&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|(''d ''x 16) + 0x8&lt;br /&gt;
|External Executable EID (*index in const pool)&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|(''d ''x 16) + 0xA&lt;br /&gt;
|Event Block Program Counter Offset &lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|(''d ''x 16) + 0xC&lt;br /&gt;
|Trans Block Program Counter Offset&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|(''d ''x 16) + 0xE&lt;br /&gt;
|Code Block Program Counter Offset&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Item 6: Animation Descriptors ===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Item 6: Animation Descriptors&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Animation Descriptors&lt;br /&gt;
|* x * bytes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Animation descriptors are stored contiguously, occupying the 6th item of the GOOL executable entry. Each type of animation descriptor has a different structure; the size of an animation descriptor is entirely dependent upon its type.&lt;br /&gt;
&lt;br /&gt;
==== Type 1 - Vertex Animation ====&lt;br /&gt;
Type 1 animation descriptors simply specify an SVTX entry that contains their representative vertex animation. This is the most frequently used type.&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Animation Descriptor Type 1 format &lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Type&lt;br /&gt;
|1 byte&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|Unused&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|Frame Count&lt;br /&gt;
|1 byte&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x3&lt;br /&gt;
|Unused&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|SVTX Model EID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Type 2 - Sprite Animation ====&lt;br /&gt;
Type 2 descriptors specify a separate square for each frame of animation, each square to be transformed and rendered as a blended textured quad. Square dimensions are not specified in the descriptor but are calculated from the instanced object's scale vector.&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Animation Descriptor Type 2 format &lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Type&lt;br /&gt;
|1 byte&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|Unused&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|Frame Count&lt;br /&gt;
|1 byte&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x3&lt;br /&gt;
|Unused&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Texture Page EID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|CLUT/Texture info&lt;br /&gt;
|c x 2 x 4 bytes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Type 3 - Font Map&lt;br /&gt;
&lt;br /&gt;
Type 3 descriptors associate with each ascii character, in lexicographic order, a separate region (location/dimensions determined by texture and color info) of a specified Texture Page. Also specified for each region are the dimensions of a textured blended quad to be rendered, with that [region of the texture page as its] texture. Type 4 descriptors, which specify a string of text, will reference a type 3 descriptor. As characters in the type 4 descriptor string are stepped through, the referenced type 3 descriptor will determine the corresponding quads to be rendered. The Type 3 descriptor may additionally specify a separate region of the texture page as [the texture for] a text backdrop [quad].&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Animation Descriptor Type 3 format &lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Type&lt;br /&gt;
|1 byte&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|Unused&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|Font Map Length&lt;br /&gt;
|1 byte&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x3&lt;br /&gt;
|Unused&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Texture Page EID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Font Map&lt;br /&gt;
|c x 12 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |(font mapping structure ''d'')&lt;br /&gt;
|-&lt;br /&gt;
|0x8 + (''d ''x 12) + 0x0&lt;br /&gt;
|CLUT info&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8 + (''d ''x 12) + 0x4&lt;br /&gt;
|Texture info&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8 + (''d'' x 12) + 0x8&lt;br /&gt;
|Character Width&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8 + (''d ''x 12) + 0xA&lt;br /&gt;
|Character Height&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |(end)&lt;br /&gt;
|-&lt;br /&gt;
|0x8 + (''c'' x 12) + 0x0&lt;br /&gt;
|Backdrop CLUT info&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8 + (''c ''x 12) + 0x4&lt;br /&gt;
|Backdrop Texture info&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Type 4 - Text Animation ====&lt;br /&gt;
Type 4 descriptors specify a separate string of text for each frame of animation. They also specify the offset of a source font map (Type 3 descriptor) to use to render that text. &lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Animation Descriptor Type 4 format &lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Type&lt;br /&gt;
|1 byte&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|Unused&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|String/Frame Count&lt;br /&gt;
|1 byte&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x3&lt;br /&gt;
|Unused&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Font Map Offset&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Strings&lt;br /&gt;
|c x * bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each string ends with a null terminator character (\0) and can have up to 4 individual format specifiers (beginning with %); they are processed with a call to printf, with 4 corresponding arguments the 2nd, 3rd, 4th, and 5th words, respectively, before (or below) the top of the instanced object's stack.&lt;br /&gt;
&lt;br /&gt;
These strings can also contain several types of ''extended'' format specifiers. These begin with a tilde '~' and can be specified as one of the following:&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Specifier&lt;br /&gt;
!Output/Function&lt;br /&gt;
|-&lt;br /&gt;
|~n&lt;br /&gt;
|Newline&lt;br /&gt;
|-&lt;br /&gt;
|~%&lt;br /&gt;
|Newline&lt;br /&gt;
|-&lt;br /&gt;
|~c0&lt;br /&gt;
|Disable shading (inst. obj's. color matrices will ''not'' affect proceeding chars)&lt;br /&gt;
|-&lt;br /&gt;
|~c1&lt;br /&gt;
|Enable shading (inst. obj's. color matrices ''will'' affect proceeding chars)&lt;br /&gt;
|-&lt;br /&gt;
|~p#&lt;br /&gt;
|Skips the following character if the value at (2 + #) count words before/below&lt;br /&gt;
the top of the instanced objects stack is 1. Used to auto change from singular&lt;br /&gt;
&lt;br /&gt;
to plural forms of the noun(s) introduced by the corresponding cardinal&lt;br /&gt;
&lt;br /&gt;
determiner (i.e. 1 'box' to n 'boxes' for n != 1)&lt;br /&gt;
|-&lt;br /&gt;
|~sx####&lt;br /&gt;
|Set width of following character to # (min 1, max 4 digits)&lt;br /&gt;
|-&lt;br /&gt;
|~sy#### &lt;br /&gt;
|Set height of following character to # (min 1, max 4 digits)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; if the instanced object has bit 11 of its statusb flags set, rendering of the text will include a backdrop that spans the area occupied by the text.&lt;br /&gt;
&lt;br /&gt;
==== Type 5 - Fragment Animation ====&lt;br /&gt;
Type 5 descriptors specify a number of rectangles that compose a miniature model for each frame of animation. These are to be transformed and rendered as multiple blended textured quads. &lt;br /&gt;
&lt;br /&gt;
This type is typically used for smaller objects such as fragments of exploding TNT and sparkling specks spawned by Aku Aku and by Warp Panels.&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Animation Descriptor Type 5 format &lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Type&lt;br /&gt;
|1 byte&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|0x1&lt;br /&gt;
|Unused&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|Frame Count&lt;br /&gt;
|1 byte&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x3&lt;br /&gt;
|Unused&lt;br /&gt;
|1 byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Texture Page EID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Rectangle Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|r&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Rectangles&lt;br /&gt;
|c x r x 16 bytes &lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |(Rectangle structure ''d'','' ''frame ''f'')&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x'' f ''x'' ''16) ''+ ''0x0&lt;br /&gt;
|CLUT info&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x ''f ''x 16) + 0x4&lt;br /&gt;
|Texture info&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x ''f ''x 16) + 0x8&lt;br /&gt;
|X1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x ''f ''x 16) + 0xA&lt;br /&gt;
|Y1&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x ''f ''x 16) + 0xC&lt;br /&gt;
|X2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC + (''d ''x ''f ''x 16) + 0xE&lt;br /&gt;
|Y2&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Entity&amp;diff=80</id>
		<title>Entity</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Entity&amp;diff=80"/>
		<updated>2019-04-27T17:44:33Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 20 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Mostly from https://dl.dropboxusercontent.com/s/fu29g6xn97sa4pl/crash2fileformat.html--&amp;gt;&lt;br /&gt;
&amp;lt;!--Majorly incomplete--&amp;gt;&lt;br /&gt;
:''This article is for the ''Crash 2/3'' entity format.'' &lt;br /&gt;
An '''''entity''''' is an item that stores a collection of values (hereafter referred to as &amp;quot;fields&amp;quot;) that can represent either a game [[object]] or a camera rail in Crash 2 and 3.&lt;br /&gt;
==Format==&lt;br /&gt;
{|class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Length of this item&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Unknown&lt;br /&gt;
|4 bytes x 2&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Field count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|hc&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|Field info structures (headers)&lt;br /&gt;
|hc * 8 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt;=0x18&lt;br /&gt;
|Field data structures (data)&lt;br /&gt;
|(varies)&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;4&amp;quot;|''Field Info Structure''&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Type&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|Offset to the ''field data'' relative to 12 bytes at the start of the item&lt;br /&gt;
|2 bytes&lt;br /&gt;
|offset&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Flags&lt;br /&gt;
|Byte&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x5&lt;br /&gt;
|Element size&lt;br /&gt;
|Byte&lt;br /&gt;
|es&lt;br /&gt;
|-&lt;br /&gt;
|0x6&lt;br /&gt;
|Row count&lt;br /&gt;
|2 bytes&lt;br /&gt;
|rc&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;4&amp;quot;|''Field Data Structure''&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Element count&lt;br /&gt;
|2 bytes * rc&lt;br /&gt;
|ec&lt;br /&gt;
|-&lt;br /&gt;
|0x0 + rc * 2&lt;br /&gt;
|Metavalues&lt;br /&gt;
|2 bytes * rc&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x0 + rc * 4&lt;br /&gt;
|Data&lt;br /&gt;
|es * ec * rc&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Type==&lt;br /&gt;
The format and usage of the field data depends on the field type. Incomplete list.&lt;br /&gt;
{|class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Purpose&lt;br /&gt;
!Format&lt;br /&gt;
!Uses Metavalues?&lt;br /&gt;
|-&lt;br /&gt;
|0x2C&lt;br /&gt;
|Name&lt;br /&gt;
|String of characters for the internal name used to refer to the entity. Its only purpose is for the devs to distinguish entities so whatever you put here won't directly affect the game&lt;br /&gt;
|Unspecified&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0x4B&lt;br /&gt;
|Position&lt;br /&gt;
|List of position points to be used by the entity. More than one position can be used to make the entity follow a path (as long as it is programmed to do so)&lt;br /&gt;
|Int16 for each X, Y and Z coordinate&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0x9F&lt;br /&gt;
|ID&lt;br /&gt;
|Value to uniquely identify the entity that is used to draw it, destroy it (see victims below) and other miscellaneous behaviors&lt;br /&gt;
|Int32'''&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;'''&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0xA4&lt;br /&gt;
|General Settings&lt;br /&gt;
|List of values that can be used to change a certain object's behavior (i.e. flags, delay, speed)&lt;br /&gt;
|Int32 (UInt8 + Int24, but can be combined in different ways)&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0xA9&lt;br /&gt;
|Type&lt;br /&gt;
|Type of the entity&amp;lt;!--Index of T11 entry in T11 entry list in the [[NSD]]?--&amp;gt;&lt;br /&gt;
|Int32&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0xAA&lt;br /&gt;
|Subtype&lt;br /&gt;
|Variant of the entity&lt;br /&gt;
|Int32&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0x103&lt;br /&gt;
|SLST EID&lt;br /&gt;
|EID of the SLST [[entry]] to be used by this camera rail&lt;br /&gt;
|Int32&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0x109&lt;br /&gt;
|Neighbor camera rails (untested)&lt;br /&gt;
|Contains information about neighboring [[zone]]s&lt;br /&gt;
|Int32&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|0x118&lt;br /&gt;
|Misc Settings 1&lt;br /&gt;
|???&lt;br /&gt;
|Int32&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0x13B&lt;br /&gt;
|Draw List A&lt;br /&gt;
|List of values that determine which entities should despawn while the camera is in this zone'''&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;'''&lt;br /&gt;
|Int32&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|0x13C&lt;br /&gt;
|Draw List B&lt;br /&gt;
|List of values that determine which entities should spawn while the camera is in this zone'''&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;'''&lt;br /&gt;
|Int32&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|0x208&lt;br /&gt;
|Load List A&lt;br /&gt;
|List of EIDs to load when the camera is in this zone&lt;br /&gt;
|Int32&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|0x209&lt;br /&gt;
|Load List B&lt;br /&gt;
|List of EIDs to deload when the camera is in this zone&lt;br /&gt;
|Int32&lt;br /&gt;
|Yes&lt;br /&gt;
|-&lt;br /&gt;
|0x277&lt;br /&gt;
|Misc Settings 2&lt;br /&gt;
|Value that can be used to change a certain object's DDA behavior (i.e. deaths until DDA checkpoint) or other settings like Y rotation.&lt;br /&gt;
|Int32&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0x287&lt;br /&gt;
|Victim&lt;br /&gt;
|List of entity IDs to destroy on certain occasions (i.e. TNT is despawned, Nitro Switch activated)&lt;br /&gt;
|Int16&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0x288&lt;br /&gt;
|Section ID&lt;br /&gt;
|Value to uniquely identify a &amp;quot;section&amp;quot; of the level and is used in checkpoints for the game to know which DDA checkpoints have been triggered and at what point in the level the player is (i.e. First real checkpoint has this set to 1, the next DDA checkpoint will have a 1 too, the next real checkpoint will have a 2, etc.)&lt;br /&gt;
|Int32&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0x28B&lt;br /&gt;
|Box count&lt;br /&gt;
|Number of boxes in the level;&amp;lt;br&amp;gt;Should only be used in obj_willy&lt;br /&gt;
|Int32&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0x30E&lt;br /&gt;
|Scale&lt;br /&gt;
|Indicates the scale of the object. ''Crash 3''-only;&amp;lt;br/&amp;gt; 1 = Position/4 in-game; 2 = Position/2 in-game; 3 = Normal; 4 = Position*2 in-game; etc.&lt;br /&gt;
|Int32&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0x336&lt;br /&gt;
|Time Trial crate type&lt;br /&gt;
|BoxOC-only. Affects what the crate will turn into during time trial mode. ''Crash 3''-only&lt;br /&gt;
|Int32&lt;br /&gt;
|No&lt;br /&gt;
|-&lt;br /&gt;
|0x337&lt;br /&gt;
|Bonus box count&lt;br /&gt;
|Number of boxes in the level's bonus;&amp;lt;br&amp;gt;Should only be used in obj_willy. ''Crash 3''-only&lt;br /&gt;
|Int32&lt;br /&gt;
|No&lt;br /&gt;
|}&lt;br /&gt;
'''&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;''' Other lists store this as an Int16, so setting this to a value higher than the maximum value that can be stored in a 16-bit field (65535) may cause serious issues.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;''' The roles of draw lists is reversed when the camera is going backwards.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' When proceeding from one camera path to the next, all entities should be despawned at the &amp;quot;connection&amp;quot; point for proper disposal of resources. Same applies to entry loading and disposal, as the game seems smart enough not to dispose of resources it's also immediately told to load.&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Entry_point&amp;diff=94</id>
		<title>Entry point</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Entry_point&amp;diff=94"/>
		<updated>2019-04-27T17:44:33Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 3 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An entry point locates the first section of code (subroutine) executed by a CPU after its source executable is loaded into main memory. A common symbolic name for the entry point routine is &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Entry point locations ==&lt;br /&gt;
The following lists the location of the entry point for each of the Crash games:&lt;br /&gt;
&lt;br /&gt;
*Crash 1 - 0x3E018&lt;br /&gt;
&lt;br /&gt;
== start() ==&lt;br /&gt;
The &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; routine sets the location of the global pointer, initializes the heap, and calls the &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; routine.&lt;br /&gt;
&lt;br /&gt;
== main() ==&lt;br /&gt;
The &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; routine calls 3 subroutines. The first of these routines performs hardware initialization. The second contains the [[Game Loop|game loop]]. The third releases any resources allocated during hardware initialization. Prior to execution of these routines, the game loop condition at &amp;lt;code&amp;gt;0x56410&amp;lt;/code&amp;gt; is set to true/1. &lt;br /&gt;
&lt;br /&gt;
In each game, the level id for the 'initial level' is passed as an argument to the [[Game Loop|game loop routine]]. The initial level isn't actually a 'level' per-se, but rather a game state, which includes the title sequence, options menu, password menu (Crash 1), map (Crash 1), and game over screen.&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
__NEWSECTIONLINK__&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Entry&amp;diff=90</id>
		<title>Entry</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Entry&amp;diff=90"/>
		<updated>2019-04-27T17:44:33Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 9 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Entries are the intermediate level data containers in NSF files. They are containers for 'items'-the lowest level data containers in NSF files.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Magic Number&lt;br /&gt;
|4 bytes&lt;br /&gt;
|0x100FFFF&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|ID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Type&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Item Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|Item Offsets&lt;br /&gt;
|c x 4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x10 + (c x 4)&lt;br /&gt;
|Items&lt;br /&gt;
|c x * bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
struct entry&lt;br /&gt;
{&lt;br /&gt;
  const unsigned long magic = 0x100FFFF;&lt;br /&gt;
  unsigned long EID;&lt;br /&gt;
  unsigned long type;&lt;br /&gt;
  unsigned long itemcount;&lt;br /&gt;
  union&lt;br /&gt;
  {&lt;br /&gt;
    unsigned long itemoffset[itemcount];&lt;br /&gt;
    item *itemptr[itemcount];&lt;br /&gt;
  };&lt;br /&gt;
  item items[itemcount];&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Types ==&lt;br /&gt;
An entry's type determines the specific kind of content contained in its items.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Type&lt;br /&gt;
|Name&lt;br /&gt;
|Subsystem&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Object Model Vertices/Animation&lt;br /&gt;
|SVTX&lt;br /&gt;
|contains multiple key frames of animation for an object&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Object Model Polygons&lt;br /&gt;
|TGEO&lt;br /&gt;
|contains polygons used by a Type 1 entry&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|World Geometry&lt;br /&gt;
|WGEO&lt;br /&gt;
|contains polygons and vertices for a section of the level&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Display List&lt;br /&gt;
|SLST&lt;br /&gt;
|contains delta encoded display lists, describing the change in z-ordering of polygon primitives at each point of a corresponding camera path&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Texture Page&lt;br /&gt;
|TPAG&lt;br /&gt;
|describes texture/palette data used by polygons&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Level Data&lt;br /&gt;
|LDAT&lt;br /&gt;
|contains a level's initial settings such as Crash's starting location&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Zone Data&lt;br /&gt;
|ZDAT&lt;br /&gt;
|contains a 'zone' - a collection of world models to render, objects to spawn, a camera path, collision octree, and misc attributes&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|GOOL Executable&lt;br /&gt;
|GOOL&lt;br /&gt;
|contains a header, compiled GOOL bytecode, const pool, state map, state descriptors, and animation sequence/text/sprite descriptors for an object&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|Audio&lt;br /&gt;
|ADIO&lt;br /&gt;
|contains audio data for a sound effect&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|MIDI&lt;br /&gt;
|MIDI&lt;br /&gt;
|contains the MIDI sequence(s) for a level's background music and/or a wavebank header (VH)&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|Instruments&lt;br /&gt;
|INST&lt;br /&gt;
|describes instruments used to play a MIDI&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|Image Data (Crash 1)&amp;lt;br /&amp;gt;Video Collision (Crash 2/3)&lt;br /&gt;
|IMAG (Crash 1)&amp;lt;br /&amp;gt;VCOL (Crash 2/3)&lt;br /&gt;
|contains image data (i.e. anti-piracy message, SCE screen)&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Crash 1)&amp;lt;br /&amp;gt;contains special collision detection rules? (i.e. digging, chased by boulder) (Crash 2/3)&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|Map Data (Crash 1)&amp;lt;br /&amp;gt;Raw Data (Crash 3)&lt;br /&gt;
|MDAT (Crash 1)&amp;lt;br /&amp;gt;RAWD (Crash 3)&lt;br /&gt;
|contains data describing how a new level should be loaded when selected (Crash 1)&amp;lt;br /&amp;gt;contains miscellaneous 3D terrain data (scenery in baron levels, water in levels with water) (Crash 3)&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
|Palettes for fading transitions&lt;br /&gt;
|IPAL&lt;br /&gt;
|describes the CLUTs used during a fade transition&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|Demo playback&lt;br /&gt;
|PBAK&lt;br /&gt;
|contains a pre-recorded sequence of button presses for playback&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|Cutscene Model&lt;br /&gt;
Vertices/Animation (Crash 1)&amp;lt;br /&amp;gt;Speech Audio (Crash 2/3)&lt;br /&gt;
|CVTX (Crash 1)&amp;lt;br /&amp;gt;SDIO (Crash 2/3)&lt;br /&gt;
|contains vertices for cutscene models (Crash 1)&amp;lt;br /&amp;gt;contains speech audio (Crash 2/3)&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|2D Animation/Video (Crash 2/3)&lt;br /&gt;
|VIDO (Crash 2/3)&lt;br /&gt;
|contains data for a sprite animated or not (i.e. mount texture while digging, warp portal, save icons)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; - NSD files may contain these kinds of entries, but without any header.&lt;br /&gt;
&lt;br /&gt;
== Entry IDs/EIDs ==&lt;br /&gt;
Like chunks, each entry has also been assigned a unique ID. Unlike CIDs, however, entry IDs (EIDs) have not been precomputed based on index. Each EID encodes a unique 5 character identifier string. Each entry has been assigned an EID that encodes an appropriate identifier.&lt;br /&gt;
&lt;br /&gt;
=== Encoding scheme ===&lt;br /&gt;
EIDs use the following [32 bit] encoding scheme:&lt;br /&gt;
&lt;br /&gt;
0EEEEEEDDDDDDCCCCCCBBBBBBAAAAAA1&lt;br /&gt;
&lt;br /&gt;
where the [6 bit] fields A, B, C, D, and E, respectively, in that order, are indices of 5 characters in the following conversion table:&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
|Index&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|2&lt;br /&gt;
|3&lt;br /&gt;
|4&lt;br /&gt;
|5&lt;br /&gt;
|6&lt;br /&gt;
|7&lt;br /&gt;
|8&lt;br /&gt;
|9&lt;br /&gt;
|A&lt;br /&gt;
|B&lt;br /&gt;
|C&lt;br /&gt;
|D&lt;br /&gt;
|E&lt;br /&gt;
|F&lt;br /&gt;
|-&lt;br /&gt;
|Char&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|2&lt;br /&gt;
|3&lt;br /&gt;
|4&lt;br /&gt;
|5&lt;br /&gt;
|6&lt;br /&gt;
|7&lt;br /&gt;
|8&lt;br /&gt;
|9&lt;br /&gt;
|a&lt;br /&gt;
|b&lt;br /&gt;
|c&lt;br /&gt;
|d&lt;br /&gt;
|e&lt;br /&gt;
|f&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Index&lt;br /&gt;
|10&lt;br /&gt;
|11&lt;br /&gt;
|12&lt;br /&gt;
|13&lt;br /&gt;
|14&lt;br /&gt;
|15&lt;br /&gt;
|16&lt;br /&gt;
|17&lt;br /&gt;
|18&lt;br /&gt;
|19&lt;br /&gt;
|1A&lt;br /&gt;
|1B&lt;br /&gt;
|1C&lt;br /&gt;
|1D&lt;br /&gt;
|1E&lt;br /&gt;
|1F&lt;br /&gt;
|-&lt;br /&gt;
|Char&lt;br /&gt;
|g&lt;br /&gt;
|h&lt;br /&gt;
|i&lt;br /&gt;
|j&lt;br /&gt;
|k&lt;br /&gt;
|l&lt;br /&gt;
|m&lt;br /&gt;
|n&lt;br /&gt;
|o&lt;br /&gt;
|p&lt;br /&gt;
|q&lt;br /&gt;
|r&lt;br /&gt;
|s&lt;br /&gt;
|t&lt;br /&gt;
|u&lt;br /&gt;
|v&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Index&lt;br /&gt;
|20&lt;br /&gt;
|21&lt;br /&gt;
|22&lt;br /&gt;
|23&lt;br /&gt;
|24&lt;br /&gt;
|25&lt;br /&gt;
|26&lt;br /&gt;
|27&lt;br /&gt;
|28&lt;br /&gt;
|29&lt;br /&gt;
|2A&lt;br /&gt;
|2B&lt;br /&gt;
|2C&lt;br /&gt;
|2D&lt;br /&gt;
|2E&lt;br /&gt;
|2F&lt;br /&gt;
|-&lt;br /&gt;
|Char&lt;br /&gt;
|w&lt;br /&gt;
|x&lt;br /&gt;
|y&lt;br /&gt;
|z&lt;br /&gt;
|A&lt;br /&gt;
|B&lt;br /&gt;
|C&lt;br /&gt;
|D&lt;br /&gt;
|E&lt;br /&gt;
|F&lt;br /&gt;
|G&lt;br /&gt;
|H&lt;br /&gt;
|I&lt;br /&gt;
|J&lt;br /&gt;
|K&lt;br /&gt;
|L&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Index&lt;br /&gt;
|30&lt;br /&gt;
|31&lt;br /&gt;
|32&lt;br /&gt;
|33&lt;br /&gt;
|34&lt;br /&gt;
|35&lt;br /&gt;
|36&lt;br /&gt;
|37&lt;br /&gt;
|38&lt;br /&gt;
|39&lt;br /&gt;
|3A&lt;br /&gt;
|3B&lt;br /&gt;
|3C&lt;br /&gt;
|3D&lt;br /&gt;
|3E&lt;br /&gt;
|3F&lt;br /&gt;
|-&lt;br /&gt;
|Char&lt;br /&gt;
|M&lt;br /&gt;
|N&lt;br /&gt;
|O&lt;br /&gt;
|P&lt;br /&gt;
|Q&lt;br /&gt;
|R&lt;br /&gt;
|S&lt;br /&gt;
|T&lt;br /&gt;
|U&lt;br /&gt;
|V&lt;br /&gt;
|W&lt;br /&gt;
|X&lt;br /&gt;
|Y&lt;br /&gt;
|Z&lt;br /&gt;
|_&lt;br /&gt;
|!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The conversion table above is used by the EID encoding and decoding routines and is located at the following addresses in each of the Crash games:&lt;br /&gt;
* Crash 1 - &amp;lt;code&amp;gt;0x51728&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Null EID ===&lt;br /&gt;
The EID with value &amp;lt;code&amp;gt;0x6396347F&amp;lt;/code&amp;gt;, which translates to &amp;lt;code&amp;gt;NONE!&amp;lt;/code&amp;gt;, is used frequently throughout the game code. It represents a null EID.&lt;br /&gt;
[[Category:Structure]]&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Main_Page&amp;diff=59</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Main_Page&amp;diff=59"/>
		<updated>2019-04-27T17:44:32Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 14 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;mainpage-leftcolumn-start /&amp;gt;&lt;br /&gt;
{{maitop}}&lt;br /&gt;
Here you will find a number of in-depth guides detailing the inner-workings of the [[w:c:retro-crash|Crash Bandicoot]] game engine. These guides are not official in any way.&lt;br /&gt;
&lt;br /&gt;
==Start Here==&lt;br /&gt;
* [[CD-ROM Directory Structure]]&lt;br /&gt;
* [[Entry point]]&lt;br /&gt;
* [[Game Loop]]&lt;br /&gt;
* [[Paging and Subsystem Initialization]]&lt;br /&gt;
* [[Subsystem|Subsystems]]&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* [[Memory Map]]&lt;br /&gt;
* [[Level ID|List of Level ID's]]&lt;br /&gt;
* [[List of game discs|List of Game Discs]]&lt;br /&gt;
&lt;br /&gt;
=== Formats ===&lt;br /&gt;
==== Files ====&lt;br /&gt;
* [[NSD]]&lt;br /&gt;
* [[NSF]]&lt;br /&gt;
** [[Chunk]]&lt;br /&gt;
** [[Entry]]&lt;br /&gt;
* [[SYSTEM.CNF]]&lt;br /&gt;
* [[PSX.EXE]] (also SCUS_xxx.xx, SCES_xxx.xx, etc)&lt;br /&gt;
* [[WARP.BIN]] (also WARPSCUS.BIN, WARPSCES.BIN, etc)&lt;br /&gt;
&lt;br /&gt;
==== Entries ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
! Dec&lt;br /&gt;
! Hex&lt;br /&gt;
! style=&amp;quot;width: 4em&amp;quot;| Crash 1&lt;br /&gt;
! style=&amp;quot;width: 4em&amp;quot;| Crash 2&lt;br /&gt;
! style=&amp;quot;width: 4em&amp;quot;| Crash 3&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 1&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| SVTX&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 2&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| TGEO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 3&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| WGEO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[World]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 4&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| SLST&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[Sort List]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 5&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| TPAG&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 7&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| ZDAT&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[Zone]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
! 11&lt;br /&gt;
! Bh&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| GOOL&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| [[GOOL Executable]]&lt;br /&gt;
|-&lt;br /&gt;
! 12&lt;br /&gt;
! Ch&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| ADIO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 13&lt;br /&gt;
! Dh&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| MIDI&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 14&lt;br /&gt;
! Eh&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| INST&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 15&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| Fh&lt;br /&gt;
| IMAG&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| VCOL&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 17&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 11h&lt;br /&gt;
| MDAT&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| RAWD&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 18&lt;br /&gt;
! 12h&lt;br /&gt;
| IPAL&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 19&lt;br /&gt;
! 13h&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;| PBAK&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 20&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| 14h&lt;br /&gt;
| CVTX&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| SDIO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
! 21&lt;br /&gt;
! 15h&lt;br /&gt;
|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| VIDO&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot;| (no page)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Structures ====&lt;br /&gt;
* [[Object]]&lt;br /&gt;
&lt;br /&gt;
==== Other ====&lt;br /&gt;
* [[ISO 9660]]&lt;br /&gt;
* [[CD-XA]] (Mode 2 for CD tracks, used by the PlayStation)&lt;br /&gt;
&lt;br /&gt;
==Latest activity==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;activityfeed/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;mainpage-endcolumn /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;mainpage-rightcolumn-start /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Photos and videos are a great way to add visuals to your wiki. Find videos about your topic by exploring Wikia's [[w:c:video|Video Library]].&lt;br /&gt;
&lt;br /&gt;
[[File:Placeholder|298px]]&lt;br /&gt;
&amp;lt;mainpage-endcolumn /&amp;gt;&lt;br /&gt;
[[Category:Browse]]&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Camera_Update&amp;diff=35</id>
		<title>Camera Update</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Camera_Update&amp;diff=35"/>
		<updated>2019-04-27T17:44:32Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 1 revision imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
'''UNFINISHED'''&lt;br /&gt;
&lt;br /&gt;
Each game tracks the camera's current progress within a level with the following:&lt;br /&gt;
* Current zone in which the camera resides&lt;br /&gt;
* Current path, in that zone, that the camera is travelling&lt;br /&gt;
* Current progress of the camera along that path&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== Camera Follow Mode ==&lt;br /&gt;
In Camera Follow Mode, updating the camera refers to the process of recalculating the camera's current progress and updating the level [with the recalculated progress] as the player progresses towards (or digresses from) the goal. This may include updating the current zone if the camera and player venture into a neighboring zone and/or updating the current path if the camera and player pass either of its endpoints into territory of a neighboring path, along which the camera would follow closer to-providing a more appropriate view of the player.&lt;br /&gt;
&lt;br /&gt;
The camera's current progress is determined by the index of the point in the current path that is closest to-not the player, but instead-a point otherwise known as the ''unprojected camera location'', which is located a number of units to the left or right (in the X direction), above or below (in the Y direction), and behind the player (in the Z direction). The camera is ultimately positioned at the location of the point with index equal to the current progress value. Note that, without the additional adjustments, the camera would be positioned directly at the player's approximate location along the path [i.e. closest point], which may fail to provide a full view of the player. For example, in forward/backward zones this would provide a sort of first-person view rather than a full view of the player; however, if the point were adjusted somewhat backwards, its closest point on the path would be a point that were approximately behind the player. In left/right zones this may not matter as their paths span left to right and are typically already positioned somewhat behind the player's roaming area.&lt;br /&gt;
&lt;br /&gt;
At any instant there may be some point among [the current path's] neighboring paths that is closer to the unprojected camera location than any other point in the current path. This would mean that the player has progressed/retrogressed so far such that the unprojected camera location is now closer to [the point in] some neighboring path-and thus projects to a point that either passes the end or backtracks before the beginning of the current path. In these cases, the neighboring path with the point closest to the unprojected camera location is chosen to replace the current path.&lt;br /&gt;
&lt;br /&gt;
=== Camera Follow Routine ===&lt;br /&gt;
The ''camera follow routine'' handles updating the camera in Camera Follow Mode. Its generalized operation is as follows:&lt;br /&gt;
# Calculate [updated] unprojected camera location&lt;br /&gt;
# Find the path among the current path and its neighbors [with point] closest to the unprojected camera location&lt;br /&gt;
# Update level with potentially any combination of the following:&lt;br /&gt;
#* A new current zone = if it is different from the current, the parent zone of the path closest to the unprojected camera location&lt;br /&gt;
#* A new current path = if it is different from the current, the path closest to the unprojected camera location&lt;br /&gt;
#* A new current progress = the index of the point closest to the unprojected camera location, in the path that contains it&lt;br /&gt;
&lt;br /&gt;
==== Operation ====&lt;br /&gt;
Note: camera ''looks forward ''or ''looks backward ''do not actually refer to the ''camera'' looking forward or back. Instead, these refer to the camera looking to a point that is ''adjusted'' either forward or backward as the ''player ''looks forward or back.&lt;br /&gt;
# Calculate [updated] unprojected camera location&lt;br /&gt;
#* Determine the nearest neighboring camera paths [to the camera]&lt;br /&gt;
#** If current progress at less than half way or at most 50 points into the current path, nearest neighbors include all preceding neighbors&lt;br /&gt;
#** If current progress at or more than half way or at most 50 points from the end of the current path, nearest neighbors include all proceeding neighbors&lt;br /&gt;
#* Determine z look/x pan flags&lt;br /&gt;
#** If current zone intended for forward/backward travel&lt;br /&gt;
#*** If up is pressed, [set flag for] camera ''looks forward''&lt;br /&gt;
#*** If down is pressed, [set flag for] camera ''looks backward''&lt;br /&gt;
#** If current zone intended for left/right travel&lt;br /&gt;
#*** If left pressed, [set flag for] camera ''pans left''&lt;br /&gt;
#*** If right pressed, [set flag for] camera ''pans right''&lt;br /&gt;
#** If current zone not intended for forward/backward travel&lt;br /&gt;
#*** Camera is forced to either look forward or back, depending on zone flag&lt;br /&gt;
#* Determine z look/x pan factors&lt;br /&gt;
#** Increase or decrease ''z look'' factor at rate of 50 m/frame, depending on whether cam looks forward or backward; restrict this factor to the range -300m to 300m (*Cortex Power: -1200m to 1200m)&lt;br /&gt;
#** Increase or decrease ''x pan'' factor at rate of 100 m/frame, depending on whether cam pans left or right; restrict this factor to the range -300m to 0m [offsets left] if the current path travels left or to the range 0m to 300m [offsets right] if the current path travels right&lt;br /&gt;
#* Determine y pan/z zoom factors&lt;br /&gt;
#** If the current or at least one nearest neighbor path travels forward/backward and the current progress is at least 10 points into and from the end of the current path&lt;br /&gt;
#*** If the current path travels forward/backward, seek ''z zoom'' factor from its previous value towards the current path's &amp;lt;code&amp;gt;camzoom&amp;lt;/code&amp;gt; value at a rate of 25 m/frame.&lt;br /&gt;
#*** Else if there exists a nearest forward/backward [travelling] neighbor, set ''z zoom'' factor to the neighbor's &amp;lt;code&amp;gt;camzoom&amp;lt;/code&amp;gt; value&lt;br /&gt;
#** If the current or at least one nearest neighbor path travels up/down&lt;br /&gt;
#*** If the current path travels up/down, seek ''y pan'' factor from its previous value towards the current path's &amp;lt;code&amp;gt;camzoom&amp;lt;/code&amp;gt; value at a rate of 100 m/frame.&lt;br /&gt;
#*** Else if there exists a nearest up/down [travelling] neighbor, set ''y pan'' factor to the neighbor's &amp;lt;code&amp;gt;camzoom&amp;lt;/code&amp;gt; value.&lt;br /&gt;
#* Determine total z adjustment factor by sum of ''z look'', ''z zoom'', and player's &amp;lt;code&amp;gt;camzoom&amp;lt;/code&amp;gt; value; let total x and y adjustment factors be ''x'' and ''y pan'' factors, respectively.&lt;br /&gt;
#* Calculate unprojected camera location by adding x, y, and z adjustment factors respectively to player location.&lt;br /&gt;
# Find the path among the current path and its neighbors that is ''closest'' to the unprojected camera location&lt;br /&gt;
#* For the current path&lt;br /&gt;
#** If the current path travels forward/backward&lt;br /&gt;
#*** TBD&lt;br /&gt;
#** If the current path does not travel forward/backward&lt;br /&gt;
#*** Calculate the unprojected camera location's projected progress along the current path&lt;br /&gt;
#**** Calculate vector ''a'' as the direction vector that spans from the current path's start location (i.e. position of initial point 0) to the unprojected camera location&lt;br /&gt;
#**** Let vector ''b'' be the current path's direction vector; graphically this refers to a unit vector that is a linear approximation of the path, starting at its start location and pointing in its direction&lt;br /&gt;
#**** Calculate the camera's projected distance along the current path by computing the scalar projection of ''a'' onto ''b''. Since ''b''-the path's direction vector-is already a unit vector, this is just the dot product of ''a'' and ''b''.&lt;br /&gt;
#**** Divide the camera's projected distance along the current path by the average distance between its path points. This directly converts the camera's projected distance along the path to the index of a point [along the path]-i.e. the camera's projected progress along the path.&lt;br /&gt;
#*** If the projected progress refers to a point before the path entrance or past the path exit (i.e. is an invalid point index)&lt;br /&gt;
#**** Reset progress to either the index of the first point or the last point in the path&lt;br /&gt;
#**** Mark the projected change in progress as non-existent&lt;br /&gt;
#*** Get the actual [projected] camera location at the projected progress point&lt;br /&gt;
#**** If this camera location is any more than 12.5 m from the unprojected camera location in either the x, y, or z dimension, then eliminate this path from being a potential closest&lt;br /&gt;
#*** Calculate and record euclidean distance from unprojected camera location to actual camera location; this is the equivalently the distance from the unprojected camera location to the [nearest point on the] path&lt;br /&gt;
#** If the path is still a potential closest&lt;br /&gt;
#*** Calculate and record the [absolute] projected change in progress by computing absolute value of the difference between current progress and projected progress&lt;br /&gt;
#*** If the [non-absolute] projected change shows a decrease in progress, mark the projected change as a digression; else if it shows an increase in progress, mark it as a progression&lt;br /&gt;
#* For each of the current path's nearest neighbors&lt;br /&gt;
#** If that neighbor path travels forward/backward&lt;br /&gt;
#*** TBD&lt;br /&gt;
#** If that neighbor path does not travel forward/backward&lt;br /&gt;
#*** Calculate the unprojected camera location's projected progress along that [neighbor] path&lt;br /&gt;
#**** This is done in the same way as for the current path&lt;br /&gt;
#*** If the path's parent zone header flags bit 19 set: if the path travels left/right and the unprojected camera location is more than 50m under the [initial point of] the path, eliminate this path from being a potential closest&lt;br /&gt;
#*** If this path and the current path both travel in the same y and z direction (i.e. either up-left, up-right, down-left, down-right, or do not at all travel up/down and left/right)&lt;br /&gt;
#**** If this path is in front of the current path (i.e. such that, if chosen as the new/closest path, the camera would 'enter' at its ''entrance'' point)&lt;br /&gt;
#***** If the projected progress lies before the path's entrance cutoff point, then eliminate this path from being a potential closest&lt;br /&gt;
#***** Else if the projected progress lies before the path's default entrance point (0), eliminate this path from being a potential closest&lt;br /&gt;
#**** Else if this path is behind the current path (i.e. such that, if chosen as the new/closest path, the camera would 'enter' at its ''exit'' point)&lt;br /&gt;
#***** If the projected progress lies after the path's exit cutoff point, then eliminate this path from being a potential closest&lt;br /&gt;
#***** Else if the projected progress lies after the end of the path/the path's default exit point, eliminate this path from being a potential closest&lt;br /&gt;
#*** Get the actual [projected] camera location at the projected progress point&lt;br /&gt;
#**** If this camera location is any more than 12.5 meters from the unprojected camera location in either the x, y, or z dimension, then eliminate this path from being a potential closest&lt;br /&gt;
#*** Calculate and record euclidean distance from unprojected camera location to actual camera location&lt;br /&gt;
#** If this path is still a potential closest, then calculate and record the total [absolute] projected change in progress:&lt;br /&gt;
#*** If this path is further from the goal than the current path&lt;br /&gt;
#**** ''From the perspective of the player as it faces towards the goal: ''if this path is in ''front'' of the current path&lt;br /&gt;
#***** This doesn't make sense. From the perspective of the player as it faces towards the goal, a path that is further from the goal than the current path must either be behind, to the left, to the right, above, or below it. this path could not possibly be in front of the current path if it is supposedly further from the goal; such paths do not exist in any zone entry of any NSF; an incorrect progress calculation will ensue for such paths&lt;br /&gt;
#**** ''From the perspective of the player as it faces towards the goal: ''if this path is ''behind'' the current path&lt;br /&gt;
#***** -the camera will 'exit' from the current path's ''front endpoint'' as the ''exit'' point&lt;br /&gt;
#***** -the camera will 'enter' at the new path's ''back endpoint'' as the ''entrance'' point&lt;br /&gt;
#***** Get the amount of progress so far accumulated in relation to the ''exit'' point or ''front'' of the ''current'' path-this is just the current progress. (The camera would first have to move back this amount to reach ''this'' path.)&lt;br /&gt;
#***** Get the projected amount of progress along ''this'' path [if it were chosen] in relation to its ''back'' endpoint (i.e. last point) as the ''entrance'' point&lt;br /&gt;
#****** Compute the absolute difference between current progress and projected progress&lt;br /&gt;
#****** Subtract the computed difference from the length of the path/index of its last progress point&lt;br /&gt;
#***** Sum the 2 progress amounts to get the total projected change in progress; record this value&lt;br /&gt;
#*** If this path is closer to the goal than the current path&lt;br /&gt;
#**** ''From the perspective of the player as it faces towards the goal: ''If this path is ''in front'' of the current path&lt;br /&gt;
#***** - the camera will 'exit' from the current path's ''back endpoint'' as the ''exit'' point&lt;br /&gt;
#***** - the camera will 'enter' at the new path's ''front endpoint'' as the ''entrance'' point&lt;br /&gt;
#***** Get the amount of progress that would need to be accumulated to reach the ''exit'' point of the ''current path''&lt;br /&gt;
#****** Compute difference of current path length [index of its last progress point] and current progress to find remaining progress&lt;br /&gt;
#***** Get projected amount of progress along ''this'' path [if it were chosen] in relation to its ''front'' ''endpoint'' (i.e. first point) as the ''entrance'' point&lt;br /&gt;
#****** Compute the absolute difference between current progress and projected progress&lt;br /&gt;
#***** Sum the 2 progress amounts to get the total projected change in progress; record this value&lt;br /&gt;
#**** ''From the perspective of the player as it faces towards the goal: ''If this path is ''behind'' the current path&lt;br /&gt;
#***** This doesn't make sense; see above. An incorrect progress calculation will ensue.&lt;br /&gt;
#* Using the information recorded for each of the potentially closest paths&lt;br /&gt;
#** Choose the closest path to the unprojected [updated] camera location (i.e. with minimum euclidean distance) for which it, preferably, would exhibit a projected change in progress [upon updating current progress using the total projected change]&lt;br /&gt;
#** If no path exists for which the updated camera location corresponds to a projected change in progress&lt;br /&gt;
#*** Return without updating level; not necessary&lt;br /&gt;
# Update level:&lt;br /&gt;
#* Approximate the distance between the current camera location and the new [updated] projected camera location: multiply change in progress recorded [for the chosen path] by the average distance between points in the current path (this converts the change in progress to a change in distance).&lt;br /&gt;
#** If this distance is less than .45778m?&lt;br /&gt;
#*** Record the projected change in progress as camera speed&lt;br /&gt;
#*** Update the level with new projected progress as the current progress; the camera will not have moved far and will thus remain on the current path, so there will be no change in and no updating of current path or zone&lt;br /&gt;
#** If this distance is greater than [or equal to] .45778m?&lt;br /&gt;
#*** Update camera speed&lt;br /&gt;
#**** If the projected change in progress is less than or equal to 2 points&lt;br /&gt;
#***** Set camera speed to half the projected change in progress&lt;br /&gt;
#**** If the projected change in progress is between 2 and 5 points&lt;br /&gt;
#***** Set camera speed to 2 points/frame&lt;br /&gt;
#**** If the projected change in progress is 5 or more points (impossible delta)&lt;br /&gt;
#***** Set camera speed to half the projected change in progress if it is more than camera speed; else increment camera speed by 1 point/frame&lt;br /&gt;
#*** Update the level with a new progress, given the updated camera speed&lt;br /&gt;
#**** If the projected change in progress would bring the camera ''closer to'' the goal&lt;br /&gt;
#***** If the chosen path [closest to the approximate camera location] is the current path&lt;br /&gt;
#****** Calculate an ''alternate new progress ''(used rather than the new projected progress) by adding camera speed to the current progress.&lt;br /&gt;
#****** Update the level with the alternate new progress as the current progress; the camera will remain on the current path, so there will be no change in and no updating of current path or zone&lt;br /&gt;
#***** If the chosen path is a neighboring path [rather than the current path], then the projected change in progress should bring the camera out of the current path and into that neighboring path-which is past the current path:&lt;br /&gt;
#****** Also, calculate an ''alternate new progress'' by adding camera speed to the current progress. For further verification that, at its ultimate new progress, the camera will indeed be brought into that neighboring path, if the alternate new progress would exceed the length of the path (i.e. cross the ''back endpoint''), then it would be an invalid progress-a progress which would instead refer to a point in the neighboring path past the current path:    (else treat as if the chosen path were the current path; see above)&lt;br /&gt;
#******* Readjust the alternate new progress in relation to the ''front'' ''endpoint'' of the neighboring path&lt;br /&gt;
#******** Subtract length of the current path from the alternate new progress to get the amount of [the alternate new] progress that would exceed the ''back endpoint'' of the current path into the neighboring path&lt;br /&gt;
#******** If the neighboring path is behind the current path, negate the amount of exceeding progress&lt;br /&gt;
#******** Add this to the index of the neighboring path's ''front endpoint''&lt;br /&gt;
#******** Set the alternate new progress to this readjusted value&lt;br /&gt;
#******* Update the level with:&lt;br /&gt;
#******** The neighboring path's parent zone as the current zone&lt;br /&gt;
#******** The neighboring path as the current path&lt;br /&gt;
#******** Whichever is less: either the projected new progress or the alternate new progress, as the current progress.&lt;br /&gt;
#**** If the projected change in progress would bring the camera further from the goal&lt;br /&gt;
#***** If the chosen path [closest to the approximate camera location] is the current path&lt;br /&gt;
#****** Calculate an ''alternate new progress'' [used rather than the new projected progress] by subtracting camera speed from the current progress.&lt;br /&gt;
#****** Update the level with the alternate new progress as the current progress; the camera will remain on the current path, so there will be no change in and no updating of current path or zone&lt;br /&gt;
#***** If the chosen path is a neighboring path [rather than the current path], then the projected change in progress should bring the camera out of the current path and into that neighboring path-which is behind the current path.&lt;br /&gt;
#****** Also, calculate an ''alternate new progress'' by subtracting camera speed from the current progress. For further verification that, at its ultimate new progress, the camera will indeed be brought into that neighboring path, if the alternate new progress would be less than 0 (i.e. cross the ''front endpoint''), then it would be an invalid progress-a progress which would instead refer to a point in the neighboring path that falls short of the current path:  (else treat as if the chosen path were the current path; see above)&lt;br /&gt;
#******* Readjust the alternate new progress in relation to the ''back endpoint'' of the neighboring path&lt;br /&gt;
#******** The amount of progress that exceeds the ''front endpoint'' of the current path into the neighboring path is just the current progress&lt;br /&gt;
#******** If the neighboring path is ''in front'' of the current path, negate the amount of exceeding progress&lt;br /&gt;
#******** Add this to the index of the neighboring path's ''back endpoint''&lt;br /&gt;
#******** Set the alternate new progress to this readjusted value&lt;br /&gt;
#******* Update the level with:&lt;br /&gt;
#******** The neighboring path's parent zone as the current zone&lt;br /&gt;
#******** The neighboring path as the current path&lt;br /&gt;
#******** Whichever is less: either the projected new progress or the alternate new progress, as the current progress.&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Chunk&amp;diff=44</id>
		<title>Chunk</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Chunk&amp;diff=44"/>
		<updated>2019-04-27T17:44:32Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 8 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Chunks (a.k.a. pages) are the highest level data containers in NSF files. Each chunk is 64KB (0x10000 bytes) in size, in congruence with the 64KB pages allocated to contain them.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
=== Uncompressed chunks ===&lt;br /&gt;
&lt;br /&gt;
==== Non-texture chunks ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Magic Number&lt;br /&gt;
|2 bytes&lt;br /&gt;
|0x1234&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|Type&lt;br /&gt;
|2 bytes&lt;br /&gt;
|!=1&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|ID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Entry Count&lt;br /&gt;
|4 bytes&lt;br /&gt;
|c&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Checksum&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|Entry Offsets&lt;br /&gt;
|4 x c bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x10 + (4 x c)&lt;br /&gt;
|End of last Entry&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x10 + (4 x (c+1) )&lt;br /&gt;
|Entries&lt;br /&gt;
|* x c bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Texture chunks ====&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Magic Number&lt;br /&gt;
|2 bytes&lt;br /&gt;
|0x1234&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|Type&lt;br /&gt;
|2 bytes&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Texture Page EID&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Tex. Page Entry Type&lt;br /&gt;
|4 bytes&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Checksum&lt;br /&gt;
|4 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x10&lt;br /&gt;
|Texture data&lt;br /&gt;
|0xFFF0/65520 bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Compressed chunks ===&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Offset&lt;br /&gt;
!Field&lt;br /&gt;
!Size&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|Magic Number&lt;br /&gt;
|2 bytes&lt;br /&gt;
|0x1235&lt;br /&gt;
|-&lt;br /&gt;
|0x2&lt;br /&gt;
|Unused&lt;br /&gt;
|2 bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0x4&lt;br /&gt;
|Length&lt;br /&gt;
|4 bytes&lt;br /&gt;
|l&lt;br /&gt;
|-&lt;br /&gt;
|0x8&lt;br /&gt;
|Skip&lt;br /&gt;
|4 bytes&lt;br /&gt;
|s&lt;br /&gt;
|-&lt;br /&gt;
|0xC&lt;br /&gt;
|Compressed data&lt;br /&gt;
|n bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC+n&lt;br /&gt;
|Skipped data&lt;br /&gt;
|s bytes&lt;br /&gt;
|*&lt;br /&gt;
|-&lt;br /&gt;
|0xC+n+s&lt;br /&gt;
|Uncompressed data&lt;br /&gt;
|(0x10000 - l) bytes&lt;br /&gt;
|*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
struct chunk&lt;br /&gt;
{ &lt;br /&gt;
  const unsigned short magic = 0x1234;&lt;br /&gt;
  unsigned short type;&lt;br /&gt;
  union&lt;br /&gt;
  {&lt;br /&gt;
    struct // normal chunks&lt;br /&gt;
    {&lt;br /&gt;
      unsigned long CID;&lt;br /&gt;
      unsigned long entrycount;&lt;br /&gt;
      unsigned long checksum;&lt;br /&gt;
      union&lt;br /&gt;
      {&lt;br /&gt;
        unsigned long entryoffset[entrycount];&lt;br /&gt;
        entry *entryptr[entrycount];&lt;br /&gt;
      };&lt;br /&gt;
      entry entries[entrycount];&lt;br /&gt;
    };&lt;br /&gt;
    struct // texture chunks&lt;br /&gt;
    {&lt;br /&gt;
      unsigned long EID;&lt;br /&gt;
      unsigned long entrytype = 5;&lt;br /&gt;
      unsigned long checksum;&lt;br /&gt;
      unsigned char data[0xFFF0];&lt;br /&gt;
    };&lt;br /&gt;
  };&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct chunk_compressed&lt;br /&gt;
{&lt;br /&gt;
  const unsigned short magic = 0x1235;&lt;br /&gt;
  const unsigned short unused = 0;&lt;br /&gt;
  unsigned long length;&lt;br /&gt;
  unsigned long skip;&lt;br /&gt;
  unsigned char compressed[];&lt;br /&gt;
  unsigned char skipped[skip];&lt;br /&gt;
  unsigned char uncompressed[0x10000-length];&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Types ==&lt;br /&gt;
{| class=&amp;quot;article-table&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Normal Chunk&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Texture Chunk&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Prototype Sound Chunk&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Sound Chunk&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Wavebank Chunk&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Speech Chunk&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Non-texture chunks ===&lt;br /&gt;
Non-texture chunks are containers for 'entries'-the intermediate level data containers in NSF files.&lt;br /&gt;
&lt;br /&gt;
=== Texture chunks ===&lt;br /&gt;
Texture chunks contain palette and texture data used by game models.&lt;br /&gt;
&lt;br /&gt;
== Chunk IDs/CIDs ==&lt;br /&gt;
Each chunk has a unique ID. A chunk ID has been assigned to each chunk according to its index in the NSF file. The formula for a chunk ID, or CID, is: '(index &amp;lt;&amp;lt; 1) - 1', where chunk indices start at 1. This is equivalent to '(index &amp;lt;&amp;lt; 1) | 1' when chunks are zero-indexed. Thus, a chunk's index is contained in the leftmost 31 bits of its CID. The rightmost bit or LSB in a CID is an indicator bit or tag, and is always 1. A CID is typically stored in a tagged union with its replacement entry pointer as the key in an entry hash table slot. Its replacement pointer locates an entry contained in the chunk with that CID.  &lt;br /&gt;
&lt;br /&gt;
Texture chunks do not have a CID field with precomputed value. The texture paging routines manually compute CIDs for texture chunks.&lt;br /&gt;
[[Category:Structure]]&lt;br /&gt;
&lt;br /&gt;
== Checksums ==&lt;br /&gt;
Each chunk includes a 32-bit checksum which can be used to verify the integrity of the chunk data. At least some PAL versions of the games enforce these checksums.&lt;br /&gt;
&lt;br /&gt;
The checksum is computed as follows:&lt;br /&gt;
&lt;br /&gt;
# Start with the value &amp;lt;code&amp;gt;0x12345678&amp;lt;/code&amp;gt;.&lt;br /&gt;
# For each byte of the 64K chunk:&lt;br /&gt;
#* Add that byte to the current value. For the bytes from the checksum field itself (bytes 12 through 15), consider their value to be zero.&lt;br /&gt;
#* Circularly left-shift the current value by three bits.&lt;br /&gt;
# The final value is the correct checksum.&lt;br /&gt;
&lt;br /&gt;
This procedure is also described by this C function:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
uint32_t nsfChecksum(const unsigned char *data)&lt;br /&gt;
{&lt;br /&gt;
    uint32_t checksum = 0x12345678;&lt;br /&gt;
    for (int i = 0;i &amp;lt; 65536;i++) {&lt;br /&gt;
        if (i &amp;lt; 12 || i &amp;gt;= 16)&lt;br /&gt;
            checksum += data[i];&lt;br /&gt;
        checksum = checksum &amp;lt;&amp;lt; 3 | checksum &amp;gt;&amp;gt; 29;&lt;br /&gt;
    }&lt;br /&gt;
    return checksum;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=Camera_Properties_Crash_2/3&amp;diff=33</id>
		<title>Camera Properties Crash 2/3</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=Camera_Properties_Crash_2/3&amp;diff=33"/>
		<updated>2019-04-27T17:44:32Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 21 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== First camera item ==&lt;br /&gt;
&lt;br /&gt;
=== Property 0x29: cameramode ===&lt;br /&gt;
&amp;lt;u&amp;gt;00000001&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;000000MM&amp;lt;/u&amp;gt;&lt;br /&gt;
* MM = mode&lt;br /&gt;
MM =  01; 3d views (normal route/game over screen/titles)&lt;br /&gt;
&lt;br /&gt;
MM =  02; limited input? (platform routes/cutscenes)&lt;br /&gt;
&lt;br /&gt;
MM =  03; sideviews&lt;br /&gt;
MM =  04; all round view (warp rooms)&lt;br /&gt;
&lt;br /&gt;
MM =  08; limited input? (transitional space/no man's land )&lt;br /&gt;
&lt;br /&gt;
=== Property 0x4B: vectors/path ===&lt;br /&gt;
&amp;lt;u&amp;gt;CCCCCCCC&amp;lt;/u&amp;gt; + CCCCCCCC x &amp;lt;u&amp;gt;[XXXX&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;ZZZZ&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;YYYY]&amp;lt;/u&amp;gt;&lt;br /&gt;
* CCCCCCCC = count of path points&lt;br /&gt;
* XXXX = X-coordinate&lt;br /&gt;
* ZZZZ = Z-coordinate&lt;br /&gt;
* YYYY = Y-coordinate&lt;br /&gt;
&lt;br /&gt;
=== Property 0xC9: ? ===&lt;br /&gt;
T.b.d. Might be related to bonus or transportation platforms&lt;br /&gt;
&lt;br /&gt;
=== Property 0x103: SLST ===&lt;br /&gt;
Contains the EID of the accompanying SLST entry&lt;br /&gt;
&lt;br /&gt;
=== Property 0x109: path links ===&lt;br /&gt;
&lt;br /&gt;
This property contains information about which (neighbouring) paths and zones are linked with the current path. It consists of 4-byte words, with the 'path beginning/ending' as the main building block.&lt;br /&gt;
&lt;br /&gt;
The property can have different lengths and formats depending on the type of situation. A path can begin where another one ends/end where another begins, be the very end/beginning of the level or converge from/split up in multiple paths. &lt;br /&gt;
&lt;br /&gt;
A path beginning/ending contains the following data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;MMZZPP**&amp;lt;/u&amp;gt;&lt;br /&gt;
* MM = begin/end flag, 01 is for beginnings, 02 for endings&lt;br /&gt;
* ZZ = (neighbouring) zone index where this path begins if (MM=01) / ends if (MM=02)&lt;br /&gt;
* PP = (neighbouring) zone's path index where this path begins if (MM=01) / ends if (MM=02)&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; = unknown; (neighbouring) zone's path's point index where this path begins if (MM=01) / ends if (MM=02) &lt;br /&gt;
The indices refer to the zones in the order as they come in the zone's header. The first zone is always a reference to the itself (index 0x00), i.e. the zone where the header is in. &lt;br /&gt;
&lt;br /&gt;
'''Type 1 and 2: (first word == 1)'''&lt;br /&gt;
&lt;br /&gt;
'''Type 1:''' path with single end and beginning '''(MM second word == 00)''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;00000001&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;0000CCCC&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;01ZZPP**&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;02ZZPP**&amp;lt;/u&amp;gt;&lt;br /&gt;
* CCCC = count of path points - 1 (end is at)&lt;br /&gt;
'''Type 2:''' path with single beginning '''(MM second word == 01)''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;00000001&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;01ZZPP**&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Type 3 and 4: (first word !== 1)'''&lt;br /&gt;
&lt;br /&gt;
'''Type 3:''' path with single end '''(MM second word == 02)''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;CCCC0001&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;02ZZPP**&amp;lt;/u&amp;gt;&lt;br /&gt;
* CCCC = count of path points - 1 (end is at)&lt;br /&gt;
'''Type 4:''' path with multiple endings/beginnings '''(MM second word !== 02)''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;EEEEBBBB&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;CCCC0000&amp;lt;/u&amp;gt; + BBBB x &amp;lt;u&amp;gt;[01ZZPP**]&amp;lt;/u&amp;gt; + EEEE x &amp;lt;u&amp;gt;[02ZZPP**]&amp;lt;/u&amp;gt; &lt;br /&gt;
* EEEE = count of endings&lt;br /&gt;
* BBBB = count of beginnings&lt;br /&gt;
* CCCC = count of path points - 1 (ends are at)&lt;br /&gt;
&lt;br /&gt;
=== Property 0x130: camera's field of view ===&lt;br /&gt;
&amp;lt;u&amp;gt;00000001&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;FFFFFFFF&amp;lt;/u&amp;gt;&lt;br /&gt;
* FFFFFFFF = field of view; the default value is 0x120&lt;br /&gt;
&lt;br /&gt;
=== Property 0x162: ? ===&lt;br /&gt;
T.b.d. Might be an ID, value seems to be increase throughout the level&lt;br /&gt;
&lt;br /&gt;
=== Property 0x16D: camera path related ===&lt;br /&gt;
T.b.d.&lt;br /&gt;
&lt;br /&gt;
=== Property 0x173: camera path number in zone ===&lt;br /&gt;
&amp;lt;u&amp;gt;00000001&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;NNNNNNNN&amp;lt;/u&amp;gt;&lt;br /&gt;
* NNNNNNNN = camera path number in the zone, the first one being 0&lt;br /&gt;
[[Category:Crash 2/3]]&lt;br /&gt;
&lt;br /&gt;
=== Property 0x174: camera path item number ===&lt;br /&gt;
&amp;lt;u&amp;gt;00000001&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;NNNNNNNN&amp;lt;/u&amp;gt;&lt;br /&gt;
* NNNNNNNN = camera path item number in the zone; is either 0, 1, 2&lt;br /&gt;
&lt;br /&gt;
=== Property 0x176: camera path number of links ===&lt;br /&gt;
&amp;lt;u&amp;gt;00000001&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;NNNNNNNN&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;EEEEBBBB&amp;lt;/u&amp;gt;&lt;br /&gt;
* CCCCCCCC = count of path points - 1&lt;br /&gt;
* EEEE = number of linked paths at end&lt;br /&gt;
* BBBB = number of linked paths at beginning&lt;br /&gt;
=== Property 0x1AA: camera path related ===&lt;br /&gt;
T.b.d.&lt;br /&gt;
&lt;br /&gt;
== Second camera item ==&lt;br /&gt;
&lt;br /&gt;
=== Property 0x1FA: camera path backgrounds ===&lt;br /&gt;
This property contains the ABGR channels (Alpha, Blue, Green, Red respectively) to form the background color in the camera path. Camera paths can have two The base format is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;00000003&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;FFFF****&amp;lt;/u&amp;gt;  &lt;br /&gt;
* FFFF = flag, if set to 0, there is only one (set of) background color(s)&lt;br /&gt;
'''Type 1: '''single color set '''(flag == 0) and (X &amp;lt; 4)'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;00000003&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;0000000X&amp;lt;/u&amp;gt;  &amp;lt;u&amp;gt;AABBGGRR&amp;lt;/u&amp;gt;&amp;lt;sup&amp;gt;(top)&amp;lt;/sup&amp;gt;&amp;lt;u&amp;gt; AABBGGRR&amp;lt;/u&amp;gt;&amp;lt;sup&amp;gt;(bottom)&amp;lt;/sup&amp;gt;&lt;br /&gt;
* RR = value of red channel&lt;br /&gt;
* GG = value of green channel&lt;br /&gt;
* BB = value of blue channel&lt;br /&gt;
* AA = value of alpha channel&lt;br /&gt;
* X = background division, if set to 1, only the top color is used to fill the entire background, if set to 2, both the colors are used with the background split in a top and bottom color&lt;br /&gt;
'''Type 2: '''two color sets '''(flag == 0) and (X &amp;gt;= 4)'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;00000003&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;0000SSSS&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;0000000X&amp;lt;/u&amp;gt;  &amp;lt;u&amp;gt;AABBGGRR&amp;lt;/u&amp;gt;&amp;lt;sup&amp;gt;(top 1)&amp;lt;/sup&amp;gt;&amp;lt;u&amp;gt;AABBGGRR&amp;lt;/u&amp;gt;&amp;lt;sup&amp;gt;(bottom 1)&amp;lt;/sup&amp;gt; &amp;lt;u&amp;gt;0000000X&amp;lt;/u&amp;gt;  &amp;lt;u&amp;gt;AABBGGRR&amp;lt;/u&amp;gt;&amp;lt;sup&amp;gt;(top 2)&amp;lt;/sup&amp;gt; &amp;lt;u&amp;gt;AABBGGRR&amp;lt;/u&amp;gt;&amp;lt;sup&amp;gt;(bottom 2)&amp;lt;/sup&amp;gt;&lt;br /&gt;
* SSSS = index of pathpoint from where 2nd color set starts to be applied&lt;br /&gt;
&lt;br /&gt;
'''Type 3: '''three color sets '''(flag !== 0)'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;00000003&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;EEEESSSS&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;0000000X&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;AABBGGRR&amp;lt;/u&amp;gt;&amp;lt;sup&amp;gt;(top 1) &amp;lt;/sup&amp;gt;&amp;lt;u&amp;gt;AABBGGRR&amp;lt;/u&amp;gt;&amp;lt;sup&amp;gt;(bottom 1)&amp;lt;/sup&amp;gt; &amp;lt;u&amp;gt;0000000X&amp;lt;/u&amp;gt;  &amp;lt;u&amp;gt;AABBGGRR&amp;lt;/u&amp;gt;&amp;lt;sup&amp;gt;(top 2)&amp;lt;/sup&amp;gt;&amp;lt;u&amp;gt; 0000000X&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;AABBGGRR&amp;lt;/u&amp;gt;&amp;lt;sup&amp;gt;(bottom 2)&amp;lt;/sup&amp;gt; &amp;lt;u&amp;gt;0000000X&amp;lt;/u&amp;gt;  &amp;lt;u&amp;gt;AABBGGRR&amp;lt;/u&amp;gt;&amp;lt;sup&amp;gt;(top 3)&amp;lt;/sup&amp;gt;&amp;lt;u&amp;gt; AABBGGRR&amp;lt;/u&amp;gt;&amp;lt;sup&amp;gt;(bottom 3)&amp;lt;/sup&amp;gt;&lt;br /&gt;
* EEEE = index of pathpoint from where 3rd color set starts to be applied&lt;br /&gt;
* SSSS = index of pathpoint from where 2nd color set starts to be applied&lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cbhacks.com/index.php?title=CD-ROM_Directory_Structure&amp;diff=11</id>
		<title>CD-ROM Directory Structure</title>
		<link rel="alternate" type="text/html" href="https://wiki.cbhacks.com/index.php?title=CD-ROM_Directory_Structure&amp;diff=11"/>
		<updated>2019-04-27T17:44:31Z</updated>

		<summary type="html">&lt;p&gt;Chekwob: 9 revisions imported: Initial import from Wikia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Root directory ==&lt;br /&gt;
A Crash Bandicoot game CD will have a root directory with contents similar to the following:&lt;br /&gt;
* /BANJ  - [Crash 2 and 3 NTSC-J only] Almost nothing is known for sure.&lt;br /&gt;
** 1.  - ???&lt;br /&gt;
** 2.  - ???&lt;br /&gt;
** B0.DAT to B25.DAT  - ???&lt;br /&gt;
** BAN320.IKI  - [Crash 2 and 3] ???&lt;br /&gt;
** BAN320I.EXE  - [Crash 2 only] Code for BAN320.IKI?&lt;br /&gt;
** GOODIES.EXE  - Blank space. Reserved?&lt;br /&gt;
** MOVIE.EXE  - Blank space. Reserved?&lt;br /&gt;
* /BANJ_M  - [Crash 3 NTSC-J only] Contains movie sequences from the Goodies menu in .IKI format.&lt;br /&gt;
* /BANJ_P  - [Crash 3 NTSC-J only] PocketStation stuff?&lt;br /&gt;
* /DRAGON - [Crash 3 only] contains Spyro the Dragon demo files&lt;br /&gt;
* /S0  -  contains [[NSD]]/NSF files in 00-0F range&lt;br /&gt;
* /S1  -  contains [[NSD]]/NSF files in 10-1F range. Does not contain 1F in Crash 3.&lt;br /&gt;
* /S2  -  contains [[NSD]]/NSF files in 20-2F range. Contains 1F in Crash 3. &lt;br /&gt;
* /S3  -  contains [[NSD]]/NSF files in 30-3F range&lt;br /&gt;
* ZBSPTREE.WAD -  [Crash 1 NTSC-U and PAL only] Binary space partitioning tree data? Dummy file to take space? Can be deleted freely.&lt;br /&gt;
* ABSPTREE.WAD -  [Crash 1 NTSC-J only] Same as ZBSPTREE.WAD?&lt;br /&gt;
* ZTAIL.WAD - [Crash 1 NTSC-J only] Unknown. Not same as *BSPTREE.WAD.&lt;br /&gt;
* SYSTEM.CNF   -  [[CD-ROM Directory Structure#Boot Information|Disc boot information]]&lt;br /&gt;
* SCUS_***.**   - [NTSC only] Crash Bandicoot [[CD-ROM Directory Structure#Binary executable|binary executable]]&lt;br /&gt;
* SCES_***.**   - [PAL only] Crash Bandicoot [[CD-ROM Directory Structure#Binary executable|binary executable]]&lt;br /&gt;
* SCPS_***.**   - [NTSC-J only] Crash Bandicoot [[CD-ROM Directory Structure#Binary executable|binary executable]]&lt;br /&gt;
* KDAT.DAT    - [Crash 1 and 3 PAL and NTSC-J and Crash 2 NTSC-J only] Unknown. Has no purpose? Located in S3 in Crash 1 and 2, but in S0 in Crash 3.&lt;br /&gt;
* S0/WARPSC*S.BIN  - [Crash 3 only] Another executable? &amp;lt;!-- Messing with it causes the game to not boot.--&amp;gt;&lt;br /&gt;
&amp;lt;!--There's another dummy file in Crash 3 but I deleted it.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Binary executable ==&lt;br /&gt;
All executable code for the game is located in its binary executable. Depending on game episode and region, this may be one of the following:&lt;br /&gt;
* SCUS_949.00 - Crash Bandicoot (NTSC)&lt;br /&gt;
* SCES_003.44 - Crash Bandicoot (PAL)&lt;br /&gt;
* SCPS_100.31 - クラッシュ・バンディクー&lt;br /&gt;
* PSX.EXE - Crash Bandicoot (BETA 96/03/08)&lt;br /&gt;
* SCUS_941.54 - Crash Bandicoot 2: Cortex Strikes Back (NTSC)&lt;br /&gt;
* SCES_009.67 - Crash Bandicoot 2: Cortex Strikes Back (PAL)&lt;br /&gt;
* SCPS_100.47 - クラッシュバンディクー　2:　コルテックスのぎゃくしゅう！&lt;br /&gt;
* SCUS_942.44 - Crash Bandicoot: Warped (NTSC)&lt;br /&gt;
* SCES_014.20 - Crash Bandicoot 3: Warped (PAL)&lt;br /&gt;
* SCPS_100.73 - クラッシュ・バンディクー3 ブッとび!世界一周&lt;br /&gt;
&lt;br /&gt;
== Boot information ==&lt;br /&gt;
After powering on, the system searches the disc for the SYSTEM.CNF file. This file contains a list of directives that control the boot process. This includes the path of an initial binary executable (i.e. one of the binaries listed above) that will be loaded into memory for subsequent execution.&lt;br /&gt;
&lt;br /&gt;
== Game content ==&lt;br /&gt;
In the S0-S3 directories are .[[NSD]]/.NSF file pairs with the name S00000**.[[NSD]]/.NSF. Each pair corresponds to a specific level in the game, and these files contain the game data for that level. &lt;br /&gt;
&lt;br /&gt;
An NSF file comprises most of the actual data for its associated level, which includes graphic models, music and sound data, [[GOOL Executable|executable object code]], collision octrees, and level layout.&lt;br /&gt;
&lt;br /&gt;
An [[NSD|NSD file]] is essentially an index for its paired NSF file, but also includes some additional information.&lt;br /&gt;
 &lt;/div&gt;</summary>
		<author><name>Chekwob</name></author>
		
	</entry>
</feed>