rem: static s32 __card_updatedir(u32 chn,cardcallback callback)
add: static s32 __card_updatedir(s32 chn,cardcallback callback)
context: static s32 __card_updatedir(u32 chn,cardcallback callback){	card_block *card = NULL;	void *dirblock = NULL;	struct card_dircntrl *dircntrl = NULL;#ifdef _CARD_DEBUG	printf("__card_updatedir(%d,%p)\n",chn,callback);#endif	if(chn<EXI_CHANNEL_0 || chn>=EXI_CHANNEL_2) return CARD_ERROR_FATAL_ERROR;	card = &cardmap[chn];	if(!card->attached) return CARD_ERROR_NOCARD;		dirblock = __card_getdirblock(card);	dircntrl = dirblock+8128;	++dircntrl->updated;	__card_checksum((u16*)dirblock,0x1ffc,&dircntrl->chksum1,&dircntrl->chksum2);	DCStoreRange(dirblock,0x2000);	card->card_erase_cb = callback;		return __card_sectorerase(chn,(((u32)dirblock-(u32)card->workarea)>>13)*card->sector_size,__card_direrasecallback);}