#include "defines.h"
#include "acdata.h"
#include "FAT32.h"
#include "ascsi.h"
#include <error.h>

#define	DEBUG	0
#if DEBUG
#include <stdio.h>
#endif

int CluWrite(FILE32 *fp,unlong fat)
// １クラスター書き出し(FAT対応)<-fp.buff
// return : =0:ok , !=0:error
{
int ret;
unlong sec;
	// ＦＡＴ→セクター変換
	sec=fp->secdata+((fat-fp->fatroot)*fp->clu1sec); // FAT番号からセクター番号に変換する
	#if DEBUG
	printf("ID=%d/FAT:%08x->Sec:%08x\n",fp->scsiid,fat,sec);
	#endif
	// １クラスタ分一気書き込み
	#if DEBUG
	printf("SecWrite:sector=$%x(%d),id=%d,blksz=%d\n",sec,fp->clu1sec,fp->scsiid,fp->blksz);
	#endif
//	ret=0;
	ret=S_SecWrite(sec++,(long)fp->clu1sec,fp->scsiid,fp->blksz,fp->buff);
	if (ret) fp->error=ENODEV;
	return(ret);
}
