主にMSX関係のコンテンツが置いてあります。

データの構造

コナミドライバの興味深かった点はデータの形式が大きく分けて3種類あったことでした。

音名音長形式

一番MMLに近いデータ形式です。

音名で周波数を指定でき、ビブラートやエンベロープなどを組み合わせて掛けることができます。

一方で中途半端な周波数などは指定困難でハードウェアエンベロープも使用できません。

直接指定形式

音量と周波数を直接指定します。SEに向いたデータ形式です。

音長で長さを制御するというより、クロック値で長さを制御します。

音長指定直接変化形式

音名音長形式で直接指定形式をくるんだような形式です。

長さは音名音長形式を使い、ビブラートやエンベロープのような規定の変化ではなくSEのような自由な音の変化にしたい場合の形式です。

PSGドラム用途が主になっています(一部SCCもあり)。

規定のデータがテーブルに組み込まれていてそれを選択する形です。

この3種類のデータは音符などの、発音を伴うデータとなります。

これとは別に、オクターブを指定したり音量を指定したりというような操作を行う、コマンドデータがあります。

こういったデータは、データのサイズと処理速度が相反することが多いです。

処理速度を上げたい場合、データが大きくなりがちですし、データサイズを小さくすると処理に時間が掛かったりします。

コナミのドライバはデータサイズ優先になっているように感じました。

圧縮など特殊な処理は無いようですが、データ構造だけで上手くサイズが小さくなるように考えられています。