##### Shinobi Library - ペリフェラル・記録デバイス関数

# buFormatDisk

メモリーカードのフォーマット

### 書式

> `Sint32 buFormatDisk( drive, volume, icon, time, flag )
> Sint32 drive
> const Uint8 *volume
> Sint32 icon
> const BUS_TIME *time
> Uint32 flag
> `

### 引数

> drive | 拡張ソケットの番号
> volume | ボリュームデータ
> icon | アイコン番号(0〜123)
> time | タイムスタンプ
> flag | フォーマットフラグ

### 戻り値

> BUD_ERR_OK | 処理要求を受けつけた
> BUD_ERR_BUSY | 処理中のため要求を受けつけられなかった

### 解説

> メモリーカードをフォーマットします。

> 拡張ソケットの番号driveには次の値が指定できます。

> 定義 | 意味
> BUD_DRIVE_A1 | ポートAの拡張ソケット1
> BUD_DRIVE_A2 | ポートAの拡張ソケット2
> BUD_DRIVE_B1 | ポートBの拡張ソケット1
> BUD_DRIVE_B2 | ポートBの拡張ソケット2
> BUD_DRIVE_C1 | ポートCの拡張ソケット1
> BUD_DRIVE_C2 | ポートCの拡張ソケット2
> BUD_DRIVE_D1 | ポートDの拡張ソケット1
> BUD_DRIVE_D2 | ポートDの拡張ソケット2

> ボリュームデータvolumeは、ボディカラー情報を格納した領域へのポインタを指定します。 ボディカラー情報は32バイトの領域で、次のようになっています。

> ボディカラー情報を持たせる場合

> +0 | +1 | +2 | +3 | +4 | +5 | … | +31
> 01H | BLUE | GREEN | RED | ALPHA | 00H | … | 00H

> volume[ 0 ]には必ず'\x01'を格納してください。それ以外の値は禁止されています。

> BLUE,GREEN,REDにそれぞれ青、緑、赤の成分を0〜255の範囲で指定します。

> ALPHA(透明度)の値は128〜255の間で設定してください。 127以下の値は指定禁止です(BOOT ROMでの表示が見づらくなるため)。

> ボディカラーを持たせない場合全ての要素を00Hにしてください。 ボディカラー情報を持たせない場合、BOOT ROMのファイル管理画面では、 デフォルトカラー(白)が使用されます。

> フォーマットフラグflagには以下の値が指定できます。

> 定義 | 意味
> TRUE | 完全フォーマット
> FALSE | クイックフォーマット

### 用例

>     Sint32 ret;
>     BUS_TIME time;
>     SYS_RTC_DATE rtc;
>     Uint8 volume[32];
>     Sint32 icon_no;
>     syRtcGetDate( &rtc );

>     time = ( BUS_TIME )rtc; /* Set time stamp */
>     icon_no = 0; /* Set icon number */

>     /* Set body color to blue */
>     memset(volume, 0, sizeof(volume));
>     volume[0] = 0x01;  /* Body color information found */
>     volume[1] = 0xbf;  /* B */
>     volume[2] = 0x00;  /* G */
>     volume[3] = 0x00;  /* R */
>     volume[4] = 0xff;  /* A */
>     ret = buFormatDisk(BD_DRIVE_A1, volume, icon_no, &time, TRUE);
>     while (buStat(BUD_DRIVE_A1) == BUD_STAT_BUSY) {
>     }
>     if (buGetLastError(BUD_DRIVE_A1) != BUD_ERR_OK)
>     	return NG;
>     return OK;

### 備考

> buStat()関数によるこの関数の完了ステータスは以下のようになります。

> ステータス | 意味
> BUD_ERR_OK | 正常終了
> BUD_ERR_NO_DISK | メモリーカードがない

buFormatDisk

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000