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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hal.c

?? 這個是好記星608的AP源代碼,他的主要是是GUI,還有對字典的操作
?? C
字號:
// HAL.cpp: implementation of the HAL class.
//
//////////////////////////////////////////////////////////////////////

#define __OS_SOURCE_FILE__

#ifndef _WIN32

#include "Kernel.h"
#include "HAL.h"

BOOL g_bCardConnect = FALSE;
PTABLE_ENTRY USB_PTABLE[4] = {0};

/* MBR table on UDisk */
const UINT8 USB_MBR[512] = {
	0x33, 0xC0, 0x8E, 0xD0, 0xBC, 0x00, 0x7C, 0xFB, 0x50, 0x07, 0x50, 0x1F, 0xFC, 0xBE, 0x1B, 0x7C, 
	0xBF, 0x1B, 0x06, 0x50, 0x57, 0xB9, 0xE5, 0x01, 0xF3, 0xA4, 0xCB, 0xBD, 0xBE, 0x07, 0xB1, 0x04, 
	0x38, 0x6E, 0x00, 0x7C, 0x09, 0x75, 0x13, 0x83, 0xC5, 0x10, 0xE2, 0xF4, 0xCD, 0x18, 0x8B, 0xF5, 
	0x83, 0xC6, 0x10, 0x49, 0x74, 0x19, 0x38, 0x2C, 0x74, 0xF6, 0xA0, 0xB5, 0x07, 0xB4, 0x07, 0x8B, 
	0xF0, 0xAC, 0x3C, 0x00, 0x74, 0xFC, 0xBB, 0x07, 0x00, 0xB4, 0x0E, 0xCD, 0x10, 0xEB, 0xF2, 0x88, 
	0x4E, 0x10, 0xE8, 0x46, 0x00, 0x73, 0x2A, 0xFE, 0x46, 0x10, 0x80, 0x7E, 0x04, 0x0B, 0x74, 0x0B, 
	0x80, 0x7E, 0x04, 0x0C, 0x74, 0x05, 0xA0, 0xB6, 0x07, 0x75, 0xD2, 0x80, 0x46, 0x02, 0x06, 0x83, 
	0x46, 0x08, 0x06, 0x83, 0x56, 0x0A, 0x00, 0xE8, 0x21, 0x00, 0x73, 0x05, 0xA0, 0xB6, 0x07, 0xEB, 
	0xBC, 0x81, 0x3E, 0xFE, 0x7D, 0x55, 0xAA, 0x74, 0x0B, 0x80, 0x7E, 0x10, 0x00, 0x74, 0xC8, 0xA0, 
	0xB7, 0x07, 0xEB, 0xA9, 0x8B, 0xFC, 0x1E, 0x57, 0x8B, 0xF5, 0xCB, 0xBF, 0x05, 0x00, 0x8A, 0x56, 
	0x00, 0xB4, 0x08, 0xCD, 0x13, 0x72, 0x23, 0x8A, 0xC1, 0x24, 0x3F, 0x98, 0x8A, 0xDE, 0x8A, 0xFC, 
	0x43, 0xF7, 0xE3, 0x8B, 0xD1, 0x86, 0xD6, 0xB1, 0x06, 0xD2, 0xEE, 0x42, 0xF7, 0xE2, 0x39, 0x56, 
	0x0A, 0x77, 0x23, 0x72, 0x05, 0x39, 0x46, 0x08, 0x73, 0x1C, 0xB8, 0x01, 0x02, 0xBB, 0x00, 0x7C, 
	0x8B, 0x4E, 0x02, 0x8B, 0x56, 0x00, 0xCD, 0x13, 0x73, 0x51, 0x4F, 0x74, 0x4E, 0x32, 0xE4, 0x8A, 
	0x56, 0x00, 0xCD, 0x13, 0xEB, 0xE4, 0x8A, 0x56, 0x00, 0x60, 0xBB, 0xAA, 0x55, 0xB4, 0x41, 0xCD, 
	0x13, 0x72, 0x36, 0x81, 0xFB, 0x55, 0xAA, 0x75, 0x30, 0xF6, 0xC1, 0x01, 0x74, 0x2B, 0x61, 0x60, 
	0x6A, 0x00, 0x6A, 0x00, 0xFF, 0x76, 0x0A, 0xFF, 0x76, 0x08, 0x6A, 0x00, 0x68, 0x00, 0x7C, 0x6A, 
	0x01, 0x6A, 0x10, 0xB4, 0x42, 0x8B, 0xF4, 0xCD, 0x13, 0x61, 0x61, 0x73, 0x0E, 0x4F, 0x74, 0x0B, 
	0x32, 0xE4, 0x8A, 0x56, 0x00, 0xCD, 0x13, 0xEB, 0xD6, 0x61, 0xF9, 0xC3, 0x49, 0x6E, 0x76, 0x61, 
	0x6C, 0x69, 0x64, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x74, 0x61, 
	0x62, 0x6C, 0x65, 0x00, 0x45, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x6C, 0x6F, 0x61, 0x64, 0x69, 0x6E, 
	0x67, 0x20, 0x6F, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, 
	0x65, 0x6D, 0x00, 0x4D, 0x69, 0x73, 0x73, 0x69, 0x6E, 0x67, 0x20, 0x6F, 0x70, 0x65, 0x72, 0x61, 
	0x74, 0x69, 0x6E, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6D, 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, 0x2C, 0x44, 0x63, 0xC3, 0x02, 0x74, 0x82, 0x00, 0x00, 0x00, 0x01, 
	0x01, 0x00, 0x04, 0xFE, 0xFD, 0xFE, 0x3F, 0x00, 0x00, 0x00, 0x80, 0xFB, 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, 0x55, 0xAA
};

