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

コマンド一覧

データ オフセット 内容
D0H - D5H +0 オクターブ設定
D0H=オクターブ値00H=o6
D1H=オクターブ値01H=o5
D2H=オクターブ値02H=o4
D3H=オクターブ値03H=o3
D4H=オクターブ値04H=o2
D5H=オクターブ値05H=o1
オクターブ値を(16H)[オクターブ値],
(+29H)[音長指定直接変化方式テーブル算出用オクターブ値]へ保存
データ オフセット 内容
D6H +0 ベンドアップ設定(低い周波数から目的の周波数へ上がる)
(+3CH)[ベンドフラグ]
b4[ベンド処理有効フラグ]=1
b6[ベンド処理中フラグ]=1
b7[ベンドアップダウンフラグ]=0
xx +1 ベンド増減値
(+39H)[ベンド増減値]に保存
xx +2 ベンドカウンタ値
(+3AH)[ベンドカウンタ],
(+3BH)[ベンドカウンタ元値]に保存
データ オフセット 内容
D7H +0 ベンドダウン設定(高い周波数から目的の周波数へ下がる)
(+3CH)[ベンドフラグ]
b4[ベンド処理有効フラグ]=1
b6[ベンド処理中フラグ]=1
b7[ベンドアップダウンフラグ]=1
xx +1 ベンド増減値
(+39H)[ベンド増減値]に保存
xx +2 ベンドカウンタ
(+3AH)[ベンドカウンタ]
(+3BH)[ベンドカウンタ元値]
データ オフセット 内容
D8H +0 ベンドオフ
(+3CH)[ベンドフラグ]上位4bitを0クリア
データ オフセット 内容
DBH +0 エンベロープ下限設定
xx +1 下限値
0-15
(+34H)[エンベロープ下限値]に保存
データ オフセット 内容
DCH +0 エンベロープ下限0設定
(+34H)[エンベロープ下限値]を0に
データ オフセット 内容
DDH +0 トレモロエンベロープ設定
xx +1 b0 - b3: 共通除数兼増減維持カウント
     
(+22H)[維持カウント値]に保存。1-15。
     
(0禁止。永久ループになる)
b4 - b6: (+21H)[タイプB維持カウント]に+1して保存。0-7。
     
b7: 開始エンベロープタイプ 0=タイプB 1=タイプA-0
xx +2 b0 - b3: 減算算出用被除数(整数部分)
b4 - b7: 加算算出用被除数(整数部分)
データ オフセット 内容
E0H +0 ノイズoff,トーンoff(直接指定形式の休符)
xx +1 クロック設定値
(+13H)[クロックカウンタ設定値]に保存
データ オフセット 内容
E1H +0 ノイズon,トーンoff
xx +1 クロック設定値
(+13H)[クロックカウンタ設定値]に保存
データ オフセット 内容
E2H +0 ノイズoff,トーンon
xx +1 クロック設定値
(+13H)[クロックカウンタ設定値]に保存
データ オフセット 内容
E3H +0 ノイズon,トーンon
xx +1 クロック設定値
(+13H)[クロックカウンタ設定値]に保存
データ オフセット 内容
E4H +0 ノイズ周波数設定
xx +1 ノイズ周波数値
0-31
PSG Ch.A/Bの場合(E29BH)に保存
PSG Ch.Cの場合(E29AH)に保存
(E29CH)[PSGフラグ]該当チャンネルの
ノイズ周波数書き込みフラグを1にし
完了フラグを0にする
データ オフセット 内容
E5H +0 ハードウェアエンベロープのセット
(+0DH)b3[音量書き込みスキップ]=0
(E29CH)b5[ハードウェアエンベロープパターン書き込みフラグ]=1
xx +1 ハードウェアエンベロープパターン
(E29DH)[PSGハードウェアエンベロープパターン]に保存
xx +2 ハードウェアエンベロープ周期上位
(E29FH)[ハードウェアエンベロープ周期上位]に保存
(E29CH)b6[ハードウェアエンベロープ周期上位書き込みフラグ]=1
xx +3 ハードウェアエンベロープ周期下位
(E29EH)[ハードウェアエンベロープ周期下位]に保存
(E29CH)b7[ハードウェアエンベロープ周期下位書き込みフラグ]=1
(+0DH)b2[ハードウェアエンベロープ使用フラグ]=1
データ オフセット 内容
E6H +0 ハードウェアエンベロープ周期のセット
xx +1 ハードウェアエンベロープ周期上位
(E29FH)[ハードウェアエンベロープ周期上位]に保存
(E29CH)b6[ハードウェアエンベロープ周期上位書き込みフラグ]=1
xx +2 ハードウェアエンベロープ周期下位
(E29EH)[ハードウェアエンベロープ周期下位]に保存
(E29CH)b7[ハードウェアエンベロープ周期下位書き込みフラグ]=1
データ オフセット 内容
E7H +0 ハードウェアエンベロープ周期下位のセット
xx +1 ハードウェアエンベロープ周期下位
(E29EH)[ハードウェアエンベロープ周期下位]に保存
(E29CH)b7[ハードウェアエンベロープ周期下位書き込みフラグ]=1
データ オフセット 内容
E8H +0 ハードウェアエンベロープoff
(E29CH)[PSGフラグ]を0に
(+0DH)b2[ハードウェアエンベロープ使用フラグ],
b3[音量書き込みスキップ]を0
データ オフセット 内容
E9H +0 基本音長設定
xx +1 基本音長値
(+14H)[基本音長]に保存
(+2CH)[音長カウンタ上位]を0に
データ オフセット 内容
EAH +0 音量設定
xx +1 音量値
上位4bit=0の時
(+15H)[マスターボリューム]に下位4bit保存
(+30H)b0[タイプA-1パラメータ設定フラグ]=0

