English
PROGRAMMER'S GUIDEストリームシステムライブラリ
戻る進む
ストリームシステムライブラリ

7.関数仕様-4


7.4 転送設定




Title

関数仕様

Function

転送領域の設定

Function Name

STM_SetTrBuf

No

4.1

 書 式
void STM_SetTrBuf(StmHn stm, void *buffer, Sint32 nunit,Sint32 unitsize)
 入 力
stm
:ストリームハンドル
buffer
:転送領域
nunit
:転送領域のサイズ(転送ユニット単位)
unitsize
:転送ユニットサイズ
 出 力
なし
 関数値
なし
 機 能
指定したストリームにデータ転送領域を設定します。

(1)転送ユニットサイズ
定数名
転送ユニットサイズ
STM_UNIT_FORM1
Mode1,Mode2 Form1セクタ長(2048バイト)
STM_UNIT_FORM2
Mode2,Form2セクタ長(2324バイト)
STM_UNIT_WORD
ワード単位(2バイト)
STM_UNIT_BYTE
バイト単位(1バイト)

 備 考

  1. デフォルトの転送モードは、CPUです。

  2. 転送関数が設定されている場合、転送関数を優先します。

  3. ソフトウェア転送、CPUのDMA転送の場合、転送領域はロングワード境界に配置してください。




Title

関数仕様

Function

転送関数の登録

Function Name

STM_SetTrFunc

No

4.2

 書 式
void STM_SetTrFunc(StmHn stm, StmTrFunc func, void *obj)
 入 力
stm
:ストリームハンドル
func
:転送関数(取り消す場合、STM_TR_NULLFUNC)
obj
:登録オブジェクト
 出 力
なし
 関数値
なし
 機 能
指定したストリームに対して、転送関数を登録します。
登録関数は、ストリームの転送処理時に呼び出されます。
 備 考

  1. 登録関数は、以下の形式です。
    Sint32 (*StmTrFunc)(void *obj, StmHn stm, Sint32 nsct)
    obj 
    :登録オブジェクト
    stm 
    :ストリームハンドル
    nsct
    :転送可能セクタ数

  2. 登録オブジェクトが登録関数の第1引き数に渡されます。

  3. 転送関数は、最大nsctセクタのデータを転送することができます。

  4. 関数値には、実際に転送したセクタ数を返します。
    DMAなどにより転送関数終了時点で転送中の場合は、(-1)を返す必要があります。




Title

関数仕様

Function

転送関数における転送開始

Function Name

STM_StartTrans

No

4.3

 書 式
Uint32 *STM_StartTrans(StmHn stm, Sint32 *dadr)
 入 力
stm :ストリームハンドル
 出 力
dadr:ロングワードワード転送するごとの転送元アドレスの変化分
 関数値
転送元アドレス
 機 能
転送関数においてデータの転送処理を開始します。

(1)転送元のアドレスの変化分(Uint32へのポインタ単位)
ファイルの種類
転送元アドレスの変化分の値
CD-ROMファイル
 0
メモリファイル、SCSIファイル
 1

 備 考
転送関数において、STM_SctToWord, STM_WordToSctを使用する場合は、本関数を実行する前に呼び出してください。
  例
volatile Uint32 *src;

src = STM_StartTrans(stm, &dadr);
for (i = 0; i < n; i++) {
	*dst = *src;
	src += dadr;
	dst++;



Title

関数仕様

Function

転送ゲートの開閉

Function Name

STM_SetTrGate

No

4.4

 書 式
void STM_SetTrGate(StmHn stm, Sint32 gate)
 入 力
stm 
:ストリームハンドル
gate
:転送ゲート状態
 出 力
なし
 関数値
なし
 機 能
指定したストリームの転送ゲートを開閉します。

(1)転送ゲート状態
定数名
転送ゲート状態
STM_GATE_OPEN
開いた状態
STM_GATE_CLOSE
閉じた状態

 備 考
デフォルトは、STM_GATE_OPENです。



Title

関数仕様

Function

最大転送セクタ数の設定

Function Name

STM_SetTrPara

No

4.5

 書 式
void STM_SetTrPara(StmHn stm, Sint32 tsct)
 入 力
stm
:ストリームハンドル
tsct
:最大転送セクタ数(読み込みセクタ数全ての場合、STM_TR_ALL)
 出 力
なし
 関数値
なし
 機 能
CDバッファ区画から転送領域に1度に転送する最大セクタ数を設定します。
 備 考

  1. CDバッファ区画に読み込んだデータを、このセクタ数以下に分割して転送します。

  2. デフォルトは、1セクタです。




Title

関数仕様

Function

転送開始FADの設定

Function Name

STM_SetTrFad

No

4.6

 書 式
void STM_SetTrFad(StmHn stm, Sint32 fad)
 入 力
stm
:ストリームハンドル
fad
:転送開始FAD
 出 力
なし
 関数値
なし
 機 能
CDバッファ区画にあるデータの転送を開始するFADを設定します。
 備 考
デフォルトは、STM_FAD_CDTOPです。



Title

関数仕様

Function

転送モードの設定

Function Name

STM_SetTrMode

No

4.7

 書 式
void STM_SetTrMode(StmHn stm, Sint32 tmode)
 入 力
stm
:ストリームハンドル
tmode
:転送モード
 出 力
なし
 関数値
なし
 機 能
CDバッファ区画から転送領域への転送方法を設定します。

(1)転送モード
定数名
転送方法
CPUに対する負荷
STM_TR_SCU
SCUのDMA
転送先がBバス上なら、CPUは完全に独立動作
STM_TR_SDMA0
CPUのDMAチャネル0
CPUの処理能力が落ちる
STM_TR_SDMA1
CPUのDMAチャネル1
CPUの処理能力が落ちる
STM_TR_CPU
ソフトウエア
CPUは占有されるが、割り込み処理は可能

 備 考
デフォルトは、STM_TR_CPUです。



Title

関数仕様

Function

転送領域のリセット

Function Name

STM_ResetTrBuf

No

4.8

 書 式
void STM_ResetTrBuf(StmHn stm)
 入 力
stm:ストリームハンドル
 出 力
なし
 関数値
なし
 機 能
転送先ポインタを初期化します。
 備 考
STM_SetTrBufにより別領域を指定し、転送領域を変更する事も可能です。

戻る進む
PROGRAMMER'S GUIDEストリームシステムライブラリ
Copyright SEGA ENTERPRISES, LTD., 1997