English
HARDWARE ManualVDP2ユーザーズマニュアル第3章 RAM
戻る進む
VDP2ユーザーズマニュアル/第3章 RAM/■3.3 表示期間中のVRAMアクセス方法

 ●CPUによるリード/ライトアクセス

 画面表示期間中にCPUによるVRAMへのリード/ライトアクセスを行う場合は、そのタイミングをVRAMサイクルパターンレジスタに設定しなければいけません。VDP2は、CPUによるVRAMアクセスが要求された場合、CPUリード/ライトアクセスに指定されたタイミングになるまで待ち、そのタイミングにのみアクセスを許可します。CPUによるリード/ライトアクセスが要求されなかった場合には、指定されたタイミングになってもVRAMに対して何も行いません。また、CPUによるアクセスがリードアクセスの場合には、リードできる

までCPUにウェイトサイクルが挿入されますが、ライトアクセスの場合には、2ワードのライトアクセス2回までであればウェイトサイクルは挿入されません。
 CPUによるVRAMアクセスは、VRAM-AへのアクセスまたはVRAM-Bへのアクセスという単位でしか指定できず、バンク単位では指定できません。
 2分割しないVRAMに対してCPUによるVRAMアクセスを指定する場合には、アクセスを行うタイミングのVRAMサイクルパターンレジスタに、CPUリード/ライトのアクセスコマンドを指定してください。このときに、CPUリード/ライトのアクセスコマンドのかわりに、アクセスしないというアクセスコマンドを指定しても同じになります。また、画面表示イネーブルレジスタにおいて、表示しないように設定された画面用のアクセスコマンド(パターンネームデータリード、キャラクタパターンデータリードまたはビットマップパターンデータリード)が設定されいる場合も、CPUリード/ライトアクセスになります。画面表示イネーブルレジスタについては、「4.1 画面表示制御」を参照してください。
 2分割しないVRAMの全てのアクセスタイミングに、CPUリード/ライトまたはアクセスしないというアクセスコマンドを指定すると、CPUによるアクセスは画面表示期間中いつでも可能になります。これを利用して、一方のVRAMを補助用のワークRAMとして使用することができます。また、絵の表示に使用するVRAMをフレームバッファのように切り替えることで、絵を高速に書き換えながら表示することもできます。
 例えば、VRAM-Aを2バンクに分割しない場合に、T2とT4にCPUリード/ライトアクセスを行う場合のVRAMサイクルパターンレジスタの指定は図3.6のようになります。

図3.6 VRAMを2バンクに分割しない場合のCPUリード/ライトアクセス 指定例

 2分割するVRAMに対してCPUリード/ライトアクセスを設定する場合には、アクセスを行うタイミングの、バンク0用とバンク1用両方のVRAMサイクルパターンレジスタに、CPUリード/ライトのアクセスコマンドを設定しなければいけません。さらに、CPUリード/ライトのアクセスコマンドを設定するタイミングの1つ前のタイミングのバンク0用とバンク1用両方のレジスタには、アクセスしないというアクセスコマンドを必ず指定しなければいけません。ただし、CPUリード/ライトアクセスを連続したタイミングに指定する場合には、その連続したアクセスの先頭になるタイミングの1つ前のタイミングにのみ指定するだけでかまいません。

 例えば、VRAM-Bを2分割する場合に、T4とT5に連続したCPUリード/ライトアクセスを行う場合のVRAMサイクルパターンレジスタの指定は、図3.7のようになります。

図3.7 VRAMを2バンクに分割する場合のCPUリード/ライトアクセス指定例


戻る進む
HARDWARE Manual VDP2ユーザーズマニュアル第3章 RAM
Copyright SEGA ENTERPRISES, LTD., 1997