the cutting room mirror

Space Channel 5: Part 2 (Dreamcast, PlayStation 2)

This article has a talk page!
view on tcrf.net

This page is rather stubbly and could use some expansion.
Are you a bad enough dude to rescue this article?

To do:

  • Gindows exists in the Dreamcast version. Does it exist on PS2, PS3, Xbox 360, and/or PC?
  • The Steam release has these debug strings in the executable.

Space Channel 5: Part 2, being the sequel to the original Space Channel 5 features a bigger story that pivots Ulala and her crew into a bigger threat than they faced four years ago, the Rhythm Rogues.

Also, Space Michael.

Unused Audio#

To do:
Extract them rather than just linking to a showcase video.

There's a lot, including voice lines and unused commands for almost every character.

Watch on YouTube

(Discovery: RUUs Room)

A large amount of debug-related text is present in the executable.

       Z : %08x
       Y : %08x
Angle  X : %08x
       Y : % 5.1f
Center X : % 5.1f
       Z : % 5.1f
SCALE  X : % 5.1f
       Z : % 3d
GRID   X : % 3d
Grid Editor
GRID
Break Mtp level : %d
timing for cds
position
block
round
load
save
free
switch
Base Position Editor
sch5bp%1d_%1d_%1d
Position Data Save
Sequence Step %02d
End Of Data.
BREAK
Q & A
BATTLE
MOVE
Start Seq. is %-6s
Dummy Data.
Change Frame :
 -----
step. %d
POS : X = % 8.2f
    : Y = % 8.2f
    : Z = % 8.2f
ANG : X = % 8.2f
Next Seq.
 % 4.0f
Current Frame :
Character Sequence Manager
loadform <file name>
loadform
saveform <file name>
saveform
gakkibito [on / off]
gakkibito
danceman [on / off]
danceman
membernum <0 .. MAX MEMBER>
membernum
breaklevel <-1 .. 2>
breaklevel
party
(def. 0)
member
(def. -1)
break
CharManInit
---Char Man. Game Load Entry---
DIE
! by char_man.c
---Char Man. Game Load Start---
---Char Man. Game Load End---
 CharManSetBattle
Switch Loop L->E. (%5.1f)
Switch Move Motion. (%5.1f)
Timing Task
ID(%d) : Type(%d) : Start(%f)
Current Break Level is %d.
Starting Member %d
off
Usage : danceman [on / off]
Current : danceman %s
OFF
Usage : gakkibito [on / off]
Current : gakkibito %s
Save OK %s
Save FAIL %s
Usage : saveform [file name]
Load OK %s
Load FAIL %s
Usage : loadform [file name]

END 
PLAY
STOP
----
V2 
V1 
M2 
M1 
---
 O 
 E 
 U 
 I 
 A 
SLT
---
@484
FADE
NOP 
----
No:Chr:Stm:STAT:FSTA:IDX:LIP:EndTime:ALPHA:FRM
---
%2d:%3d:%s:%s:%s:%3d:%s:%7.3f:%5.3f:%1.0f
ACTIVE  
PREP    
LOADING 
FREE    
UNKNOWN
EntryNum:%d
Index   :%d
CharNo   :%d
CharNoRef:--
CharNoRef:%d
CharStat :%s %d
LipMotion N: ADR=0x%08x FID=0x%08x
          H: ADR=0x%08x FID=0x%08x
          S: ADR=0x%08x FID=0x%08x
EyeMotion  : ADR=0x%08x FID=0x%08x
PausePose:%d
%3d:LIP:StartTime :LengthTime:DB
No :LIP:StartTime :LengthTime:DB
%3d:%s:%10.6f:%10.6f:%9.6f
SOFT   
HARD   
NORMAL 
SLEEP  
BUSY   
FREE   
NOWLOAD
SET    
UNKNOWN
Order   :%d
Serial  :0x%08x
STAT    :%s %d
LoadStat:%s %d
FID     :0x%08x
BlockNo :%d
---LP1---
DataType:%c%c%c%c
DataSize:%d
CharNo  :%d
PID/IID :%d/%d
Num     :%d
Flag    :0x%08x
        :OFSTIME %f
        :OFSTIME OFF
