FF3 表記アドレスはヘッダ抜きです(バイナリエディタで見る時はアドレスを随時+$10してください) $6E000と$70000から曲のアドレス (2種類音楽がある。どっちの種類の曲を出すかは音楽呼び出すルーチンで決めてるんじゃないかと予測) $6E000からの場合32 A0 7C A0 7C A0 D2 A1…とあるが これは$A032 $A07C $A1D2と見る。この値に$64000足したアドレスに曲のデータがある($70000の場合は+$66000する) この場合の最初の曲のアドレスは$6E032です。 曲のデータアドレスにaa AA bb BB cc CC dd DD ee EEとある。 AAaaは矩形派1のアドレス、BBbbは矩形派2のアドレス… 順に三角派、ノイズ、DPCMのアドレスとなっている。 当然これらにも$64000を足してください。 使わないチャンネルはFF FFとなっている。 ・命令表 音を出す処理 00〜BF…音程と音の長さを決める。上位ビットで音程、下位ビットで音の長さが決まる。 上位ビットは0でド、1でド#、2でレ、3でレ#……Bでシ、となる。 下位ビットはFで付点32分音符、Eで16分音符、Dで16分音符の3連符、Cで付点16分音符、Bで8分音符となる。 要するに音の長さを2倍にしたいときは数値を3減らせばよい。 C0〜CF…休符。下位ビットで無音の時間が決まる。時間は上記参照。 ノイズの場合 00〜0F…音の長さだけ決める。音はF9 FAだけで決める。2種類しかない。 ・音や曲を加工する処理。 E0…この後に続く数値で曲の速さ決める。 E1〜EE…曲の音量を決める。数値が大きいほど大きな音になる。 EF〜F4…オクターブの指定をする。数値が大きいほど高い音になる。 F5…音色+モジュレーション定義呼び出し? F7 XX YYと使う気がする。曲の初期設定に使う気がする。 F5,F6,F7で音色を使い分けている F6…音色+モジュレーション定義呼び出し? F7 XX YYと使う気がする。曲の初期設定に使う気がする。 F5,F6,F7で音色を使い分けている F7…音色+モジュレーション定義呼び出し? F7 XX YYと使う気がする。曲の初期設定に使う気がする。 F5,F6,F7で音色を使い分けている F8…よくわかりません^^ ピッチベンドに関する命令であることは確か。 F9,FA…ノイズの音色を変化させる。 FB、FC…指定した回数ジャンプする処理。FB XX (音を出す処理) FC YY ZZと作る。 XXでループする規定回数。FCの位置まで読み込んだ時にXXの値を1減らす。 XXが0でないとき$ZZYYの位置にジャンプする。主にループ命令で使用したりする。 FD…FD XX YYと使う。ループカウンタが残り1の時(FC命令でジャンプしない状態の時) $YYXXのアドレスにジャンプする。いわゆるコーダと同じ。 FE…指定するアドレスにジャンプする。FE XX YYとある場合は$YYXXのアドレスに移動する。 FF…曲終了 わからないこと ・モジュレーション定義関連全般 ・ピッチベンド関連 FF1 $34000から 8byteで1曲の各チャンネルのアドレスになってます。 UU VV WW XX YY ZZ 00 00となっていますが $VVUUで矩形波1 $XXWWで矩形波2 $ZZYY三角波のアドレスになっています。 $0000はたぶんノイズのアドレスなんだろうと思われます(実際ノイズはありませんが) バイナリエディタ上のアドレスは$2C000+$VVUU ・音符 音を出す処理 00〜BF…音程と音の長さを決める。上位ビットで音程、下位ビットで音の長さが決まる。 上位ビットは0でド、1でド#、2でレ、3でレ#……Bでシ、となる。 下位ビットは1で全音符、2で付点2分音符、3で2分音符、4で付点4分音符…となる。 要するに音の長さを2倍にしたいときは数値を2減らせばよい。 C0〜CF…休符。下位ビットで無音の時間が決まる。時間は上記参照。 D0…ジャンプ命令。D0 XX YYと使う。 $YYXXのアドレスにジャンプする。(バイナリエディタ上のアドレスは$2C000+$YYXX+$10) D1〜D7…ループ命令。DX YY ZZと使う。 Xの値の回数だけ$ZZYYのアドレスにジャンプする。 D8〜DF…音のオクターブ設定。数値が大きいほど高い音になる。 けど値がDD以上から挙動がおかしくなるような気がします。 E0〜F7…モジュレーション定義の気がします。 F0〜F7は設定されてない様子。使わないが吉。 F8…音の歯切れの良さ(クオンタイズ?) F8 XXと使う。XXの数値が大きいほど滑らかな音になる。 F9〜FE…各チャンネルの速さ。数値が大きいほど曲が速くなる。 当然全てのチャンネルを同じ値にしないと大惨事が起きる。 FF…曲終了。 調べてみてわかったFF1音楽の特徴 ・当然DPCMはない ・ノイズもない ・スラーも掛けられない ・3連符もない! ・音色変更もない!! ・容量少ねぇ…まあFC初期の作品だから仕方ないか