亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? function.c

?? 這個是好記星608的AP源代碼,他的主要是是GUI,還有對字典的操作
?? C
?? 第 1 頁 / 共 2 頁
字號:

#define __OS_SOURCE_FILE__

#ifndef _WIN32

#include "Kernel.h"
#include "SCL.h"
#include "RbcCmd.h"
#include "HAL.h"

#define SWAP2(x)   ((((x) & 0xFF) << 8) | (((x) >> 8) & 0xFF))

#ifdef C33
	unsigned SWAP4(unsigned x) // should use the "swap" instructure.
	{
		return x;
	}
#else
	#define SWAP4(x)   ((((x) & 0xFF) << 24) | ((((x) >> 8) & 0xFF) << 16) \
				   | ((((x) >> 16) & 0xFF)<< 8)| (((x) >> 24) & 0xFF))
#endif 

const STD_INQUIRYDATA InquiryData =
{
    0x00,	// SBC_DEVICE, :5
    0,		//INT8 Reserved0 : 3;
	
    0,		//INT8 Reserved1 : 7;
    0,		//INT8 RemovableMedia : 1;

    0,		//INT8 Reserved2;

    0,		//INT8 Reserved3 : 5;
    0,		//INT8 NormACA : 1;
    0,		//INT8 Obsolete0 : 1;
    0,		//INT8 AERC : 1;

    //INT8 Reserved4[3];
    0x20,
    0,
    0,
    
    0,		//INT8 SoftReset : 1;
    0,		//INT8 CommandQueue : 1;
	0,		//INT8 Reserved5 : 1;
	0,		//INT8 LinkedCommands : 1;
	0,		//INT8 Synchronous : 1;
	0,		//INT8 Wide16Bit : 1;
	0,		//INT8 Wide32Bit : 1;
	0,		//INT8 RelativeAddressing : 1;

    //INT8 VendorId[8];
    {
        'M', 'E', 'I', 'J',
        'I', 'N', ' ', ' '
    },

	//INT8 ProductId[16];
    {
        ' ',' ',' ',' ',
    	' ',' ',' ',' ',
    	' ',' ',' ',' ',
    	' ',' ',' ',' '
    },

	//INT8 ProductRevisionLevel[4];
    {
        '0','.','0','0'
    }
};

//const REQUEST_SENSE_DATA   Req_SenseData=
REQUEST_SENSE_DATA   Req_SenseData;
/*
{

     0x70,		// INT8 ResponseCode : 7;
	 1,			// INT8 Valid : 1;

	 0,			// INT8 SegmentNum;

	 0x0,		// INT8 SenseKey : 4; 5= illegal request
	 0,			// INT8 Reserved0 : 1;
	 0,			// INT8 WrongLenIndicator : 1;
	 0,			// INT8 EndofMedium : 1;
	 0,			// INT8 FileMark : 1;

	 0,			// INT8 Info_0;
	 0,			// INT8 Info_1;
	 0,			// INT8 Info_2;
	 0,			// INT8 Info_3;

	0x0b,		// INT8 AdditionalSenseLen;

	0,			// INT8 CommandSpecInfo_0;
	0,			// INT8 CommandSpecInfo_1;
	0,			// INT8 CommandSpecInfo_2;
	0,			// INT8 CommandSpecInfo_3;

	0x28,		// INT8 ASC;
	0,			// INT8 ASCQ;
	0,			// INT8 FieldReplacableUnitCode;
	0,			// INT8 SenseKeySpec_0 : 7;
	0,			// INT8 SenseKeySpecValid : 1;
	0,			// INT8 SenseKeySpec_1;
	0			// INT8 SenseKeySpec_2;
};
*/
const BYTE UnknownCommand[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0xf4, 0x00, 0x02, 0x00, 
0x02, 0x00, 0x00, 0x01, 0xf4, 0x00, 0x00, 0x00, 0x02, 0x00};
/*const BYTE UnknownCommand[] = 
{
0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,
0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,
0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,
0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,
0xd9,0xd9,0xdf,0xd9,0xd9,0xd9,0xdf,0xd9,0xd9,0xd9,0xdf,0xd9,0xd9,0xd9,0xdf,0xd9,
0xd9,0xd9,0xdf,0xd9,0xd9,0xd9,0xdf,0xd9,0xd9,0xd9,0xdf,0xd9,0xd9,0xd9,0xdf,0xd9,
0xd9,0xd9,0xdf,0xd9,0xd9,0xd9,0xdf,0xd9,0xd9,0xd9,0xdf,0xd9,0xd9,0xd9,0xdf,0xd9,
0xd9,0xd9,0xdf,0xd9,0xd9,0xd9,0xdf,0xd9,0xd9,0xd9,0xdf,0xd9,0xd9,0xd9,0xdf,0xd9,
0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,
0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,
0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,
0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xee,0xff,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};*/
//BYTE ModeSenseData[] = {0x03, 0x00, 0x80, 0x00};
const BYTE ModeSenseData[] = {0x3a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 
0x00, 0x02, 0x00, 0x01, 0x0a, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 
0x05, 0x1e, 0x0f, 0xa0, 0x08, 0x20, 0x02, 0x00, 0x01, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00};
// INQUIRY command

