# DSP_LoadGraphics

## 構文

    BOOL DSP_LoadGraphics(FSFile *file, int slotB, int slotC);

## 引数

file | グラフィックスコンポーネントのファイル。 あらかじめROMに収録しておいた$TwlSDK/dspcomponents/graphics/graphics.aのファイルイメージを開くか、 `DSP_OpenStaticComponentGraphics()` で用意する必要があります。 ファイルはこの関数内でのみ使用されますので、呼び出し後にファイルを保持しておく必要はありません。
slotB | DSPのコードメモリのために使用してもよいWRAM-Bのスロットを示すビット集合。 たとえばスロット4,5,6をDSPのために用意しているなら(1<<4)|(1<<5)|(1<<6)=0x70を指定します。
slotC | DSPのコードメモリのために使用してもよいWRAM-Cのスロットを示すビット集合。 たとえばスロット4,5,6をDSPのために用意しているなら(1<<4)|(1<<5)|(1<<6)=0x70を指定します。

## 返り値

グラフィックスコンポーネントが正しくDSPへロードされればTRUEを返します。
WRAM-BおよびWRAM-Cの空きスロット数が不足してロードに失敗した場合はFALSEを返します。

## 説明

画像データの拡縮、色空間の変換をサポートするコンポーネントをDSPへロードします。
この関数を呼び出すことによって以下の関数群が利用可能になります。

`
- DSP_ConvertYuvToRgb()
- DSP_Scaling()
- DSP_ScalingEx()
- DSP_ScalingAsync()
- DSP_ScalingAsyncEx()
`

ロード時に、必要なだけのWRAM-BおよびWRAM-Cをライブラリ内部で自動的に確保されます。
必要なWRAM-BおよびWRAM-Cのスロット数は、それぞれ以下のマクロで定義されています。

- DSP_SLOT_B_COMPONENT_GRAPHICS
- DSP_SLOT_C_COMPONENT_GRAPHICS

グラフィックスコンポーネントが不要になれば `DSP_UnloadGraphics()` を使用してアンロードすることができます。

## 注意

- 指定するコンポーネントファイルは、使用しているSDKのライブラリに収録されているものを必ずご使用下さい。 互いのバージョンが異なる場合、動作は保証されません。

## 参照

`DSP_OpenStaticComponentGraphics, DSP_UnloadGraphics, DSP_ConvertYuvToRgb, DSP_ConvertYuvToRgbAsync,
DSP_Scaling, DSP_ScalingEx, DSP_ScalingAsync, DSP_ScalingAsyncEx`

## 履歴

2008/06/13 コンポーネントのロードに必要なWRAMスロット数の定義を追記
2008/05/22 初版