サターン版魔導物語 解析

サターン版魔導物語の画像を抽出するツールを作成しましたので、画像を見る場合はSoftwareページへどうぞ。

ちなみに、サターン版「わくわくぷよぷよダンジョン」でも画像ファイルの構造や圧縮法は同じです。


◇基本
◆BBGファイル
◆CEL,MAPファイル
◆SPRファイル
◆文字コード

基本

サターンはビッグエンディアン(上位バイトからメモリに格納)なので、値はすべて上位バイトから読んで下さい。

■パレット■

1色あたり2Byteで、下位ビットから順にR5G5B5A1です。パレット0番は透明。
これはサターン用パレットの基本形です。また色深度16bitの画像も色の構成は同じです。

■CNX圧縮■

データの先頭が"CNX"で始まっているファイルは圧縮がかかっています。
SoftwareページでCNX復号プログラムを公開しました。
解説も付属しましたので、圧縮法についてはそちらを見てください。

以降の解説では、すべて復号後のファイルという前提で話をしています。

*.BBG

色深度8bit、横幅512のベタ画像です。

*.CEL *.MAP

CELファイルが8x8pxの画像の集まり、MAPファイルがその配置データです。

CELファイル内の画像は8x8毎なので、一つあたり
色深度4bitなら32Byte、色深度8bitなら64Byte、色深度16bitなら128Byteです。

MAPファイルは2Byteずつ、配置する画像のCELファイル内での開始位置を32Byte単位で示しています。
なので、値が1刻みで増減していたら色深度4bit、2刻みなら色深度8bit、4刻みなら色深度16bitだと予想できます。

配置順は、まず64個右へ並べ、次にその下へ64個右へ、と並べていきます。つまり画像の横幅は8x64=512となります。


たとえばED_05.CELとED_05.MAPの場合、
ED_05.MAP内の値は4刻みで増減しているので、配置する画像は色深度16bitだと予想できます。つまりタイル一つあたり128Byteです。
ED_05.MAPどおりにED_05.CEL内の画像を並べていくと、このようなタイル状になります。
ED_05


ちなみに8x8pxの画像とその配置データという組合せは、サターンのゲームで頻繁に見かけます。(SEGA SATURN SCRフォーマットとか)

さらに、いくつか例を紹介します。

■ED_*.CEL ED_*.MAP■

エンディング画像。色深度16bitで色の構造はパレットと同じです。
ED_05以外は、ED_?0.CEL〜ED_?4.CELとCELファイルが分割されています。
MAPファイル内の配置は連結後の位置なので注意して下さい。

【例:ED_04.MAP、ED_40.CEL〜ED_44.CEL 上半分】
ED_04

■EV_*.CEL■

アルルの家の「思い出のツボ」で回想できるイベント画像です。色深度8bitで、EVENT.MAPが配置データになります。
といっても、復号後のサイズが84480ByteのCELファイルは、横44個、縦30個の8x8pxタイル画像として構いません。

【例:EV_01.CEL】
EV_01

パレットは「MP1001.SEQ」のオフセット0x6170から512Bずつ格納されています。 EV_01.CELからアルファベット順です。
ちなみに、
OP_ARLE.CELのパレットは「MP1001.SEQ」のオフセット0x5F70、
EV1001.CELのパレットは「MP1001.SEQ」のオフセット0x5B30にあります。

*.SPR

スプライトを格納したファイルです。縦横サイズなどのデータは格納されていないようです。
これについてはあまり調査していません。わかっている分だけ紹介します。

■F*.SPR■

テキスト表示時の顔グラフィック。80x80px、色深度16bitのベタ画像です。
これらのファイルに圧縮はかかっていません。

■B_*.SPR■

戦闘時のキャラグラフィック。色深度4bitで、ファイル先頭32Byteがパレットです。
複数の画像が格納されていますが、それぞれの縦横サイズの情報がどこにあるのかは分かりません。

【例:B_ARLEA0.SPR】
B_ARLEA0

文字コード

■文字画像■

文字画像はFONT.CELにあります。色深度4bit。8x8pxの画像の集まりです。
一部8x8pxのタイルを縦に2つ並べた、8x16pxの画像もあります。

【FONT.CEL 〜0x1640】
FONT.CEL1

FONT.CEL2

FONT.CEL3


