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

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

?? fs_nav_upgrade.c

?? dvd里面的一個文件系統的代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
*  Terry,2004/3/30 05:13PM
*/
#include "global.h"
#include "cmd.h"
#include "func.h" 
#include "memmap.h"
#include "memmap0.h"
#include "util.h" 
#include "kernel.h"
#include "cfont.h"
#include "vfdfunc.h"
#include "osd.h"
#include "image.h"
#include "iop.h"
#include "memcfg.h"

#include "ircode.h"

#include "user_init.h"

#include "fsNAV.h"
#include "fsGUI.h"
#include "setup.h"
#include "fs96602.h"

#include "fsGUI1.h"
#include "timer.h"

// Added by houyiwu 9/18/2004 for defining "SPHE1000"
#ifndef SPHE1000
#include "ver.h"
#endif

#if defined(SUPPORT_CARD_STORAGE)||defined(SUPPORT_USB)||defined(SPHE8202_CARD_STORAGE)//liweihua mod 20031219
#include "cardfs.h"
extern CARD_FILE       cardFile;
extern CARD_INFO       cardP;
#if defined(CF_CARD_WRITE) || defined(SPHE8202_FAT_Write_Function)//|| defined(WRITE_USB)
extern BYTE read_card_sign,flag_cf2cd,flag_cd2cf;
#endif
extern BYTE IsCardMediaRemove(void);
#endif

extern const BYTE ir_mapcode[256];  //Jefftest 20020606
//OSD related
extern void     osd_init(void);
extern void     osd_draw_rect(UINT32 xStart, UINT32 yStart, UINT32 xLen, UINT32 yLen, BYTE bkColor);
extern void     osd_init_setup(void);
extern void     osd_DrawLine(UINT32 xStart, UINT32 yStart, UINT32 xEnd, UINT32 yEnd, BYTE color, BYTE lineWidth);
extern void     DrawOSD_XO(BYTE bXO);


//FLASH related
#include "flash.h"
//extern UINT16   giFlashReadID; //Jeff 20020708

#ifdef SUPPORT_28X_FLASH	//yaowh add 2006-1-17 0:08
extern int		Parallel_FlashEraseUpgrade_28X(unsigned char *pBuf, unsigned int dwSize);
#endif

#ifndef DVDRELEASE
#define FSNAV_DBG
#endif

#define fsnav_printf(s...)  ((void)0)

#ifdef  FSNAV_DBG
#include "sio.h"
#include "emuio.h"
#undef  fsnav_printf
#define fsnav_printf        printf_w
#endif


#ifdef UPGRADE_TRAYOUT  //joshua add    04-07-13
    int trayout_flag = 0;
#endif    

#ifdef SUPPORT_SPI
#include "spi.h"
#endif

#ifdef SPHE1000
#define SMART_UPLOAD_BASE		0x80a00000
#endif

#ifdef DVD_AUDIO//2004-4-27 1:11
	extern UINT32 g_nAKeyFileLoc;
	extern UINT32 g_nAKeyFileSize;
#endif

//move to fsNAV.h  //hongfeng 2007/5/29 11:16
/*
#ifdef INDIGO_STYLE_OSDUI
#define UPGRADE_FONT_COLOR_INDEX 5
#define UPGRADE_BACKGROUND_COLOR_INDEX 6
#else
#define UPGRADE_FONT_COLOR_INDEX 2
#define UPGRADE_BACKGROUND_COLOR_INDEX 6
#endif
*/

void FSNav_clear_I2C_data(void);

void FSNav_UpgradeCountDown(UINT32  iCount)
{
	#ifdef UPGRADE_NOT_COUNT//libing 2005-6-30 23:06
	return;
	#endif
    BYTE    buf[10];

    psprintf(buf, "%02d", iCount);
    osd_DrawString(6, 3, buf, UPGRADE_FONT_COLOR_INDEX, UPGRADE_BACKGROUND_COLOR_INDEX);
}