VOID __UsbCreatePartitionTable(BOOL bFlashOnly);
UINT HAL_Init(void)
{
	//NU_Printf("HAL Initing...\r\n");
	/* Open flash */
	FlashOpen(NULL);
#ifdef __FOR_BOOT__
	/* Create Default Partition Table */
	__UsbCreatePartitionTable(TRUE);
#endif
	return 0;
}

INT32 HAL_Read(DWORD uLN, UINT16 uLen, BYTE *pData)
{
	INT32 ret;
	MFlashInfo flashInfo;

	FlashIoCtrl(NULL, FLASH_COMMAND_GETINFO, &flashInfo);
	ret = flashInfo.uPageSize * uLen;

	if (uLN < SEC_PER_TRACK) {
		/* Flush the buffer*/
		memset(pData,0,ret);
		if (0 == uLN) {				
			/* Copy MBR */
			memmove(pData,USB_MBR,sizeof(USB_MBR));
			/* Rewrite the partition table*/
			memmove((pData+0x1BE),USB_PTABLE,sizeof(USB_PTABLE));
		}
		/* Fill the buffer,if uLen is over the range. */
		if ((uLN + uLen) > SEC_PER_TRACK) {
			FlashIo(NULL,0,(pData+((SEC_PER_TRACK-uLN)*flashInfo.uPageSize)),
				(UINT16)(uLN+uLen-SEC_PER_TRACK),1);
		}
	}
	else if (uLN < (flashInfo.uPageSum+SEC_PER_TRACK)) {	
		/* Reading NFlash */
		if ((uLN + uLen) > (SEC_PER_TRACK+flashInfo.uPageSum)) {
			ret = FlashIo(NULL,uLN-SEC_PER_TRACK,pData,
				(UINT16)(SEC_PER_TRACK+flashInfo.uPageSum-uLN),1);
			if (ret < 0) {
				return ret;
			}
			ret += CardIo(NULL,0,pData+ret,
				(UINT16)(uLN+uLen-SEC_PER_TRACK-flashInfo.uPageSum),1);
		}
		else {
			ret = FlashIo(NULL, uLN-SEC_PER_TRACK, pData, uLen, 1);
		}
	}
	else {						
		/* Reading SDCard */
		ret = CardIo(NULL, uLN-flashInfo.uPageSum-SEC_PER_TRACK, pData, uLen, 1);
	}
	return ret;		
}