MtnType :%d %s
--ORIGINAL--
 CharNo  :%d
 PID/IID :%d/%d
 Num     :%d
 Flag    :0x%08x
         :OFSTIME %f
         :OFSTIME OFF
 MtnType :%d %s
ClipDebug Sub
ClipDebug Main
>1:LP1< 2:CHAR 3:PLAY 
 1:LP1 >2:CHAR< 3:PLAY 
 1:LP1  2:CHAR >3:PLAY<

***** Create For Debug *****
[%d block] [%d block] (%s)
you need [%d block] (%s)
Analyze... [NG] (%08X)
Analyze... [OK]
Now Loading... (%s)
Now Saving... (%s)
Error > Save False... (%s)
remain block [%d block]
you need [%d block]
Now Format...
try Format, but error!
complete!
Can't Load File (%s)
Can't Find POF0 (adr:%08X)
Not Chunk  (adr:%08X)
CamDebug
ERROR
NULL
load     : %s
save     : %s
frame    : %d
tes frame: (%d) %d
c type   : %d
buph     : %08X
save img : %08X
curr seq : %08X
curr node: %08X
point    : %08X
ctrlratio: %.2f
[<= =>] Select Edit Sequence %3d
[Shift+L] Load
[Shift+S] Save
Now Sequence %3d
[<= =>] Select Node %3d/%3d
Frame %3d
[A]     Add Node
[D]     Delete Node
Now Edit Sequence %3d
Now Edit Node     %3d
Select Point      %3d/%3d
Frame             %3d
[A]      Add Node
[D]      Delete Node
[SPACE]  Calc Spline
[123456] Change Camera
eye  : %.3f %.3f %.3f
ang  : %.3f
roll : %.3f
int: %.3f %.3f %.3f
CamEdit
Delete ? (Y/N)
CamEdit Dialog
analyze: %08X %08X
save_img: %08X
save_data: %08X (%08X)
Status: %d
camedit.bin
SAVE
LOAD
CamEditFname
p0: (%f %f %f)
p1: (%f %f %f)
p2: (%f %f %f)
p01: (%f %f %f) [%f]
p12: (%f %f %f) [%f]
len: [%f]
p02: (%f %f %f) [%f]
out: (%f %f %f)
H&4
Warning > CamEdit already Exist!!
 fff 
analyze: %08X %08X
No Fname!
save_img: %08X
save_data: %08X (%08X)
Status: %d
tmp.bin
()4
SAVE
LOAD AS READ
LOAD
LOAD!!
LOAD (as read)!!
SAVE!!
h)4
CamEditFname
Global  
P Center (start)
P Center (always)
P Base  
P Center IXY (always)
CamEditDialog
Base Frame
Camera
Interest
Set Roll
0.0
Set Angle
45.0
Set Frame
Set Power

************* START [%4d %2d/%2d %02d:%02d:%02d]*************
WHO: %s (%d %d)
TN : %d
MD : %d
MR : %06X (%06X)
DMR: %06X (%06X)
M2 : %06X (%06X)
TaskMemory
8Q4
debug
window
Performance
Task     %5.2fms
Gindows  %5.2fms
Total    %5.2fms
Render   %5.2fms
Frame Rate
       %5.0f FPS
Port 2
Port 1
Peripheral Info
 > 
 < 
Port:%s
ON     :%08X
OFF    :%08X
NOW    :%08X
(X1,Y1):(% 4d,% 4d)
(X2,Y2):(% 4d,% 4d)
YES
NO 
vib enable  : %s
vib ready   : [%s, %s]
tvr connect : %s
tvr num     : %d
Render Info
Model Vertex %8d
Calc  Vertex %8d
Set   Vertex %8d
Texture Memory
  MAX     %06X
  FREE    %06X
  BLOCK   %06X
    %3.0f%% Free
Vertex Buffer Used

