If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Shin Megami Tensei: Digital Devil Saga

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Shin Megami Tensei: Digital Devil Saga

Also known as: Digital Devil Saga: Avatar Tuner (JP)
Developer: Atlus
Publishers: Atlus (JP/US), Ghostlight (EU)
Platform: PlayStation 2
Released in JP: July 15, 2004
Released in US: April 5, 2005
Released in EU: July 21, 2006


SourceIcon.png This game has uncompiled source code.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
MusicIcon.png This game has unused music.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.


NotesIcon.png This game has a notes page

In Digital Devil Saga, rival tribes fight over an egg in a junkyard.

Hmmm...
To do:
  • Document the unused areas. Use this page for a list of maps.
  • Document the debug options better (what buttons do what, etc).
  • Codes for other regions.

Sub-Page

Miscellaneous tidbits that are interesting enough to point out here.
Notes

Debug Options

A few debug options remain in this game. The codes in their respective sections are for the USA version only.

Battle Stage

SMT-DDS-BATTLESTAGE1.png SMT-DDS-BATTLESTAGE2.png

A map select option. You can also view all of the maps in this game, not just battle maps here. Selecting a map that doesn't exist in the game will softlock the game. Apply the code below to appear in this menu upon first boot of the game. For a list of maps in this game, head on over to the notes page.

Battle Stage Debug At Boot
203297E4 0010A748

Debug Display

SMT-DDS-DISPLAY.png

A very small leftover from Shin Megami Tensei III: Nocturne can also be found in this game. It has no known effect on anything.

Enable Debug Display
003BA724 00000001
003BA934 000000xx
003BA938 000000xx

DMA-VIF Dump

A debug option that lets you dump current VIF data. This is most likely 3D model data currently loaded in the map. It generally dumps 400 - 500K of memory. This only works presumably with development hardware via a console display. An emulator will display it perfectly fine in a console window if you have it enabled. Below is a code to dump VIF data.

Press R1+Start to Dump VIF Data
D03F9902 0000F7F7
003BA7FC 00000001

Event Debug

Hmmm...
To do:
Make a list of unused scenes, if any.

SMT-DDS-EVENT.png

In this option you can view all of the cutscenes that are in the .bf format. Apply the code below to appear in this menu upon first boot of the game.

Event Debug At Boot
203297E4 0010A788

Model Viewer

SMT-DDS-MODEL1.png SMT-DDS-MODEL2.png SMT-DDS-MODEL3.png SMT-DDS-MODEL4.png

A model viewer option that contains quite a bit of options to choose from. Apply the code below to appear in this menu upon first boot of the game.

Model Viewer At Boot
203297E4 0010A788
2010A794 0C087872
(Source: Original TCRF research)

Unused Graphics

Cacti speak Japanese.
...But what does it mean?
This game has text or audio that needs to be translated. If you are fluent with this language, please read our translation guidelines and then submit a translation!

Menu Graphics

Hmmm...
To do:
Add comparisons with the used menu stuff.

There are a few menu graphics left inside the game that are left unused.

Analyze Graphics

SMT-DDS-analyze 00.tmx 1.png
SMT-DDS-analyze 02.tmx 1.png

These graphics are not present in-game in the analyze option, meaning that it is left completely unused.

Atma Menu Graphics

SMT-DDS-c atm01 00.tmx 1.png SMT-DDS-c atm01 01.tmx 1.png SMT-DDS-c atm02 00.tmx 1.png SMT-DDS-c atm03 00.tmx 1.png

There is no atma menu in the final game.

Item Menu

SMT-DDS-c itm01 00.tmx 1.png

Party Menu

SMT-DDS-c pty01 00.tmx 1.png SMT-DDS-c pty01 01.tmx 1.png SMT-DDS-c pty01 02.tmx 1.png

Japanese text at the bottom says 'reset'. Atma is misspelled as Artma. There are more ailments than just poison, mute and ache in the final game. There is a placeholder to signify that a position in the party is blank.

Status Menu

SMT-DDS-c sta01 00.tmx 1.png SMT-DDS-c sta01 01.tmx 1.png SMT-DDS-c sta01 02.tmx 1.png

Old status menu. Instead of MAG (for magic), there is TEC (presumably Technique).

Skill Menu