DWORD HAL_Write(DWORD uLN, UINT16 uLen, BYTE *pData)
{
	//NU_Printf("write %d %d\r\n", uLN, uLen);
	DWORD ret;
	MFlashInfo flashInfo;
	
	FlashIoCtrl(NULL, FLASH_COMMAND_GETINFO, &flashInfo);
	if (uLN < SEC_PER_TRACK) {	
		/* Track 0 can't be changed. */
		ret = uLen * flashInfo.uPageSize;
	}
	else if (uLN < (flashInfo.uPageSum+SEC_PER_TRACK)) {	
		/* Writing NFlash */
		ret = FlashIo(NULL, uLN-SEC_PER_TRACK, pData, uLen, 0);
	}
	else {						
		/* Writing SDCard */
		ret = CardIo(NULL, uLN-SEC_PER_TRACK-flashInfo.uPageSum, pData, uLen, 0);
	}
	return ret;		
}

UINT __SectorToHSC(UINT32 dwSecNo,UINT8 *head,UINT8 *sec,UINT8 *cyl)
{
	UINT uCylNum,uSecNum,uHeadNum,uCylSum;

	uCylSum = dwSecNo / SEC_PER_TRACK;
	if (dwSecNo % SEC_PER_TRACK) {
		uCylSum ++;
	}

	uCylNum = uCylSum / NUM_OF_HEADS;
	if (uCylSum % NUM_OF_HEADS) {
		uCylNum ++;
	}

	uSecNum = SEC_PER_TRACK;
	uHeadNum = NUM_OF_HEADS - 1;
	uCylNum --;
	/* Head */ 
	*head = (UINT8)uHeadNum;
	/* Sector(Bit0-5) Bit6 and 7 are cylinder number */
	*sec = (UINT8)((uCylNum >> 2) & 0xC0) + (UINT8)(uSecNum & 0x3F);
	/* Cylinder Upper two bit of starting clyinder number are in StartSector field. */
	*cyl = (UINT8)uCylNum;
	return uCylNum;
}