int FSNav_DoUpgrade(BYTE* strVersion)
{
#ifdef UPGRADE_TRAYOUT    
    trayout_flag = 1;
#endif    
    BYTE buf[30];
    BYTE len, bOK = 1;
    BYTE *pDVDROM;
    int iRes = 0;
    UINT32  iCount;

#ifdef SUPPORT_28X_FLASH
	unsigned char	idM, idD;
	//UINT16			uFlashID;
#endif

#if defined(SUPPORT_CARD_STORAGE) || defined(SUPPORT_USB)||defined(SPHE8202_CARD_STORAGE)
   watchdog_onoff(0);    //fengjl add 2004-05-20 09:39  for usb upgrade
#endif

#ifdef DVD_AUDIO
	BYTE* pKeyFile;
	UINT32 nKeyAmount = 0;
	UINT32 nKeySize = 0;
	UINT32 nEnterNum = 0;
	UINT32 nPos = 0;
	BYTE b0, b1, b2, b3, b4;

	b0 = b1 = b2 = b3 = b4 = 0;
	pKeyFile = (BYTE *)(SDRAM_BASE + (A_JPEG_SERVO_YA + JPEG_SERVO_SIZE) * 1024);
#endif

#if defined(QSI_PORTABLE_DVD) && defined(QSI_PLATFORM)	 //qsi: added by johnson 20040720
	printf("FSNav_DoUpgrade> New Firmware Version = %s\n",strVersion);
#endif

#if defined(QSI_PORTABLE_DVD) && defined(QSI_PLATFORM)//qsi: modify by johnson 20040720
	#define COUNTDOWN_MAX   QSI_QUERY_FW_UPGRADE_WAITING_TIME
#else
	#define COUNTDOWN_MAX   3
#endif 
    
    ircmd_callback_check = NULL;
    cd_subtype = CDROM_BIN;

#ifdef SDRAM_16Mb_Mode//3-12-9 0:31 nono
    //find a good place for osd...  kevinmonkey 050926
    #if defined(COMPRESS_ROM_CODE_040) && defined(SUPPORT_DVD_FULL_SUBTITLE)
        #ifdef SUPPORT_MP4
    regs0->osd_base_addr = P_BIDIR_LUMA;
        #else   //COMPRESS_ROM_CODE_040&& SUPPORT_DVD_FULL_SUBTITLE but !SUPPORT_MP4
    regs0->osd_base_addr = (CDROM_CODE_YA+CDROM_CODE_SIZE);
        #endif
    #else   //!defined(COMPRESS_ROM_CODE_040) || !defined(SUPPORT_DVD_FULL_SUBTITLE)
    regs0->osd_base_addr = P_BIDIR_LUMA;
    #endif  //#if defined(COMPRESS_ROM_CODE_040) && defined(SUPPORT_DVD_FULL_SUBTITLE)*/
  	//if dvdrom.bin <= 1M Byte.//zhangkaiji add for bin>987k down proble. 
  	regs0->osd_base_addr = ((UINT32)(A_UDF_WORK_BUF+UDF_WORK_BUF_SIZE)+0x400); 
#endif//SDRAM_16Mb_Mode
   
    osd_init_setup();
	
    if (IsOSDChinese())
        psprintf(buf, "         %s           ", &_OsdMessegeFont1[osd_font_mode][STR_OS_SMART_UPGRADE][0]);
    else
        psprintf(buf, "        %s       ", &_OsdMessegeFont1[osd_font_mode][STR_OS_SMART_UPGRADE][0]);
	
    len = strlen(buf);
	
    osd_draw_rect(4*16, 3*26, 28*16, 9*26, UPGRADE_BACKGROUND_COLOR_INDEX);
    
    //top
    osd_DrawLine(4*16, 3*26, 4*16+28*16, 3*26, 2, 1);
    //left
    osd_DrawLine(4*16-2, 3*26, 4*16-2, 3*26+9*26, 2, 1);
    //bottom
    osd_DrawLine(4*16, 3*26+9*26, 4*16+28*16, 3*26+7*26, 11, 1);
    //right
    osd_DrawLine(4*16+28*16, 3*26, 4*16+9*26, 3*26+28*16, 11, 1);
	
    osd_DrawString(4, 3, buf, UPGRADE_FONT_COLOR_INDEX, UPGRADE_BACKGROUND_COLOR_INDEX); //2:font color, 6:background color
	
    psprintf(buf, "%s", &_OsdMessegeFont1[osd_font_mode][STR_OS_READ][0]); //Jeff 20020527
    len = strlen(buf);

    osd_DrawString(6, 5, buf, UPGRADE_FONT_COLOR_INDEX, UPGRADE_BACKGROUND_COLOR_INDEX); //2:font color, 6:background color
    
    
    #if defined(SPHE1000) && !defined(DVB1000_NON_OS)
    pDVDROM = (BYTE *)(SMART_UPLOAD_BASE);
    	
    #else
    //Move system image to DRAM
      #ifdef MEM_GRAPH_LARGE
    //note:when define MP3_LARGE_GUI,A_UDF_WORK_BUF = GP_REF1_CHROMA + GP_CHROMA_SIZE,JPEG PS is not enough;
    //when NTSC mode,"dvdrom.bin" is not put into UDF buf,but put buf after GP chroma.suqiaoli add 2004-10-16
        pDVDROM = (BYTE *)(SDRAM_BASE + (GP_REF0_CHROMA + GP_CHROMA_SIZE) * 1024);
    #else
    pDVDROM = (BYTE *)(SDRAM_BASE + (A_UDF_WORK_BUF+UDF_WORK_BUF_SIZE) * 1024);
    #endif
	
    #endif
	
#if defined(SUPPORT_CARD_STORAGE)||defined(SUPPORT_USB)||defined(SPHE8202_CARD_STORAGE)
    if (media_type==MEDIA_CARD) {
        UINT32  nLBA;
		
        cardFile.stLBA = msf2l(pFsJpeg->gifsMSFDVDRom);
//        cardFile.stClus = CardLBA2Clus( cardFile.stLBA );
        cardFile.stClus = FSLBA2Clus( cardFile.stLBA );//linrc rename.20041204
        cardFile.iFileSize = pFsJpeg->gifsDVDRomSize;
        cardFile.curLBA = cardFile.stLBA;
        cardFile.curClus = cardFile.stClus;
        cardFile.iLeaveSize = cardFile.iFileSize;
		
        nLBA = (pFsJpeg->gifsDVDRomSize + cardP.bytePerSec - 1) / cardP.bytePerSec;
		
//        CardReadStream(&cardFile, nLBA, pDVDROM);
        FSReadStream(&cardFile, nLBA, pDVDROM);//linrc rename.20041205
    } else
#endif
    {
		ran_read(pDVDROM, pFsJpeg->gifsMSFDVDRom, pFsJpeg->gifsDVDRomSize);
    }

	// read DVD_AUDIO key file, Robert 030820
#ifdef DVD_AUDIO
	if (g_nAKeyFileLoc != 0)
	{
		ran_read(pKeyFile, g_nAKeyFileLoc, 2048); // robert 2004/02/18, read 2048 bytes only to identify file header
	}
#endif
	
    //Calculate CheckSum
    {
        BYTE    *p, bl, bh;
        UINT32  *pSum, iSum = 0, iNext = 0;
        UINT32  iIndex = 0x4f;
		
        //we store check in 0x20th byte
        pSum = (UINT32 *)(pDVDROM + 0x20);
        //printf("Origional checksum=%08x\n", *pSum);
		
        //from 0x50th byte to caculate checksum
        p = (BYTE *)(pDVDROM + 0x50);
		
        while (iIndex < pFsJpeg->gifsDVDRomSize)
        {
            bl = *p++;
            iIndex++;
            
            if (iIndex < pFsJpeg->gifsDVDRomSize)
            {
                bh = *p++;
                iIndex++;
            }
            else
            {
                bl = 0;
                bh = 0;
            }
			
            iSum = iSum + iNext;
            iNext = (unsigned int)bh * 256U + (unsigned int)bl;
        }
        iNext &= 0xFF;
        iSum += iNext;
		
        //printf("Read checksum=%08x\n", iSum);
        
        
        if (*pSum != iSum)
        {
            printf("Checksum Error\n");
            return -1;
        }
        else if((*pSum == 0)&&(iSum == 0))  //hongfeng add for when read rom.bin error 2006/9/28 19:46
        {
            printf("read rom.bin Error\n");
            return -1;
        }

    }
    
    #if defined(UPGRADE_TRAYOUT)&&(!defined(EASTECH_DVD)) //jwk mark 050811
            ircmd_trayout();
            delay_srv_10ms(500);
            trayout_flag = 0;
    #endif

#ifdef DVD_AUDIO
	if (g_nAKeyFileLoc != 0)
	{
		BYTE buf[10];

		// check key numbers
		nKeyAmount = getUINT32(pKeyFile + 5);
		nKeySize = getUINT32(pKeyFile + 9);

		if (nKeyAmount > 99999) // max key counts up to 99999
			nKeyAmount = 99999;

		//psprintf(buf, "%d %d", nKeyAmount, nKeySize);
		//osd_DrawString(23, 3, buf, 2, 6);

		psprintf(buf, "ENTER 0~%d:", nKeyAmount);
		osd_DrawString(8, 6, buf, 2, 6);

		// show a region to enter number
		psprintf(buf, "%d", b4);
		osd_DrawString(23, 6, buf, 2, 5);
		psprintf(buf, "%d", b3);
		osd_DrawString(24, 6, buf, 2, 4);
		psprintf(buf, "%d", b2);
		osd_DrawString(25, 6, buf, 2, 4);
		psprintf(buf, "%d", b1);
		osd_DrawString(26, 6, buf, 2, 4);
		psprintf(buf, "%d", b0);
		osd_DrawString(27, 6, buf, 2, 4);
	}
#endif

#ifdef QSI_PLATFORM
#ifdef QSI_SUPPORT_QSIVER_INFO_WHEN_UPGRADE
    psprintf(buf," OLD VER: %s%s",QSI_MASTER_VER,QSI_SLAVE_VER);
    osd_DrawString(4, 5, buf, 2, 6);
    
    if (IsOSDChinese())
        #ifdef USE_KOREAN_OSD       //clead korean 2003-10-23 
        psprintf(buf, " %s%s %s", &_OsdMessegeFont1[osd_font_mode][STR_OS_UPGRADE_TO][0], strVersion, Ch_question);
        #else
        psprintf(buf, " %s%s%s %s", &_OsdMessegeFont1[osd_font_mode][STR_OS_UPGRADE_TO][0], strVersion, Ch_ban, Ch_question);
        #endif
    else
        psprintf(buf, " %s%s %s", &_OsdMessegeFont1[osd_font_mode][STR_OS_UPGRADE_TO][0], strVersion, Ch_question);
    
    len = strlen(buf);
    
    //osd_DrawString(6, 5, buf, 2, 6); //2:font color, 6:background color
    osd_DrawString(4, 6, buf, UPGRADE_FONT_COLOR_INDEX, UPGRADE_BACKGROUND_COLOR_INDEX); //2:font color, 6:background color

#else
    if (IsOSDChinese())

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区在线观看你懂的| 日韩精品一区二区三区swag| 欧美一区二区三区婷婷月色| 国产精品久久免费看| 六月婷婷色综合| 在线观看一区日韩| 国产精品丝袜久久久久久app| 蜜桃91丨九色丨蝌蚪91桃色| 欧美在线免费播放| 国产精品久久久久久久久果冻传媒| 麻豆精品久久久| 在线不卡a资源高清| 综合欧美一区二区三区| 国产成人亚洲综合a∨婷婷| 日韩一卡二卡三卡| 日韩电影在线看| 欧美无砖砖区免费| 亚洲最快最全在线视频| aaa亚洲精品| 中文字幕在线一区免费| 国产精品99久久久久久似苏梦涵| 日韩视频免费直播| 麻豆精品一区二区av白丝在线| 欧美老人xxxx18| 亚洲成年人网站在线观看| 91在线无精精品入口| 中文字幕日韩一区二区| 9l国产精品久久久久麻豆| 中文字幕欧美日本乱码一线二线| 国产美女一区二区| 国产欧美一区二区三区在线看蜜臀| 极品尤物av久久免费看| 精品久久久久久无| 国产一区在线观看视频| 久久一区二区三区四区| 粉嫩绯色av一区二区在线观看| 欧美videofree性高清杂交| 久久99精品一区二区三区| 久久综合九色综合欧美就去吻 | 国产成人精品亚洲777人妖 | 成人18精品视频| 亚洲欧洲日韩在线| 欧美影院精品一区| 天堂午夜影视日韩欧美一区二区| 在线播放一区二区三区| 久久精品国内一区二区三区| 久久午夜电影网| 91丝袜高跟美女视频| 亚洲宅男天堂在线观看无病毒| 欧美疯狂做受xxxx富婆| 精品一区二区三区蜜桃| 中文字幕第一区综合| 欧美影院一区二区三区| 免费观看在线色综合| 中文字幕的久久| 欧美日韩一区二区三区四区| 蜜臀av一区二区| 自拍视频在线观看一区二区| 欧美日韩国产高清一区二区 | 免费在线观看一区二区三区| 99视频国产精品| 免费成人在线观看| 国产视频一区在线播放| 99国产麻豆精品| 人人爽香蕉精品| 国产精品久久毛片| 91精品久久久久久久91蜜桃 | 2024国产精品视频| 91免费精品国自产拍在线不卡| 五月天丁香久久| 久久九九久精品国产免费直播| 欧洲一区二区三区在线| 精品中文字幕一区二区小辣椒| 国产精品视频第一区| 5月丁香婷婷综合| 成人美女视频在线看| 男男成人高潮片免费网站| 亚洲人成人一区二区在线观看| 日韩午夜精品电影| 日本道色综合久久| 国产在线不卡一卡二卡三卡四卡| 亚洲国产一区视频| 国产精品久久久久影院色老大| 日韩欧美一二三| 在线影视一区二区三区| 国产成人午夜精品5599| 秋霞成人午夜伦在线观看| 一区二区三区高清在线| 国产精品乱码人人做人人爱| 日韩免费高清视频| 欧美视频在线观看一区二区| 成人综合在线观看| 国产成人免费视频精品含羞草妖精| 日韩精品电影一区亚洲| 一区二区三区.www| 日韩一区欧美小说| 中文字幕av不卡| 欧美经典一区二区| 国产无遮挡一区二区三区毛片日本| 91精品国产欧美一区二区| 欧美亚日韩国产aⅴ精品中极品| 成人av电影在线观看| 国产高清一区日本| 国产麻豆午夜三级精品| 日韩免费高清av| 中文字幕一区二区不卡| 精品国产乱码久久久久久蜜臀| 欧美亚洲一区三区| 色av一区二区| 色综合久久综合网欧美综合网| av电影在线观看不卡| 久久久久久久久免费| 国产成人一区在线| 蜜臀av性久久久久蜜臀aⅴ流畅 | 一色屋精品亚洲香蕉网站| 26uuu亚洲婷婷狠狠天堂| 欧美三级电影在线观看| 欧美影视一区在线| 欧美亚州韩日在线看免费版国语版| 色偷偷88欧美精品久久久| 91免费观看在线| 国产清纯在线一区二区www| 日本vs亚洲vs韩国一区三区二区| 中文字幕一区二区日韩精品绯色| 国产精品色哟哟| 亚洲免费三区一区二区| 一区二区三区在线影院| 天堂久久久久va久久久久| 丝袜诱惑制服诱惑色一区在线观看| 亚洲国产精品自拍| 日韩不卡一区二区| 国产综合久久久久影院| 国产99久久久国产精品潘金| 成人av小说网| 欧美在线一区二区三区| 日韩你懂的在线播放| 国产精品三级久久久久三级| 亚洲色图欧洲色图| 视频一区中文字幕国产| 国产一区二三区| 91色porny在线视频| 91麻豆精品91久久久久同性| 久久久久久一二三区| 亚洲另类中文字| 日本道在线观看一区二区| 91免费看片在线观看| 欧美日韩一区二区三区高清| 欧美一区二区三区白人| 国产精品萝li| 热久久免费视频| 9l国产精品久久久久麻豆| 91精品国产美女浴室洗澡无遮挡| 久久亚洲二区三区| 亚洲影视资源网| 国产剧情一区二区三区| 欧美亚洲国产一区在线观看网站| 欧美成人国产一区二区| 亚洲精品中文在线| 国产麻豆精品95视频| 欧洲精品一区二区三区在线观看| 欧美r级电影在线观看| 亚洲乱码国产乱码精品精小说| 美女任你摸久久| 欧洲一区二区三区在线| 国产午夜精品一区二区三区嫩草 | 337p亚洲精品色噜噜| 国产精品私房写真福利视频| 色婷婷精品久久二区二区蜜臂av| 欧美午夜精品理论片a级按摩| 精品少妇一区二区三区视频免付费| 亚洲欧美自拍偷拍| 经典三级视频一区| 欧美巨大另类极品videosbest| 欧美国产日韩精品免费观看| 久久99国产精品久久| 欧美人妇做爰xxxⅹ性高电影| 成人免费视频在线观看| 国产精品18久久久久久久久久久久 | 精品福利一区二区三区 | 亚洲欧美在线高清| 国产伦精品一区二区三区视频青涩 | 美腿丝袜亚洲三区| 欧美影院午夜播放| 亚洲精品久久久蜜桃| 91在线免费视频观看| 99久久伊人网影院| 国产人久久人人人人爽| 亚洲午夜精品在线| 欧美在线一二三四区| 综合精品久久久| 91一区二区在线观看| 日韩伦理电影网| 99久久久精品| 中文字幕中文字幕中文字幕亚洲无线| 国产suv精品一区二区6| 久久久久久久久久久久久夜| 国产乱码精品1区2区3区| 国产日韩影视精品| 成人免费va视频| 中文字幕中文乱码欧美一区二区|