SMT-DDS-ski10.png SMT-DDS-ski11.png

Config Menu

Hmmm...
To do:
Compare with the final version.

SMT-DDS-c con1.png SMT-DDS-c con2.png SMT-DDS-c con3.png SMT-DDS-c con 4.png

Here's an interesting thing. In the localized version of the game, the translation team accidentally translated this menu. You can clearly see that it isn't used in the final game because of the menu text + the red text instead of gold. The config text here is also different to the one used in the final version.

Battle Graphic Oddity

SMT-DDS-batle 01 01.tmx 1.png

For the battle graphic that is used in battles, there are two options that would normally not be visible during gameplay. Dvilize and Hunt. Normally you would be able to see all the other ones as titles for their menus.

Test Graphics

test001.spr

SMT-DDS-test001.spr 1.png

???

test.spr

SMT-DDS-test-spr (0).png SMT-DDS-test-spr (1).png SMT-DDS-test-spr (3 ).png SMT-DDS-test-spr (2).png

Graphics from Nocturne. Very likely to have been used early on as placeholders. Last image is Rag's Jewelry.

Placeholder DDS2 Character Graphics

There are a few placeholder player graphics that were intended for the characters you find in Digital Devil Saga 2. These graphics were intended to be used in the pause menus when checking status etc. They most likely exist because of the Digital Devil Saga concept was fleshed out to begin with, but they decided to split it into two games in the end; leaving these graphics completely unused.

Sera

SMT-DDS-c sera.spr 1.png SMT-DDS-np sera.spr 1.png SMT-DDS-p sera.spr 1.png SMT-DDS-cn sera.spr 1.png

Seraph

SMT-DDS-c seraf.spr 1.png SMT-DDS-np seraf.spr 1.png SMT-DDS-p seraf.spr 1.png SMT-DDS-nn seraf.spr 1.png

Roland

SMT-DDS-n roard.spr 1.png SMT-DDS-np roard.spr 1.png SMT-DDS-p roard.spr 1.png SMT-DDS-nn roard.spr 1.png

(Source: Original TCRF research)

Unused Models

Early test models for all six party members were left in the game under model\event\new_test. The textures and geometry in the early models are far lower quality than their final counterparts. These can also be found inside the Maniax re-release of Nocturne.

Argilla

Early Final
Digital-Devil-Saga-Argilla-Early.png Digital-Devil-Saga-Argilla-Final.png

Cielo

Early Final
Digital-Devil-Saga-Cielo-Early.png Digital-Devil-Saga-Cielo-Final.png

Gale

Early Final
Digital-Devil-Saga-Gale-Early.png Digital-Devil-Saga-Gale-Final.png

Heat

Early Final
Digital-Devil-Saga-Heat-Early.png Digital-Devil-Saga-Heat-Final.png

Sera

Early Final
Digital-Devil-Saga-Sera-Early.png Digital-Devil-Saga-Sera-Final.png

Serph

Early Final
Digital-Devil-Saga-Serph-Early.png Digital-Devil-Saga-Serph-Final.png
(Source: Original TCRF research)

Unused Audio

Music

Hmmm...
To do:
Figure out what that test track is.

test2.at3

This is in the game's files for some reason.

ZZZ.DAT

The alternate unused staff roll theme from Nocturne is present inside the zzz folder. The interesting thing is that this file is present in all SMT PS2 games.

Voice Clips

