⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 enhanced_unicode.i

📁 炬力方案176*132软件源码,适用于AK1025
💻 I
📖 第 1 页 / 共 3 页
字号:

typedef struct
{
 unsigned char  hour;
 unsigned char  minute;
 unsigned char  second;
}time_t;




non_banked  unsigned char  TM_SetTimer(int timersub, char period);

non_banked  unsigned char  TM_KillTimer(char timerno);



non_banked  unsigned char  TM_SetClock(int clocksub, char period);

non_banked  unsigned char  TM_KillClock(char clockno);


non_banked  unsigned char  TM_SetTime(time_t *time);
non_banked  unsigned char  TM_GetTime(time_t *time);


non_banked  unsigned char  TM_SetDate(date_t *date, const char type);
non_banked  unsigned char  TM_GetDate(date_t *date, const char type);



non_banked  unsigned char  TM_GetGWTime(time_t *time);
non_banked  unsigned char  TM_SetGWTime(time_t *time);


non_banked  unsigned char  TM_GetGWDate(date_t *date, const char type);
non_banked  unsigned char  TM_SetGWDate(date_t *date, const char type);



non_banked unsigned long TM_ChangetoStdSec(time_t *time,date_t *date);
non_banked  unsigned char  TM_ChangetoCalendar(unsigned long cc_seconds,time_t *time,date_t *date);









































typedef struct
{
 unsigned long  lba; 

char reserv; 
void *sramaddr; 
 unsigned char  srampage; 
}SDR_RW1;

typedef struct
{
 unsigned long  byteaddr; 

char reserv; 
void *sramaddr; 
 unsigned char  srampage; 
 unsigned short  bytelength; 
}SDR_RW2; 



non_banked  unsigned char  SdrInit(void);


non_banked  unsigned char  SdrExit(void);


non_banked  unsigned char  SdrGetCap(void);


non_banked  unsigned char  SdrSectorRead( SDR_RW1 *sdrrwstruct);


non_banked  unsigned char  SdrSectorWrite(SDR_RW1 *sdrrwstruct);


non_banked  unsigned char  SdrRead(SDR_RW2 *sdrrwstruct);


non_banked  unsigned char  SdrWrite(SDR_RW2 * sdrrwstruct);









void enable_interrupt(void);
void disable_interrupt(void);
unsigned char input(unsigned short);
void output(unsigned short, unsigned char);
void halt(void);
void interrupt_mode_0(void);
void interrupt_mode_1(void);
void interrupt_mode_2(void);
void load_I_register(unsigned char);
unsigned char dump_I_register(void);
void _opc(unsigned char);
long address_24_of(void *);
void input_block_inc(unsigned char, unsigned char *, unsigned char);
void input_block_dec(unsigned char, unsigned char *, unsigned char);
void output_block_inc(unsigned char, unsigned char *, unsigned char);
void output_block_dec(unsigned char, unsigned char *, unsigned char);
unsigned char input8(unsigned char);
void output8(unsigned char, unsigned char);


void sleep(void);
void output_memory_block_inc(unsigned char, unsigned char *, unsigned char);
void output_memory_block_dec(unsigned char, unsigned char *, unsigned char);











  int puts(const char *__s);
  int putchar(int __value);
  int getchar(void);
  int sprintf(char *__s,const char *__format,...);
  int printf(const char *__format,...);
  int scanf(const char *__format,...);
  int sscanf(const char *__s, const char *__format,...);
  char *gets(char *__s);











typedef struct
{
int quot;
int rem;
} div_t;

typedef struct
{
long int quot;
long int rem;
} ldiv_t;









  void *malloc( unsigned int  __size);

  void free(void *__ptr);

  void exit(int __status);

  void *calloc(unsigned int __nelem,  unsigned int  __elsize);

  void *realloc(void *__ptr,  unsigned int  __size);

  int atoi (const char *__nptr);

  long atol (const char *__nptr);

  double atof (const char *__nptr);

  double strtod(const char *__nptr, char **__endptr);

  long int strtol(const char *__nptr, char **__endptr, int __base);

  unsigned long int strtoul(const char *__nptr, char **__endptr, int __base);

  int rand(void);

  void srand(unsigned int __seed);

  void abort(void);

  int abs(int __j);

  div_t div(int __numer, int __denom);

  long int labs(long int __j);

  ldiv_t ldiv(long int __numer, long int __denom);

  void *bsearch(const void *__key, const void *__base,
 unsigned int  __nmemb,  unsigned int  __size,
int (*__compar) (const void *, const void *));

  void qsort(void *__base,  unsigned int  __nmemb,  unsigned int  __size,
int (*__compar) (const void *, const void *));












  void *memcpy(void *s1, const void *s2,  unsigned int  n);

  void *memmove(void *s1, const void *s2,  unsigned int  n);

  void *memchr(const void *s, int c,  unsigned int  n);

  void *memset(void *s, int c,  unsigned int  n);

  int memcmp(const void *s1, const void *s2,  unsigned int  n);

  char *strchr(const char *s, int c);

  int strcmp(const char *s1, const char *s2);

  int strncmp(const char *s1, const char *s2,  unsigned int  n);

  int strcoll(const char *s1, const char *s2);

   unsigned int  strlen(const char *s);

   unsigned int  strcspn(const char *s1, const char *s2);

   unsigned int  strspn(const char *s1, const char *s2);

  char *strpbrk(const char *s1, const char *s2);

  char *strrchr(const char *s, int c);

  char *strstr(const char *s1, const char *s2);

  char *strcat(char *s1, const char *s2);

  char *strncat(char *s1, const char *s2,  unsigned int  n);

  char *strcpy(char *s1, const char *s2);

  char *strncpy(char *s1, const char *s2,  unsigned int  n);

  char *strerror(int errnum);

  char *strtok(char *s1, const char *s2);

   unsigned int  strxfrm(char *s1, const char *s2,  unsigned int  n);

















