rem: static s32 __card_freeblock(u32 chn,u16 block,cardcallback callback)
add: static s32 __card_freeblock(s32 chn,u16 block,cardcallback callback)
context: static s32 __card_freeblock(u32 chn,u16 block,cardcallback callback){	u16 next = 0xffff,prev = 0xffff;	card_block *card = NULL;	struct card_bat *fatblock = NULL;#ifdef _CARD_DEBUG	printf("__card_freeblock(%d,%d,%p)\n",chn,block,callback);#endif	if(chn<EXI_CHANNEL_0 || chn>=EXI_CHANNEL_2) return CARD_ERROR_NOCARD;	card = &cardmap[chn];	if(!card->attached) return CARD_ERROR_NOCARD;		fatblock = __card_getbatblock(card);	next = fatblock->fat[block-CARD_SYSAREA];	while(1) {		if(next==0xffff) break;		if(next<CARD_SYSAREA || next>=card->blocks) return CARD_ERROR_BROKEN;		// Get the file's next block and clear the previous one from the fat		prev = next;		next = fatblock->fat[prev-CARD_SYSAREA];		fatblock->fat[prev-CARD_SYSAREA] = 0;		fatblock->freeblocks++;	}	return __card_updatefat(chn,fatblock,callback);}