extern UINT32 g_BufferSize;


MS_STATUS cmd_iqChkCmd(void)
{
//	NU_Printf("INQUIRY - Check command\n\r");
	return GOOD;
}

MS_STATUS cmd_iqBuildResponse(void)
{
#ifdef	SYS_UPDATE
//	const static char ret[]={0x00,0x80,0x00,0x00,0x20,0x00,0x00,0x00,0x47,0x65,0x6e,0x65,0x73,0x79,
//		0x73,0x20,0x53,0x54,0x4f,0x52,0x41,0x47,0x45,0x20,
//		0x44,0x45,0x56,0x49,0x43,0x45,0x20,0x20,0x30,0x31};
	BOL_BulkIn(sizeof(InquiryData), (UINT8*)InquiryData);
	*g_pdwResidue = g_dwXansfer - sizeof(ret);
#else
	BOL_BulkIn(sizeof(InquiryData), (BYTE *)&InquiryData);
	*g_pdwResidue = g_dwXansfer - sizeof(InquiryData);
#endif
        Req_SenseData.SenseKey = 0;
        Req_SenseData.ASC = 0;
        Req_SenseData.ASCQ = 0;
	return GOOD;
}

MS_STATUS cmd_readChkCmd(void)
{
	//NU_Printf("READ - Check command\n\r");
	return GOOD;
}

