|
|
(11 intermediate revisions by 6 users not shown) |
Line 1: |
Line 1: |
| {{Prototype | | {{Prototype |
| |Page name=Sonic Heroes (NPDP Prototype) | | |Page name=Sonic Heroes (Oct 30, 2003 prototype) |
| |titlescreen=Sonic Heroes NPDP Debug Prototype - Title Screen.png | | |titlescreen=Sonic Heroes NPDP Debug Prototype - Title Screen.png |
| | |builddate=Oct 30, 2003 18:16:44 |
| |status=Released | | |status=Released |
| |dumper=MSX | | |dumper=MSX |
Line 11: |
Line 12: |
| |release_date={{RegionDate|JP|Dec 30, 2003}} {{RegionDate|US|Jan 5, 2004}} {{RegionDate|EU|Feb 6, 2004}} | | |release_date={{RegionDate|JP|Dec 30, 2003}} {{RegionDate|US|Jan 5, 2004}} {{RegionDate|EU|Feb 6, 2004}} |
| |unreleased=No | | |unreleased=No |
| | |builtafter=Oct 13, 2003 |
| }} | | }} |
| {{Download | | {{Download |
| |file=Sonic Heroes NPDP Prototype 1.7z | | |file=Sonic Heroes NPDP Prototype 1.7z |
| }} | | }} |
| | ==Notes== |
| | {{Tcrf link|Proto:Sonic Heroes/GameCube NPDP Prototypes}} |
| | *At the time of release, this is the only known Debug build of Sonic Heroes, but it does not boot under retail hardware or emulation without hacking. |
| | *This build is newer than the [[Sonic Heroes (NPDP Prototype 2)|other NPDP build]] but older than the [[Sonic Heroes (November 18, 2003 prototype)|18th November Prototype.]] |
| | *When in Free movement mode, the players are able to free fall at any costs. |
| | *This was in an unlabeled slot on the NPDP cartridge. |
| ==Error Log== | | ==Error Log== |
|
| |
| <nowiki>N[OSREPORT]: USB Init Error<< Dolphin SDK - PAD release build: Aug 6 2003 04:30:02 (0x2301) ></nowiki> | | <nowiki>N[OSREPORT]: USB Init Error<< Dolphin SDK - PAD release build: Aug 6 2003 04:30:02 (0x2301) ></nowiki> |
|
| |
| This build is likely looking for an USB adapter like the ''GCP-2000''. | | This build is likely looking for an USB adapter like the ''GCP-2000''. |
|
| |
| ==Gecko Codes== | | ==Gecko Codes== |
|
| |
| This code will allow you to run the game under emulation and/or retail hardware by stubbing out the USB adapter the game is looking for. | | This code will allow you to run the game under emulation and/or retail hardware by stubbing out the USB adapter the game is looking for. |
|
| |
| {| class="wikitable" | | {| class="wikitable" |
| |+ | | |+ |
Line 116: |
Line 119: |
| 0002115E 00000002 | | 0002115E 00000002 |
| |} | | |} |
|
| |
| ==General Changes== | | ==General Changes== |
|
| |
| *At the time of release this is the only known build to boot into "Easy Menu" without hacking. | | *At the time of release this is the only known build to boot into "Easy Menu" without hacking. |
| **Easy Menu lacks the ability to select team "ForEdit" (seen in later versions); which is a placeholder related to how Super Hard Mode is internally implemented. | | **Easy Menu lacks the ability to select team "ForEdit" (seen in later versions); which is a placeholder related to how Super Hard Mode is internally implemented. |
Line 131: |
Line 132: |
| **If any story segment is complete and you are picking the starting stage, story however works fine. | | **If any story segment is complete and you are picking the starting stage, story however works fine. |
| *Team Rose's stages appear to be the same length as the final version, that is longer than the [[Sonic Heroes (NPDP Prototype 2)|other NPDP build]] which is shorter than [[Sonic Heroes (October 8, 2003 prototype)|8th October Prototype]]. | | *Team Rose's stages appear to be the same length as the final version, that is longer than the [[Sonic Heroes (NPDP Prototype 2)|other NPDP build]] which is shorter than [[Sonic Heroes (October 8, 2003 prototype)|8th October Prototype]]. |
|
| |
| ==Debug Controls== | | ==Debug Controls== |
| This section details all currently known non-trivial hidden debug controls (no UI label, non-obvious control scheme). | | This section details all currently known non-trivial hidden debug controls (no UI label, non-obvious control scheme). |
|
| |
| ===Easy Menu (Startup Screen)=== | | ===Easy Menu (Startup Screen)=== |
| 3P DPAD = Change Sound Mode | | 3P DPAD = Change Sound Mode |
Line 155: |
Line 154: |
| L + R + DPAD RIGHT =F ill team blast gauge. (Unlike Oct 8, this fills up slowly instead of instantly).~ | | L + R + DPAD RIGHT =F ill team blast gauge. (Unlike Oct 8, this fills up slowly instead of instantly).~ |
|
| |
|
| ===Free Movement Mode=== | | ===Free Movement (Scan) Mode=== |
| Z = Enable | | Z = Enable |
|
| |
|
Line 163: |
Line 162: |
|
| |
|
| A = Release | | A = Release |
|
| |
| ===Camera Debug Mode=== | | ===Camera Debug Mode=== |
| B + A = Show Camera Debug HUD | | B + A = Show Camera Debug HUD |
Line 170: |
Line 168: |
|
| |
|
| B + X = Show Camera Render Regions | | B + X = Show Camera Render Regions |
|
| |
| ===Snapshot Mode (Port 2)=== | | ===Snapshot Mode (Port 2)=== |
| 2P Z (In-game, while paused) = Enable | | 2P Z (In-game, while paused) = Enable |
Line 183: |
Line 180: |
|
| |
|
| 2P START + LStick = Rotate | | 2P START + LStick = Rotate |
|
| |
| ===SET (Object Layout) Editor=== | | ===SET (Object Layout) Editor=== |
|
| |
|
Line 231: |
Line 227: |
| ===Memory and Profiling=== | | ===Memory and Profiling=== |
| Y + L = Switch Menu (Texture Memory Allocations, CPU Profiler, Heap Allocation Viewer, Test) | | Y + L = Switch Menu (Texture Memory Allocations, CPU Profiler, Heap Allocation Viewer, Test) |
|
| |
| ===Story/Unlock Flags Test (Port 3)=== | | ===Story/Unlock Flags Test (Port 3)=== |
| Z = Enable | | Z = Enable |
Line 240: |
Line 235: |
|
| |
|
| A = Toggle | | A = Toggle |
|
| |
| ===Enemy Test (Port 3)=== | | ===Enemy Test (Port 3)=== |
| START = Enable | | START = Enable |
Line 253: |
Line 247: |
|
| |
|
| Y = Toggle all OFF | | Y = Toggle all OFF |
|
| |
| ===Cutscene Debug (Port 2)=== | | ===Cutscene Debug (Port 2)=== |
|
| |
|
| 2P A = Start after reset. | | 2P A = Start after reset. |
| | |
| 2P B = Pause | | 2P B = Pause |
| | |
| 2P X = Unpause | | 2P X = Unpause |
| | |
| 2P DPAD = Frame Rewind/Advance | | 2P DPAD = Frame Rewind/Advance |
| 2P START = Reset cutscene. (Crashes if done too many times.)
| |
|
| |
| ===Particle Editor (Port 4 + Port 1)===
| |
|
| |
| 4P Z + START = Enable
| |
|
| |
| 4P START + Y = ??? (Game Crash. Theory: Tries to export new file but fails.)
| |
|
| |
| 4P Z = Toggle Menu Visibility
| |
|
| |
| 4P L/R = Select Particle
| |
|
| |
| 4P X = Go Down
| |
|
| |
| 4P Y = Go Up
| |
|
| |
| 4P B + A = Exit Menu
| |
|
| |
| 1P LStick = Move
| |
|
| |
| 1P DPAD = Rotate
| |
|
| |
| 1P L/R = Raise/Lower
| |
|
| |
| 1P X = Reset Rotation
| |
|
| |
| 1P Y = Teleport to Char
| |
|
| |
| 1P A = Test Particle
| |
|
| |
| ===Particle Table Editor (open from Particle Editor)===
| |
| 4P Z + A = Enter Table Editor
| |
|
| |
| 4P B = Play Particle
| |
|
| |
| 4P A = Cancel Particle
| |
|
| |
| 1P A + LStick = Move Table Entry Origin Position
| |
|
| |
| ===Special Stage Debug (Port 4)===
| |
| 4P A = Player Param Editor
| |
|
| |
| 4P B = Toggle Special Stage Debug Menu
| |
|
| |
| 4P DPAD = Navigate Menu
| |
|
| |
| 4P L/R = Increase/Decrease Value
| |
|
| |
| ==Error Log==
| |
|
| |
| <nowiki>N[OSREPORT]: USB Init Error<< Dolphin SDK - PAD release build: Aug 6 2003 04:30:02 (0x2301) ></nowiki>
| |
|
| |
| This build is likely looking for an USB adapter like the ''GCP-2000''.
| |
|
| |
| ==Gecko Codes==
| |
|
| |
| This code will allow you to run the game under emulation and/or retail hardware by stubbing out the USB adapter the game is looking for.
| |
|
| |
| {| class="wikitable"
| |
| |+
| |
| |[Gecko]
| |
| $Stub out USB I/O Calls [Sewer56]
| |
|
| |
| 04017338 60000000
| |
|
| |
| 04218a2c 4e800020
| |
|
| |
| 04218af4 4e800020
| |
|
| |
| 04219274 4e800020
| |
|
| |
| 042190dc 4e800020
| |
|
| |
| 04218e10 4e800020
| |
|
| |
| 04218f94 4e800020
| |
| |-
| |
| |// Commented:
| |
| 80017338 60000000 // NOP Call to function that inits USB I/O
| |
|
| |
| 80218a2c 4e800020 // Stub out HIOEnumDevices
| |
|
| |
| 80218af4 4e800020 // Stub out HIOInit
| |
|
| |
| 80219274 4e800020 // Stub out HIORead
| |
|
| |
| 802190dc 4e800020 // Stub out HIORead (Overload)
| |
|
| |
| 80218e10 4e800020 // Stub out HIOReadMailbox
| |
|
| |
| 80218f94 4e800020 // Stub out HIOWriteMailbox
| |
| |}
| |
|
| |
| This code will allow you to boot into the regular main menu as opposed to "Easy Menu".
| |
|
| |
| {| class="wikitable"
| |
| |+
| |
| |[Gecko]
| |
| $Replace Easy Menu with System Mode X [Sewer56]
| |
|
| |
| C2022C90 00000004
| |
|
| |
| 7C0C0378 2C050003
| |
|
| |
| 40820008 38A00001
| |
|
| |
| 7D806378 90A3FF78
| |
|
| |
| 60000000 00000000
| |
| |-
| |
| |// Commented:
| |
|
| |
| Replace 38A0000X (end of third line) with desired system mode:
| |
|
| |
| 0 = PAL Select
| |
|
| |
| 1 = Menu
| |
|
| |
| 2 = InGame
| |
|
| |
| 3 = EasyMenu
| |
|
| |
| 4 = Credits
| |
|
| |
| 5 = EasyMenuMovie
| |
|
| |
| Please note that booting in modes other than 0, 1, 3, 5 will require some extra codes to initialize things.
| |
| |}
| |
|
| |
| This code (if not using an easy menu boot with the code above) can be used as a workaround to enter a specific level if the selection crashes in Easy Menu.
| |
|
| |
| {| class="wikitable"
| |
| |+
| |
| |[Gecko]
| |
| $Level select workaround
| |
|
| |
| 042A78EC XXXXXXXX
| |
|
| |
| XXXXXXXX = Level ID
| |
|
| |
| |}
| |
|
| |
| {| class="wikitable"
| |
| |+
| |
| |[Gecko]
| |
| $Additive switch effect
| |
|
| |
| 0002115E 00000002
| |
| |}
| |
|
| |
| ==General Changes==
| |
|
| |
| *At the time of release this is the only known build to boot into "Easy Menu" without hacking.
| |
| **Easy Menu lacks the ability to select team "ForEdit" (seen in later versions); which is a placeholder related to how Super Hard Mode is internally implemented.
| |
| **The teams for Player(s) 3/4 cannot be selected in "Easy Menu".
| |
| **Sitting around in "Easy Menu" for a while may make the game freeze when starting a stage.
| |
| ***Not sure what causes this; don't think it's a memory leak but this issue isn't present in other game versions.
| |
| *In Story Mode, Egg Emperor is not played if resuming story starting with Egg Fleet.
| |
| *The demo for Seaside Hill in this prototype is unique and not seen in other builds (at time of writing).
| |
| **This demo desyncs mid-way; likely to a change in the level's collision.
| |
| *A bug in Audio Menu causes track names to not render if hovering over a track that isn't unlocked.
| |
| *Starting Story Mode crashes the game if there are no stages completed.
| |
| **If any story segment is complete and you are picking the starting stage, story however works fine.
| |
| *Team Rose's stages appear to be the same length as the final version, that is longer than the [[Sonic Heroes (NPDP Prototype 2)|other NPDP build]] which is shorter than [[Sonic Heroes (October 8, 2003 prototype)|8th October Prototype]].
| |
|
| |
| ==Debug Controls==
| |
| This section details all currently known non-trivial hidden debug controls (no UI label, non-obvious control scheme).
| |
|
| |
| ===Easy Menu (Startup Screen)===
| |
| 3P DPAD = Change Sound Mode
| |
|
| |
| Note: Something weird about this screen is that 3P and 4P cannot select a team.
| |
| They are able to do so however in many other versions of the game.
| |
|
| |
| ===Basic Debug Mode (Same as Oct 8 Prototype)===
| |
|
| |
| Hold L + R = Enable (Shows coordinate data for Speed Character and unlocks camera from auto cam)
| |
|
| |
| L + R + X + Y = Finish Current Stage
| |
|
| |
| L + R + DPAD UP = Add 1 life.
| |
|
| |
| L + R + DPAD DOWN = Add 1 ring.
| |
|
| |
| L + R + DPAD LEFT = 1x level up (for all characters).
| |
|
| |
| L + R + DPAD RIGHT =F ill team blast gauge. (Unlike Oct 8, this fills up slowly instead of instantly).~
| |
|
| |
| ===Free Movement Mode===
| |
| Z = Enable
| |
|
| |
| LStick = Move
| |
|
| |
| Z + LStick = Up/Down
| |
|
| |
| A = Release
| |
|
| |
| ===Camera Debug Mode===
| |
| B + A = Show Camera Debug HUD
| |
|
| |
| B + Y = Toggle Camera Mode
| |
|
| |
| B + X = Show Camera Render Regions
| |
|
| |
| ===Snapshot Mode (Port 2)===
| |
| 2P Z (In-game, while paused) = Enable
| |
|
| |
| 2P DPAD = Move Fast
| |
|
| |
| 2P LStick = Move Slow
| |
|
| |
| 2P L/R = Up/Down
| |
|
| |
| 2P START + L/R = Zoom
| |
|
| |
| 2P START + LStick = Rotate
| |
|
| |
| ===SET (Object Layout) Editor===
| |
|
| |
| A + Z = Enable
| |
|
| |
| START + RStick = Rotate
| |
|
| |
| START + L/R = Zoom
| |
|
| |
| START + X = Change "Ring Type"
| |
|
| |
| START + Y = Change Speed
| |
|
| |
| START + B = Place Item
| |
|
| |
| START + A = Go to nearest object (if you don't place it again, it will be deleted)
| |
|
| |
| B + DPAD = Change Light Gate
| |
|
| |
| Y + DPAD = Change Object
| |
|
| |
| Control Stick = Toggle object properties
| |
|
| |
| A + Control Stick = Change object settings
| |
|
| |
| A + X = Exit
| |
|
| |
| A + B = Drop to Floor
| |
|
| |
| A + Y = Change Layout File (Design = sXX_DB.bin, Plan = sXX_PB.bin, PlanEx = sXX_PX.bin)
| |
|
| |
| ===CAM (Camera) Editor===
| |
| Z + Y = Enable
| |
|
| |
| LStick = Move
| |
|
| |
| L/R = Lower/Raise
| |
|
| |
| B + Y = Reset Position
| |
|
| |
| A + B = Switch Cam Speed
| |
|
| |
| START + B = Place Item
| |
|
| |
| START + A = Go to nearest object (if you don't place it again, it will be deleted)
| |
|
| |
| ===Memory and Profiling===
| |
| Y + L = Switch Menu (Texture Memory Allocations, CPU Profiler, Heap Allocation Viewer, Test)
| |
|
| |
| ===Story/Unlock Flags Test (Port 3)===
| |
| Z = Enable
| |
|
| |
|
| L/R = Change Page
| |
|
| |
| DPAD = Navigate
| |
|
| |
| A = Toggle
| |
|
| |
| ===Enemy Test (Port 3)===
| |
| START = Enable
| |
|
| |
| DPAD Left/Right = Change Page
| |
|
| |
| DPAD Up/Down = Navigate
| |
|
| |
| A = Toggle
| |
|
| |
| X = Toggle all ON
| |
|
| |
| Y = Toggle all OFF
| |
|
| |
| ===Cutscene Debug (Port 2)===
| |
|
| |
| 2P A = Start after reset.
| |
| 2P B = Pause
| |
| 2P X = Unpause
| |
| 2P DPAD = Frame Rewind/Advance
| |
| 2P START = Reset cutscene. (Crashes if done too many times.) | | 2P START = Reset cutscene. (Crashes if done too many times.) |
|
| |
|
Line 582: |
Line 286: |
|
| |
|
| 1P A = Test Particle | | 1P A = Test Particle |
|
| |
| ===Particle Table Editor (open from Particle Editor)=== | | ===Particle Table Editor (open from Particle Editor)=== |
| 4P Z + A = Enter Table Editor | | 4P Z + A = Enter Table Editor |
Line 591: |
Line 294: |
|
| |
|
| 1P A + LStick = Move Table Entry Origin Position | | 1P A + LStick = Move Table Entry Origin Position |
|
| |
| ===Special Stage Debug (Port 4)=== | | ===Special Stage Debug (Port 4)=== |
| 4P A = Player Param Editor | | 4P A = Player Param Editor |
Line 600: |
Line 302: |
|
| |
|
| 4P L/R = Increase/Decrease Value | | 4P L/R = Increase/Decrease Value |
| | | ===Other Debug Features (Unknown Key Combo)=== |
| | |
| <center><gallery mode="packed">
| |
| File:Sonic NPDP.jpg|NPDP cartridge
| |
| </gallery></center>
| |
| | |
| ==Images== | |
| <center><gallery mode="packed">
| |
| File:Sonic Heroes NPDP Debug Prototype - Easy Menu.png|Default menu the prototype boots into, a.k.a. "Easy Menu". This is the only known build to boot directly into this menu.
| |
| File:Sonic Heroes NPDP Debug Prototype - Title Screen.png|Title screen of this prototype, accessed via hacking.
| |
| File:Sonic Heroes NPDP Debug Prototype - Story Select.png|Crashes on story start if no story progression is made, otherwise works fine.
| |
| File:Sonic Heroes NPDP Debug Prototype - Audio Menu.png|Fully functional, however buggy in that it allows you to scroll onto items not yet unlocked; and when you do so, no items render.
| |
| File:Sonic Heroes NPDP Debug Prototype - Challenge Menu.png|Challenge menu with a nice typo.
| |
| File:Sonic Heroes NPDP Debug Prototype - Seaside Hill Demo.png|This demo is unique to this build (compared to all other known builds so far); however seems to desync due to collision changes mid way.
| |
| File:Sonic Heroes NPDP Debug Prototype - Rail Canyon Demo.png|In-game gameplay demo of Rail Canyon.
| |
| File:Sonic Heroes NPDP Debug Prototype - 2P Snapshot Mode.png|Built-in free camera mode available when paused on Controller Port 2.
| |
| File:Sonic Heroes NPDP Debug Prototype - Block Test.png|Allows you to test rendering of objects only.
| |
| File:Sonic Heroes NPDP Debug Prototype - Cam Editor.png|In-game fully featured camera editor.
| |
| File:Sonic Heroes NPDP Debug Prototype - Cam Debug.png|Camera debug displaying camera trigger regions and currently shown cameras.
| |
| File:Sonic Heroes NPDP Debug Prototype - CCL Debug.png|Object collision (CCL) debug. Object collision uses a different internal system to world collision.
| |
| File:Sonic Heroes NPDP Debug Prototype - Chaotix Rail Canyon.png|Mission description says 5 minutes. Actual timer is 6 minutes.
| |
| File:Sonic Heroes NPDP Debug Prototype - CPU Profiler.png|Shows the amount of CPU time taken by various in-game functions.
| |
| File:Sonic Heroes NPDP Debug Prototype - Heap Allocation Previewer.png|Allows you to view all allocations on the game's managed heap.
| |
| File:Sonic Heroes NPDP Debug Prototype - Heap Debug.png|Shows information about the game's managed heap.
| |
| File:Sonic Heroes NPDP Debug Prototype - Texture Memory Allocation Debug.png|Or at least that's what it's meant to be.
| |
| File:Sonic Heroes NPDP Debug Prototype - Land Information Debug.png|Shows debug information about all loaded geometry to the screen.
| |
| File:Sonic Heroes NPDP Debug Prototype - Debug Text Test.png|Menu which tests rendering of debug text.
| |
| File:Sonic Heroes NPDP Debug Prototype - Enemy Debug Print.png|Shows various regions related to enemies. Area they can hear, area they can see, etc.
| |
| File:Sonic Heroes NPDP Debug Prototype - Enemy Icon Test.png|Tests enemy reaction icons.
| |
| File:Sonic Heroes NPDP Debug Prototype - Enemy Link Test.png|Not sure what this does. I'd think it tests the links between objects (e.g. enemy to cage) but I haven't figured out how to use this so far.
| |
| File:Sonic Heroes NPDP Debug Prototype - Event Debug.png|Available on controller port 2. You can control events, including rewind, forward, reset etc.
| |
| File:Sonic Heroes NPDP Debug Prototype - Free Movement Mode.png|Free Movement Mode a.k.a. NoClip
| |
| File:Sonic Heroes NPDP Debug Prototype - Particle Editor.png|Available on Port 4. Edits individual particles.
| |
| File:Sonic Heroes NPDP Debug Prototype - Particle Table Editor.png|Available on Port 4. Edits particle tables (i.e. sXX_ptcl.bin)
| |
| File:Sonic Heroes NPDP Debug Prototype - SET Editor.png|Built-in object layout editor. Can edit all 3 types of layout files, DB (Design), PB (Plan), P<X> (PlanEx)
| |
| File:Sonic Heroes NPDP Debug Prototype - SET Editor Item Range.png|The SET editor can display item ranges, cool!
| |
| File:Sonic Heroes NPDP Debug Prototype - Special Stage Debug.png|Variable editor for Special Stages.
| |
| File:Sonic Heroes NPDP Debug Prototype - Special Stage Player Param Debug.png|Variable editor for Player Parameters in Special Stages.
| |
| File:Sonic Heroes NPDP Debug Prototype - Unlock Flags Debug.png|Available on Port 3. Allows you to toggle flags which unlock in-game items.
| |
| </gallery></center>
| |
| | |
| ==Error Log==
| |
| | |
| <nowiki>N[OSREPORT]: USB Init Error<< Dolphin SDK - PAD release build: Aug 6 2003 04:30:02 (0x2301) ></nowiki>
| |
| | |
| This build is likely looking for an USB adapter like the ''GCP-2000''.
| |
| | |
| ==Gecko Codes==
| |
| | |
| This code will allow you to run the game under emulation and/or retail hardware by stubbing out the USB adapter the game is looking for.
| |
|
| |
|
| {| class="wikitable" | | {| class="wikitable" |
| |+
| | ! Address |
| |[Gecko]
| | ! Description |
| $Stub out USB I/O Calls [Sewer56]
| |
| | |
| 04017338 60000000
| |
| | |
| 04218a2c 4e800020
| |
| | |
| 04218af4 4e800020
| |
| | |
| 04219274 4e800020
| |
| | |
| 042190dc 4e800020
| |
| | |
| 04218e10 4e800020
| |
| | |
| 04218f94 4e800020
| |
| |-
| |
| |// Commented:
| |
| 80017338 60000000 // NOP Call to function that inits USB I/O
| |
| | |
| 80218a2c 4e800020 // Stub out HIOEnumDevices
| |
| | |
| 80218af4 4e800020 // Stub out HIOInit
| |
| | |
| 80219274 4e800020 // Stub out HIORead
| |
| | |
| 802190dc 4e800020 // Stub out HIORead (Overload)
| |
| | |
| 80218e10 4e800020 // Stub out HIOReadMailbox
| |
| | |
| 80218f94 4e800020 // Stub out HIOWriteMailbox
| |
| |}
| |
| | |
| This code will allow you to boot into the regular main menu as opposed to "Easy Menu".
| |
| | |
| {| class="wikitable"
| |
| |+
| |
| |[Gecko]
| |
| $Replace Easy Menu with System Mode X [Sewer56]
| |
| | |
| C2022C90 00000004
| |
| | |
| 7C0C0378 2C050003
| |
| | |
| 40820008 38A00001
| |
| | |
| 7D806378 90A3FF78
| |
| | |
| 60000000 00000000
| |
| |- | | |- |
| |// Commented: | | | 803BD8C3 == 1 |
| | | | Spline Debug (Rails, Loops, etc.) |
| Replace 38A0000X (end of third line) with desired system mode:
| |
| | |
| 0 = PAL Select
| |
| | |
| 1 = Menu
| |
| | |
| 2 = InGame
| |
| | |
| 3 = EasyMenu
| |
| | |
| 4 = Credits
| |
| | |
| 5 = EasyMenuMovie
| |
| | |
| Please note that booting in modes other than 0, 1, 3, 5 will require some extra codes to initialize things.
| |
| |}
| |
| | |
| This code (if not using an easy menu boot with the code above) can be used as a workaround to enter a specific level if the selection crashes in Easy Menu.
| |
| | |
| {| class="wikitable"
| |
| |+
| |
| |[Gecko]
| |
| $Level select workaround
| |
| | |
| 042A78EC XXXXXXXX
| |
| | |
| XXXXXXXX = Level ID
| |
| | |
| |}
| |
| | |
| {| class="wikitable"
| |
| |+
| |
| |[Gecko]
| |
| $Additive switch effect
| |
| | |
| 0002115E 00000002
| |
| |}
| |
| | |
| ==General Changes==
| |
| | |
| *At the time of release this is the only known build to boot into "Easy Menu" without hacking.
| |
| **Easy Menu lacks the ability to select team "ForEdit" (seen in later versions); which is a placeholder related to how Super Hard Mode is internally implemented.
| |
| **The teams for Player(s) 3/4 cannot be selected in "Easy Menu".
| |
| **Sitting around in "Easy Menu" for a while may make the game freeze when starting a stage.
| |
| ***Not sure what causes this; don't think it's a memory leak but this issue isn't present in other game versions.
| |
| *In Story Mode, Egg Emperor is not played if resuming story starting with Egg Fleet.
| |
| *The demo for Seaside Hill in this prototype is unique and not seen in other builds (at time of writing).
| |
| **This demo desyncs mid-way; likely to a change in the level's collision.
| |
| *A bug in Audio Menu causes track names to not render if hovering over a track that isn't unlocked.
| |
| *Starting Story Mode crashes the game if there are no stages completed.
| |
| **If any story segment is complete and you are picking the starting stage, story however works fine.
| |
| *Team Rose's stages appear to be the same length as the final version, that is longer than the [[Sonic Heroes (NPDP Prototype 2)|other NPDP build]] which is shorter than [[Sonic Heroes (October 8, 2003 prototype)|8th October Prototype]].
| |
| | |
| ==Debug Controls==
| |
| This section details all currently known non-trivial hidden debug controls (no UI label, non-obvious control scheme).
| |
| | |
| ===Easy Menu (Startup Screen)===
| |
| 3P DPAD = Change Sound Mode
| |
| | |
| Note: Something weird about this screen is that 3P and 4P cannot select a team.
| |
| They are able to do so however in many other versions of the game.
| |
| | |
| ===Basic Debug Mode (Same as Oct 8 Prototype)===
| |
| | |
| Hold L + R = Enable (Shows coordinate data for Speed Character and unlocks camera from auto cam)
| |
| | |
| L + R + X + Y = Finish Current Stage
| |
| | |
| L + R + DPAD UP = Add 1 life.
| |
| | |
| L + R + DPAD DOWN = Add 1 ring.
| |
| | |
| L + R + DPAD LEFT = 1x level up (for all characters).
| |
| | |
| L + R + DPAD RIGHT =F ill team blast gauge. (Unlike Oct 8, this fills up slowly instead of instantly).~
| |
| | |
| ===Free Movement Mode===
| |
| Z = Enable
| |
| | |
| LStick = Move
| |
| | |
| Z + LStick = Up/Down
| |
| | |
| A = Release
| |
| | |
| ===Camera Debug Mode===
| |
| B + A = Show Camera Debug HUD
| |
| | |
| B + Y = Toggle Camera Mode
| |
| | |
| B + X = Show Camera Render Regions
| |
| | |
| ===Snapshot Mode (Port 2)===
| |
| 2P Z (In-game, while paused) = Enable
| |
| | |
| 2P DPAD = Move Fast
| |
| | |
| 2P LStick = Move Slow
| |
| | |
| 2P L/R = Up/Down
| |
| | |
| 2P START + L/R = Zoom
| |
| | |
| 2P START + LStick = Rotate
| |
| | |
| ===SET (Object Layout) Editor===
| |
| | |
| A + Z = Enable
| |
| | |
| START + RStick = Rotate
| |
| | |
| START + L/R = Zoom
| |
| | |
| START + X = Change "Ring Type"
| |
| | |
| START + Y = Change Speed
| |
| | |
| START + B = Place Item
| |
| | |
| START + A = Go to nearest object (if you don't place it again, it will be deleted)
| |
| | |
| B + DPAD = Change Light Gate
| |
| | |
| Y + DPAD = Change Object
| |
| | |
| Control Stick = Toggle object properties
| |
| | |
| A + Control Stick = Change object settings
| |
| | |
| A + X = Exit
| |
| | |
| A + B = Drop to Floor
| |
| | |
| A + Y = Change Layout File (Design = sXX_DB.bin, Plan = sXX_PB.bin, PlanEx = sXX_PX.bin)
| |
| | |
| ===CAM (Camera) Editor===
| |
| Z + Y = Enable
| |
| | |
| LStick = Move
| |
| | |
| L/R = Lower/Raise
| |
| | |
| B + Y = Reset Position
| |
| | |
| A + B = Switch Cam Speed
| |
| | |
| START + B = Place Item
| |
| | |
| START + A = Go to nearest object (if you don't place it again, it will be deleted)
| |
| | |
| ===Memory and Profiling===
| |
| Y + L = Switch Menu (Texture Memory Allocations, CPU Profiler, Heap Allocation Viewer, Test)
| |
| | |
| ===Story/Unlock Flags Test (Port 3)===
| |
| Z = Enable
| |
| | |
| L/R = Change Page
| |
| | |
| DPAD = Navigate
| |
| | |
| A = Toggle
| |
| | |
| ===Enemy Test (Port 3)===
| |
| START = Enable
| |
| | |
| DPAD Left/Right = Change Page
| |
| | |
| DPAD Up/Down = Navigate
| |
| | |
| A = Toggle
| |
| | |
| X = Toggle all ON
| |
| | |
| Y = Toggle all OFF
| |
| | |
| ===Cutscene Debug (Port 2)===
| |
| | |
| 2P A = Start after reset.
| |
| 2P B = Pause
| |
| 2P X = Unpause
| |
| 2P DPAD = Frame Rewind/Advance
| |
| 2P START = Reset cutscene. (Crashes if done too many times.)
| |
| | |
| ===Particle Editor (Port 4 + Port 1)===
| |
| | |
| 4P Z + START = Enable
| |
| | |
| 4P START + Y = ??? (Game Crash. Theory: Tries to export new file but fails.)
| |
| | |
| 4P Z = Toggle Menu Visibility
| |
| | |
| 4P L/R = Select Particle
| |
| | |
| 4P X = Go Down
| |
| | |
| 4P Y = Go Up
| |
| | |
| 4P B + A = Exit Menu
| |
| | |
| 1P LStick = Move
| |
| | |
| 1P DPAD = Rotate
| |
| | |
| 1P L/R = Raise/Lower
| |
| | |
| 1P X = Reset Rotation
| |
| | |
| 1P Y = Teleport to Char
| |
| | |
| 1P A = Test Particle
| |
| | |
| ===Particle Table Editor (open from Particle Editor)===
| |
| 4P Z + A = Enter Table Editor
| |
| | |
| 4P B = Play Particle
| |
| | |
| 4P A = Cancel Particle
| |
| | |
| 1P A + LStick = Move Table Entry Origin Position
| |
| | |
| ===Special Stage Debug (Port 4)===
| |
| 4P A = Player Param Editor
| |
| | |
| 4P B = Toggle Special Stage Debug Menu
| |
| | |
| 4P DPAD = Navigate Menu
| |
| | |
| 4P L/R = Increase/Decrease Value
| |
| | |
| ==Error Log==
| |
| | |
| <nowiki>N[OSREPORT]: USB Init Error<< Dolphin SDK - PAD release build: Aug 6 2003 04:30:02 (0x2301) ></nowiki>
| |
| | |
| This build is likely looking for an USB adapter like the ''GCP-2000''.
| |
| | |
| ==Gecko Codes==
| |
| | |
| This code will allow you to run the game under emulation and/or retail hardware by stubbing out the USB adapter the game is looking for.
| |
| | |
| {| class="wikitable"
| |
| |+
| |
| |[Gecko]
| |
| $Stub out USB I/O Calls [Sewer56]
| |
| | |
| 04017338 60000000
| |
| | |
| 04218a2c 4e800020
| |
| | |
| 04218af4 4e800020
| |
| | |
| 04219274 4e800020
| |
| | |
| 042190dc 4e800020
| |
| | |
| 04218e10 4e800020
| |
| | |
| 04218f94 4e800020
| |
| |- | | |- |
| |// Commented: | | | 803BD8CB == 1 |
| 80017338 60000000 // NOP Call to function that inits USB I/O
| | | Score Debug (Per Type) |
| | |
| 80218a2c 4e800020 // Stub out HIOEnumDevices
| |
| | |
| 80218af4 4e800020 // Stub out HIOInit
| |
| | |
| 80219274 4e800020 // Stub out HIORead
| |
| | |
| 802190dc 4e800020 // Stub out HIORead (Overload)
| |
| | |
| 80218e10 4e800020 // Stub out HIOReadMailbox
| |
| | |
| 80218f94 4e800020 // Stub out HIOWriteMailbox
| |
| |}
| |
| | |
| This code will allow you to boot into the regular main menu as opposed to "Easy Menu".
| |
| | |
| {| class="wikitable"
| |
| |+
| |
| |[Gecko]
| |
| $Replace Easy Menu with System Mode X [Sewer56]
| |
| | |
| C2022C90 00000004
| |
| | |
| 7C0C0378 2C050003
| |
| | |
| 40820008 38A00001
| |
| | |
| 7D806378 90A3FF78
| |
| | |
| 60000000 00000000
| |
| |- | | |- |
| |// Commented: | | | 803BD8CC == 1 |
| | | | Robot Carnival/Storm Debug |
| Replace 38A0000X (end of third line) with desired system mode:
| |
| | |
| 0 = PAL Select
| |
| | |
| 1 = Menu
| |
| | |
| 2 = InGame
| |
| | |
| 3 = EasyMenu
| |
| | |
| 4 = Credits
| |
| | |
| 5 = EasyMenuMovie
| |
| | |
| Please note that booting in modes other than 0, 1, 3, 5 will require some extra codes to initialize things.
| |
| |} | |
| | |
| This code (if not using an easy menu boot with the code above) can be used as a workaround to enter a specific level if the selection crashes in Easy Menu.
| |
| | |
| {| class="wikitable"
| |
| |+
| |
| |[Gecko]
| |
| $Level select workaround
| |
| | |
| 042A78EC XXXXXXXX
| |
| | |
| XXXXXXXX = Level ID
| |
| | |
| |}
| |
| | |
| {| class="wikitable"
| |
| |+
| |
| |[Gecko]
| |
| $Additive switch effect
| |
| | |
| 0002115E 00000002
| |
| |} | | |} |
| | | ==Origin== |
| ==General Changes== | |
| | |
| *At the time of release this is the only known build to boot into "Easy Menu" without hacking.
| |
| **Easy Menu lacks the ability to select team "ForEdit" (seen in later versions); which is a placeholder related to how Super Hard Mode is internally implemented.
| |
| **The teams for Player(s) 3/4 cannot be selected in "Easy Menu".
| |
| **Sitting around in "Easy Menu" for a while may make the game freeze when starting a stage.
| |
| ***Not sure what causes this; don't think it's a memory leak but this issue isn't present in other game versions.
| |
| *In Story Mode, Egg Emperor is not played if resuming story starting with Egg Fleet.
| |
| *The demo for Seaside Hill in this prototype is unique and not seen in other builds (at time of writing).
| |
| **This demo desyncs mid-way; likely to a change in the level's collision.
| |
| *A bug in Audio Menu causes track names to not render if hovering over a track that isn't unlocked.
| |
| *Starting Story Mode crashes the game if there are no stages completed.
| |
| **If any story segment is complete and you are picking the starting stage, story however works fine.
| |
| *Team Rose's stages appear to be the same length as the final version, that is longer than the [[Sonic Heroes (NPDP Prototype 2)|other NPDP build]] which is shorter than [[Sonic Heroes (October 8, 2003 prototype)|8th October Prototype]].
| |
| | |
| ==Debug Controls==
| |
| This section details all currently known non-trivial hidden debug controls (no UI label, non-obvious control scheme).
| |
| | |
| ===Easy Menu (Startup Screen)===
| |
| 3P DPAD = Change Sound Mode
| |
| | |
| Note: Something weird about this screen is that 3P and 4P cannot select a team.
| |
| They are able to do so however in many other versions of the game.
| |
| | |
| ===Basic Debug Mode (Same as Oct 8 Prototype)===
| |
| | |
| Hold L + R = Enable (Shows coordinate data for Speed Character and unlocks camera from auto cam)
| |
| | |
| L + R + X + Y = Finish Current Stage
| |
| | |
| L + R + DPAD UP = Add 1 life.
| |
| | |
| L + R + DPAD DOWN = Add 1 ring.
| |
| | |
| L + R + DPAD LEFT = 1x level up (for all characters).
| |
| | |
| L + R + DPAD RIGHT =F ill team blast gauge. (Unlike Oct 8, this fills up slowly instead of instantly).~
| |
| | |
| ===Free Movement Mode===
| |
| Z = Enable
| |
| | |
| LStick = Move
| |
| | |
| Z + LStick = Up/Down
| |
| | |
| A = Release
| |
| | |
| ===Camera Debug Mode===
| |
| B + A = Show Camera Debug HUD
| |
| | |
| B + Y = Toggle Camera Mode
| |
| | |
| B + X = Show Camera Render Regions
| |
| | |
| ===Snapshot Mode (Port 2)===
| |
| 2P Z (In-game, while paused) = Enable
| |
| | |
| 2P DPAD = Move Fast
| |
| | |
| 2P LStick = Move Slow
| |
| | |
| 2P L/R = Up/Down
| |
| | |
| 2P START + L/R = Zoom
| |
| | |
| 2P START + LStick = Rotate
| |
| | |
| ===SET (Object Layout) Editor===
| |
| | |
| A + Z = Enable
| |
| | |
| START + RStick = Rotate
| |
| | |
| START + L/R = Zoom
| |
| | |
| START + X = Change "Ring Type"
| |
| | |
| START + Y = Change Speed
| |
| | |
| START + B = Place Item
| |
| | |
| START + A = Go to nearest object (if you don't place it again, it will be deleted)
| |
| | |
| B + DPAD = Change Light Gate
| |
| | |
| Y + DPAD = Change Object
| |
| | |
| Control Stick = Toggle object properties
| |
| | |
| A + Control Stick = Change object settings
| |
| | |
| A + X = Exit
| |
| | |
| A + B = Drop to Floor
| |
| | |
| A + Y = Change Layout File (Design = sXX_DB.bin, Plan = sXX_PB.bin, PlanEx = sXX_PX.bin)
| |
| | |
| ===CAM (Camera) Editor===
| |
| Z + Y = Enable
| |
| | |
| LStick = Move
| |
| | |
| L/R = Lower/Raise
| |
| | |
| B + Y = Reset Position
| |
| | |
| A + B = Switch Cam Speed
| |
| | |
| START + B = Place Item
| |
| | |
| START + A = Go to nearest object (if you don't place it again, it will be deleted)
| |
| | |
| ===Memory and Profiling===
| |
| Y + L = Switch Menu (Texture Memory Allocations, CPU Profiler, Heap Allocation Viewer, Test)
| |
| | |
| ===Story/Unlock Flags Test (Port 3)===
| |
| Z = Enable
| |
| | |
| L/R = Change Page
| |
| | |
| DPAD = Navigate
| |
| | |
| A = Toggle
| |
| | |
| ===Enemy Test (Port 3)===
| |
| START = Enable
| |
| | |
| DPAD Left/Right = Change Page
| |
| | |
| DPAD Up/Down = Navigate
| |
| | |
| A = Toggle
| |
| | |
| X = Toggle all ON
| |
| | |
| Y = Toggle all OFF
| |
| | |
| ===Cutscene Debug (Port 2)===
| |
| | |
| 2P A = Start after reset.
| |
| 2P B = Pause
| |
| 2P X = Unpause
| |
| 2P DPAD = Frame Rewind/Advance
| |
| 2P START = Reset cutscene. (Crashes if done too many times.)
| |
| | |
| ===Particle Editor (Port 4 + Port 1)===
| |
| | |
| 4P Z + START = Enable
| |
| | |
| 4P START + Y = ??? (Game Crash. Theory: Tries to export new file but fails.)
| |
| | |
| 4P Z = Toggle Menu Visibility
| |
| | |
| 4P L/R = Select Particle
| |
| | |
| 4P X = Go Down
| |
| | |
| 4P Y = Go Up
| |
| | |
| 4P B + A = Exit Menu
| |
| | |
| 1P LStick = Move
| |
| | |
| 1P DPAD = Rotate
| |
| | |
| 1P L/R = Raise/Lower
| |
| | |
| 1P X = Reset Rotation
| |
| | |
| 1P Y = Teleport to Char
| |
| | |
| 1P A = Test Particle
| |
| | |
| ===Particle Table Editor (open from Particle Editor)===
| |
| 4P Z + A = Enter Table Editor
| |
| | |
| 4P B = Play Particle
| |
| | |
| 4P A = Cancel Particle
| |
| | |
| 1P A + LStick = Move Table Entry Origin Position
| |
| | |
| ===Special Stage Debug (Port 4)===
| |
| 4P A = Player Param Editor
| |
| | |
| 4P B = Toggle Special Stage Debug Menu
| |
| | |
| 4P DPAD = Navigate Menu
| |
| | |
| 4P L/R = Increase/Decrease Value
| |
| | |
| | |
| <center><gallery mode="packed"> | | <center><gallery mode="packed"> |
| File:Sonic NPDP.jpg|NPDP cartridge | | File:Sonic NPDP.jpg|NPDP cartridge |
| </gallery></center> | | </gallery></center> |
|
| |
| ==Images== | | ==Images== |
| <center><gallery mode="packed"> | | <center><gallery mode="packed"> |
Line 1,266: |
Line 355: |
| File:Sonic Heroes NPDP Debug Prototype - Unlock Flags Debug.png|Available on Port 3. Allows you to toggle flags which unlock in-game items. | | File:Sonic Heroes NPDP Debug Prototype - Unlock Flags Debug.png|Available on Port 3. Allows you to toggle flags which unlock in-game items. |
| </gallery></center> | | </gallery></center> |
| | | ==Acknowledgments== |
| | |
| Thanks to emu_kidid for the modified version of Swiss required to unlock and dump the cart. | | Thanks to emu_kidid for the modified version of Swiss required to unlock and dump the cart. |
| ==Notes== | | ==See also== |
| {{Tcrf link|Proto:Sonic Heroes/GameCube NPDP Prototypes}}
| | *[https://datomatic.no-intro.org/index.php?page=show_record&s=261&n=0012 No-Intro entry] |
| | |
| *At the time of release, this is the only known Debug build of Sonic Heroes, but it does not boot under retail hardware or emulation without hacking.
| |
| *This build is newer than the [[Sonic Heroes (NPDP Prototype 2)|other NPDP build]] but older than the [[Sonic Heroes (November 18, 2003 prototype)|18th November Prototype.]]
| |
| *When in Free movement mode, the players are able to free fall at any costs.
| |
| *This was in an unlabeled slot on the NPDP cartridge.
| |
| | |
| {{Prototype Footer|{{Navbox prototype|Sonic Heroes}}}} | | {{Prototype Footer|{{Navbox prototype|Sonic Heroes}}}} |