/*---------------------------------------------------------------------------* Project: Dolphin File: create-8icon.c Copyright 1998, 1999, 2000 Nintendo. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo Company Ltd., and are protected by Federal copyright law. They may not be disclosed to third parties or copied or duplicated in any form, in whole or in part, without the prior written consent of Nintendo. $Log: create-8icon.c,v $ Revision 1.2 02/20/2006 04:13:08 mitu changed include path from dolphin/ to revolution/. Revision 1.1 01/31/2006 10:48:30 mitu (none) 2 7/02/01 11:32a Dante Removed second CreateFile because of bug. It was possible to create two files within the same second, hence with the same name. 1 6/19/01 12:57p Hosogai Initial check-in $NoKeywords: $ *---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------* create-8icon A simple program that creates a memory card file with 8 icons *---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------* Header files *---------------------------------------------------------------------------*/ #include #include #include #include #include "create-8icon.h" /*---------------------------------------------------------------------------* Forward references *---------------------------------------------------------------------------*/ void main(); static u32 MountCard( s32 chan ); static void CreateFile(s32 chan, u32 secSize, u32 blockSize, u32 format); static void UnmountCard( s32 chan ); static void LoadIconC8 ( void* buffer, CARDStat* stat ); static void LoadIconRGB5A3( void* buffer, CARDStat* stat ); static void DetachCallback( void ); static void AttachCallback( void ); static void NewFileName( char* fileName ); static void PrintResult(s32 result); /*---------------------------------------------------------------------------* Global data *---------------------------------------------------------------------------*/ u8 WRAM[CARD_WORKAREA_SIZE] ATTRIBUTE_ALIGN(32); /*---------------------------------------------------------------------------* Application main *---------------------------------------------------------------------------*/ void main() { u32 sectorSize; DEMOInit(NULL); CARDInit(); sectorSize = MountCard(CARD_CHAN); CreateFile(CARD_CHAN, sectorSize, FILE_BLOCK_SIZE, CARD_STAT_ICON_C8); UnmountCard(CARD_CHAN); OSReport("End of program\n"); } /*---------------------------------------------------------------------------* Name: LoadIconC8 Description: Loads a C8 icon and information into memcard file Arguments: file TPL file name with C8 data buffer memcard data buffer stat CARDStat for file Returns: none *---------------------------------------------------------------------------*/ static void LoadIconC8( void* buffer, CARDStat* stat ) { static CARDHeaderC8 HeaderC8 ATTRIBUTE_ALIGN(32)= { "Greensburg Heiho\n", "8 icons (C8) sample\n", 0, 0 }; static TPLPalettePtr tplIcons; static TPLDescriptorPtr tdpIcons; static u32 i; // Load the TPL file TPLGetPalette(&tplIcons, "/carddemo/heihoC8.tpl"); // Copy the Texel and CLUT to the structure for (i=0; itextureHeader->data, ICON_CI_SIZE); } memcpy(HeaderC8.CLUT, tdpIcons->CLUTHeader->data, CLUT_SIZE); CARDSetCommentAddress(stat, 0); CARDSetIconAddress (stat, CARD_COMMENT_SIZE); CARDSetBannerFormat (stat, CARD_STAT_BANNER_NONE); // <<== No banner CARDSetIconAnim (stat, CARD_STAT_ANIM_LOOP); for (i=0; itextureHeader->data, ICON_RGB5A3_SIZE); } CARDSetCommentAddress(stat, 0); CARDSetIconAddress (stat, CARD_COMMENT_SIZE); CARDSetBannerFormat (stat, CARD_STAT_BANNER_NONE); // <<== No banner CARDSetIconAnim (stat, CARD_STAT_ANIM_LOOP); for (i=0; i