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

📄 main.i

📁 炬力方案176*132软件源码,适用于AK1025
💻 I
📖 第 1 页 / 共 3 页
字号:
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
{
 unsigned long  PenColor; 
 unsigned long  BackgdColor; 
}DC, *PDC;

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



non_banked char *PutS(const char *str,signed char strlen); 
non_banked  unsigned char  PutChar(int code); 
non_banked void PutSDImage(region_t *imageregion,long int sdimageaddr); 
non_banked void InvertRegion(region_t *invregion); 
non_banked void SetAsciiFont(unsigned char FontID); 
non_banked void SetTextPos(unsigned char x,unsigned char y); 
non_banked void SetPenColor( unsigned long  color);
non_banked void SetBackgdColor( unsigned long  color);
non_banked void SetTextOutMode(unsigned char mod); 
non_banked void SetContrast(char ContrastValue); 
non_banked void DispBufSelect(unsigned char rampage); 

non_banked void GetFontPoint(int code,void *picbuf); 
non_banked char *GetDisplayBufAddr(void); 
non_banked void GetTextPos(unsigned char *x,unsigned char *y); 
non_banked void GetDCStatus(PDC pdc); 
non_banked char GetOutPutErr(void); 
non_banked void RegionMove(region_t *sregion, region_t *tregion); 
non_banked void RegionCopy(region_t *sregion, region_t *tregion); 
non_banked void UpdateScreen(const region_t *region); 
non_banked void SetTranMode(char Mode); 
non_banked void SetWindow(region_t *winregion); 
non_banked void LightOnOff( unsigned char  OnOff); 
non_banked void BuffDataTrans(char *buff , int datacnt); 
non_banked void SetDrawMode( unsigned char  mode); 


non_banked  unsigned char  CharOutRect(int code,int nextcode,region_t *CRregion,  unsigned char  colcnt);
non_banked void FillRect (region_t * region);
non_banked void DrawRectFrame(region_t * region );
non_banked char *TextOutRect(region_t * region, char mode);
non_banked void Draw3DRect (region_t * D3region,  unsigned char  type);
non_banked void StandbyScreen( unsigned char  bStandby); 
non_banked void ClearScreen(region_t *clrregion); 
non_banked void MsgBox(int MsgNo,char x,char y); 

non_banked void SetBrightness(char BrightnessValue); 

non_banked  unsigned char  sUI_Init(char mode); 
non_banked void sUI_Exit(void); 
non_banked void sUI_HardInit(void); 


extern long FontLibAddr;
extern long AsciiFontLibAddr;
extern char DisplayBuffer[];























































typedef struct
{
int title;
int headpic;
char menu_grade[3]; 
}menuhead_t;












typedef struct
{
int total; 
int active; 
const  unsigned short  *title; 
 unsigned char  grade[3];
 unsigned char  string_id;
}function_menu_t;






typedef struct
{

int min;
int max;
int value;
 unsigned char  string_id;
} progress_t;






typedef struct
{

int title;
int min;
int max;
int value;
int step; 
 unsigned char  string_id;
}slider_t;
















typedef struct
{

const  unsigned short  *strid;
int total;
int active;
int headid;

 unsigned char  string_id;
}pop_up_list_t;

int ui_menuhead (menuhead_t *menuhead, int string_id);

int ui_popup_list(pop_up_list_t *list, const void (*callback)(int value));





int ui_err_msg (int msgID, int typeID, int string_id);
int ui_show_msg (int msgID, int typeID, int string_id);



int ui_menu (function_menu_t *menu , const void (*callback)(int value));



int ui_menu2 (function_menu_t *menu , const void (*callback)(int value));

int ui_show_progress(const progress_t *progress, int string_id);
void ui_show_guage(int step, unsigned char  para);




int ui_filelist(file_location_t *location, int type, int string_id);
int ui_explore(file_location_t *location, int type, int string_id);







extern char file_name[12];
extern char dir_name[30];

extern char *str_pt;
extern char *strhead_pt;
extern  unsigned char  scroll_cnt;




int rm_dir_from_buf(int n);
extern  unsigned char  read_idm_data(char *name, int count);
extern  unsigned char  write_idm_data(char *name, int count);
extern void init_dir_buf();
extern  unsigned char  get_dir_name(char *file,  unsigned short  num);
extern void get_dir_name2(char *file, int num);
extern int init_sel_dir_buf(void);
extern  unsigned char  del_all_my_file(int type,  unsigned char  string_id);
extern void reinit_idm_buf(int top, int bottom, int total_dir, int string_id);
void show_active_list(int old_active, int active, int top);
 unsigned char  show_popup_list(int string_id);