const static UINT8 tmpBuf[] = {
	0xEB,0x3C,0x90,0x4D,0x53,0x44,0x4F,0x53,0x35,0x2E,0x30,0x00,0x02,0x01,0x08,0x00,
	0x02,0x00,0x02,0x18,0x06,0xF8,0xF8,0x00,0x3F,0x00,0xFF,0x00,0x23,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x29,0xE9,0xCA,0x65,0x60,0x4E,0x4F,0x20,0x4E,0x41,
	0x4D,0x45,0x20,0x20,0x20,0x20,0x46,0x41,0x54,0x31,0x36,0x20,0x20,0x20,0x33,0xC9,
	0x8E,0xD1,0xBC,0xF0,0x7B,0x8E,0xD9,0xB8,0x00,0x20,0x8E,0xC0,0xFC,0xBD,0x00,0x7C,
	0x38,0x4E,0x24,0x7D,0x24,0x8B,0xC1,0x99,0xE8,0x3C,0x01,0x72,0x1C,0x83,0xEB,0x3A,
	0x66,0xA1,0x1C,0x7C,0x26,0x66,0x3B,0x07,0x26,0x8A,0x57,0xFC,0x75,0x06,0x80,0xCA,
	0x02,0x88,0x56,0x02,0x80,0xC3,0x10,0x73,0xEB,0x33,0xC9,0x8A,0x46,0x10,0x98,0xF7,
	0x66,0x16,0x03,0x46,0x1C,0x13,0x56,0x1E,0x03,0x46,0x0E,0x13,0xD1,0x8B,0x76,0x11,
	0x60,0x89,0x46,0xFC,0x89,0x56,0xFE,0xB8,0x20,0x00,0xF7,0xE6,0x8B,0x5E,0x0B,0x03,
	0xC3,0x48,0xF7,0xF3,0x01,0x46,0xFC,0x11,0x4E,0xFE,0x61,0xBF,0x00,0x00,0xE8,0xE6,
	0x00,0x72,0x39,0x26,0x38,0x2D,0x74,0x17,0x60,0xB1,0x0B,0xBE,0xA1,0x7D,0xF3,0xA6,
	0x61,0x74,0x32,0x4E,0x74,0x09,0x83,0xC7,0x20,0x3B,0xFB,0x72,0xE6,0xEB,0xDC,0xA0,
	0xFB,0x7D,0xB4,0x7D,0x8B,0xF0,0xAC,0x98,0x40,0x74,0x0C,0x48,0x74,0x13,0xB4,0x0E,
	0xBB,0x07,0x00,0xCD,0x10,0xEB,0xEF,0xA0,0xFD,0x7D,0xEB,0xE6,0xA0,0xFC,0x7D,0xEB,
	0xE1,0xCD,0x16,0xCD,0x19,0x26,0x8B,0x55,0x1A,0x52,0xB0,0x01,0xBB,0x00,0x00,0xE8,
	0x3B,0x00,0x72,0xE8,0x5B,0x8A,0x56,0x24,0xBE,0x0B,0x7C,0x8B,0xFC,0xC7,0x46,0xF0,
	0x3D,0x7D,0xC7,0x46,0xF4,0x29,0x7D,0x8C,0xD9,0x89,0x4E,0xF2,0x89,0x4E,0xF6,0xC6,
	0x06,0x96,0x7D,0xCB,0xEA,0x03,0x00,0x00,0x20,0x0F,0xB6,0xC8,0x66,0x8B,0x46,0xF8,
	0x66,0x03,0x46,0x1C,0x66,0x8B,0xD0,0x66,0xC1,0xEA,0x10,0xEB,0x5E,0x0F,0xB6,0xC8,
	0x4A,0x4A,0x8A,0x46,0x0D,0x32,0xE4,0xF7,0xE2,0x03,0x46,0xFC,0x13,0x56,0xFE,0xEB,
	0x4A,0x52,0x50,0x06,0x53,0x6A,0x01,0x6A,0x10,0x91,0x8B,0x46,0x18,0x96,0x92,0x33,
	0xD2,0xF7,0xF6,0x91,0xF7,0xF6,0x42,0x87,0xCA,0xF7,0x76,0x1A,0x8A,0xF2,0x8A,0xE8,
	0xC0,0xCC,0x02,0x0A,0xCC,0xB8,0x01,0x02,0x80,0x7E,0x02,0x0E,0x75,0x04,0xB4,0x42,
	0x8B,0xF4,0x8A,0x56,0x24,0xCD,0x13,0x61,0x61,0x72,0x0B,0x40,0x75,0x01,0x42,0x03,
	0x5E,0x0B,0x49,0x75,0x06,0xF8,0xC3,0x41,0xBB,0x00,0x00,0x60,0x66,0x6A,0x00,0xEB,
	0xB0,0x4E,0x54,0x4C,0x44,0x52,0x20,0x20,0x20,0x20,0x20,0x20,0x0D,0x0A,0x4E,0x54,
	0x4C,0x44,0x52,0x20,0x69,0x73,0x20,0x6D,0x69,0x73,0x73,0x69,0x6E,0x67,0xFF,0x0D,
	0x0A,0x44,0x69,0x73,0x6B,0x20,0x65,0x72,0x72,0x6F,0x72,0xFF,0x0D,0x0A,0x50,0x72,
	0x65,0x73,0x73,0x20,0x61,0x6E,0x79,0x20,0x6B,0x65,0x79,0x20,0x74,0x6F,0x20,0x72,
	0x65,0x73,0x74,0x61,0x72,0x74,0x0D,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAC,0xBF,0xCC,0x55,0xAA,
};

#define SECTOR_SUM(disksize)	(disksize/0x200+0x218)

