dosrw.c

来自「一种文件系统的结构」· C语言 代码 · 共 107 行

C
107
字号
#include "..\define.h"
#include "..\all.h"

U8	DOS_AppendWrite_LogicSector(U32 tdw_LogicSectorAddr,U32 tdw_WriteSectorNumber);
U8	DOS_Kernel_Read_LogicSector(U32 tdw_LogicSectorAddr, U32 tdw_ReadSectorNumber);
U8	DOS_Read_LogicSector(U32 tdw_LogicSectorAddr, U32 tdw_ReadSectorNumber);
U8	DOS_Write_LogicSector(U32 tdw_LogicSectorAddr,U32 tdw_WriteSectorNumber);


U8 DOS_AppendWrite_LogicSector(U32 tdw_LogicSectorAddr,U32 tdw_WriteSectorNumber)
{
	U8	tc_Status = 0;

	switch(gc_CurrentCard)
	{
		case 2:
        case 3:
            tc_Status = SD_Write_LogicSector(tdw_LogicSectorAddr,tdw_WriteSectorNumber);
			break;

		case 5:
			tc_Status = HOST_Write_Logicsector(tdw_LogicSectorAddr,tdw_WriteSectorNumber);
			break;

		default:
			break;
	}

	return tc_Status;
}

//-------------------------------------------------------------------------------
U8 DOS_Kernel_Read_LogicSector(U32 tdw_LogicSectorAddr, U32 tdw_ReadSectorNumber)
{
	U8	tc_Status = 0;

	switch(gc_CurrentCard)
	{
		case 2:
        case 3:
            tc_Status = SD_Read_LogicSector(tdw_LogicSectorAddr,tdw_ReadSectorNumber);
			break;

		case 5:
            tc_Status = HOST_Read_Logicsector(tdw_LogicSectorAddr);
			break;

		default:
			break;
	}

	return tc_Status;
}
//-------------------------------------------------------------------------------
U8 DOS_Read_LogicSector(U32 tdw_LogicSectorAddr, U32 tdw_ReadSectorNumber)
{
	U8	tc_Status = 0;
	U8  tc_ReadWriteDataArea;
	
	tc_ReadWriteDataArea = gc_ReadWriteDataArea;

	Data_To_DSP_InReadSector();//if playing and DSP need data, transfer data to DSP fisrt
	gc_ReadWriteDataArea = tc_ReadWriteDataArea;

	switch(gc_CurrentCard)
	{
		case 2:
        case 3:
            tc_Status = SD_Read_LogicSector(tdw_LogicSectorAddr,tdw_ReadSectorNumber);		
			break;

		case 5:
            tc_Status = HOST_Read_Logicsector(tdw_LogicSectorAddr);
			break;

		default:
			break;
	}

	return tc_Status;
}
//-------------------------------------------------------------------------------
U8 DOS_Write_LogicSector(U32 tdw_LogicSectorAddr,U32 tdw_WriteSectorNumber)
{
	U8	tc_Status = 0;

	switch(gc_CurrentCard)
	{
		case 2:
        case 3:
            tc_Status = SD_Write_LogicSector(tdw_LogicSectorAddr,tdw_WriteSectorNumber);
			break;

		case 5:
			tc_Status = HOST_Write_Logicsector(tdw_LogicSectorAddr,tdw_WriteSectorNumber);
			break;

		default:
			break;
	}

	return tc_Status;
} 



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?