lcdpanell.c
上传用户:caisangzi8
上传日期:2013-10-25
资源大小:15756k
文件大小:7k
源码类别:

DVD

开发平台:

C/C++

  1. #include "user_init.h"
  2. #include "config.h"
  3. #include "global.h"
  4. #include "sio.h"
  5. //#include "epp.h"
  6. //#include "fastmath.h"
  7. //#include "auctrl.h"
  8. //#include "user_init.h"
  9. //#include "vfd.h"
  10. #include "vfdfunc.h"
  11. #include "vfd_7seg.h"
  12. #include "vfd_p.h"
  13. #include "ircode.h"
  14. #include "ircmd.h"
  15. #include "func.h"
  16. //#include "sig.h"
  17. #include "fs96602.h"
  18. #include "osd.h"
  19.  
  20. #include "avd.h" //zyf 2000/11/22
  21. #include "vfd_prg.h"
  22. //#include "reverse.h"
  23. #include "iop.h"
  24. #define OFFSET 20
  25. #define MAX_POS 9 
  26. UINT16 counter,index;
  27. const UINT8 vfd_char[26]=
  28. {
  29. VFD_7SEG_A,
  30. VFD_7SEG_b,
  31. VFD_7SEG_C,
  32. VFD_7SEG_d,
  33. VFD_7SEG_E,
  34. VFD_7SEG_F,
  35. VFD_7SEG_G,
  36. VFD_7SEG_H,
  37. VFD_7SEG_I,
  38. VFD_7SEG_J,
  39. VFD_7SEG_J,//k
  40. VFD_7SEG_L,
  41. VFD_7SEG_L,//m
  42. VFD_7SEG_N,
  43. VFD_7SEG_O,
  44. VFD_7SEG_P,
  45. VFD_7SEG_P,//q
  46. VFD_7SEG_r,
  47. VFD_7SEG_S,
  48. VFD_7SEG_t,
  49. VFD_7SEG_U,
  50. VFD_7SEG_U,//v
  51. VFD_7SEG_Y,//x
  52. VFD_7SEG_Y,
  53. VFD_7SEG_Y//z
  54. };
  55. static const BYTE vfd_digit[] = 
  56. {
  57.   VFD_7SEG_0,
  58.   VFD_7SEG_1,
  59.   VFD_7SEG_2,
  60.   VFD_7SEG_3,
  61.   VFD_7SEG_4,
  62.   VFD_7SEG_5,
  63.   VFD_7SEG_6,
  64.   VFD_7SEG_7,
  65.   VFD_7SEG_8,
  66.   VFD_7SEG_9
  67. };
  68. void  vfd_set_str(UINT8 id,char *s)
  69. {
  70. UINT8 i,j,c;
  71.         if(id) {//english id
  72. //s=(char *)_OsdMessegeFont1[id][0];
  73.                 s=(char *)_OsdMessegeFont1[0][id][0];
  74.         }
  75. i=strlen(s);
  76. linebuf[20]=0;
  77. for(j=MAX_POS;j>0;j--)
  78. {
  79. if(i>0)
  80. {
  81. i--;
  82. if( (s[i]>='a')&&(s[i]<='z') )
  83. c=vfd_char[s[i]-0x20-'A'];
  84. else if( (s[i]>='A')&&(s[i]<='Z') )
  85. c=vfd_char[s[i]-'A'];
  86. else if( (s[i]>='0')&&(s[i]<='9') )
  87. c=vfd_digit[s[i]-'0'];
  88. else
  89. {
  90. if(s[i]==0x20)
  91. {
  92. c=0;
  93. }
  94. }
  95. linebuf[j+OFFSET]=c;
  96. }else
  97. linebuf[j+OFFSET]=0;
  98. }
  99.  #if VFD_MODULE == FUT_6_BT_269GK1
  100.    vfd_mem[VFDA_T0] = (vfd_mem[VFDA_T0]&(~VFD_7SEG_DIG_MASK)) | ((linebuf[1+OFFSET]>>1)&0xbf);
  101.    vfd_mem[VFDA_T1] = (vfd_mem[VFDA_T1]&(~VFD_7SEG_MASK)) | linebuf[2+OFFSET]|((linebuf[1+OFFSET]&0x01)<<7);  
  102. vfd_mem[VFDA_P0] = linebuf[3+OFFSET]>>1;
  103. vfd_mem[VFDA_P1] = linebuf[4+OFFSET]|((linebuf[3+OFFSET]&0x01)<<7);
  104. vfd_mem[VFDA_CHAR]=linebuf[5+OFFSET];
  105. vfd_mem[VFDA_M0] = linebuf[6+OFFSET];
  106. vfd_mem[VFDA_M1] = linebuf[7+OFFSET];
  107. vfd_mem[VFDA_S0] = (linebuf[8+OFFSET]>>1)&0x3f;
  108. vfd_mem[VFDA_S1] = linebuf[9+OFFSET]|((linebuf[8+OFFSET]&0x01)<<7);
  109.  #endif
  110. }
  111. void  vfd_set_welcome(int index)
  112. {
  113. }
  114. void vfd_set_playback(void)
  115. {
  116.   
  117.   #ifdef VFD_DOT_INTRO 
  118. if(play_state!=VCD_STATE_INTRO)
  119.   vfd_reset_dot(VFD_DOT_INTRO);
  120. else
  121.   vfd_set_dot(VFD_DOT_INTRO);   
  122. #endif
  123.   
  124. #ifdef VFD_DOT_RAN 
  125. if(shuffle_flag)
  126.   vfd_set_dot(VFD_DOT_RAN);
  127. else
  128.   vfd_reset_dot(VFD_DOT_RAN);    
  129. #endif
  130. if(IsAVDPaused())
  131. {   
  132.     //erase_vfd_mem();
  133.     vfd_set_dot(VFD_DOT_PAUSE);  
  134.     //vfd_set_str(STR_OS_PAUSE,"");
  135. }else
  136. {
  137.    vfd_reset_dot(VFD_DOT_PAUSE);      
  138. }
  139. #ifdef VFD_DOT_PBC 
  140. if(IsPBCOn()) 
  141.    vfd_set_dot(VFD_DOT_PBC);
  142. else  
  143. vfd_reset_dot(VFD_DOT_PBC);      
  144. #endif
  145. if(rep_mode==REPEAT_TRACK)
  146. {
  147. vfd_set_dot(VFD_DOT_REPEAT); 
  148.         vfd_set_dot(VFD_DOT_REP1); 
  149. }else if(rep_mode==REPEAT_DISC)
  150. {
  151. vfd_set_dot(VFD_DOT_REPALL);
  152.         vfd_reset_dot(VFD_DOT_REP1);
  153.         vfd_reset_dot(VFD_DOT_REPEAT); 
  154. }else
  155. {
  156. vfd_reset_dot(VFD_DOT_REPEAT); 
  157.        vfd_reset_dot(VFD_DOT_REP1); 
  158.        vfd_reset_dot(VFD_DOT_REPALL);
  159. }
  160. if(rep_ab_mode==REPEAT_FIND_A)
  161. {
  162. vfd_set_dot(VFD_DOT_PLAYA);
  163. }else if(rep_ab_mode==REPEAT_FIND_B)
  164. {
  165. vfd_set_dot(VFD_DOT_PLAYB);
  166. }else
  167. {
  168. vfd_reset_dot(VFD_DOT_PLAYA);
  169. vfd_reset_dot(VFD_DOT_PLAYB);
  170. }
  171. #if 0
  172. #ifdef VFD_DOT_PGM  
  173. if(prog_state)
  174. {
  175. if(play_state==VCD_STATE_STOP)
  176. //vfd_set_pgm(0);
  177. vfd_set_dot(VFD_DOT_PGM);   
  178. }else
  179. {
  180. //vfd_set_pgm(0);
  181. vfd_reset_dot(VFD_DOT_PGM);   
  182. }
  183. #endif 
  184. #endif
  185. #ifdef VFD_DOT_PAL 
  186. if(tv_format==MODE_PAL)
  187. {
  188. vfd_set_dot(VFD_DOT_PAL);  
  189. vfd_reset_dot(VFD_DOT_NTSC);
  190. }
  191. else
  192. {
  193. vfd_set_dot(VFD_DOT_NTSC);  
  194. vfd_reset_dot(VFD_DOT_PAL);
  195. }      
  196. #endif  
  197. #ifdef VFD_DOT_REMAIN   //zyf 2000/11/16
  198. if(remain)
  199. vfd_set_dot(VFD_DOT_REMAIN);
  200. else
  201. vfd_reset_dot(VFD_DOT_REMAIN);
  202. #endif
  203. #if 0
  204. #ifdef VFD_DOT_MIC1
  205. switch(audio_channel)
  206. {
  207. case CH_LR:
  208. case CH_RR:          
  209. case CH_LL:
  210. //  vfd_reset_dot(VFD_DOT_MIC1);
  211.         //  vfd_reset_dot(VFD_DOT_MIC2);                  
  212.           break;
  213.          
  214.         case CH_AUTO_L:
  215.         case CH_AUTO_R:
  216.           vfd_set_dot(VFD_DOT_MIC1);
  217.         vfd_set_dot(VFD_DOT_MIC2);
  218.             break;            
  219. }
  220. #endif
  221. #endif
  222. #if 0
  223. #ifdef VFD_DOT_1L
  224. switch(audio_effect)
  225. {
  226. case SE_STEREO:
  227.   vfd_reset_dot(VFD_DOT_1L);
  228.   vfd_reset_dot(VFD_DOT_2R);         
  229. break;
  230. case SE_HALL:
  231. case SE_LIVE:
  232. case SE_THEATER:
  233. case SE_ROOM:
  234.   vfd_set_dot(VFD_DOT_1L);
  235.   vfd_set_dot(VFD_DOT_2R);
  236. break;
  237. }
  238. #endif
  239. #endif
  240. #ifdef VFD_DOT_CHAPTER  
  241.     vfd_set_dot(VFD_DOT_CHAPTER);     
  242. #endif
  243. #ifdef VFD_DOT_LINE          //zyf 2000/11/26
  244.    vfd_set_dot(VFD_DOT_LINE); 
  245. #endif
  246. //********  show time by chichang 2001 5/26    ********************
  247.     {   
  248.     
  249.      psprintf(linebuf,"%02d%02d%01d%02d%02d",cd_total_trk(),disp_trk_now,show_time_hh,show_time_mm,show_time_ss);
  250.      vfd_set_str(0,0,linebuf);
  251.         vfd_set_dot(VFD_DOT_MIN);
  252.         vfd_set_dot(VFD_DOT_MINSEC);      
  253.     }
  254. //*****************************************************************
  255. #if 0
  256. if(cd_type_loaded!=CDROM)  //jjding 2000/11/17
  257. {
  258. vfd_set_dot(VFD_DOT_CHAPTER);
  259. vfd_set_dot(VFD_DOT_TITLE);
  260. vfd_set_dot(VFD_DOT_VCD);
  261. vfd_set_dot(VFD_DOT_MINSEC);
  262. vfd_set_dot(VFD_DOT_H_M);
  263. //vfd_set_tt(cd_total_trk());
  264. //vfd_set_pp(disp_trk_now);       //VFD set min           
  265. }else if(play_state!=VCD_STATE_STOP)
  266. {
  267. /*if(play_state==VCD_STATE_MP3_DIRLIST)
  268.     {
  269.       vfd_set_pp(0);
  270.         vfd_set_mm(0);
  271.         vfd_set_ss(0);         
  272.     }else*/
  273.     { 
  274.         if(mp3_user_select>99)
  275.         {
  276.            vfd_set_tt(mp3_user_select/100);
  277.            vfd_set_pp(mp3_user_select%100);
  278.         }
  279.         else
  280.         {
  281.           vfd_set_tt(0);
  282.           vfd_set_pp(mp3_user_select);          
  283.         }
  284.     }
  285.     
  286. }else
  287. {    
  288.     vfd_set_tt(mp3_total_dir);
  289.     vfd_reset_dot(VFD_DOT_MINSEC);
  290.          vfd_set_mm(iso9660_file_cnt/100);
  291.          vfd_set_ss(iso9660_file_cnt%100);    
  292. }
  293. #endif  
  294. #endif
  295. }
  296. UINT16 vfd_set_disc_run(UINT16 index)
  297. {
  298. if(adv_search_time>=0)
  299.     {
  300.         vfd_set_dot(vfd_disc[index]);
  301. if(index>=11)
  302. {
  303. index=0;
  304. }else
  305. index++;
  306. vfd_reset_dot(vfd_disc[index]);     
  307.     }else
  308.     {
  309.         vfd_set_dot(vfd_disc[index]);
  310. if(index==0)
  311. {
  312. index=11;
  313. }else
  314. index--;
  315. vfd_reset_dot(vfd_disc[index]); 
  316.     
  317.     }
  318.     return index;
  319. }