VOID __UsbCreatePartitionTable(BOOL bFlashOnly)
{
	MFlashInfo flashInfo;
	UINT uCylNum;
	
	/* Initialize the table. */
	memset(USB_PTABLE,0,sizeof(USB_PTABLE));
	/* Get flash infomation. */
	FlashIoCtrl(NULL, FLASH_COMMAND_GETINFO, &flashInfo);

	/* BootSignature 0x80 = active partition*/
	USB_PTABLE[0].boot = 0;			
		/* Partition Type,04 = FAT16 < 32M  06 = FAT16 > 32M*/
	USB_PTABLE[0].p_typ = 06;
	/* Relativity sector */
	USB_PTABLE[0].r_sec = SEC_PER_TRACK;
	/* Size of partition */
	USB_PTABLE[0].p_size = flashInfo.uPageSum;
	/* Start HSC(1,1,0) */
	USB_PTABLE[0].s_head = 1;
	USB_PTABLE[0].s_sec = 1;
	USB_PTABLE[0].s_cyl = 0;
	/* End HSC */
	uCylNum = __SectorToHSC(USB_PTABLE[0].r_sec + USB_PTABLE[0].p_size,
		&USB_PTABLE[0].e_head,&USB_PTABLE[0].e_sec,&USB_PTABLE[0].e_cyl);
	if (bFlashOnly) {
		return;
	}

	/* Check card connection. */
	g_bCardConnect = FALSE;
if (CardOpen(1))
 {
//#ifndef __FOR_BOOT__
//		StatusBoxStart(NULL,"正在讀取擴(kuò)展卡...");
//#endif

		if ( (NU_SUCCESS == CardCheck(0)) && CardOpen(NULL)
			&& CardIoCtrl(NULL,FLASH_COMMAND_GETINFO, &flashInfo) )
		 {
			if(IsCardPasswordIn())
			{
    			g_bCardConnect = FALSE;
			}
			else
			{
    			g_bCardConnect = TRUE;
    	}
		}
	}
	if (g_bCardConnect) {
		/* BootSignature */
		USB_PTABLE[1].boot = 0;			
		/* Partition Type,04 = FAT16 < 32M  06 = FAT16 > 32M*/
		USB_PTABLE[1].p_typ = 06;
		/* Relativity sector */
		USB_PTABLE[1].r_sec = USB_PTABLE[0].r_sec + USB_PTABLE[0].p_size;
		/* Size of partition */
		USB_PTABLE[1].p_size = flashInfo.uPageSum;
		/* Start HSC */
		uCylNum ++;
		USB_PTABLE[1].s_head = 0;
		USB_PTABLE[1].s_sec = (UINT8)((uCylNum >> 2) & 0xC0) + 1;
		USB_PTABLE[1].s_cyl = (UINT8)uCylNum;
		/* End HSC*/
		__SectorToHSC(USB_PTABLE[1].r_sec + USB_PTABLE[1].p_size,
			&USB_PTABLE[1].e_head,&USB_PTABLE[1].e_sec,&USB_PTABLE[1].e_cyl);
	}
	return;
}
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91啪九色porn原创视频在线观看| 欧美精品一区二区不卡| 国产精品视频第一区| 久久成人av少妇免费| 91精品国产黑色紧身裤美女| 天天免费综合色| 欧美一区二区三区免费| 久久精品国产99| 欧美不卡123| 国产成都精品91一区二区三| 国产精品素人视频| 色狠狠色噜噜噜综合网| 午夜视黄欧洲亚洲| 日韩欧美激情在线| 成人听书哪个软件好| 亚洲人成网站在线| 欧美一区二区三区视频免费| 黄色日韩三级电影| 自拍视频在线观看一区二区| 欧美三级三级三级爽爽爽| 欧美aa在线视频| 国产精品久久久久久亚洲伦| 色老汉av一区二区三区| 视频一区在线播放| 日本一区二区电影| 在线观看国产日韩| 青青国产91久久久久久 | 日韩中文字幕不卡| 欧美本精品男人aⅴ天堂| 成人爽a毛片一区二区免费| 亚洲精品亚洲人成人网| 日韩欧美一级片| 99久久婷婷国产| 亚洲精品免费在线播放| 91麻豆精品国产91久久久久久 | 国产精品国产三级国产有无不卡 | 亚洲黄色在线视频| 久久99国产精品久久99果冻传媒| 国产精品素人一区二区| 欧美日韩久久一区| 成人精品国产免费网站| 五月天亚洲婷婷| 中文字幕一区二区5566日韩| 在线成人av影院| 99久久综合国产精品| 老司机精品视频在线| 亚洲欧洲综合另类在线| 久久综合一区二区| 7777精品伊人久久久大香线蕉超级流畅| 从欧美一区二区三区| 奇米影视一区二区三区| 亚洲女子a中天字幕| 久久影院视频免费| 51精品久久久久久久蜜臀| 99re免费视频精品全部| 国产在线精品一区在线观看麻豆| 亚洲自拍都市欧美小说| 中文子幕无线码一区tr| 欧美tickling挠脚心丨vk| 欧美丝袜丝交足nylons图片| www.性欧美| 国产乱理伦片在线观看夜一区| 亚洲电影你懂得| 亚洲精品亚洲人成人网在线播放| 国产精品萝li| 日本一区二区三区在线不卡| 久久先锋影音av鲁色资源| 制服丝袜中文字幕亚洲| 欧美三级一区二区| 欧美丝袜丝交足nylons图片| 色婷婷综合中文久久一本| 福利91精品一区二区三区| 激情综合色播激情啊| 久久99热这里只有精品| 日韩二区在线观看| 亚洲国产成人av网| 亚洲国产日韩精品| 亚洲欧美区自拍先锋| 亚洲欧洲韩国日本视频| 国产精品传媒入口麻豆| 国产精品国产三级国产aⅴ原创| 国产亚洲美州欧州综合国| 久久久九九九九| 国产精品嫩草99a| 国产精品久久久久久久久久免费看| 久久电影国产免费久久电影| 中日韩av电影| 中文字幕av在线一区二区三区| 国产清纯白嫩初高生在线观看91| 国产午夜精品理论片a级大结局| 精品奇米国产一区二区三区| 久久综合网色—综合色88| 日本一区二区三区免费乱视频| 国产精品久久久久久亚洲毛片| 亚洲色图制服诱惑| 亚洲国产精品久久人人爱蜜臀| 亚洲一区二区三区激情| 日本不卡的三区四区五区| 精品一区二区三区免费观看 | 亚洲另类一区二区| 一区二区三区色| 天堂av在线一区| 免费成人小视频| 国产精品系列在线观看| 一本一本久久a久久精品综合麻豆| 欧美色老头old∨ideo| 在线成人高清不卡| 国产亚洲一区二区三区| 国产精品久久三| 首页国产欧美日韩丝袜| 国产一区二区精品在线观看| 成人爽a毛片一区二区免费| 色婷婷一区二区| 精品国产电影一区二区| 国产精品久久精品日日| 午夜欧美一区二区三区在线播放| 久久精品国产精品亚洲精品| 成人h动漫精品一区二区| 欧美三级日本三级少妇99| 日韩欧美成人一区| 国产精品网站在线| 婷婷六月综合亚洲| 成人黄色小视频| 欧美顶级少妇做爰| 中文字幕亚洲成人| 美国毛片一区二区| 一本大道综合伊人精品热热| 日韩一级片网址| 一区二区三区影院| 国产成a人无v码亚洲福利| 欧美日韩国产片| 国产精品美女久久久久av爽李琼 | 国产一区二区在线观看免费| 99国产精品久久久久久久久久久| 欧美一区二区三区白人 | 亚洲免费av观看| 国产成人免费视频网站| 欧美日韩高清一区二区| 久久精品欧美日韩| 三级成人在线视频| 91在线观看美女| 国产欧美日本一区视频| 美女视频免费一区| 日韩 欧美一区二区三区| 亚洲午夜精品一区二区三区他趣| 国产一区二区三区高清播放| 911精品国产一区二区在线| 中文字幕在线观看一区| 韩国视频一区二区| 欧美一卡二卡在线| 亚洲线精品一区二区三区| 夫妻av一区二区| 国产亚洲精品资源在线26u| 美女在线视频一区| 日韩一区二区免费高清| 午夜精品影院在线观看| 色综合天天视频在线观看| 国产欧美在线观看一区| 精品在线免费观看| 欧美一区二区三区免费| 日韩专区中文字幕一区二区| 在线精品亚洲一区二区不卡| 中文字幕在线一区免费| 国产宾馆实践打屁股91| 国产校园另类小说区| 国产真实精品久久二三区| 精品国产一二三区| 老汉av免费一区二区三区 | 不卡视频一二三四| 久久精品一区二区| 国产一区二区在线观看视频| 精品国产成人系列| 国产一区二区三区免费在线观看| 欧美va在线播放| 国产精品2024| 国产欧美一区二区精品秋霞影院| 国产麻豆精品在线| 精品国产凹凸成av人网站| 国模无码大尺度一区二区三区| 久久蜜桃av一区二区天堂 | av不卡在线播放| 亚洲精品国产精华液| 色综合久久久久| 亚洲一区二区三区四区在线观看 | 精品国产亚洲在线| 国产成人三级在线观看| 国产精品久线观看视频| 色呦呦一区二区三区| 亚洲高清在线视频| 欧美精品久久99久久在免费线| 日韩高清不卡一区二区| wwww国产精品欧美| 成人18视频在线播放| 亚洲视频免费观看| 欧美日韩精品一区二区三区| 美女一区二区三区| 国产精品国产三级国产aⅴ原创| 欧美伊人精品成人久久综合97| 日韩av网站在线观看| 国产日韩欧美激情|