<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="soundfmt.xsl"?>
<!DOCTYPE soundformatlist [
	<!ELEMENT soundformatlist (soundformat)*>
	<!ATTLIST soundformatlist name CDATA #REQUIRED>
	<!ELEMENT soundformat (name,extensions,type,devices,checker,titlereader,refexts?,appendix?)>
	<!ELEMENT name (#PCDATA)>
	<!ELEMENT extensions (extension)*>
	<!ELEMENT extension (#PCDATA)>
	<!ELEMENT type (#PCDATA)>
	<!ELEMENT platform (#PCDATA)>
	<!ELEMENT devices (device)*>
	<!ELEMENT device (#PCDATA)>
	<!ATTLIST device if CDATA #IMPLIED>
	<!ELEMENT checker (#PCDATA)>
	<!ELEMENT titlereaders (titlereader)*>
	<!ELEMENT titlereader (#PCDATA)>
	<!ELEMENT refexts (refext)*>
	<!ELEMENT refext (#PCDATA)>
	<!ATTLIST refext relation CDATA #REQUIRED>
	<!ELEMENT appendix (#PCDATA)>
]>
<soundformatlist name="MSX SOUND FORMAT LIST">
	<soundformat>
		<name>MGSDRV</name>
		<extensions>
			<extension>MGS</extension>
		</extensions>
		<type>マルチトラック型シーケンスデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2212</device>
		</devices>
		<checker>($0000)から"MGS"。</checker>
		<titlereaders>
			<titlereader>($0008)から#$1A終端のSJIS文字列。複数行可。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MML">MUS</refext>
			<refext relation="MUSIC">MGR</refext>
		</refexts>
		<appendix>FMP3(NEC-PC98用音源ドライバだがFMPとは別)のＧＳ音源用データに拡張子MGSを使う場合があるので注意。</appendix>
	</soundformat>


	<soundformat>
		<name>圧縮MGSDRV</name>
		<extensions>
			<extension>MGR</extension>
		</extensions>
		<type>マルチトラック型シーケンスデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2212</device>
		</devices>
		<checker>($0000)から"MGSA"。</checker>
		<titlereaders>
			<titlereader>($0008)から#$1A終端のSJIS文字列。複数行可。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MML">MUS</refext>
			<refext relation="MUSIC">MGS</refext>
		</refexts>
	</soundformat>


	<soundformat>
		<name>MGSDRV MML</name>
		<extensions>
			<extension>MUS</extension>
		</extensions>
		<type>MMLテキストデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2212</device>
		</devices>
		<checker>($0000)から"#opll_mode"。</checker>
		<titlereaders>
			<titlereader>"#title"直後の#$42で囲まれたSJIS文字列。複数行存在する場合は"{"と"}"で囲む。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MUSIC">MGS</refext>
		</refexts>
		<appendix>拡張子MUSはX68k系の音源ドライバのMML等によく用いられるので注意。</appendix>
	</soundformat>


	<soundformat>
		<name>MPK - Music Player K-kaz system</name>
		<extensions>
			<extension>MPK</extension>
		</extensions>
		<type>マルチトラック型シーケンスデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2212</device>
		</devices>
		<checker>($0000)から"MPK"。</checker>
		<titlereaders>
			<titlereader>($0008)から#$1A終端のSJIS文字列。1行目が曲名。2行目が作曲者。3行目が編曲者。4行目がメモ。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MML">MMK</refext>
			<refext relation="TONEBANK">MPV</refext>
		</refexts>
	</soundformat>

	<soundformat>
		<name>MPK MML</name>
		<extensions>
			<extension>MMK</extension>
		</extensions>
		<type>MMLテキストデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2212</device>
		</devices>
		<checker>($0000)から".FM6"もしくは".FM9"。</checker>
		<titlereaders>
			<titlereader>"#TITLE"直後の#$42で囲まれたSJIS文字列。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MUSIC">MPK</refext>
			<refext relation="TONEBANK">MPV</refext>
		</refexts>
	</soundformat>


	<soundformat>
		<name>MPK Voice set</name>
		<extensions>
			<extension>MPV</extension>
		</extensions>
		<type>音色セット</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2212</device>
		</devices>
		<checker>サイズが$16C0で固定。通常は($0000)から"Piano 1 "。</checker>
		<titlereaders>
			<titlereader>タイトルなし。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MUSIC">MPK</refext>
			<refext relation="MML">MMK</refext>
		</refexts>
	</soundformat>


	<soundformat>
		<name>MuSICA</name>
		<extensions>
			<extension>BGM</extension>
		</extensions>
		<type>マルチトラック型シーケンスデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2312</device>
		</devices>
		<checker>($0000)が#$FEのBLOAD形式。さらにファイルサイズが8+(($0003).wle-($0001).wle).wleで確認可能。($0007)が#$00(FM6音+リズムモード)もしくは#$01(FM9音モード)。</checker>
		<titlereaders>
			<titlereader>タイトルなし。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MML">MSD</refext>
		</refexts>
		<appendix>あけみちゃん(マイクロキャビンのNEC-PC98用音源ドライバ)形式と同じ拡張子。あけみちゃん形式は($0000)から"BGM"なので判別可能。ただし圧縮あけみちゃん形式の判別法は不明。MSX FM-BIOSでも拡張子BGMが使われる場合があるが($0007)で判別可能。</appendix>
	</soundformat>


	<soundformat>
		<name>Musam</name>
		<extensions>
			<extension>BGM</extension>
		</extensions>
		<type>マルチトラック型シーケンスデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2212</device>
			<device>SCC-I2312</device>
		</devices>
		<checker>MuSICAと同じ。さらに(7+($0005).wle-($0001).wle)から#$C9,#$00,#$00,"Musam"。</checker>
		<titlereaders>
			<titlereader>(7+(12+7+($0005).wle-($0001).wle).wle-($0001).wle)から#$00終端のSJIS文字列。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MML">MSD</refext>
		</refexts>
		<appendix>MuSICA上位互換。勤労との互換性は不明。</appendix>
	</soundformat>


	<soundformat>
		<name>勤労５号</name>
		<extensions>
			<extension>BGM</extension>
		</extensions>
		<type>マルチトラック型シーケンスデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2212</device>
			<device>SCC-I2312</device>
		</devices>
		<checker>MuSICAと同じ。さらに($0050)から"BTO"。</checker>
		<titlereaders>
			<titlereader>(7+($005B).wle-($0059).wle)から#$00終端のSJIS文字列のタイトル。</titlereader>
			<titlereader>(7+($005D).wle-($0059).wle)から#$00終端のSJIS文字列のメモ。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MML">MSD</refext>
		</refexts>
		<appendix>MuSICA上位互換。Musamとの互換性は不明。</appendix>
	</soundformat>


	<soundformat>
		<name>MuSICA MML</name>
		<extensions>
			<extension>MSD</extension>
		</extensions>
		<type>MMLテキストデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2212</device>
		</devices>
		<checker>テキストファイル中の各行頭の"SCC1="をサーチ。</checker>
		<titlereaders>
			<titlereader>タイトルなし。</titlereader>
			<titlereader>勤労MMLなら"[TITLE:"発見位置から"]"終端のSJIS文字列。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MUSIC">BGM</refext>
		</refexts>
		<appendix>内容は同じメーカだけあってASCIIツクールMMLと酷似しているが「SCC数値=」の有無で判別すると楽。</appendix>
	</soundformat>


	<soundformat>
		<name>MIODRV - MSX Itinerant Orchestra</name>
		<extensions>
			<extension>MIO</extension>
		</extensions>
		<type>マルチトラック型シーケンスデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2212</device>
			<device if="MSX-MIDI/只MIDI/DualMIDI/へろへろ５号/JoySERIAL">MIDI</device>
		</devices>
		<checker>($0000)から"itinelant ",#$1A,#$00。</checker>
		<titlereaders>
			<titlereader>(($001f).b*$10000+($0020).wle)から#$00終端のSJIS文字列のタイトル。</titlereader>
			<titlereader>(($001f).b*$10000+($0022).wle)から#$00終端のSJIS文字列の作曲者。</titlereader>
			<titlereader>(($001f).b*$10000+($0024).wle)から#$00終端のSJIS文字列の制作者。</titlereader>
			<titlereader>(($001f).b*$10000+($0026).wle)から#$00終端のSJIS文字列の使用MIDI音源名。</titlereader>
			<titlereader>(($001f).b*$10000+($0028).wle)から#$00終端のSJIS文字列のコメント。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MML">MML</refext>
		</refexts>
	</soundformat>


	<soundformat>
		<name>MIODRV MML</name>
		<extensions>
			<extension>MML</extension>
		</extensions>
		<type>MMLテキストデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2212</device>
			<device if="MSX-MIDI/只MIDI/DualMIDI/へろへろ５号/JoySERIAL">MIDI</device>
		</devices>
		<checker>不明。</checker>
		<titlereaders>
			<titlereader>"#TITLE "直後から#$0A終端のSJIS文字列。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MUSIC">MIO</refext>
		</refexts>
		<appendix>ASCIIツクールMMLと同じ拡張子。拡張子MMLは他にもFM-TOWNS系の音源ドライバのMML等によく用いられるので注意。</appendix>
	</soundformat>


	<soundformat>
		<name>APiDRV</name>
		<extensions>
			<extension>MD?</extension>
		</extensions>
		<type>マルチトラック型シーケンスデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2212</device>
			<device>turboR-PCM</device>
			<device if="MSX-MIDI/MIDI-IF#3">MIDI</device>
		</devices>
		<checker>($0000)から"APiDRV MSXtR ",#$0D,#$0A,#$1A。</checker>
		<titlereaders>
			<titlereader>(($0020).w)から#$00終端のSJIS文字列のタイトル。</titlereader>
			<titlereader>(($0022).w)から#$00終端のSJIS文字列の作曲者。</titlereader>
			<titlereader>(($0024).w)から#$00終端のSJIS文字列の制作者。</titlereader>
			<titlereader>(($0026).w)から#$00終端のSJIS文字列の使用MIDI音源名。</titlereader>
			<titlereader>(($0028).w)から#$00終端のSJIS文字列のPDNファイル名。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MML">MS?</refext>
			<refext relation="TONEBANK">PDN</refext>
		</refexts>
		<appendix>NAGDRVとほぼ互換。最大8チャンネルのPCMを同時出力可能。MDC(MCDRV)やMDP(MicrosoftDeveloperStudioProjectFile)やMDR(MADRV)やMDT(MUCOM等)やMDX(MXDRV)やMDZ(ZepharやZippedModule)等と衝突するので拡張子はあてにしない方がよい。</appendix>
	</soundformat>


	<soundformat>
		<name>APiDRV MML</name>
		<extensions>
			<extension>MS?</extension>
		</extensions>
		<type>MMLテキストデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>SCC-I2212</device>
			<device>turboR-PCM</device>
			<device if="MSX-MIDI/MIDI-IF#3">MIDI</device>
		</devices>
		<checker>不明。</checker>
		<titlereaders>
			<titlereader>"#title "直後から#$0A終端のSJIS文字列。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MUSIC">MD?</refext>
			<refext relation="TONEBANK">PDN</refext>
		</refexts>
		<appendix>MS4(MSDRV4)やMSD(MuSICA)やMSV(MusicSerVer)やMSX(MSX-DiskImage)等と衝突するので拡張子はあてにしない方がよい。</appendix>
	</soundformat>


	<soundformat>
		<name>OPLLdriver</name>
		<extensions>
			<extension>OPX</extension>
		</extensions>
		<type>マルチトラック型シーケンスデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
		</devices>
		<checker>($0035)から#$0D,#$0A、($006C)から#$0D,#$0A、($007B)から#$0D,#$0A,#$1A。</checker>
		<titlereaders>
			<titlereader>($0000)から#$1A終端のSJIS文字列。1行目が曲名(53文字固定)。2行目がメモ(53文字固定)。3行目がユーザー管理コード(13文字固定)。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MML">BAS</refext>
		</refexts>
	</soundformat>


	<soundformat>
		<name>MSX FM-BIOS</name>
		<extensions>
			<extension>BGM</extension>
			<extension>BIN</extension>
		</extensions>
		<type>マルチトラック型シーケンスデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>YM2413</device>
		</devices>
		<checker>($0000)が#$FEのBLOAD形式。さらにファイルサイズが8+(($0003).wle-($0001).wle).wleで確認可能。($0007)から#$0E,#$00(FM6音＋リズムモード)もしくは#$12,#$00(FM9音モード)。</checker>
		<titlereaders>
			<titlereader>タイトルなし。</titlereader>
		</titlereaders>
		<appendix>繰り返しが全体のみ。一応MSX-MUSICの標準形式だが使いものにならない。MuSICA系でも拡張子BGMが使われるが($0007)で判別可能。</appendix>
	</soundformat>


	<soundformat>
		<name>MSX-MUSIC拡張BASIC</name>
		<extensions>
			<extension>FM</extension>
		</extensions>
		<type>BASICプログラム</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
		</devices>
		<checker>($0000)が#$FFのMSX-BASICバイナリ形式。さらに"_MUSIC"をサーチするとよい。</checker>
		<titlereaders>
			<titlereader>タイトルなし。</titlereader>
		</titlereaders>
		<appendix>ある意味MSXの標準形式。</appendix>
	</soundformat>


	<soundformat>
		<name>TELNET/WOLFTEAM driver</name>
		<extensions>
			<extension>0B</extension>
		</extensions>
		<type>マルチトラック型シーケンスデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
		</devices>
		<checker>($0000)が#$00(PSG)もしくは#$01(MSX-MUSIC)。($0001)が#$42。さらにファイルサイズが($0002).wleで確認可能。</checker>
		<titlereaders>
			<titlereader>($0006)から$10バイトの固定長。</titlereader>
		</titlereaders>
		<appendix>単純に複数ファイルが連結されている場合がある。</appendix>
	</soundformat>


	<soundformat>
		<name>MOON BLASTER</name>
		<extensions>
			<extension>MBM</extension>
		</extensions>
		<type>パターン型シーケンスデータ</type>
		<platform>MSX</platform>
		<devices>
			<device if="DRUM only">AY-3-8910</device>
			<device>YM2413</device>
			<device>Y8950</device>
		</devices>
		<checker>不明</checker>
		<titlereaders>
			<titlereader>($00CF)から$28バイトの固定長。MSX8bitコードだが、ASCIIコードと考えた方が無難。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="TONEBANK">MBK</refext>
		</refexts>
		<appendix>MODのように(MAKOの方が近い？)パターンを並べる構造。MSX-MUSICとMSX-AUDIOによる疑似ステレオ。</appendix>
	</soundformat>


	<soundformat>
		<name>MOON BLASTER SAMPLE KIT</name>
		<extensions>
			<extension>MBK</extension>
		</extensions>
		<type>Y8950ADPCM波形データセット</type>
		<platform>MSX</platform>
		<devices>
			<device>Y8950</device>
		</devices>
		<checker>サイズが$8038もしくは$8080(CP/Mレコードサイズ)で固定。($0000)から#$00,#$00、($0036)から#$FF,#$1Fの場合が多いが違う可能性もある。</checker>
		<titlereaders>
			<titlereader>タイトルなし。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MUSIC">MBM</refext>
			<refext relation="SAMPLE">MBS</refext>
		</refexts>
		<appendix>先頭$38バイトがアドレステーブル。次の$8000バイトがRAW-ADPCMDATA。</appendix>
	</soundformat>


	<soundformat>
		<name>MOON BLASTER SAMPLE</name>
		<extensions>
			<extension>MBS</extension>
		</extensions>
		<type>Y8950ADPCM波形データ</type>
		<platform>MSX</platform>
		<devices>
			<device>Y8950</device>
		</devices>
		<checker>不明</checker>
		<titlereaders>
			<titlereader>不明</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="TONEBANK">MBK</refext>
		</refexts>
		<appendix>単体の波形データ。再生には用いない。詳細は不明。</appendix>
	</soundformat>


	<soundformat>
		<name>MSX-YM</name>
		<extensions>
			<extension>MYM</extension>
		</extensions>
		<type>AY-3-8910レジスタログ</type>
		<platform>MSX</platform>
		<devices>
			<device>AY-3-8910</device>
		</devices>
		<checker>展開後のサイズで一応確認可能。</checker>
		<titlereaders>
			<titlereader>タイトルなし。</titlereader>
		</titlereaders>
		<appendix>圧縮したleonardYM形式。MAME-YM形式と同じ拡張子。MAME-YM形式は($0000)から"MYM"なので一応判別可能。</appendix>
	</soundformat>


	<soundformat>
		<name>SCC MUSIXX</name>
		<extensions>
			<extension>SNG</extension>
		</extensions>
		<type>パターン型シーケンスデータ</type>
		<platform>MSX</platform>
		<devices>
			<device>SCC-I2212</device>
		</devices>
		<checker>総パターン数から得られるサイズで一応確認可能。</checker>
		<titlereaders>
			<titlereader>タイトルなし。</titlereader>
		</titlereaders>
		<appendix>MODのようにパターンを並べる構造。SingerSongWriter形式と同じ拡張子。</appendix>
	</soundformat>


	<soundformat>
		<name>KSS(Konami Scc Sound?)</name>
		<extensions>
			<extension>KSS</extension>
		</extensions>
		<type>VMメモリイメージ</type>
		<platform>Win32</platform>
		<devices>
			<device>AY-3-8910</device>
			<device>YM2413</device>
			<device>Y8950</device>
			<device>SCC-I2212</device>
			<device>SCC-I2312</device>
			<device>SN76496</device>
		</devices>
		<checker>($0000)から"KSCC"もしくは"KSSX"</checker>
		<titlereaders>
			<titlereader>タイトルなし。</titlereader>
		</titlereaders>
	</soundformat>


	<soundformat>
		<name>NAGDRV pcm data</name>
		<extensions>
			<extension>PDN</extension>
		</extensions>
		<type>OKI ADPCM波形データセット</type>
		<platform>X68k</platform>
		<devices>
			<device>M6258</device>
		</devices>
		<checker>($0000)から"nagdrv-pdn",#$1A,#$00。</checker>
		<titlereaders>
			<titlereader>タイトルなし。</titlereader>
		</titlereaders>
		<refexts>
			<refext relation="MUSIC">NAG</refext>
			<refext relation="MUSIC">MD?</refext>
			<refext relation="MML">MS?</refext>
		</refexts>
		<appendix>NAGDRVの他にMSXのAPiDRVでも用いられる。</appendix>
	</soundformat>



</soundformatlist>
