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