Sonic Heroes (Oct 30, 2003 prototype): Difference between revisions

From Hidden Palace
Jump to navigation Jump to search
(Removed build date since we don't know the actual date.)
mNo edit summary
 
(12 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Prototype
{{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
|Page name=Sonic Heroes (NPDP Prototype)
|builddate=Oct 30, 2003 18:16:44
|status=Released
|dumper=MSX
|dumper=MSX
|releasedby=MSX
|releasedby=MSX
Line 10: 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==
==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 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.
*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.
*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 124: 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 139: 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 163: 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 171: 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 178: 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 191: Line 180:


2P START + LStick = Rotate
2P START + LStick = Rotate
===SET (Object Layout) Editor===
===SET (Object Layout) Editor===


Line 239: 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 248: Line 235:


A = Toggle
A = Toggle
===Enemy Test (Port 3)===
===Enemy Test (Port 3)===
START = Enable
START = Enable
Line 261: 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.)
2P START = Reset cutscene. (Crashes if done too many times.)


Line 297: 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 306: 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 315: Line 302:


4P L/R = Increase/Decrease Value
4P L/R = Increase/Decrease Value
===Other Debug Features (Unknown Key Combo)===


{| class="wikitable"
! Address
! Description
|-
| 803BD8C3 == 1
| Spline Debug (Rails, Loops, etc.)
|-
| 803BD8CB == 1
| Score Debug (Per Type)
|-
| 803BD8CC == 1
| Robot Carnival/Storm Debug
|}
==Origin==
==Origin==
<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 355: 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==
==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.
 
==See also==
*[https://datomatic.no-intro.org/index.php?page=show_record&s=261&n=0012 No-Intro entry]
{{Prototype Footer|{{Navbox prototype|Sonic Heroes}}}}
{{Prototype Footer|{{Navbox prototype|Sonic Heroes}}}}

Latest revision as of 16:34, February 22, 2024

Title Screen
Sonic Heroes (Oct 30, 2003 prototype)
Build date Oct 30, 2003 18:16:44
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
Download Sonic Heroes (Oct 30, 2003 prototype) (info)
Error: The download file provided does not exist, please upload it or fix the file name if it's incorrect.

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.

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).

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 (Scan) 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

Other Debug Features (Unknown Key Combo)

Address Description
803BD8C3 == 1 Spline Debug (Rails, Loops, etc.)
803BD8CB == 1 Score Debug (Per Type)
803BD8CC == 1 Robot Carnival/Storm Debug

Origin

Images

Acknowledgments

Thanks to emu_kidid for the modified version of Swiss required to unlock and dump the cart.

See also