typedef struct
{
 unsigned char  TIT2_length;
char *TIT2_buffer;
 unsigned char  TPE1_length;
char *TPE1_buffer;
 unsigned char  TALB_length;
char *TALB_buffer;
 unsigned char  TENC_length;
char *TENC_buffer;

}ID3Info_t;




typedef struct
{
char disk; 
 unsigned char  DirNo[8]; 
long ClusterNo; 
 unsigned char  dirLayer;
char path[12]; 
char filename[12]; 
char *ID3buffer; 
 unsigned char  APE_Cur;
 unsigned short  PL_Cur;
}file_location_t;
typedef struct
{
char flag[6];
 unsigned short  FirstOffset; 
 unsigned short  LastOffset; 
 unsigned short  PlaylistCount; 

}user_playlist_head_t; 

typedef struct 
{
char DelFlag; 
char disk; 
 unsigned char  DirNo[8]; 
long ClusterNo; 
 unsigned char  dirLayer;
char path[12]; 
char filename[12]; 
 unsigned short  PrevOffset; 
 unsigned short  NextOffset; 


}user_playlist_t; 

typedef struct 
{
char PathorFile; 
char disk; 
 unsigned char  DirNo[8]; 
long ClusterNo; 
 unsigned char  dirLayer;
char path[12]; 
long FileNum;
long DirNum;
 unsigned short  Parentoffset; 
 unsigned short  DelFileNum; 
char serv[11+16-2];
}Location_Path_t;
typedef struct 
{
char PathorFile; 
char filename[12]; 
 unsigned short  Nextoffset; 
char serv;
char LN_Flag;
char longname[47];
}file_info_t;




 unsigned char  mp3GetID3Info(const char *filename, ID3Info_t *ID3Info, int string_id);
 unsigned char  wmaGetTAGInfo(const char *filename, ID3Info_t *ID3Info);
 unsigned char  oggGetTAGInfo(const char *filename, ID3Info_t *ID3Info, int string_id);












 unsigned char  lyricInit(  unsigned char  ScreenMode,  unsigned char  CharSet);



char lyricLoad(const char * strMusicFile, const char * strID3);


 unsigned char  lyricGetNext( char * strLyric,  unsigned char  len);


 unsigned char  lyricGetPrev( char * strLyric,  unsigned char  len);


 unsigned char  lyricQueryOutof(unsigned long lTime);



 unsigned char  lyricSeekFor( char *strlyric, const  unsigned char  len, const unsigned long lTime);



 unsigned char  lyricQueryExist(const char * strMusicFile);



























 unsigned char  fselInit(unsigned char type,  unsigned char  mode,  unsigned char  PlayListOrCommonDir,  unsigned char  CardOrFlash);

 unsigned char  fselPlayListEnt(char *filename);

 unsigned char  fselPlayListExit();

 unsigned char  fselGetNextFile(char *filename);

 unsigned char  fselGetPrevFile(char *filename);

 unsigned char  fselGetNextGroup(char *groupname);

 unsigned char  fselGetPrevGroup(char *groupname);

 unsigned char  fselGetCurGroupL(char *grouplongname,  unsigned short  iLen);

 unsigned char  fselGetCurFNameL(char *longfilename,  unsigned char  iLen);

 unsigned char  fselSetLocation(file_location_t *location);

 unsigned char  fselGetLocation(file_location_t *location);

 unsigned char  fselEntCurrentDir(char *strDir);

 unsigned char  fselRetParentDir(char *strDir);

 unsigned char  fselDelFile(unsigned char type);


 unsigned char  fselSetMode(  unsigned char  mode);

 unsigned short  fselGetTotal(void);

 unsigned short  fselGetNo(void);

 unsigned char  fselGetErrID(void);




 unsigned char  fselGetNext(char *strFile );

 unsigned char  fselGetPrev(char *strFile );

 unsigned char  fselGetByNO( char *strFile, const  unsigned short  Num);

 unsigned char  fselNextDir(char *strDir);

 unsigned char  fselPrevDir(char *strDir);