Filename Clip Transcription Translation
VP001_1.AT3
みんな無事か? Is everyone safe?
VP001_2.AT3
敵襲だ! Enemies coming!
VP001_3.AT3
止むを得ない。手早くケリを付ける。 It's unavoidable. Quickly strike.
VP001_4.AT3
降伏の機会を与えたい。でなければ、倒す! I want to give them the opportunity to surrender. If not, defeat them!
VP001_5.AT3
後は追わない。出来るなら、逃げてくれ! Don't chase them down. Escape if you can!
VP001_6.AT3
おおお!あうあ!うあああああ!! Ooo! Aua! Uaaaaaaa!
Filename Clip Transcription Translation
VP002_1.AT3
ごめんなさい。 I'm sorry.
VP002_2.AT3
みんな気をつけて。 Everyone, Be careful.
VP002_3.AT3
通してください!でないと… Please let me through! Otherwise...
VP002_4.AT3
私も…みんなの苦しみを…知らなくちゃいけないの…! I also... must know... everyone's pain... !
VP002_5.AT3
お願い!邪魔しないで! Please! Leave me be!
VP002_6.AT3
あー Ah
Filename Clip Transcription Translation
VP003_1.AT3
ペッ! Peh!
VP003_2.AT3
ナメるなよ。雑魚が! Don't mess with me. Small fry!
VP003_3.AT3
お前等ごときじゃ腹膨れねぇんだ。親玉連れてきな。 You are not allowed to gorge yourself. Bring me the Boss.
VP003_4.AT3
ハンデだ。これで殺れなきゃテメェがオシマイだ! It's handicap. I'm gonna kill you shithead this is the end!!
VP003_5.AT3
フッ、来いよ。まとめてミンチにしてやる! Hmph, come. We'll make mincemeat out of them together!
VP003_6.AT3
えええあああああ! Eeeaaaaahhhh!
Filename Clip Transcription Translation
VP004_1.AT3
逃げないから。 I won't run.
VP004_2.AT3
私は元に戻るんだ。 I'll return to normal.
VP004_3.AT3
あんな姿にならなくたって、これくらい!
VP004_4.AT3
やらなきゃ殺られる!そういうこと! You gotta do it or you're dead! That's life!
VP004_5.AT3
せめて、苦しまないように。 At the very least, you won't suffer.
VP004_6.AT3
逃げろぉ!私が、私でなくなる前に! Run! Before I lose all control!
Filename Clip Transcription Translation
VP005_1.AT3
終了だ。 It is over.
VP005_2.AT3
不利な状況だ。撤退を提案する。 This is bad situation. I suggest withdrawal.
VP005_3.AT3
有利とはいえ効率が悪い。アートマの使用を提案する。 Although advantageous, it is inefficient. I recommend the use of Atma.
VP005_4.AT3
やや不利な状況だ。お前の指揮が勝敗を決する。 It is a somewhat disadvantageous situation. Your command determines our success or failure.
VP005_5.AT3
状況は有利。好きにしろ。 The situation is advantageous. Do as you will.
VP005_6.AT3
俺は今、抑えがきかん!判断は任せる! I'm now restrained! I'll leave it to you!
VP005_7.AT3
終了だ。 It is over.
VP005_8.AT3
不利な状況だ。撤退を提案する。 This is bad situation. I suggest withdrawal.
VP005_9.AT3
有利とはいえ効率が悪い。アートマの使用を提案する。 Although advantageous, it is inefficient. I recommend the use of Atma.
Filename Clip Transcription Translation
VP006_1.AT3
ふい~。 Sigh...
VP006_2.AT3
あのー、話しあいませんか?ブラザー。 Uh, so what were we talking about? Bro.
VP006_3.AT3
ノリノリメーター全開! Norinori Meter Fully Open!
VP006_4.AT3
ズラかったほうが良くね?アニキ? I think We must escape? Brother?
VP006_5.AT3
よっしゃー!聞く耳持たないぜ、ブラザー! Yeah! I don't have ears to hear you, Bro!
VP006_6.AT3
やべえ!来やがった! Uh-oh, He comes!
(Source: Original TCRF research)

Unused Text

Cacti speak Japanese.
...But what does it mean?
This game has text or audio that needs to be translated. If you are fluent with this language, please read our translation guidelines and then submit a translation!

Development/Code Text

temp.txt

Hmmm...
To do:
Make a note of how many times this is duplicated.
Japanese Translation
このファイルは削除しても構いません This file can be safely deleted.

\result2\dammy.txt

dammy

sprite\spr_file.txt

test  ; test_memo
test2 ; test2_memo
Hmmm...
To do:
translations

model\event\index.txt

#
# model index
#


#===================================================================
# E501 検証イベント
#===================================================================
[Major:3, Minor:0x24] : ドア
[Major:3, Minor:0x25] : ホクトセイクン
[Major:3, Minor:0x26] : インキュバス
[Major:3, Minor:0x27] : テング

model\event\extra\npc\file_name.txt

<ファイル名解説例>

f_as_m1.PB
(フィールド_アサインメンツ_男01)

f_so_f1e.PB
(フィールド_ソリッド_女01エンブリオン化)

	…以上のようにしようかと考えています。

