Shinobiライブラリ - メモリーカード関数

buFormatDisk

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

書式

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

引数

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

戻値

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


用例

  Sint32 ret;
  BUS_TIME time;
  SYS_RTC_DATE rtc;
  Uint8 volume[32];
  Sint32 icon_no;
  syRtcGetDate( &rtc );
  time = ( BUS_TIME )rtc;  /* タイムスタンプの設定 */
  icon_no = 0; /* アイコン番号の設定 */
  /* ボディカラー青を設定する */
  memset(volume, 0, sizeof(volume));
  volume[0] = 0x01;  /* ボディカラー情報あり */
  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