上位4bit≠0の時
(+36H)[タイプA-1後半音量差分]に上位4bitを保存
(+30H)b0[タイプA-1パラメータ設定フラグ]=1
データ オフセット 内容
EBH +0 ボリュームエンベロープ設定
xx +1 b0 - b2: (+22H)[タイプC減算維持カウント/減算値]へ+1して保存.0-7
     
b3: どちらのタイプCを選択するか。0=スロー減衰 1=急峻減衰
b4 - b6: (+21H)[タイプB維持カウント]へ+1して保存.0-7
     
b7: 開始エンベロープタイプ 0=タイプB 1=タイプA-0
xx +2 b0 - b3: (+24H)[タイプD維持カウント] 0-15
b4 - b7: (+23H)[タイプC減算回数/タイプC維持カウント] 1-15
データ オフセット 内容
ECH +0 エンベロープオフ
(+0FH)下位4bitを0クリア
データ オフセット 内容
EDH +0 開始音量,減衰値,維持カウントの設定
xx +1 上位4bit=0の場合
(+30H)b0[タイプA-1パラメータ設定フラグ]=0
(+25H)[開始音量]に下位4bitを保存

上位4bit≠0の場合
(+30H)b0[タイプA-1パラメータ設定フラグ]=1
(+35H)[タイプA-1前半減衰値]に上位4bitを保存
(+25H)[タイプA前半維持カウント]に下位4bitを保存
データ オフセット 内容
EEH +0 デチューン設定
xx +1 デチューン値
(+26H)[デチューン値]へ保存
(+0EH)b1[デチューンフラグ]=1
データ オフセット 内容
EFH +0 デチューンオフ設定
(+0EH)b1[デチューンフラグ]=0
データ オフセット 内容
F0H +0 ビブラートオフ設定
(+0EH)
b0[音処理、直接式フラグ]=0
b2[ビブラートフラグ]=0
b3[ビブラート開始遅延フラグ]=0
b4[ビブラート揺らし中フラグ]=0
データ オフセット 内容
F1H +0 ビブラート設定
xx +1 上位4bit=速度(1-15),下位4bit=深さ(1-15)
(+0EH)
b2[ビブラートフラグ]=1
b4[ビブラート揺らし中フラグ]=1
(+1CH)[ビブラート深さ値]に下位4bit保存
(+1BH)[ビブラート速度カウント値]に上位4bit保存
データ オフセット 内容
F2H +0 ビブラート開始遅延設定
xx +1 遅延カウント値(0-255)
(+0EH)
b2[ビブラートフラグ]=1
b3[ビブラート開始遅延フラグ]=1
(+1AH)[ビブラート開始遅延カウント値]に保存
データ オフセット 内容
F3H +0 ビブラート開始遅延オフ
(+0EH)b3[ビブラート開始遅延フラグ]=0
データ オフセット 内容
F4H +0 音量分周比フォーマットを分周比下位のみにする
(+0EH)b6[直接指定フォーマット音量値無効フラグ]=1
データ オフセット 内容
F5H +0 音量分周比フォーマットを分周比下位なしにする
(+0EH)b5[直接指定フォーマット分周比下位無効フラグ]=1
データ オフセット 内容
F6H +0 音量分周比フォーマットを音量分周比(2バイト)にする
(+0EH)
b5[直接指定フォーマット分周比下位無効フラグ]=0
b6[直接指定フォーマット音量値無効フラグ]=0
データ オフセット 内容
F7H +0 ボリュームマイナスオフセット設定
xx +1 マイナス値
(+0EH)b7[音量減算フラグ]=1
(+2FH)[チャンネルボリューム減算値]に保存