fld\f\f009\f009_000.txt

%comp
F009.INF id=1
F009.NPL id=2
F009.SKY id=3
F009.WAP id=4
f009.bf id=5
f009.amb id=6

fld\f\f009\f009_001.txt

%comp
f009_001.TBN
f009_001.f2
f009_001.f1

cmpSprPac.sh

#! /bin/bash

sdfLink cmpSprPacA.txt
mv cmpSprPacA.LB sprite_a.lb
sdfLink cmpSprPacB.txt
mv cmpSprPacB.LB sprite_b.lb
sdfLink cmpSprPacC.txt
mv cmpSprPacC.LB sprite_c.lb

\camp\spr\n_pac\cmpSprPacA.txt

Japanese Translation
%compress      # ファイルを圧縮する
%nosetfilename # ファイル名の埋め込み無し
               # 埋め込むと展開がおかしくなるので注意             

../n_min/nall_hp.spr id=0
../n_min/n_min01.spr id=0
../n_min/n_min02.spr id=0
../n_min/n_min03.spr id=0
../n_min/n_min04.spr id=0
../n_min/nall_cmm.spr id=0
../n_min/nall_hep.spr id=0
%compress      # Compresses file.
%nosetfilename # No file name embedded.
               # Embedding a file name will cause strange results, so use with caution.           

../n_min/nall_hp.spr id=0
../n_min/n_min01.spr id=0
../n_min/n_min02.spr id=0
../n_min/n_min03.spr id=0
../n_min/n_min04.spr id=0
../n_min/nall_cmm.spr id=0
../n_min/nall_hep.spr id=0

\model\event\Makefile

Japanese
# -*- tab-width: 4 -*-
# イベント用モデルデータのコンバート
# 細谷のマシン環境でないと動きません!

#REMOTE_BASE=/mnt/remote/oyster/design
REMOTE_BASE=/mnt/remote/oyster_design

MDLCNV=sdfModelExp
MDLCNV_FLAGS=-b

MOTCNV=sdfMotionExp
MOTCNV_FLAGS= --optimize

E503_MODELS = \
	e503/u503_000.TB	e503/u503_000.MB	e503/u503_000.AB \
	e503/u503_001.TB	e503/u503_001.MB	e503/u503_001.AB

ALL_MODELS = \
	$(E503_MODELS)


all : $(ALL_MODELS)

clean:
	@rm -f $(ALL_MODELS);

chmod:
	@find . -name "*.[TMA]B" -exec chmod +w {} \;

#==================================================================================
# [3, 0x2c] u503_000 (E503リリス)
E503_000_PATH=$(REMOTE_BASE)/maeda/for_hosoya/script_events
E503_000_BASE=$(E503_000_PATH)/lilith_root_01
E503_000=e503/u503_000

$(E503_000).TB: $(E503_000_BASE).TB
	@cp $(E503_000_BASE).TB $(E503_000).TB

$(E503_000).MB: $(E503_000_BASE).MB
	@cp $(E503_000_BASE).MB $(E503_000).MB

$(E503_000).AB: $(E503_000_PATH)/lilith_root_*.T3
	$(MOTCNV) $(MOTCNV_FLAGS) $(E503_000_PATH)/lilith_root_*.T3 -o $(E503_000).AB

#==================================================================================
# [3, 0x2d] u503_001 (E503プレイヤー)
E503_001_PATH=$(REMOTE_BASE)/maeda/for_hosoya/script_events
E503_001_BASE=$(E503_001_PATH)/player_01
E503_001=e503/u503_001

$(E503_001).TB: $(E503_001_BASE).TB
	@cp $(E503_001_BASE).TB $(E503_001).TB

$(E503_001).MB: $(E503_001_BASE).MB
	@cp $(E503_001_BASE).MB $(E503_001).MB

$(E503_001).AB: $(E503_001_PATH)/player_*.T3
	$(MOTCNV) $(MOTCNV_FLAGS) $(E503_001_PATH)/player_*.T3 -o $(E503_001).AB

#============================ end of file =========================================
Translation
# -*- tab-width: 4 -*-
# Event scene model conversion.
# Won't work unless executed in Hosoya's machine environment!

#REMOTE_BASE=/mnt/remote/oyster/design
REMOTE_BASE=/mnt/remote/oyster_design

