English
PROGRAMMER'S GUIDEDMAライブラリ
■   | 進む
DMAライブラリ

1.ガイド


1.1 目的

 DMAは、CPUの負担を減らすため、CPUに代わってデータの転送処理を行います。このライブラリでは、DMAの基本機能を提供します。

1.2 概要

 DMAは、CPUとSCUの2つのデバイスに用意されています。ライブラリは両方に対応しています。
 関数は、CPUとSCUのそれぞれについて高水準と低水準のライブラリを用意しました。

 高水準、低水準関数の内容を以下に説明します。

 CPUとSCUでの用途の主な違いを以下に説明します(詳しくはハードウェアマニュアルをご覧ください)。

1.3 使用上の注意

1.4 コーリングシーケンス

以下に、DMA転送のコーリングシーケンスを示します。

#define SCLA_CFRAME  ((void *)0x5e60000)   /* VDP2 VRAM スクロール係数アドレス   */
#define K_NUM     (424)                    /* スクロール係数データサイズ         */
Uint32 scl_k_data[512];                   /* ワークRAMのスクロール係数データ領域 */
...
void copyToData()
{
     DMA_ScuCopyMem(SCLA_CFRAME, scl_k_data, K_NUM);
                                           /*ワークRAMからVDP2 VRAMへデータ転送  */
     ...
     if(DMA_ScuResult() == DMA_SCU_BUSY){  /* DMA_ScuCopyMem()の終了チェック   */
     ...
     }
}


■   | 進む
PROGRAMMER'S GUIDEDMAライブラリ
Copyright SEGA ENTERPRISES, LTD., 1997