/* ソート用ゲーム名称 */
extern Uint8 game_name[];
/* アイコンパレットデータ */
extern Uint16 icon_palette[];
/* アイコンピクセルデータ */
extern Uint8 icon_data[];
/* ビジュアルデータ */
extern Uint8 visual_data[];
/* アプリケーションセーブデータ */
extern Uint8 save_data[];
Sint32 nblock1, nblock2;
void* buf;
/* メモリーカードファイルヘッダ */
BUS_BACKUPFILEHEADER hdr;
memset(&hdr, 0, sizeof(hdr));
/* ビジュアルメモリコメントの設定 */
strcpy(hdr.vms_comment, "VMS_COMMENT");
/* BootROMコメントの設定 */
strcpy(hdr.btr_comment, "BOOT ROM全角コメント");
/* ゲーム名(ソートアイテム)の設定 */
memcpy(hdr.game_name, game_name, 16);
/* アイコンパレットデータの設定 */
hdr.icon_palette = icon_palette;
/* アイコンピクセルデータの設定 */
hdr.icon_data = icon_data;
/* アイコン枚数の設定 */
hdr.icon_num = 1;
/* アイコンスピードの設定 */
hdr.icon_speed = 1;
/* ビジュアルコメントの設定 */
hdr.visual_data = visual_data;
/* ビジュアルタイプの設定 */
hdr.visual_type = BUD_VISUALTYPE_C;
/* アプリケーションセーブデータ */
hdr.save_data = save_data;
/* アプリケーションセーブデータサイズ */
hdr.save_size = 0x400;
nblock = buCalcBackupFileSize(hdr.icon_num,
hdr.visual_type, hdr.save_size);
/* 使用ブロック数×512バイトを確保する */
buf = syMalloc(nblock * 512);
if (buf == NULL) {
/* メモリが確保できない */
return NG;
}
nblock = buMakeBackupFileImage(buf, &hdr);
if (nblock < 0) {
/* 構造体に不正なパラメータがある */
return NG;
}