FC拡張音源:Namco106/163の高周波ノイズを研究
ファミコンの拡張音源の1つに、Namcoの106や163があります。これは、ch数が変えられる波形メモリ音源です。ch数は1~8の中から選択できるのですが、ch数を変えると周波数も変わってくるし、なんといってもch数が多いと音質が悪くなる上、高周波ノイズが出てしまうのです。
よーく調べたところ、こんな仕様になっていることが分かりました。
1:波形の指定は8が基準。

波形メモリのデータを全部0やFなどにした場合の波形出力。8chモードで1chのみ出力、他はすべて音量を0にした。これを見ると、8の時が一番ノイズが少ない。
また、音量を下げると、8に向かって縮んでいく。

波形データが全部0の場合。音量をいじるとこうなる。

波形データが全部Fの場合。さっきと正反対の出力になった。
つまり、小さい矩形波を波形として指定する時、「0000444400004444」と「8888CCCC8888CCCC」では、高周波ノイズの強さに違いが出るということです。
2:サウンド出力は、1chずつ出力される。
おそらくこれが、高周波ノイズが出る最大の原因。

8chモード、波形は全部0、ボリュームは$47=7F $4F=7D $57=7B $5F=79 $67=77 $6F=75 $77=73 $7F=71

8chモード、波形は全部0、ボリュームは$47=71 $4F=73 $57=75 $5F=77 $67=79 $6F=7B $77=7D $7F=7F
なんと、のこぎり波が逆向きになりました。 1chずつ出力されないと、こんな波形にならないはずです。
とはいえ、高周波なので三角波に近くなってるし、変にひずんでるのは何でだろう…
8chモード、波形は全部0、ボリュームは全部7Fだと、まったくノイズが出ません。
8chモード、波形は全部F、ボリュームは全部7Fでも、まったくノイズが出ません。
8chモード、波形は全部0、ボリュームは全部78でも、まったくノイズが出ません。
8chモード、波形は全部0、ボリュームは全部70でも、やっぱりノイズが出ません。
どうやら、8chモード時は、$40-47 → $48-4F → $50-57 → ・・・ → $78-7F → $40-47 → ・・・と処理して出力しているみたいです。
3chモードだと $68-6F → $70-77 → $78-7F → $68-6F → ・・・となるので、ch数によって周波数が変わるのも納得です。
よーく調べたところ、こんな仕様になっていることが分かりました。
1:波形の指定は8が基準。

波形メモリのデータを全部0やFなどにした場合の波形出力。8chモードで1chのみ出力、他はすべて音量を0にした。これを見ると、8の時が一番ノイズが少ない。
また、音量を下げると、8に向かって縮んでいく。

波形データが全部0の場合。音量をいじるとこうなる。

波形データが全部Fの場合。さっきと正反対の出力になった。
つまり、小さい矩形波を波形として指定する時、「0000444400004444」と「8888CCCC8888CCCC」では、高周波ノイズの強さに違いが出るということです。
2:サウンド出力は、1chずつ出力される。
おそらくこれが、高周波ノイズが出る最大の原因。

8chモード、波形は全部0、ボリュームは$47=7F $4F=7D $57=7B $5F=79 $67=77 $6F=75 $77=73 $7F=71

8chモード、波形は全部0、ボリュームは$47=71 $4F=73 $57=75 $5F=77 $67=79 $6F=7B $77=7D $7F=7F
なんと、のこぎり波が逆向きになりました。 1chずつ出力されないと、こんな波形にならないはずです。
とはいえ、高周波なので三角波に近くなってるし、変にひずんでるのは何でだろう…
8chモード、波形は全部0、ボリュームは全部7Fだと、まったくノイズが出ません。
8chモード、波形は全部F、ボリュームは全部7Fでも、まったくノイズが出ません。
8chモード、波形は全部0、ボリュームは全部78でも、まったくノイズが出ません。
8chモード、波形は全部0、ボリュームは全部70でも、やっぱりノイズが出ません。
どうやら、8chモード時は、$40-47 → $48-4F → $50-57 → ・・・ → $78-7F → $40-47 → ・・・と処理して出力しているみたいです。
3chモードだと $68-6F → $70-77 → $78-7F → $68-6F → ・・・となるので、ch数によって周波数が変わるのも納得です。
スポンサーサイト