[過去ログ] メガドライブvsPCE 18戦目 [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
426
(1): 2017/08/18(金)00:15 ID:EQXpAb+u(1/9) AAS
>>425
MDに則って話をしてくれる?

【RAMを増やしてROMのアクセス回数を減らしてROMの取り合いによるウェイトを無くそう】

ってお話ですけど、意味が通じてますかね?
428: 2017/08/18(金)00:22 ID:EQXpAb+u(2/9) AAS
あと、

【RAMを増やしてPCMデータを書き込みDMA動作中に68Kエリアを参照しない事で
 DMAによるバスリクエストを回避してPCMデータを正確なタイミングで送り音質改善しましょう】

ってお話よ?
430
(1): 2017/08/18(金)00:46 ID:EQXpAb+u(3/9) AAS
>>429
あのね、メガドライブって68KとZ80で【カートリッジを共用】してるのよ。
だから【ROMの取り合い】になる場合があるのね?
取り合いになった場合は先にアクセスした方が優先されて後からアクセスした方にはウェイトが掛かる。

だからZ80のワークRAMに書いておいて取り合いの回数を減らそうって言ってるんだけど?

【処理速度が上がる】んじゃなくて【処理低下を避ける】って意味よ?
【処理低下が避けられる】のなら【現在よりも】処理速度が上がるから上がるでも間違いではないけどさ。

というか、メガドライブの仕組み分かってる?
433
(2): 2017/08/18(金)01:18 ID:EQXpAb+u(4/9) AAS
>>431
だから、Z80のワークRAMを増やして予めROMの内容を多くコピーして
Z80のROMのアクセス回数を減らそうよって言ってるんだけど?

Z80のワークRAMって言ってるけど、実際にはプログラム領域でもあるのよ。
ワークRAMは0000h〜1FFFhに配置されていてZ80ではプログラム領域。

それと8000h〜FFFFhは68Kエリアのバンク用ウィンドウ。ここにROMを配置してアクセスする。
PCMデータもバンク切り替えで呼び出して使ってるのもがほとんど。

だからZ80がPCMデータを再生中はROMからデータを読み取ってる都合で
VDPがDMA転送を開始する前に68KがZ80に対してバスリクエストを掛けてる。
だからその間はPCMへのデータ転送が止まってしまうからPCM再生が不安定になってダミ声になるのよ。
437
(3): 2017/08/18(金)06:14 ID:EQXpAb+u(5/9) AAS
>>435
どうもbadappleの時の根拠もなしに否定するだけの人だったみたいだ。残念。

基本的にはZ80にバスリクエストを掛けて
68KからサウンドドライバとサウンドデータをZ80のワークRAMに書き込んで
リセットを掛けてバスリクエストを解除してZ80を再起動して後は放置。

サウンドデータに数曲放り込んで、必要に応じてZ80に曲やSEの番号を通知してその音を鳴らすって使い方。
一部ゲームでは68Kが暴走しても曲の再生が止まらないのは完全に独立したプログラムにしてるから。
PCMを使わずにFM音源とPSGで曲を再生する場合なら8KBでもかなり余裕はあると思う。

ただ後期になってくるとZ80をPCM専用で使ったり、FM音源はZ80、PSGは68Kみたいに分散させたりとメーカーによって様々。
ちなみにFM音源はZ80の管轄なんだけど、PSGはVDPに搭載されている都合で68Kの管轄。
省2
447
(1): 2017/08/18(金)18:43 ID:EQXpAb+u(6/9) AAS
>>440
実際にそういうゲームが有るから。何であり得ないと思ったのかな?
68KのワークRAMに画像データをぶち込むのも普通にやってる事だよ?
ROMの中に圧縮データを持っておいてワークRAMで展開してDMA転送しているとかね。
上に有るbadappleもその方法。じゃないと圧縮なんてできないでしょ。

他にはROMには通常の大きさのキャラだけを登録しておいて
ワークRAMに拡大したキャラクタを作ってそれをVRAMに送る事でスムーズな拡大処理をしているとか。

ソフトウェアの回転拡大縮小はワークRAM必須でしょ?

ROMを有効に使う為に空白部分を除いたキャラクタを登録しておいて
ワークRAMのなかでDMA転送に使うキャラクタとして組み立てて効率を上げるとかね。
448: 2017/08/18(金)18:51 ID:EQXpAb+u(7/9) AAS
>>442
そこなんだけど、仮にFM音源のINTを利用してPCM再生してたとしても
音声データがROMに有るからDMA優先で結局PCM再生が邪魔されちゃうんだよね。
その事も有ってINTは使ってなかったんじゃないかな?

MK3互換にする為にZ80のNMIはVDP、INTはPAUSEスイッチにしたからってのも有るとは思うけど。
449: 2017/08/18(金)19:06 ID:EQXpAb+u(8/9) AAS
>>443
https://en.wikipedia.org/wiki/List_of_color_palettes
そういう話だとこれが分かりやすいね。

同時発色数もある程度は意味があるんだろうけど、
ゲーム機の場合だと「1パレットで何色使えるか」の方が影響力は大きいね。

どんなにパレットが多くても1パレット15色だと8x8ドットでは15(+1)色に限定されてしまうから。

1パレットしかなくても256色のSFCの方が綺麗な画像が出せる。
453
(1): 2017/08/18(金)22:40 ID:EQXpAb+u(9/9) AAS
MEGADRIVE/GENESISの開発者向けマニュアルの英語版のWEB版
68K、Z80のメモリマップなんかもちゃんと乗ってる。
https://emu-docs.org/Genesis/sega2f.htm

68K側の$A00000〜$A0FFFFまでの64KBがZ80のメモリエリア。

Z80の8000h〜FFFFhまでの32KBが68Kのメモリエリアのウィンドウ。

このドキュメントの3/4位から「GENESIS SOUND SOFTWARE MANUAL」となっていてバンク切り替えの方法も書かれてる。
バンク切り替えで$000000〜$FFFFFFまでの全エリアが参照可能。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s