- PCエンジンvsメガドライブ Part.3
854 :NAME OVER[sage]:2017/12/01(金) 08:35:08.98 ID:NygdmrSI0 - PCMを再生するだけでCPUがフリーズするMDの負けだな
|
- PCエンジンvsメガドライブ Part.3
858 :NAME OVER[sage]:2017/12/01(金) 11:44:14.49 ID:NygdmrSI0 - 元コンパイルの開発者のつぶやき
知ってる人は知っているが、メガドライブのサンプリングはすべからくダミ声だ。 主原因は、サンプリングデータの再生速度が不安定だから。 一定間隔で再生すべきデータが時々遅延するために波形がひずみ、ダミ声化する。 これは再生がソフトウエアだから、でもある。 ソフトウェア再生でも、再生速度が安定していれば音質は維持される。 PCエンジンは6992Hzのタイマ割り込みを使っているので、その速度で再生するぶんには割とキレイ。 メガドライブは、サンプリング再生に使えそうな割り込みをなぜか1つも持っていない。 FM音源にはちょうといい感じのタイマーもあったが、割り込みに入っていない。 なんか設計上の理由があったんだろうか。 ではどうするかというと、逆にサンプリング再生にCPUを100%使う。 幸いメガドラにはCPUが2つあるので、68000はゲームを担当、Z80がサンプリングと、分業すればいい。 しかも68000とZ80はうまいことバスを使い分ける前提でハードが設計されている。 だから本来、Z80はサンプリングに専念しても支障はないし、事実させる事が多い。 そうは問屋がおろさないのが68000側。実はバスを使い分ける前提で設計はされていたものの、 実際の実装では68000側のメモリ空間での特定の操作をする時だけは、Z80と衝突する可能性がある。 特定の操作ってのは、一部のアドレスへのアクセス、及びDMAの動作。 だから68000側は、それに抵触しそうな間だけは、Z80を強制停止せざるを得ない。 その期間はサンプリング再生が止まるので、長ければ長いほど波形が歪み、どんどんダミ声化していく。
|
- PCエンジンvsメガドライブ Part.3
863 :NAME OVER[sage]:2017/12/01(金) 13:47:11.77 ID:NygdmrSI0 - >>860
1UP時にBGM停止するのはコンパイルシューではファミコンやMSXの頃からやってた演出 MDのようにハードの仕様が糞でPCMを鳴らす度にBGMが全停止するのとはワケが違う
|
- PCエンジンvsメガドライブ Part.3
872 :NAME OVER[sage]:2017/12/01(金) 20:35:43.58 ID:NygdmrSI0 - >>871
MDはPCMを再生するにあたってBGMを全停止するか、FM音源を1音犠牲にするか この選択肢しかないからねえ MDでBGMが停止する場合はハードの仕様による妥協が大半だろうね
|