int GenNewName(file_location_t *loation);

 unsigned char  playlistdel(char *filename);
 unsigned char  playlistclassNext(char *classname);
 unsigned char  playlistclassPrev(char *classname);

 unsigned char  playlistnext(char *filename);
 unsigned char  playlistprev(char *filename);


 unsigned char  playlistret();


 unsigned char  fselSetLocationC(file_location_t *location);

 unsigned char  fselGetLocationC(file_location_t *location);


 unsigned char  unitochar(char *str,int len,unsigned char encode); 










typedef struct
{
char x; 
char y; 
char width; 
char height; 
}region_t;

non_banked void SetTextPos(unsigned char x,unsigned char y);
non_banked void PutS(const char *str,signed char strlen);


non_banked void UpdateScreen(const region_t *region);














char ap_get_message(void);
char *itoa3( unsigned short  i, char *buf); 
char *itoa4( unsigned short  i, char *buf); 


const char ftbl_GB[]="FTBL_GB.$$$";
const char ftbl_B5[]="FTBL_B5.$$$";
const char ftbl_JP[]="FTBL_JP.$$$";
const char ftbl_KR[]="FTBL_KR.$$$";

const char ftbl_RS[]="U1251.BIN";
const char ftbl_BC[]="U1250.BIN";
const char ftbl_LA[]="U1252.BIN";
const char ftbl_XL[]="U1255.BIN";



 unsigned short  OneUniToChar( unsigned short  unicode, const SD_FILE *fp, char mode)
{
 unsigned short  code,codeCk;
 unsigned long  unicode1;
int i;

unicode1=(( unsigned long )unicode)*2;
if(unicode>127)
{
if(mode== 15 )
{
codeCk=0x0000;

for(i=0;i<128;i++)
{
if(!SD_FSeek(fp, 0 ,codeCk*2))
return 0x20;
SD_FRead(fp,&code,2);
if(code==unicode)
return codeCk+0x0080;
codeCk++;
}
return 0x20;
}
else
{
if(!SD_FSeek(fp, 0 ,unicode1))
return 0x20;
if(SD_FRead(fp,&code,2))
return code;
}
}
else 
{
return unicode;
}
return 0;
}



 unsigned char  unitochar(char *str,int len,unsigned char encode)
{
int s_cnt=0;
int d_cnt=0;
 unsigned short  code;
SD_FILE *fp;


output8( 0x4e , input8( 0x4e ) | 0x08);

switch(encode)
{
case  0 : 
fp=SD_FOpen(ftbl_GB, 0 );
break;
case  2 : 
fp=SD_FOpen(ftbl_B5, 0 );
break;
case 3: 
fp=SD_FOpen(ftbl_JP, 0 ); 
break;
case 4: 
fp=SD_FOpen(ftbl_KR, 0 ); 
break;
case  17 : 
case  16 : 
fp=SD_FOpen(ftbl_BC, 0 ); 
break;
case  13 : 
fp=SD_FOpen(ftbl_RS, 0 ); 
break;
case  15 : 
fp=SD_FOpen(ftbl_XL, 0 );
break;
case  14 : 
for(d_cnt=0,s_cnt=0;(s_cnt<len)&&((str[s_cnt]!=0)||(str[s_cnt+1]!=0)); )
{
code = str[s_cnt]+str[s_cnt+1]*0x100;
if(code >= 0x0E00 && code <= 0x0E7F)
code = str[s_cnt]+0xA0;


else if(code == 0x20AC)
code = 0x80;
else if(code == 0x2026)
code = 0x85;
else if(code == 0x2018)
code = 0x91;
else if(code == 0x2019)
code = 0x92;
else if(code == 0x201C)
code = 0x93;
else if(code == 0x201D)
code = 0x94;
else if(code == 0x2022)
code = 0x95;
else if(code == 0x2013)
code = 0x96;
else if(code == 0x2014)
code = 0x97;
else
code = str[s_cnt];
str[d_cnt++]=code;
s_cnt+=2;
}
str[d_cnt]=0; 
return 1;

default: 
fp=SD_FOpen(ftbl_LA, 0 ); 
break;
}


if(fp== 0 )
{
SD_FClose(fp);
return 0;
}

for(d_cnt=0,s_cnt=0; (s_cnt<len) 
&& ( (str[s_cnt]!=0) || (str[s_cnt+1]!=0) ); )
{
code=OneUniToChar(str[s_cnt]+str[s_cnt+1]*0x100, fp, encode);
str[d_cnt++]=code;
if((encode!=1)&&(encode<5))
{
if(code>127)
{
str[d_cnt++]=code>>8;
}
}
s_cnt+=2;
output8( 0x4e , input8( 0x4e ) | 0x08);
}


str[d_cnt]=0; 
SD_FClose(fp);


output8( 0x4e , input8( 0x4e ) | 0x08);

return 1;
}

⌨️ 快捷键说明

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