int ui_explore_sub(file_location_t *location, int type, int string_id);
int init_active(int string_id);
int init_active_dironly(file_location_t *location);
void reset_cur_list_bg_color(int i, int tmp);
void get_dir_long_name(file_location_t *location, int string_id);
void redraw_window(void);
void Clearexplore(void);
void ui_show_data(char *buf,  unsigned char  x,  unsigned char  y);








































































typedef struct
{
char magic[4]; 
 unsigned short  counts; 
char reserved[10];
}res_head_t;


typedef struct
{
long offset; 
 unsigned short  length; 
 unsigned char  type; 
char name[9]; 
}res_entry_t;

extern SD_FILE *res_fp;
extern  unsigned char  ui_auto_update; 
extern  unsigned char  ui_auto_select; 
extern  unsigned char  ui_run_realtime; 
extern region_t res_region;
extern const char mychar[]; 
extern const char menu_pos[6];




extern  unsigned char  charge_flag; 




SD_FILE *ResOpen(const char * filename);
void ResClose(const SD_FILE *fp_res);
int ResShowPic( unsigned short  id,  unsigned char  x,  unsigned char  y); 
int main_ResShowPic( unsigned short  id,  unsigned char  x,  unsigned char  y);


int ResShowString( unsigned short  id,  unsigned char  x,  unsigned char  y); 
int ResShowMultiString( unsigned short  id,  unsigned char  string_id,  unsigned char  x,  unsigned char  y); 
int ResInvertShowPic( unsigned short  id,  unsigned char  x,  unsigned char  y);
void ap_message_init(const comval_t *comval);
non_banked char ap_get_message(void);
non_banked char ap_handle_hotkey(char key);
char ap_sleep(int half_sec); 

void ap_set_event( unsigned short  event);
 unsigned short  ap_get_event( unsigned short  event,  unsigned short  condition);
void ap_del_event( unsigned short  event);


char *itoa_1( unsigned char  i, char *buf); 
char *itoa_2( unsigned char  i, char *buf); 
char *itoa_3( unsigned short  i, char *buf); 
char *itoa_4( unsigned short  i, char *buf); 

int get_text_width(const char *string);
int get_large_text_width(const char *string);


void ui_show_a( unsigned short  id);
void ui_show_b( unsigned short  id);
void ui_show_c( unsigned short  id);
void ui_show_d(const char *string,char mode);
void ui_show_d2(const char *string); 
void ui_show_cd(const char *string,  unsigned char  part);
void ui_show_d_pic( unsigned short  id); 
void ui_show_e( unsigned short  id);
void ui_show_f(const char *string );
void ui_show_ef(const char *string,  unsigned char  part);
void ui_show_batt(int value, char batt_type, unsigned char  fmflag); 
void ui_show_g(const char *string);
void ui_show_h(const char *string);
int ui_delete(file_location_t *location,  unsigned char  type, unsigned char  string_id);
int ui_delete_all(file_location_t *location,  unsigned char  type, unsigned char  string_id);
int ui_deleteplaylist(file_location_t *location,  unsigned char  type, unsigned char  string_id);
int ui_directory(file_location_t *location,  unsigned char  type, unsigned char  string_id);
int ui_playlist(file_location_t *location,  unsigned char  type, unsigned char  string_id);
int ui_function_menu(function_menu_t *menu, const void (*callback)(int res_id));
int ui_slider(slider_t *slider, const void (*callback)(int res_id));
char ui_show_lock(char islock);
void ui_show_vol( unsigned char  volume);
 unsigned char  Count_Byte(char *str,char language); 

void Scroll(char *scrollstr, char language);
void ScrollInit( char * scrollstr, char language); 
void ScrollString( char * scrollstr,  unsigned char  mode ,char language,region_t *scroll); 













typedef struct _BROWSE_TEXT_FILE_
{
unsigned int FileHandle; 
long FileLengthBytes; 
long PrevSeek; 
long CurrentSeek; 
unsigned int BufSector; 
unsigned int SectorTotal; 
unsigned char langid; 

unsigned char bufPrev[  20  ]; 
unsigned char bufFile[  512  ]; 
unsigned char bufNext[  20  ]; 
} STRUCT_VIEW_FILE;

extern unsigned char read_text(STRUCT_VIEW_FILE *ViewFileStructPoint, unsigned short nFileSector );
extern unsigned char *read_buff(STRUCT_VIEW_FILE *ViewFileStructPoint, long OA_LongAddr, unsigned short ReadDataLength );
extern void ToPrevScreenPosition( STRUCT_VIEW_FILE *ViewFileStructPoint );
extern unsigned char view_page_up( STRUCT_VIEW_FILE *ViewFileStructPoint, int BackGroundID);
extern unsigned char view_page_down(STRUCT_VIEW_FILE *ViewFileStructPoint, unsigned char DealMode, int BackGroundID);











