|
|
Line 15: |
Line 15: |
| |file=Sonic Heroes NPDP Prototype 1.7z | | |file=Sonic Heroes NPDP Prototype 1.7z |
| }} | | }} |
| ==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.)
| |
|
| |
| ===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== | | ==Error Log== |
|
| |
|
Line 606: |
Line 313: |
| </gallery></center> | | </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"
| |
| |+
| |
| |[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.)
| |
|
| |
| ===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.)
| |
|
| |
| ===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">
| |
| File:Sonic NPDP.jpg|NPDP cartridge
| |
| </gallery></center>
| |
|
| |
|
| ==Images== | | ==Images== |
|
Sonic Heroes (Oct 30, 2003 prototype)
|
Dump status |
Released
|
Dumped by |
MSX
|
Released by |
MSX
|
File release date |
March 3, 2021
|
Origin
|
NPDP cartridge
|
Game
|
Sonic Heroes
|
System |
Nintendo GameCube
|
Release date |
JP Dec 30, 2003 US Jan 5, 2004 EU Feb 6, 2004
|
|
Error Log
N[OSREPORT]: USB Init Error<< Dolphin SDK - PAD release build: Aug 6 2003 04:30:02 (0x2301) >
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.
[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".
[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.
[Gecko]
$Level select workaround
042A78EC XXXXXXXX
XXXXXXXX = Level ID
|
[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 other NPDP build which is shorter than 8th October Prototype.
Debug Controls
This section details all currently known non-trivial hidden debug controls (no UI label, non-obvious control scheme).
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
Images
Default menu the prototype boots into, a.k.a. "Easy Menu". This is the only known build to boot directly into this menu.
Title screen of this prototype, accessed via hacking.
Crashes on story start if no story progression is made, otherwise works fine.
Fully functional, however buggy in that it allows you to scroll onto items not yet unlocked; and when you do so, no items render.
Challenge menu with a nice typo.
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.
In-game gameplay demo of Rail Canyon.
Built-in free camera mode available when paused on Controller Port 2.
Allows you to test rendering of objects only.
In-game fully featured camera editor.
Camera debug displaying camera trigger regions and currently shown cameras.
Object collision (CCL) debug. Object collision uses a different internal system to world collision.
Mission description says 5 minutes. Actual timer is 6 minutes.
Shows the amount of CPU time taken by various in-game functions.
Allows you to view all allocations on the game's managed heap.
Shows information about the game's managed heap.
Or at least that's what it's meant to be.
Shows debug information about all loaded geometry to the screen.
Menu which tests rendering of debug text.
Shows various regions related to enemies. Area they can hear, area they can see, etc.
Tests enemy reaction icons.
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.
Available on controller port 2. You can control events, including rewind, forward, reset etc.
Free Movement Mode a.k.a. NoClip
Available on Port 4. Edits individual particles.
Available on Port 4. Edits particle tables (i.e. sXX_ptcl.bin)
Built-in object layout editor. Can edit all 3 types of layout files, DB (Design), PB (Plan), P<X> (PlanEx)
The SET editor can display item ranges, cool!
Variable editor for Special Stages.
Variable editor for Player Parameters in Special Stages.
Available on Port 3. Allows you to toggle flags which unlock in-game items.
Thanks to emu_kidid for the modified version of Swiss required to unlock and dump the cart.
Notes
The Cutting Room Floor research
- 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 other NPDP build but older than the 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.
Sonic Heroes prototypes
Nintendo GameCube |
|
PC |
|
PlayStation 2 |
|
Xbox |
|