【68000】メガドライブ用ソフト開発 3本目【Z80】 (343レス)
上下前次1-新
293(1): 2021/03/07(日)10:48 ID:tAk1A3iM(1/2) AAS
>>292
音量と音程を変えられるのは変換テーブルを持ってるからで、
全ての音程、音量ごとに巨大なPCMデータを抱えてるVGM/XGMとは話が違うよ。
4チャンネル合成するところが同じだけ。
さらにVGM/XGMはループも展開したログだから極端に大きいし、
ドラムみたいな各曲共通のPCMデータもそれぞれの曲データに内包される。
それを同じ扱いにするのは乱暴すぎますよ。
294(1): 2021/03/07(日)20:44 ID:wt5rd6RR(2/2) AAS
>>293
それだと今度はゲームで使うには処理が重くなるからゲーム内容が限定されてしまうんじゃないかと。
確かに優秀なドライバでメガドライブに可能性を見せてくれてはいるんだけど。
多分その方は自分の知ってる方なんだけど、サイズの他に処理の事にも言及していたんじゃないかな。
ダライアスのBGMを担当していて、そのプログラマとの連携もしてるから、
処理に重さについても恐らくが話を聞いてると思う。
そのプログラマはファンタジーゾーンの処理落ちで色々苦戦していたし。
295: 2021/03/07(日)21:10 ID:tAk1A3iM(2/2) AAS
>>294
もちろん処理負荷とROM容量のバランスです。
同じ人だと思うけど、PCM2チャンネル程度でPCMダメと言うのはどうかという話であって、
PCM4チャンネルで常用できると主張したいわけではないです。
MDダライアス、ファンタジーゾーンのプログラマさんもまだ伸び代のある人で、
今の彼の腕がメガドライブの限界ではない事も留意しなければならないと思います。
実際、現役時代のメガドライブでPCM複数チャンネルのBGMを鳴らしてたゲームがあるのですから。
296: 2021/03/08(月)06:53 ID:bzbjuJwI(1/3) AAS
ゲームによってはそのPCM処理が重荷になる事があるってだけ。
297(1): 2021/03/08(月)14:29 ID:TfpUFlHa(1/2) AAS
メガドラのスタークルーザーはZ80だけでPCM3声を音階可変させてた
重いポリゴンゲームで出来てるんだから要はプログラマーの能力次第よ
PCM1、2声くらいで重荷とかねーわ
298(1): 2021/03/08(月)19:52 ID:bzbjuJwI(2/3) AAS
>>297
Z80を使えば68Kの負荷は減らせるけど、PCMデータがROMにある時点でそれなりの負荷がかかるよ。
MDの仕様上、DMAを使いつつPCMを鳴らす事を考えるとPCMデータをZ80のRAMにコピーする必要がある。
このコピーの間は68Kを止めるしかないから。
299(1): 2021/03/08(月)21:17 ID:TfpUFlHa(2/2) AAS
>>298
Z80で音階を可変させてたって話な
例えばドラムとベース音1つをZ80RAMに全部入れられれば
Z80内でベースの音階を可変、ドラムと合成してPCM2声出せる
バッファリングはそうだけどそれを行ったからってゲームにならないとは思ってないでしょ?
300: 2021/03/08(月)23:51 ID:bzbjuJwI(3/3) AAS
>>299
Z80のRAMが8KBしかないから多分入らないだろうな。
綺麗に鳴らすという事を諦めれば難しい事じゃないけど。
301: 2021/03/09(火)18:34 ID:L0twUk5V(1) AAS
スタークルーザーは音質悪いけど、PCM3つ分がZ80メモリに収まってるのかな?
302(1): 2021/03/09(火)20:53 ID:U8nWCEzl(1) AAS
エミュでZ80のワークRAMを覗いてみたけど、プログラムは0000h-055Fhまでの1375バイトまでしか使ってなかった。
XGM/VGMはPCMの再生音質を向上させてるから負荷の掛かり方は違うと思う。
MDPLAYERでの再生だけど、歌がこのレベルで再生できるから。
Twitterリンク:CadonSnd
Twitterリンク:5chan_nel (5ch newer account)
303(1): 2021/03/10(水)20:21 ID:mWdZcNvT(1) AAS
>>302
そのワークRAMはスタークルーザーのこと?
304(1): 2021/03/11(木)06:49 ID:9uYD/Nb8(1) AAS
>>303
そそ。メガドライブはZ80から68Kのメモリ空間を
32KB単位のバンク切り替えで8000h-FFFFhに呼び出す機能が有り
PCMデータはそこから読み取る方法も有るんだけど、
これだとDMA動作中はZ80を停止させる必要があるからノイジーになってしまう。
ただ、このエミュだとワークRAMだけしか覗けないからZ80がどこを参照していたのかは不明。
XGM/VGMはDMA動作中でもPCM再生を止めないようにする為に
PCMデータをワークRAMにコピーしてる。
305(1): 2021/03/12(金)05:55 ID:DCXo/04Z(1) AAS
>>304
ありがとう
68000バスをアクセスしなかったらDMA中でもZ80を使えるとか、色々あってややこしいね
306: 2021/03/12(金)07:00 ID:43VSY1U8(1) AAS
>>305
PCMを使うって事が当たり前になってくるとその辺りの問題がかなり大きくなってくるね。
PCMを使わなければ素直なんだけど。
307: 2021/03/18(木)00:08 ID:AM7MC1Vr(1) AAS
すごいね
メガドライブは神だったんだね!
308: 2021/04/19(月)20:32 ID:e85EbGkc(1) AAS
元ppz8の人のメガドラ用音源ドライバー、MDZはPCMの音質がいいな
それでいてPCMの音程、音量が変更できる
頑張ればPCM複数音で音程変更できそうとの事
自作ドライバーで多重PCMで音程、音量が変更できるは今のところAMPSだけかな?
309: 2021/04/20(火)17:01 ID:OBeH7A+z(1) AAS
音量だけ変更可ならmdsdrvがあるね
サンプリングレートが最大17kHzくらいで2PCM
最近のgui版で3PCMになったのかな?
海外勢はPCMのノウハウがあってうらやましい
310: 2021/04/21(水)19:44 ID:g9EcErKn(1) AAS
ゲーム用のドライバじゃなくサウンド再生に全振りすれば結構遊べる気がしないでもない。
PCMの波形を68Kに演算させてZ80に再生を任せるとか。
ゲーム用ドライバとしてだと音質確保するには結構トリッキーなことしないとダメだから手間がかかるね。
311: 2021/04/21(水)22:37 ID:zT9jAvwF(1) AAS
サウンド全振りならPCM16で音程・音量可変なんてのも出来るかもね。
Stephane氏のBad Apple!!みたいなソフトウェアADPCMも可能性のひとつ。
あれは全画面アニメーションもこなしながらだけど、それであれだけ鳴らせる。
312: 2021/04/22(木)07:17 ID:s7TxCbgP(1) AAS
XDMだとDMAでROMが読めない期間のデータを予めZ80にワークRAMに貯めこんでるみたいだった。
313: 2021/04/22(木)17:11 ID:2cW9+ZFI(1) AAS
トイストーリーもそのやり方だね
どうするかを考えると、そこにたどり着くんだろうな
314: 2021/04/24(土)11:57 ID:jBGZYZdh(1) AAS
DECOのサイドポケット、68Kのクロックアップしてると音量が狂ったりするから
PCMはZ80がやってるけどBGMのFM音源への書き込みは68Kがやってるみたいだな。
315(1): 2021/04/24(土)17:37 ID:AR17d8Ow(1) AAS
音程じゃなくて音量が狂うの?
316(1): 2021/04/25(日)08:19 ID:Tv3lE4J3(1/2) AAS
>>315
多分音色変更時のレジスタ書き込みに失敗してるんだと思う。
FM音源の書き込みウェイトをBUSYフラグを使わずにクロック計算してトラック処理をしたりしてるんだろうな。
MDのクロックアップは68Kに入るクロックだけを変更してるから
FM音源やZ80へのクロックは3.58MHzのままだから音程に影響は出ないし。
68KのクロックはVDPが作り出しているんだけど通常のクロックとは別に
V_BLANK中のみ10MHzでそれ以外の期間は13MHzを出す特殊なクロックが有ってそれを利用してる。
317(1): 2021/04/25(日)17:35 ID:Se9t6w8+(1) AAS
>>316
へー、面白いな
クロックもいろいろ拾えるんだね
>BUSYフラグを使わずにクロック計算してトラック処理
Hidecadeさんが作ったドライバがビジー終了まで待つだけだったから重すぎて、
海外の人から「そんなに時間がかかるはずがない」と指摘されてたのを思い出した
318: 2021/04/25(日)21:33 ID:Tv3lE4J3(2/2) AAS
>>317
可変のクロックはMDのゲームの場合V_BLANKにパッドを読むゲームが多いのでかなり有効だよ。
13MHzではパッドの読み取りが失敗するけど10MHzでは間に合うから。
CPUは交換しないと多分だめだけど。
319(1): 2021/05/28(金)20:13 ID:1upEz1ps(1) AAS
小西さんがPCM2chに挑戦し始めたな
表現力が上がっていいよね
320: 2021/06/17(木)12:45 ID:s6aSXFgA(1) AAS
「虚数とか社会に出ていつ使うんだよ」にセガが回答 社内勉強会用の“ガチ数学”資料公開、ゲーム開発現場で使われていた
外部リンク[html]:nlab.itmedia.co.jp
321: 2021/06/20(日)09:56 ID:9epSrG2i(1) AAS
>>319
難しくなるのは実際にゲームに組み込んだ時なんだよな。
DMA動作時のPCM再生をどうするか。
322(1): 2021/06/22(火)22:26 ID:28+R8XdX(1) AAS
バッファリングをいかに上手くこなせるかだな
68000側もアセンブラで書くとCより楽
MAMEのIanさんがアドバイスくれてるし、やり遂げてほしい
TOY STORYを解析するのも勉強になる
上下前次1-新書関写板覧索設栞歴
あと 21 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.009s