the cutting room mirror

Shin Megami Tensei: Digital Devil Saga

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

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

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#

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#

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

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#

'...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!

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

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

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

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#

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

Early press turn icons and unknown circular icon.

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

Cielo

Early

Final

Gale

Early

Final

Heat

Early

Final

Sera

Early

Final

Serph

Early

Final

(Source: Original TCRF research)

Unused Audio#

Music#

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#

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

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

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#

To do:

  • Get images.
  • Check if there are more.

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