KSR Sound driver version 050210 / MSX内蔵音源用音楽ドライバ

MSX内蔵音源(AY-3-8910相当)用ドライバです。
Windowsでのクロス開発ができます。2005年製です。古いw
メールにて数回リクエストを頂いたので、アップしてみました。

個人的にはMGSDRVを使った方がいいんじゃないかと思いますが…。
ご感想などはコメント欄もしくはTwitterまで。


KSR本体
ksr050210.zip

KSRコンパイラ
ksr_mckc01.zip
スポンサーサイト

FMPv4フォーマット解析

少し前にFMPv4のフォーマットを解析しまして、
コンパイラでも作ろうかと思ってましたが、そのまま放置してしまいまして。
折角なので公開しておきます。不明な部分も多々あり、ほとんどの部分が未検証なのですが、
何かの手助けになれば…って何のでしょうね?

今回の手法はFMCに適当なMMLを入力、得られたファイルをバイナリ解析しています。


OVI フォーマット解析

00 : IDの位置(W)
02 : トラックAの位置(W)
04 : トラックBの位置(W)
06 : トラックCの位置(W)
08 : トラックDの位置(W)
0A : トラックEの位置(W)
0C : トラックFの位置(W)
0E : トラックGの位置(W)
10 : トラックHの位置(W)
12 : トラックIの位置(W)
14 : トラックJの位置(W)
16 : トラックKの位置(W)
18 : 0xFF
2E : クロックカウント定義? ( DEF 0x80 )
2F : 0x02?
30 : トラックAの位置(W)
32 : 音色 ( 長さ : 0x19 ) * 音色数

4B : トラックAデータ
nn : トラックK
nn : 0x00000000 (L)
nn : 0x00000080 (L)
nn : 0x00000080 (L)
nn : DOS 形式日付 (W)
nn : DOS 形式時刻 (W)
0xBF4D 23:58:26
0x0028 00:01:16


nn : 0x00 (L)
nn : 0x00 (L)
nn : 0x00 (L)
nn : 0x00 (L)
nn : $ - 0x10へのポインタ?
nn : MAGIC ID

コマンド
93
????(TRK K用?)

COMMAND
71 nn
音色選択

COMMAND
74
トラック終了

COMMAND
72 nn
音長

COMMAND
69
音量

COMMAND
E1
休符

もっとも多い長さ指定に割り当てることでデータを圧縮できる
音長無し音階:
80-8B : o1 c-b
8C-97 : o2 c-b

音長付き音階:
00-0B nn : o1 c-b
0C-17 nn : o2 c-b


MAGIC ID
0 : "FMCI"+0x00




プリセット音色は音色データとして埋め込まれるんですね。

音長指定無しで圧縮が出来たりするのもなかなか面白いなと思います。

プロフィール

Author:BouKiCHi
ABOUT ME
MAIL:alf_byncyou at hotmail.com

WEB:http://clogging.web.fc2.com/
TWITTER:@bkc_alf

月別アーカイブ

FC2カウンター

ブロとも申請フォーム

ブログ内検索