Sonic Heroes (Oct 30, 2003 prototype): Difference between revisions
Lemurboy12 (talk | contribs) No edit summary |
(Added controls for found debug menus in this prototype.) |
||
Line 18: | Line 18: | ||
==Notes== | ==Notes== | ||
{{Tcrf link|Proto:Sonic Heroes/GameCube NPDP Prototypes}} | {{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. | *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.]] | |||
*This was in an unlabeled slot on the NPDP cartridge. | *This was in an unlabeled slot on the NPDP cartridge. | ||
Line 101: | Line 103: | ||
Please note that booting in modes other than 0, 1, 3, 5 will require some extra codes to initialize things. | Please note that booting in modes other than 0, 1, 3, 5 will require some extra codes to initialize things. | ||
|} | |} | ||
==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 | |||
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 | |||
==Origin== | ==Origin== | ||
Line 109: | Line 283: | ||
==Images== | ==Images== | ||
<center><gallery mode="packed"> | <center><gallery mode="packed"> | ||
File:Sonic Heroes NPDP Debug Prototype - Easy Menu.png | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | File:Sonic Heroes NPDP Debug Prototype - Cam Editor.png|In-game fully featured camera editor. | ||
File:Sonic Heroes NPDP Debug Prototype - Cam Debug.png | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | File:Sonic Heroes NPDP Debug Prototype - Enemy Icon Test.png|Tests enemy reaction icons. | ||
File:Sonic Heroes NPDP Debug Prototype - Enemy Link Test.png | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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> | ||
Revision as of 17:08, March 5, 2021
Sonic Heroes (Oct 30, 2003 prototype) | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Download Sonic Heroes (Oct 30, 2003 prototype) (info) |
Notes
- 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.
- This was in an unlabeled slot on the NPDP cartridge.
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. |
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
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
Origin
Images
Acknowledgments
Thanks to emu_kidid for the modified version of Swiss required to unlock and dump the cart.