MDLCNV=sdfModelExp
MDLCNV_FLAGS=-b

MOTCNV=sdfMotionExp
MOTCNV_FLAGS= --optimize

E503_MODELS = \
	e503/u503_000.TB	e503/u503_000.MB	e503/u503_000.AB \
	e503/u503_001.TB	e503/u503_001.MB	e503/u503_001.AB

ALL_MODELS = \
	$(E503_MODELS)


all : $(ALL_MODELS)

clean:
	@rm -f $(ALL_MODELS);

chmod:
	@find . -name "*.[TMA]B" -exec chmod +w {} \;

#==================================================================================
# [3, 0x2c] u503_000 (E503 Release)
E503_000_PATH=$(REMOTE_BASE)/maeda/for_hosoya/script_events
E503_000_BASE=$(E503_000_PATH)/lilith_root_01
E503_000=e503/u503_000

$(E503_000).TB: $(E503_000_BASE).TB
	@cp $(E503_000_BASE).TB $(E503_000).TB

$(E503_000).MB: $(E503_000_BASE).MB
	@cp $(E503_000_BASE).MB $(E503_000).MB

$(E503_000).AB: $(E503_000_PATH)/lilith_root_*.T3
	$(MOTCNV) $(MOTCNV_FLAGS) $(E503_000_PATH)/lilith_root_*.T3 -o $(E503_000).AB

#==================================================================================
# [3, 0x2d] u503_001 (E503 Player)
E503_001_PATH=$(REMOTE_BASE)/maeda/for_hosoya/script_events
E503_001_BASE=$(E503_001_PATH)/player_01
E503_001=e503/u503_001

$(E503_001).TB: $(E503_001_BASE).TB
	@cp $(E503_001_BASE).TB $(E503_001).TB

$(E503_001).MB: $(E503_001_BASE).MB
	@cp $(E503_001_BASE).MB $(E503_001).MB

$(E503_001).AB: $(E503_001_PATH)/player_*.T3
	$(MOTCNV) $(MOTCNV_FLAGS) $(E503_001_PATH)/player_*.T3 -o $(E503_001).AB

#============================ end of file =========================================

The "Hosoya" referenced in this file is likely Tomohiro Hosoya. Although he's only credited in the special thanks section for Digital Devil Saga, he is a known Atlus programmer who worked on other games of theirs from that same period, including Shin Megami Tensei: Nocturne, Shin Megami Tensei: Devil Summoner, Shin Megami Tensei: Devil Summoner: Soul Hackers, and Maken X.

Cut Text

Inside the facility\msg\church\ folder you can see some '.bmd' files. These are interesting because there are no sprites connected to the text as with the mantra grid, shop and terminal. Whatever this church thing is is unknown. (At least at the moment). However, three text files are present with this.

facility\msg\church\mes_data.bmd

Japanese Translation
ID:1(msg_1st)

メインシステムにログインしました。
何を行いますか?
-------------------------------
ID:2(msg_2nd)

何を行いますか?
-------------------------------
ID:3(msg_search)

検索する項目を選択してください。
-------------------------------
ID:4(msg_atma_confirm)

再生にはBV[VAR(1)]必要ですが、
再生しますか?
-------------------------------
ID:5(msg_exit)

メインシステムをログアウトします。
-------------------------------
ID:6(msg_sel01)

はい

いいえ
ID:1(msg_1st)

Login to Main system.
What will you do?
-------------------------------
ID:2(msg_2nd)

What will you do?
-------------------------------
ID:3(msg_search)

Select the item to be searched.
-------------------------------
ID:4(msg_atma_confirm)

再生にはBV[VAR(1)]必要ですが、
再生しますか?
-------------------------------
ID:5(msg_exit)

Logout from main system.
-------------------------------
ID:6(msg_sel01)

Yes

No

facility\msg\church\person_info.bmd

This file is just the message

テストメッセージ

(Test Message) 40 times in a row.

facility\msg\church\word_info.bmd

This file is just the message

テストメッセージ

(Test Message) 40 times in a row.

(Source: Original TCRF research)

Regional Differences

Hmmm...
To do:
  • Get images.
  • Check if there are more.

The Auto-Battle button in the European Version got changed from Triangle to Circle.