EXCEEDの同人ソフト開発日記という名の備忘録

趣味のゲームソフト開発人。プロなのかアマなのかは不明(不定)らしい。

任天堂のソフトはいつも予定通りに出てこないって言われるけど、
ソフト作りっていうのは、そういうもの。
ゲームソフトは、期限までにやれと言われて、徹夜したり死に物狂いでやったからといって、
期待通りのものにはならない。そういうふうにすると、
結局、チームは妥協しなければならなくなる。
妥協させられて、できたものは、粗くなってしまう。
ユーザーは目が肥えていますから、受け付けてもらえない

山内 薄

http://www.geocities.co.jp/SiliconValley-Bay/8572/chiia/index.htm

神の実験4日目

毎日見てますとも・・・

神の実験6日目

以下、昔の駄文。



あと、質疑応答の時にちょっとだけ触れたのですが、やりたかったけど、出来なかったこととして、 ステレオボーカルというのがありましたので、それについての詳細をご説明しましょう。去年の「ほいっぷる」では、H-SYNC 割り込みを使って、サウンドのチャンネル2をボイスモードにして、8ビットのリニアPCMデータを送り込んで、ボーカル(モノラル)を再現していましたが、今回は、4チャンネルすべてを使用して、PCMのストリーミング再生を試みるというものです。考え方としては、1&2チャンネルを左パン用、3&4チャンネルを右パン用として再生します。

例として、左パン(だけ)を取って再生原理を解説すると、



 チャンネル1の波形を、sound_set_wave コマンドで定義
  →チャンネル2の停止を確認し、チャンネル1を鳴らす
   →チャンネル2の波形を、sound_set_wave を使って準備する。
    →チャンネル1が鳴り終わったら、チャンネル2を鳴らす
     →最初に戻る


を繰り返して、左右独立したPCMデータを再生するというワケです。
ただし、問題点として、



 ・再生中は負担が大きいため、事実上、他の処理は一切できない
 ・ハード的に、波形再生終了割り込みが発生しないので、
  H-SYNC 割り込みを使用して、単位周期(1 H-SYNC ≒ 11850Hz )を
  基に逆算した終了時間で、再生終了を知る必要があるため、
  プチノイズがかなり乗ってしまう(に、ちがいない)
 ・精度が、4Bit PCM になるので、更なる音質劣化は避けられない



が想定されますね。
実は、このステレオボーカルで、ご褒美グラフィックの時に童謡の輪唱とかしたら、どうかなぁ・・・とか思っていたワケでして・・・

神は実証くださった・・・・。



ちなみに、PCMボイスモードでストリーミング再生する場合でも、
2ライン間隔が限界でした・・・(ここでいうなって・・・)