TaskDebug
free_cam
ANG-LIMIT
RAD-MAX
RAD-MIN
RAD-DEF
ON/OFF
angle_edit
R-SPEED
SPEED
port
ON/OFF
switch
Window ON/OFF
window
freecam <port number>
freecam
Dialog
          
 OK 
 CANCEL 
Free Camera
POSITION
  X : % 6.2f
  Y : % 6.2f
  Z : % 6.2f
INTEREST
VIEW ANGLE
      % 6.2f
Free Camera start
Free Camera end
Free Camera Finished.

Plyaer Info
BASE POS : % 7.3f, % 7.3f, % 7.3f
BASE ANG : %08x, %08x, %08x
     POS : % 7.3f, % 7.3f, % 7.3f
Motion   : %3d / % 4.0f
SIDE     : %s

Gindows Debug#

Like with Rez, UGA used Gindows as the debugging system for Space Channel 5: Part 2. In the Dreamcast version this is fairly easy to access.

Watch on YouTube

(Discovery: Woofmute, RocketHorse)

Debug Flag Location

1st_read.bin

0x000D70A2

ram

0x8C0E70A2

demul ram

0x2C0E70A2

To enable debug set the debug flag on boot from 00E5 to 01E5. You can modify 1st_read.bin if you prefer. Controller in Port A, Keyboard in Port B, Mouse in Port D, press the Insert key to display or hide Gindows debug. There is no left click debug menu, only the right click one. The game was made with the Japanese Dreamcast keyboard in mind as it relies on two of its additional keys for two of the freecam modes.

Right Click Menu

System

Font

User [Undefined]

Var Editor

Console

Texture Viewer

Profiler

Console Commands

breaklevel

breaklevel <-1 .. 2>

cd

change directory

coloredit

execute color edit window

danceman

danceman [on/off]

dumpwin

execute dump window

freecam

freecam

gakkibito

gakkibito [on/off]

help

Help

loadform

loadform

ls

list directory

membernum

membernum <0 .. MAX MEMBER>

palwin

execute palette window

saveform

saveform

varlist

varsearch

varset

Keyboard Functions

F2

Sound

F5

TaskMemory

F6

Console

F7

Render Info

F8

Texture Viewer

F9

Peripheral Info

F11

Gindows transparency Off/On

F12

Performance

Scroll Lock

Advance frames when paused

Pause

Pauses game in levels

Insert

Display/hide Gindows

Home

Variable Editor

Page Up

Scroll up console

Page Down

Scroll down console

Arrow Keys

Navigate debug menus

Enter

Confirm selection

Escape

Cancel selection

Ctrl+W

dgDrawCallBackWindowInfo

Ctrl+T

TaskDebug

Ctrl+P

dgPrestreamWindowInfo

Ctrl+A

dgAudioWindowInfoAll

Ctrl+S

dgStreamWindowInfo

Ctrl+D

dgCdbWindowInfo

Ctrl+F

dgFileSystem

Ctrl+H

DGSH

Ctrl+L

Light

Ctrl+Z

CamEdit

Ctrl+X

Force (In CamEdit)

Ctrl+C

Camera

Ctrl+V

dgVblanktimerWindowInfo

Ctrl+B

BupDebug

Ctrl+M

dgMovieWindowCue

Ctrl+Enter

A on controller 1 on main menu

Ctrl+Escape

B on controller 1 on main menu

Ctrl+Arrows

Directions on controller 1 on main menu

Ctrl+Delete

To title and again to bios

Alt+W

Character Wireframe

Alt+E

ENESET EDITOR

Alt+R

Current end of level score results display

Alt+O

PathCtrl

Alt+P

Player Info

Alt+A

AudiRate

Alt+S

Secret

Alt+F

Select [Can type name for FormationEdit]

Alt+G

Game info

Alt+K

ClipDebug Main

Alt+L

Poison Light

Alt+Z

CamCtrl

Alt+C

Level Counter

Alt+V

Voice

Alt+B

BupFlagDebug

Alt+M

MusicMan

無変換

FreeCam in place

全候補

FreeCam targetting player

S3

Sets FormationEdit to a temp name