MS_STATUS cmd_readBuildResponse(void)
{
//	READ10_CMD ReadCmd;
	UINT32 dwBlock, dwCount;	//, LBA_Addr;
	UINT16 wBlocks, i, BlockLen, wOffset;
	MFlashInfo FlashInfo;
	
//	ReadCmd.dwLBA = READ_DWORD(g_pCDB + 2);
//	ReadCmd.wBlockNum = READ_WORD(g_pCDB + 7);
#ifdef  SYS_UPDATE
	UINT16	tmpIndex;
	dwBlock = SWAP4(READ_DWORD(g_pCDB + 2));
	wBlocks = SWAP2(READ_DWORD(g_pCDB + 7));

	wOffset = (UINT16)( g_BufferSize / 512);

	for (i=0; i<wBlocks; i += wOffset)
	{
		UINT32 unReadBlockNum;
		UINT32 dwSend;
	
		unReadBlockNum = wBlocks - i;
		if(unReadBlockNum > wOffset)
			unReadBlockNum = wOffset;
		if(0 == dwBlock)	
		{
#ifdef _BOARD
            UINT16 uSize = SECTOR_SUM(0xE0000);
#endif
#ifdef  __ED106__
            UINT16 uSize = SECTOR_SUM(0xF0000);
#endif
			
			memcpy(g_pData, tmpBuf, sizeof(tmpBuf));
			g_pData[0x13] = uSize & 0xFF;
			g_pData[0x14] = (uSize >> 8) & 0xFF;
			dwCount = unReadBlockNum * 512;
		}
		if(0 != dwBlock)
		{
			memset(g_pData,0,1024);
			dwCount = unReadBlockNum * 512;
		}
	
		dwSend = BOL_BulkIn(dwCount, g_pData);
		*g_pdwResidue -= dwSend;
		if (dwSend != dwCount)
		{
			return CHECK_CONDITION;
		}
	}
	
#else
	FlashIoCtrl(NULL, FLASH_COMMAND_GETINFO, &FlashInfo);	//取得塊大小和塊數
//	LBA_Addr = FlashInfo.uPageSum - 1;
	BlockLen = FlashInfo.uPageSize;
	
	*g_pdwResidue = g_dwXansfer;
	
	dwBlock = SWAP4(READ_DWORD(g_pCDB + 2));
	wBlocks = SWAP2(READ_DWORD(g_pCDB + 7));

	wOffset = g_BufferSize / BlockLen;
	
//	if (LBA_Addr < (dwBlock + wBlocks))
//		return CHECK_CONDITION;

//	if(wBlocks > BUFFER_SIZE / BlockLen)
//		wBlocks = BUFFER_SIZE / BlockLen;

	for (i=0; i < wBlocks; i += wOffset)
	{
		UINT16 unReadBlockNum;
		UINT32 dwSend;

		unReadBlockNum = wBlocks - i;
		if(unReadBlockNum > wOffset)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人综合激情网| 精品影视av免费| 亚洲一级二级在线| 久久综合综合久久综合| 色婷婷久久一区二区三区麻豆| 欧美区在线观看| 欧美—级在线免费片| 日韩国产精品久久久久久亚洲| 国产成人免费高清| 91在线视频18| 久久欧美中文字幕| 亚洲h精品动漫在线观看| 99久久婷婷国产精品综合| 日韩欧美国产系列| 国产欧美日韩视频一区二区| 青草国产精品久久久久久| 色综合天天综合网天天看片| 久久亚洲欧美国产精品乐播| 五月婷婷另类国产| 成人av午夜电影| 国产日韩欧美不卡在线| 蜜臀久久99精品久久久久宅男| 日本伦理一区二区| 最新久久zyz资源站| 精品亚洲欧美一区| 91精品国产综合久久久蜜臀粉嫩| 国产情人综合久久777777| 免费成人美女在线观看.| 欧美另类久久久品| 亚洲最大成人综合| 91网站最新网址| 欧美极品另类videosde| 国产综合一区二区| 日韩精品专区在线影院重磅| 香蕉影视欧美成人| 欧美揉bbbbb揉bbbbb| 国产精品美女久久福利网站| 国产在线一区观看| 日韩欧美视频一区| 日本不卡一区二区三区高清视频| 欧美日韩欧美一区二区| 一区二区三区.www| 色悠悠久久综合| 亚洲免费高清视频在线| 不卡视频在线看| 欧美一区二区女人| 午夜视频久久久久久| 粉嫩aⅴ一区二区三区四区 | 国产91精品在线观看| 日韩久久久精品| 久久精品国产99国产精品| 欧美丰满美乳xxx高潮www| 亚洲成人动漫在线观看| 91精品国模一区二区三区| 麻豆久久一区二区| 久久久久久久久蜜桃| 国产一区二区三区免费播放| 久久久99精品免费观看| 国产麻豆一精品一av一免费 | 久久精品国产秦先生| 日韩免费电影一区| 久草精品在线观看| 久久久久国产免费免费| 高清国产午夜精品久久久久久| 中文字幕成人在线观看| 成人99免费视频| 亚洲福利视频一区二区| 欧美日韩久久不卡| 五月天激情小说综合| 777午夜精品视频在线播放| 亚洲主播在线播放| 91麻豆精品国产91久久久久久 | 亚洲欧洲综合另类| 欧美日韩免费观看一区二区三区| 五月婷婷激情综合网| 精品久久国产97色综合| 国产成人午夜视频| 亚洲免费观看高清在线观看| 欧美日韩国产123区| 激情五月播播久久久精品| 国产色一区二区| 国产乱码精品一区二区三区五月婷 | 国产色一区二区| 欧洲另类一二三四区| 日韩精品电影一区亚洲| 欧美性大战久久| 激情丁香综合五月| 亚洲黄网站在线观看| 欧美刺激脚交jootjob| 成人国产亚洲欧美成人综合网 | 欧美一级欧美一级在线播放| 福利电影一区二区| 日韩不卡一区二区| 1024国产精品| 欧美亚洲另类激情小说| 婷婷激情综合网| 国产精品乱码妇女bbbb| 51久久夜色精品国产麻豆| 高清不卡一二三区| 久久99蜜桃精品| 亚洲最大成人网4388xx| 中文字幕在线观看一区二区| 欧美一区二区三区四区五区| 色综合色综合色综合色综合色综合 | 亚洲国产日产av| 国产拍欧美日韩视频二区| 欧美丰满少妇xxxxx高潮对白| 成人av在线播放网址| 偷拍自拍另类欧美| 欧美国产日韩精品免费观看| 日韩欧美中文一区二区| 欧洲一区在线观看| 91原创在线视频| 国产福利一区二区三区视频| 日韩国产一二三区| 无吗不卡中文字幕| 性做久久久久久免费观看| 亚洲三级久久久| 中文字幕免费不卡在线| 欧美性感一类影片在线播放| 色噜噜夜夜夜综合网| 成人av集中营| 成人av免费在线观看| 国产成人午夜精品5599| 国产99精品视频| 国产精品一卡二| 国产精品99久久久久久似苏梦涵| 麻豆91精品91久久久的内涵| 美女精品自拍一二三四| 亚洲va韩国va欧美va精品| 亚洲国产中文字幕在线视频综合| 亚洲视频一区在线观看| 中文字幕亚洲在| 精品捆绑美女sm三区| 日韩免费性生活视频播放| 26uuu精品一区二区| 久久精品一区二区三区不卡 | 国产成人久久精品77777最新版本| 久色婷婷小香蕉久久| 国内精品久久久久影院薰衣草| 国内成人免费视频| 成人一区二区三区视频| 色综合久久66| 91啪亚洲精品| 欧美日韩一区二区在线观看视频| 欧美日韩免费视频| 日韩欧美你懂的| 国产精品卡一卡二| 日本不卡视频在线观看| 国产精品一区二区三区乱码| 在线中文字幕一区二区| 精品国产一区二区三区不卡| 最新久久zyz资源站| 美国十次综合导航| 色综合久久六月婷婷中文字幕| 在线成人av网站| 亚洲三级在线免费观看| 国内精品伊人久久久久av一坑 | 欧美做爰猛烈大尺度电影无法无天| 91麻豆精品91久久久久久清纯 | 另类小说图片综合网| www.欧美.com| 欧美成人a∨高清免费观看| 亚洲欧美日韩国产综合在线| 久久精品99国产精品| 在线看日本不卡| 国产欧美视频一区二区三区| 日本欧美一区二区| 91影院在线免费观看| 久久九九国产精品| 麻豆91在线看| 欧美精品三级日韩久久| 亚洲精品视频免费观看| 国产精品影视天天线| 欧美一区午夜视频在线观看| 亚洲欧美在线观看| 国产精品中文字幕日韩精品| 欧美mv和日韩mv国产网站| 亚洲高清视频的网址| 色视频欧美一区二区三区| 日本一区二区三区久久久久久久久不| 三级久久三级久久| 欧美日韩亚洲不卡| 一区二区欧美在线观看| 色综合视频一区二区三区高清| 国产欧美一区二区精品忘忧草 | 国产成人在线电影| 精品久久久久久久久久久院品网| 日韩av一区二区在线影视| 欧美日韩免费在线视频| 亚洲高清免费在线| 欧美日韩色一区| 奇米四色…亚洲| 日韩午夜在线观看| 免费一级欧美片在线观看| 日韩欧美国产1| 国产在线不卡一区| 国产喂奶挤奶一区二区三区| 国产高清久久久久| 国产精品你懂的在线|