この機能はSEの直接指定形式で、あるフレーズを音量を下げながら
エコーのように繰り返す用途で使用されていました
F7Hで音量を下げ、FAHでデータ呼び出しを繰り返す形です
データ オフセット 内容
F8H +0 波形転送設定
xx +1 波形番号
b7が0の場合
0-127の波形番号。
(+0FH)b7[波形転送フラグ]=1
(+0DH)b7[モーフィング初期化スキップフラグ],b6[モーフィングフラグ]=0
(+3CH)b3[用途不明未使用bit]=0
(+28H),(+27H)に波形データアドレスセット
データはここで終了

b7が1の場合
b6-b0がモーフィング開始波形番号
(+0FH)b7[波形転送フラグ]=1
(+0DH)b7[モーフィング初期化スキップフラグ],b6[モーフィングフラグ]=1
(+3CH)b3[用途不明未使用bit]=0
(+28H),(+27H)に波形データアドレスセット
xx +2 モーフィング増分加算値
b3-b0 増分増加値小数部
b5-b4 増分増加値整数部
(+32H)[モーフィング増分加算値]に増分加算値を保存
b7-b6 モーフィングモード選択ビット?(未使用)
モーフィングモード選択ビットを(+0DH)に反映
データ オフセット 内容
F9H +0 曲データ呼び出し(CALLに相当)
(+08H),(+09H)に新しい曲データアドレスがセットされる
xx +1 呼び出す曲データアドレス下位
xx +2 呼び出す曲データアドレス上位
データ オフセット 内容
FAH +0 曲データの復帰(RETに相当)
F9Hで呼び出した箇所に戻る
データ オフセット 内容
FBH +0 区間ループ
xx +1 区間ループ回数
(+05H)[区間ループカウンタ]がインクリメントされ区間ループ回数と比較される
異なるなら曲データアドレスを次の2バイトに変更し
同じであれば、(+05H)を0クリアし次のデータへ進む
xx +2 区間ループ先曲データアドレス下位
xx +3 区間ループ先曲データアドレス上位
データ オフセット 内容
FCH +0 区間ループ2
区間ループを包含する時の区間ループ。ループカウンタが別アドレスになる
xx +1 区間ループ2回数
(+06H)[区間ループ2カウンタ]がインクリメントされ区間ループ2回数と比較される
異なるなら曲データアドレスを次の2バイトに変更し
同じであれば、(+06H)を0クリアし次のデータへ進む
xx +2 区間ループ2,ループ先曲データアドレス下位
xx +3 区間ループ2,ループ先曲データアドレス上位
データ オフセット 内容
FDH +0 データアドレスジャンプ(曲ループ)
曲データアドレスを次の2バイトのものに入れ替える
xx +1 曲データアドレス下位
xx +2 曲データアドレス上位
データ オフセット 内容
FEH +0 曲データ形式設定
(+09H)[データフラグ]を設定する。データ形式の選択
xx +1 データフラグ値
(+09H)[データフラグ]にデータフラグ値を保存

(+09H)の値が音名音長形式から他の形式になったら
(+2AH)[音処理フラグコピー]を(+0EH)[音処理フラグ]へ、
(+2BH)[エンベロープフラグ1コピー]を(+0FH)[エンベロープフラグ1]へ復帰

(+09H)の値が他の形式から音名音長形式になった場合、
(+0EH)[音処理フラグ]を(+2AH)[音処理フラグコピー]へ、
(+0FH)[エンベロープフラグ1]を(+2BH)[エンベロープフラグ1コピー]へコピーし
(+0EH)[音処理フラグ],(+0FH)[エンベロープフラグ1]を0クリア
データ オフセット 内容
FFH +0 曲データ終了