typedef struct
{
 unsigned short  magic; 
file_location_t location; 
}browser_vars_t;

typedef struct
{
 unsigned short  magic;
char playflag; 
char autoplaytime; 
 unsigned short  headid; 
file_location_t location;
STRUCT_VIEW_FILE g_txt;
}reader_vars_t;
extern reader_vars_t g_reader_vars; 


extern comval_t g_comval; 
extern int active; 
extern int g_file_total; 
extern  unsigned char  g_from_browser;

extern char Outputdata[];

extern int InitFileSelector(void);
extern UpdateFileSelector(void);
extern void LoadData(void);

int MenuInReader(void);
int show_stop(void);
int do_play(void);
void reinit_idm_buf_reader(int top, int bottom, int total_dir, int string_id);
void show_active_list_reader(int old_active, int active, int top);
void Clearexplore_reader(void);
void read_idm_data_reader(char *name, int count);
void reset_cur_list_bg_color_reader(int i, int tmp);
 unsigned char  sel_next( unsigned char  select_all);
 unsigned char  sel_prev( unsigned char  select_all);




 unsigned char  g_menu_active; 
comval_t g_comval; 
reader_vars_t g_reader_vars; 
char *val_p; 
 unsigned char  ActiveDriveOK;
 unsigned char  g_DiskStateFlag = 0;
 unsigned char  g_from_browser =  0 ;


void read_var(void)
{
int result;
browser_vars_t temp_browser_vars;
result = VMRead(&g_comval,  0x0200 , sizeof(g_comval)); 


if(g_comval.magic !=  0xdead )
{
 ;


GetDefaultComval(&g_comval);
}


ap_message_init(&g_comval);

result = VMRead(&g_reader_vars,  0x4400 , sizeof(g_reader_vars)); 

val_p=(char *)&g_reader_vars; 

result = VMRead(val_p+512,  0x4600 , sizeof(g_reader_vars)-512); 

if(g_reader_vars.magic !=  0x7478 )
{ 
g_reader_vars.magic =  0x7478 ;
g_reader_vars.playflag = 0;
g_reader_vars.autoplaytime = 1; 

g_reader_vars.g_txt.PrevSeek=0;
g_reader_vars.g_txt.CurrentSeek=0;

g_reader_vars.location.disk = 'C';
strcpy(g_reader_vars.location.path,  ":" );
g_reader_vars.location.filename[0] = 0;
}
g_reader_vars.g_txt.langid = g_comval.langid;
if(g_from_browser)
{
VMRead(&temp_browser_vars,  0x4C00 , sizeof(browser_vars_t));
memcpy(&g_reader_vars.location, &temp_browser_vars.location, sizeof(file_location_t));
g_reader_vars.g_txt.PrevSeek=0;
g_reader_vars.g_txt.CurrentSeek=0;
}

}



int main(int param)
{ 
int result;
DC oldDC_sav; 

if(param)
{
g_from_browser =  1 ;
}

DRV_ActiveUD(0, 0x01 );
res_fp = ResOpen("ui30.res"); 
if(!res_fp)
{
ResClose(res_fp); 
return  10 ;
}

read_var(); 
ActiveDriveOK = DRV_ActiveDrive('C',  0x01 ); 
if (!ActiveDriveOK)
{
ui_show_msg ( 508 ,  508 , g_comval.langid); 
while( ap_get_message() !=  0  );
ap_sleep(4);
g_reader_vars.location.disk='H'; 
}
else
g_DiskStateFlag |=  0x80 ;

if (DRV_DetectUD(1) == 0x20)
{ 
DRV_ActiveUD(1, 0x01 );
if (!DRV_ActiveDrive('H',  0x01 ))
{
ui_show_msg ( 630 ,  630 , g_comval.langid); 
while( ap_get_message() !=  0  ); 
ap_sleep(4);
g_reader_vars.location.disk='C'; 
if (!ActiveDriveOK)
{
ResClose(res_fp);
return 0;
}
}
else
g_DiskStateFlag |=  0x08 ;
}
else
{ 
g_reader_vars.location.disk='C'; 
if (!ActiveDriveOK)
{
ResClose(res_fp);
return 0;
}
}

SetPenColor( 0x00000000 );
SetBackgdColor( 0x0000ffff );

ClearScreen( 0 );
ResShowMultiString( 600 , g_comval.langid, 255, 58); 
result = InitFileSelector();
if(result!=0)
{
result=show_stop();
}

ap_sleep(4);
output8(0x4e,input8(0x4e)|0x8); 
ResClose(res_fp);
fselGetLocation(& g_reader_vars.location);
VMWrite(&g_reader_vars,  0x4400 ); 

val_p= (char *)&g_reader_vars; 

VMWrite(val_p+512,  0x4600 ); 
return result;
}

⌨️ 快捷键说明

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