sdattool by DJ Bouche
DJ Boucheさんが素晴らしいツールを公開しました。その名はsdattoolです。
原文
Hello loveemu,
I'm just informing you that I started a new utility called sdattool.
It's main purpose is to generate an SMAP file, similar to the one I have attached in this e-mail which was found with the SDAT file in the game Zoids Genesis DS. It has proven a very useful file in the reverse engineering of SDAT and it was nice of the game developers to [perhaps accidentally] leave it in there. :)
So far the utility reads the SYMB table in order to obtain the filenames for each file. It reads the INFO table in order to retrieve the main information necessary for the SMAP file. Finally it reads the FAT table (and as an option, like sseqrip, extracts the files from the FILE block into an organised set of folders and named using their symbols) and generates the FAT list for the SMAP file.
Hopefully by this we can get an even greater understanding of the files in the SDAT system.
Here is some interesting things I have noted:
- SSEQ
- SEQ - Sequence - A converted MIDI sequence. Linked to a BANK for instruments.
- SSAR
- SEQARC - Sequence Archive - A collection of sequences (used mainly for sound effect banks, format is unknown, the entries look nothing like SSEQ at all...)
- SBNK
- BANK - Bank - A bank which is linked to up to 4 WAVEARCs which contain the samples. Define the instruments in which a sequence can use. (format still unknown)
- SWAR
- WAVEARC - Wave Archive - A collection of wave samples (which can be in either PCM or ADPCM compression)
- STRM
- STRM - Stream - An individual wave (PCM or ADPCM).
- GROUP
- I'm not quite sure.
My apologies, I was wrong about sseq2mid not converting Mario Kart DS correctly. There was something wrong with my MIDI sequencer. It works fine now. I am in the process of making a command line tool which allows you to specify a MIDI instrument/drum map and apply it to any standard MIDI file.
Feel free to post any of this information. Hope it helps! ;)
Andrew
日本語
簡潔に要旨のみ記します。
sdattoolはSDATファイルを解析して、SMAPファイルと呼ばれるファイルリストを出力することを主な目的としたユーティリティです。sdattoolは、大まかに以下のような動作をしています。
- 各々のファイル名を得るために、SYMBテーブルを読む
- SMAPファイルのために必要となる主な情報を検索するために、INFOテーブルを読む
- FATテーブルを読み、SMAPファイルのためにFATリストを生成する
SDATファミリーに関する情報もいただきました。
- SSEQ
- SEQ - Sequence - 変換されたMIDIシーケンス。楽器のためにバンクにリンクされます。
- SSAR
- SEQARC - Sequence Archive - シーケンスのコレクション(主にサウンドエフェクトバンクのために使われている。エントリは全然SSEQっぽくないです……)
- SBNK
- BANK - Bank - サンプルを含むWAVEARCを最大4つまでリンクすることのできるバンク。シーケンスが使うことのできる楽器を定義(フォーマットは未だ謎)
- SWAR
- WAVEARC - Wave Archive - 波形サンプルのコレクション(PCMかADPCMのいずれか)
- STRM
- STRM - Stream - 固有の波形(PCMかADPCM)
- GROUP
- まだよくわかりません。
これらの情報の投稿はお気軽にどうぞ、とのことです。