ゲーム中の会話などに使われる大きな文字は、0x1640以降にあります。
これらは8x8pxのタイルを
1 2
3 4
と並べた16x16pxサイズです。分かりやすいように文字を並べていくと、以下の図のようになります。

【FONT.CEL 0x1640〜】
FONT.CEL4

■テキスト■

テキストは*.SEQ内にあります。(おもにMP*.SEQ)

文字コードの基本はMAPファイルと同じです。
1文字あたり2Byte。表示する文字画像のFONT.CELでの位置を32Byte刻みで示しています。

文字コードは16進数表現です。
SS版魔導物語 文字コード表
0102」 0202と 0302ウ 0402パ 0502応 0602技 0702験 0802司 0902商 0A02赤 0B02置 0C02南 0D02別 0E02用
0106A 0206な 0306エ 0406ピ 0506横 0606義 0706元 0806史 0906将 0A06跡 0B06蓄 0C06肉 0D06変 0E06葉
010AB 020Aに 030Aオ 040Aプ 050A王 060A議 070A原 080A士 090A小 0A0A切 0B0A茶 0C0A虹 0D0A片 0E0A要
010EC 020Eぬ 030Eカ 040Eペ 050E黄 060E客 070E幻 080E始 090E少 0A0E接 0B0E着 0C0E日 0D0E返 0E0E陽
0112D 0212ね 0312キ 0412ポ 0512屋 0612脚 0712減 0812姿 0912掌 0A12折 0B12中 0C12入 0D12便 0E12欲
0116E 0216の 0316ク 0416ァ 0516憶 0616休 0716現 0816子 0916昇 0A16設 0B16仲 0C16認 0D16保 0E16来
011AF 021Aは 031Aケ 041Aィ 051A音 061A及 071A言 081A師 091A晶 0A1A説 0B1A忠 0C1A年 0D1A歩 0E1A頼
011EG 021Eひ 031Eコ 041Eゥ 051E下 061E吸 071E限 081E思 091E消 0A1E絶 0B1E昼 0C1E念 0D1E補 0E1E雷
0122H 0222ふ 0322サ 0422ェ 0522化 0622急 0722個 0822指 0922焼 0A22仙 0B22注 0C22能 0D22母 0E22落
0126I 0226へ 0326シ 0426ォ 0526仮 0626救 0726古 0826支 0926称 0A26先 0B26朝 0C26波 0D26包 0E26乱
012AJ 022Aほ 032Aス 042Aャ 052A何 062A求 072A固 082A止 092A笑 0A2A千 0B2A町 0C2A破 0D2A報 0E2A利
012EK 022Eま 032Eセ 042Eュ 052E可 062E泣 072E己 082E死 092E衝 0A2E占 0B2E調 0C2E杯 0D2E放 0E2E理
0132L 0232み 0332ソ 0432ョ 0532夏 0632球 0732戸 0832私 0932証 0A32川 0B32超 0C32配 0D32方 0E32裏
0136M 0236む 0336タ 0436ッ 0536家 0636究 0736鼓 0836紙 0936象 0A36戦 0B36長 0C36倍 0D36法 0E36里
013AN 023Aめ 033Aチ 043A. 053A果 063A級 073A後 083A紫 093A賞 0A3A染 0B3A頂 0C3A買 0D3A泡 0E3A陸
013EO 023Eも 033Eツ 043E× 053E歌 063E牛 073E御 083E視 093E上 0A3E線 0B3E鳥 0C3E売 0D3E砲 0E3E率
0142P 0242や 0342テ 0442% 0542河 0642去 0742語 0842歯 0942乗 0A42船 0B42直 0C42白 0D42胞 0E42立
0146Q 0246ゆ 0346ト 0446& 0546火 0646居 0746光 0846事 0946場 0A46選 0B46追 0C46爆 0D46蜂 0E46流
014AR 024Aよ 034Aナ 044A* 054A花 064A巨 074A公 084A字 094A常 0A4A鮮 0B4A痛 0C4A箱 0D4A乏 0E4A竜
014ES 024Eら 034Eニ 044E☆ 054E過 064E許 074E功 084E持 094E情 0A4E前 0B4E通 0C4E八 0D4E帽 0E4E旅
0152T 0252り 0352ヌ 0452○ 0552画 0652供 0752効 0852時 0952条 0A52然 0B52偵 0C52発 0D52望 0E52了
0156U 0256る 0356ネ 0456○ 0556芽 0656共 0756口 0856次 0956状 0A56全 0B56定 0C56抜 0D56冒 0E56両
015AV 025Aれ 035Aノ 045A◎ 055A会 065A協 075A向 085A示 095A錠 0A5A争 0B5A底 0C5A半 0D5A防 0E5A良
015EW 025Eろ 035Eハ 045E◇ 055E解 065E叫 075E好 085E耳 095E飾 0A5E相 0B5E抵 0C5E反 0D5E北 0E5E量
0162X 0262わ 0362ヒ 0462■ 0562回 0662境 0762幸 0862自 0962植 0A62草 0B62敵 0C62番 0D62本 0E62力
0166Y 0266を 0366フ 0466△ 0566快 0666強 0766広 0866七 0966色 0A66装 0B66的 0C66彼 0D66魔 0E66緑
016AZ 026Aん 036Aヘ 046A▽ 056A界 066A教 076A康 086A室 096A食 0A6A走 0B6A笛 0C6A悲 0D6A枚 0E6A輪
016Eh 026Eが 036Eホ 046E▼ 056E開 066E狂 076E抗 086E実 096E信 0A6E送 0B6E天 0C6E皮 0D6E毎 0E6E例
0172〜 0272ぎ 0372マ 0472→ 0572階 0672曲 0772攻 0872芝 0972心 0A72騒 0B72店 0C72秘 0D72万 0E72冷
0176『 0276ぐ 0376ミ 0476ヵ 0576貝 0676極 0776更 0876射 0976新 0A76像 0B76転 0C76費 0D76慢 0E76礼
017A』 027Aげ 037Aム 047Aヶ 057A外 067A玉 077A構 087A者 097A森 0A7A息 0B7A点 0C7A避 0D7A満 0E7A霊
017E★ 027Eご 037Eメ 047E々 057E害 067E禁 077E硬 087E車 097E深 0A7E束 0B7E伝 0C7E飛 0D7E味 0E7E歴
0182… 0282ざ 0382モ 0482ー 0582格 0682近 0782考 0882邪 0982真 0A82足 0B82殿 0C82備 0D82魅 0E82烈
0186( 0286じ 0386ヤ 0486愛 0586殻 0686金 0786行 0886弱 0986神 0A86速 0B86電 0C86尾 0D86密 0E86裂
018A) 028Aず 038Aユ 048A悪 058A確 068A銀 078A高 088A主 098A親 0A8A属 0B8A途 0C8A美 0D8A眠 0E8A恋
018E& 028Eぜ 038Eヨ 048E安 058E覚 068E駆 078E剛 088E守 098E身 0A8E族 0B8E度 0C8E鼻 0D8E夢 0E8E連
0192/ 0292ぞ 0392ラ 0492暗 0592角 0692具 0792号 0892手 0992進 0A92続 0B92土 0C92匹 0D92無 0E92路
0196% 0296だ 0396リ 0496案 0596楽 0696空 0796合 0896種 0996針 0A96存 0B96怒 0C96必 0D96名 0E96老
019A→ 029Aぢ 039Aル 049A闇 059A割 069A窟 079A告 089A酒 099A震 0A9A村 0B9A倒 0C9A姫 0D9A命 0E9A郎
019E↑ 029Eづ 039Eレ 049E以 059E活 069E繰 079E国 089E首 099E人 0A9E他 0B9E冬 0C9E百 0D9E明 0E9E録
01A2♪ 02A2で 03A2ロ 04A2位 05A2巻 06A2軍 07A2黒 08A2受 09A2刃 0AA2多 0BA2塔 0CA2標 0DA2鳴 0EA2和
01A6ヴ 02A6ど 03A6ワ 04A6威 05A6完 06A6係 07A6込 08A6呪 09A6尽 0AA6太 0BA6島 0CA6氷 0DA6面 0EA6話
01AA�� 02AAば 03AAヲ 04AA意 05AA感 06AA兄 07AA今 08AA樹 09AA図 0AAA堕 0BAA投 0CAA表 0DAA猛 0EAA惑
01AE�� 02AEび 03AEン 04AE異 05AE環 06AE型 07AE根 08AE収 09AE吹 0AAE打 0BAE東 0CAE病 0DAE木 0EAE彗
00B2 01B2+ 02B2ぶ 03B2ガ 04B2移 05B2管 06B2形 07B2混 08B2秋 09B2水 0AB2体 0BB2当 0CB2品 0DB2目 0EB2氣
00B60 01B6あ 02B6べ 03B6ギ 04B6違 05B6間 06B6恵 07B6左 08B6終 09B6睡 0AB6対 0BB6逃 0CB6不 0DB6戻 0EB6
00BA1 01BAい 02BAぼ 03BAグ 04BA遺 05BA関 06BA系 07BA査 08BA週 09BA数 0ABA待 0BBA透 0CBA付 0DBA問 0EBA♥
00BE2 01BEう 02BEぱ 03BEゲ 04BE井 05BE館 06BE経 07BE再 08BE集 09BE世 0ABE態 0BBE頭 0CBE敷 0DBE夜 0EBEZz
00C23 01C2え 02C2ぴ 03C2ゴ 04C2育 05C2岸 06C2計 07C2最 08C2住 09C2制 0AC2代 0BC2闘 0CC2負 0DC2野 0EC2各
00C64 01C6お 02C6ぷ 03C6ザ 04C6一 05C6眼 06C6軽 07C6災 08C6重 09C6性 0AC6大 0BC6動 0CC6武 0DC6矢 0EC6至
00CA5 01CAか 02CAぺ 03CAジ 04CA印 05CA岩 06CA撃 07CA細 08CA銃 09CA成 0ACA題 0BCA同 0CCA舞 0DCA約 0ECA薬
00CE6 01CEき 02CEぽ 03CEズ 04CE員 05CE願 06CE激 07CE菜 08CE祝 09CE星 0ACE奪 0BCE導 0CCE部 0DCE優 0ECE取
00D27 01D2く 02D2ぁ 03D2ゼ 04D2因 05D2危 06D2欠 07D2際 08D2出 09D2正 0AD2脱 0BD2洞 0CD2封 0DD2勇 0ED2役
00D68 01D6け 02D6ぃ 03D6ゾ 04D6引 05D6喜 06D6決 07D6在 08D6術 09D6清 0AD6探 0BD6瞳 0CD6風 0DD6友 0ED6申
00DA9 01DAこ 02DAぅ 03DAダ 04DA飲 05DA器 06DA穴 07DA作 08DA春 09DA生 0ADA短 0BDA道 0CDA復 0DDA有 0EDA択
00DE− 01DEさ 02DEぇ 03DEヂ 04DE右 05DE奇 06DE結 07DE削 08DE準 09DE精 0ADE端 0BDE峠 0CDE服 0DDE由 0EDE顔
00E2・ 01E2し 02E2ぉ 03E2ヅ 04E2羽 05E2寄 06E2月 07E2昨 08E2初 09E2声 0AE2団 0BE2得 0CE2腹 0DE2誘 0EE2押
00E6! 01E6す 02E6ゃ 03E6デ 04E6運 05E6期 06E6件 07E6札 08E6所 09E6西 0AE6弾 0BE6特 0CE6物 0DE6遊
00EA? 01EAせ 02EAゅ 03EAド 04EA雲 05EA帰 06EA健 07EA殺 08EA書 09EA青 0AEA断 0BEA毒 0CEA分 0DEA雄
00EE、 01EEそ 02EEょ 03EEバ 04EE影 05EE気 06EE剣 07EE山 08EE助 09EE静 0AEE男 0BEE独 0CEE憤 0DEE夕
00F2。 01F2た 02F2っ 03F2ビ 04F2栄 05F2記 06F2建 07F2斬 08F2女 09F2斉 0AF2談 0BF2読 0CF2粉 0DF2予
00F6” 01F6ち 02F6ゎ 03F6ブ 04F6炎 05F6起 06F6拳 07F6残 08F6除 09F6昔 0AF6値 0BF6突 0CF6文 0DF6容
00FA← 01FAつ 02FAア 03FAベ 04FA汚 05FA輝 06FA見 07FA使 08FA傷 09FA石 0AFA知 0BFA内 0CFA聞 0DFA揺
00FE「 01FEて 02FEイ 03FEボ 04FE奥 05FE鬼 06FE険 07FE刺 08FE勝 09FE積 0AFE地 0BFE薙 0CFE平 0DFE様


00B2は空白(スペース)です。
HOME > サターン版魔導物語