📄 bank0.c
字号:
#include <option.h>
#include <SMI51.h>
#include <struct.h>
#include <local.h>
#include <local1.h>
#include <protyp.h>
#include <fusb.h>
#include <SDCMD.h>
#include <dsp.h>
#include <LCD.h>
#include <fat.h>
#include <ui.h>
#include <fm.h>
#include <usbsmi.c>
#include <HandleTempBlock.c>
#include <READCMD.C>
#include <WRITECMD.C>
#include <FLASHCMD.C>
#include <CARDPUB1.C>
void BackwardFile()
{
if(gxRepeatMode<3)
{
if(gbDirMode&&(XB_FileType!=1))
{
gx16CurrentDirFileIndex--;
if(gbPlayMode)
{
if(gx16CurrentDirFileIndex<gx16TotalSubDirInCurrentDir)
gx16CurrentDirFileIndex=gx16TotalSubDirInCurrentDir+gx16TotalPlayFileInCurrentDir-1;
}
else
{
if(gx16CurrentDirFileIndex==0xffff)
gx16CurrentDirFileIndex=gx16TotalSubDirInCurrentDir+gx16TotalPlayFileInCurrentDir-1;
}
}
else
{
gx16PlayIndex--;
if(gx16PlayIndex==0xffff)
gx16PlayIndex=XW_TotalFile[XB_FileType]-1;
}
}
else
uiRandomSelectSong();
}
void SELFILE(BYTE dir)
{
RampDownToMute();
if (!XB_NoFile && (!gbPauseMode) )
{
if (dir) BackwardFile();
else ForwardFile();
SelPlayFile(SET_BIT1 | SET_BIT0);
if (gbPlayMode)
{
if(XB_File_CurrentType==C_SubDir)
{
SET_PLAYMODE(C_FileSelectMode);
M_ClrDataFormatError;
}
else
MP3PlayStart();
}
}
}
void ErrorMenu(BYTE k)
{
NowBufDirH=NowBufDirF=0;
ClrMenuLayer();
XB_MENULayer[0]=MenuLayer0_WaitKey;
BackLightOn();
GUI_ShowMenu1(GUI_ERRORPAGE+k);
SET_PLAYMODE(C_FileSelectMode);
}
void GotoSelFileMode()
{
if (XW_TotalFile[XB_FileType])
XB_NoFile=0;
else
XB_NoFile=1;
if (!XB_NoFile)
{
lcmClearLCM();
SelPlayFile(SET_BIT1 | SET_BIT0);
SET_PLAYMODE(C_FileSelectMode);
}
else NoFileProcess();
}
void InitMP3Play()
{
XB_ABMode=0;
ClrTimer();
ALL_BUF_MOVX;
NowBufDirH=0;
}
void NoFileProcess()
{
LCM_xp=0;
LCM_yp=1;
if (XB_DiskStatus & SET_BIT0)
GUI_ShowMenu1(GUI_NOFILEPAGE);
else
GUI_ShowMenu1(GUI_NOPARTPAGE);
gx16PlayIndex=0;
uiUpdateMainDisplay(bit3);
SET_PLAYMODE(C_NoFileStopMode);
}
void debugOutputData(XBYTE* pData,WORD u16Length)
{
XWORD u16TempCnt,u16Length0;
u16Length0=u16Length;
/*
XSFR1 |= bit2;
delayclk(50);
if(PB_HOST[Key_Pad]!=0xff)
{
M_SetDebug;
}
*/
P31=0;
for(u16TempCnt=0;u16TempCnt<u16Length0;u16TempCnt++)
{
PB_FLASH[0x1e]=(BYTE)u16TempCnt;
PB_FLASH[0x1e]=*pData;
pData++;
}
if(PB_HOST[Key_Pad]!=0xff)
while(PB_HOST[Key_Pad]!=0xff);
if(M_ChkDebug)
{
while(PB_HOST[Key_Pad]==0xff); //(J)wait key press
while(PB_HOST[Key_Pad]!=0xff); //(J)wait key release
}
XSFR1 &= ~bit2;
P31=1;
}
CBYTE T_LanguageCode[]=
{
C_ENG, C_GB2312, C_BIG5, C_ENG,
C_ENG, C_ENG, C_ENG, C_ENG,
C_ENG, C_ENG, C_ENG, C_ENG2,
C_ENG2, C_ENG2, C_Russ, C_JIS,
C_KSC, C_Thai
};
void ProcessLanguageSet(BYTE lang)
{
XB_ADJ_Language=lang;
gx16LangMsgOffset=(WORD)lang*C_LanguageMenuMsgNum;
gxUnicodeTabIndex=T_LanguageCode[XB_ADJ_Language];
MOVESRAM_XX(gxarFileName,gxarFileNameBuf,128); //(J)backup unicode filename
if(gxarFileName[1]&1)
{
Unicode2Big5(&gxarFileName[0]);
}
if(gbPlayMode)
{
if((XB_File_CurrentType==WMAFILE)&&M_ChkWithId3Tag&&(!M_ChkWithLyric))
{
MOVESRAM_XX(gxarWMATag,gxarWMATagBuf,128);
Unicode2Big5(&gxarWMATag[0]);
}
}
}
void InitDSPTypeROM(BYTE type)
{
Disable_DSP();
DSP_CLK_ALLON;
switch (type)
{
case MP3FILE:
XB_NowDSPCode=0;
Load_DSP();
DSP_PMD_CLKOFF;
WRITE_DSPIO(0x45,0x0000);
break;
case WMAFILE:
XB_NowDSPCode=1;
Load_DSP();
break;
case WMRFILE:
XB_NowDSPCode=3;
Load_DSP();
break;
case WAVFILE:
XB_NowDSPCode=2;
Load_DSP();
BeforePlayingVoice();
DSP_PMD_CLKOFF;
break;
case RECFILE:
XB_NowDSPCode=2;
Load_DSP();
BeforeRecordingVoice();
DSP_PMD_CLKOFF;
break;
}
}
void Process_STOP()
{
RampDownToMute();
while (ReadDSP_DMA_CTRbit());
Disable_DSP();
SET_PLAYMODE(C_FileSelectMode);
ClrMenuLayer();
WRITE_DSPREG(0x27,0x00);
RESET_BUF();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -