Submarine Tech Demo was broadcast over DS Download Play at E3 2005. It appears to be outwardly the same as the version seen at E3 2004 in the form of a demo on the show floor, press screenshots, and the show floor DS software B-roll. It later evolved into Steel Diver.
Sub-Page#
Debug Output#
The game uses OS_Printf or a related function(s) to output text, which can be be logged by running the game on an IS Nitro Emulator and connecting it to a computer with the SDK or by running the game in the official "Ensata" emulator.
Ensata start-of-game example:
TP success
Submarine Tech Demo Start !!
NitroSDK ver.20040913, NitroSystem ver.20040916
heapStart 2199c40
heap handle 0
End scene :0, 1
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 2, 82, 54, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 1, 43, 85, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 3, 35, 60, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 2, 212, 133, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 1, 161, 76, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 1, 196, 173, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 1, 208, 176, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 1, 195, 162, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 3, 74, 115, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 1, 166, 5, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 2, 252, 22, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 3, 73, 99, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 1, 190, 133, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 1, 154, 35, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 2, 251, 2, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 2, 216, 65, 0, -1 )
dxNitro2d.c:329 Warning:Draw OAM overflow!! - dxDrawObjectTo( 1, 7, 197, 0, -1 )
End scene :1, 2
SndAppTrg_SystemSe(34)
SndAppTrg_GamenSe(8, 127)
SndAppTrg_SystemSe(30)
SndAppTrg_GamenSe(9, 127)
SndAppTrg_SystemSe(30)
SndAppTrg_GamenSe(9, 127)
SndAppTrg_GamenSe(6, 128)
SndAppTrg_SystemSe(12)
SndAppTrg_SystemSe(12)
SndAppTrg_SystemSe(12)
SndAppTrg_SystemSe(12)
Various strings like these are scattered at different offsets in the ROM. The text below has been formatted to remove invalid characters and add spaces.
At 0xEF980:
TP fail
TP success
Submarine Tech Demo Start !!
NitroSDK ver.%d, NitroSystem ver.%d
heapStart %x
heap handle %d
At 0xEFA64:
dxNitro2d.c
ReadObject overflow!! stdata:%d - dxReadObject( *, *, %d, %d )
Read OAM overflow!! stdata:%d - dxReadObject( *, *, %d, %d )
Draw OAM overflow!! - dxDrawObjectAffine( %d, %d, %d, %d, %d, * )
Affine Parameter overflow!! - dxDrawObjectAffine( %d, %d, %d, %d, %d, * )
Draw OAM overflow!! - dxDrawObjectTo( %d, %d, %d, %d, %d )
At 0x171E20:
battleship.c : getModelMaterialNo() return value ERROR !!
battleship.c : getModelNodeNo() return value ERROR !!
uturikomi1
nami1
BattleShip
para
antenna
cannon_F
cannon_R
cannon_S
nami
At 0x172021:
gConnection_ReceiveIndicatorData:(%04x)
%04x
CPU:%5.2f%% sPosture:%5.2f %4d
cockpit.creceive type:%d
SndAppTrg_SystemSe(%d)
SndAppTrg_GamenSe(%d, %d)
SndAppTrg_BgmStart(SEQ_SUB_OVER)
SndAppTrg_BgmStart(SEQ_SUB_SUCCESS)
SE_crush_alert:%d
SndAppTrg_CheckSoftReset() == FALSE
dxReleasePanel() %3d, %2d
COCKPIT_MSG_ENEMY_DETECTED- bship:%d, sub:%d
sKiraiBroken:%d
COCKPIT_MSG_ALLIED_SUB_FOUND
sSysSENum = SE_time_over %d
At 0x17246C:
CPU:%5.2f%%
CPU:%5.2f%% %4d
At 0x172530:
sub: x %d, y %d
sub: vx %f, vy %f
sub: ax %f, ay %f
intro_InitScreen
intro_InitScene!!!!
At 0x172674:
%s:%d Panic:
%s:%d Warning:
**** Exception Occurred ****
R%02d=%08X %c
SP =%08X
LR =%08X
PC =%08X
CPSR=%08X SPSR=%08X CP15=%08X
os_reset.c
unknown command
not initialized
not file-handle
[file-system] %s.
specified file is busy
invalid argument parameter
fs_file.c
tp.c
Get illegal TP command from ARM7!
At 0x182E84:
main.c
ARM7: Fail to create heap
At 0x182F24:
%s:%d Panic:
%s:%d Warning:
os_alarm.c
alarm could be already used.
os_valarm.c
v-alarm could be already used.
os_reset.c
unknown command
Failed sound alarm OS_SendMessage
pm_utility.c
Bad LED status
At 0x19A4F8:
1.94.00
ARM7: Dummy indication function is called.
ARM7: Dummy request function is called.
wmsp_port.c
too huge packet from aid %d, len=%d, childMaxSize+header=%d+%d
same aid! @ WMSP_ParsePortPacket
odd length %d @ WMSP_ParsePortPacket
corrupted packet. rest: %d, packet: %d + %d(destBmp) + %d(seqNo)
received zero length packet. discarded.
put null data
too large send-data: size=%d+%d, maxSize=%d
send an odd length packet. data->size: %d
(Source: Original TCRF research)
(Source: Original TCRF research)
Unused Text#
At 0xEB298:
VIB2.10Sep 17 2004
At 0xEF82B:
[[ IS-NITRO-DEBUGGER Debug Support Library Ver.2004.9.11 ]]
At 0x182B07:
[[ IS-NITRO-DEBUGGER Debug Support Library Ver.2004.5.19 ]]
At 0x1725A5:
Japanese |
Translation |
|---|---|
|
|
Some text describing old button controls. The final button controls are not described in-game, but are as follows:
- Up/Down/Left/Right: Submarine movement.
- L/R: Submarine rotation.
- Select: Turn bottom screen blue.
- Missiles can only be fired from the Touch Screen.
(Source: Original TCRF research)
|
The Steel Diver series | |
|---|---|
|
Nintendo DS |
|
|
Nintendo 3DS |
|