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

📄 ui_play.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   037E  3E01              LD      A,1
   \   0380  320000            LD      (ui_auto_update),A
    259          
    260              if(result == RESULT_IGNORE) return 0;
   \   0383  3E34              LD      A,52
   \   0385  AD                XOR     L
   \   0386  B4                OR      H
   \   0387  2004              JR      NZ,?0051
   \   0389            ?0050:
   \   0389  69                LD      L,C
   \   038A  60                LD      H,B
   \   038B  1845              JR      ?0060
   \   038D            ?0051:
    261              else if(result != 0) return result;
   \   038D  7D                LD      A,L
   \   038E  B4                OR      H
   \   038F  203E              JR      NZ,?0059
   \   0391            ?0052:
   \   0391            ?0053:
    262          
    263              //handle return value
    264              active = list.active;
   \   0391  3A0400            LD      A,(list+4)
   \   0394  320400            LD      (?0049),A
    265          
    266              switch(list.active)
   \   0397  ED5B0400          LD      DE,(list+4)
   \   039B  CD0000            CALL    LWRD ?S_S_SWITCH_L06
   \   039E  0000              DEFW    0
   \   03A0  0400              DEFW    4
   \   03A2  CF03              DEFW    ?0059
   \   03A4  AC03              DEFW    ?0055
   \   03A6  B303              DEFW    ?0056
   \   03A8  BD03              DEFW    ?0057
   \   03AA  CB03              DEFW    ?0058
   \   03AC            ?0055:
    267              {
    268              case 0:        //repeat
    269                  result = show_loop();
   \   03AC  3E00              LD      A,BYTE3 show_loop
   \   03AE  210000            LD      HL,LWRD show_loop
   \   03B1  1805              JR      ?0193
    270          
    271                  break;
   \   03B3            ?0056:
    272              case 1:        //play rate
    273                  result = show_speed();
   \   03B3  3E00              LD      A,BYTE3 show_speed
   \   03B5  210000            LD      HL,LWRD show_speed
   \   03B8            ?0193:
   \   03B8  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   03BB  1809              JR      ?0194
    274          
    275                  break;
   \   03BD            ?0057:
    276              case 2:        //re-play
    277                  result = show_replay(0);
   \   03BD  58                LD      E,B
   \   03BE  3E00              LD      A,BYTE3 show_replay
   \   03C0  210000            LD      HL,LWRD show_replay
   \   03C3  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   03C6            ?0194:
   \   03C6  E5                PUSH    HL
   \   03C7  DDE1              POP     IX
    278          
    279                  break;
   \   03C9  1804              JR      ?0059
   \   03CB            ?0058:
    280              case 3:        //exit
    281                  result = 0;
   \   03CB  DD210000          LD      IX,0
    282          
    283                  break;
   \   03CF            ?0059:
   \   03CF            ?0054:
    284              default:
    285                  ASSERT(FALSE);
    286              }
    287              return result;
   \   03CF  DDE5              PUSH    IX
   \   03D1  E1                POP     HL
    288          
    289          }
   \   03D2            ?0060:
   \   03D2  DDE1              POP     IX
   \   03D4  D1                POP     DE
   \   03D5  C1                POP     BC
   \   03D6  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   03D9            show_play:
    290          
    291          /*
    292          ********************************************************************************
    293          * Description : 播放菜单界面
    294          *
    295          * Arguments   :
    296          *
    297          * Returns     :
    298          *
    299          * Notes       : 这里可能进入其他界面     , for card
    300          *
    301          ********************************************************************************
    302          */
    303          /*
    304          int show_play_menu_card(void)
    305          {
    306              int result;
    307              static char c_active=0;    //保持选中菜单的序号
    308          
    309              //show ui
    310              list.headid = PLAYMENU;
    311              list.active = c_active;
    312              list.total = 3;
    313              list.strid = c_play_string;
    314          
    315              ui_auto_update = FALSE;
    316              result = ui_popup_list(&list, NULL);
    317              ui_auto_update = TRUE;
    318          
    319              if(result == RESULT_IGNORE) return 0;
    320              else if(result != 0) return result;
    321          
    322              //handle return value
    323              c_active = list.active;
    324          
    325              switch(list.active)
    326              {
    327              case 0:        //repeat
    328                  result = show_loop();
    329          
    330                  break;
    331              case 1:        //re-play
    332                  result = show_replay(0);
    333          
    334                  break;
    335              case 2:        //exit
    336                  result = 0;
    337          
    338                  break;
    339              default:
    340                  ASSERT(FALSE);
    341              }
    342              return result;
    343          
    344          }
    345          */
    346          /*
    347          ********************************************************************************
    348          * Description : 播放界面
    349          *
    350          * Arguments   :
    351          *
    352          * Returns     : 结果消息或0
    353                  RESULT_END    //播放结束
    354                  RESULT_PREV    //按了prev按钮
    355                  RESULT_NEXT    //按了next按钮
    356                  RESULT_PAUSE    //play 时按了play按钮
    357                  RESULT_FF_END    //play 时按住next 结束
    358                  RESULT_RW_END    //play 时按住prev 结束
    359          *
    360          * Notes       :
    361          *
    362          ********************************************************************************
    363          */
    364          int show_play(void)
    365          {
   \   03D9  C5                PUSH    BC
   \   03DA  D5                PUSH    DE
   \   03DB  DDE5              PUSH    IX
   \   03DD  DD210000          LD      IX,0
   \   03E1  DD39              ADD     IX,SP
   \   03E3  21F0FF            LD      HL,65520
   \   03E6  39                ADD     HL,SP
   \   03E7  F9                LD      SP,HL
    366              int result;
    367              char key;
    368              BOOL need_draw=FALSE;    //第一次进来界面同stop,不刷新主界面   zxs change
    369          
    370              BYTE intro_counter=0;    //当前文件intro模式使用rtc作为counter
    371              BOOL fade_ok=TRUE;    //记录淡入/淡出过程中是否播放结束,TRUE标志正常
    372          
    373              //start play
    374              voiceSendCommand(MC_PLAY, 0);
   \   03E8  CD5A07            CALL    LWRD ?0220
    375              play_pause = FALSE;
    376              
    377              Cur_Status=1;
   \   03EB  3E01              LD      A,1
   \   03ED  320000            LD      (Cur_Status),A
    378              main_ResShowPic(PLAYICN,5,3);
   \   03F0  0E03              LD      C,3
   \   03F2  C5                PUSH    BC
   \   03F3  0E05              LD      C,5
   \   03F5  11DF00            LD      DE,223
   \   03F8  CDCC02            CALL    LWRD ?0227
   \   03FB  F1                POP     AF
   \   03FC  DD36F300          LD      (IX-13),0
   \   0400  DD36F400          LD      (IX-12),0
   \   0404  DD36F501          LD      (IX-11),1
   \   0408            ?0062:
    379              
    380              while(1)
    381              {
    382                  //show ui
    383                  if(need_draw)
   \   0408  AF                XOR     A
   \   0409  DDB6F3            OR      (IX-13)
   \   040C  2840              JR      Z,?0065
   \   040E            ?0064:
    384                  {
    385                      time_t time;
    386                      ui_draw();
   \   040E  3E00              LD      A,BYTE3 ui_draw
   \   0410  210000            LD      HL,LWRD ui_draw
   \   0413  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    387          
    388                      //get the playing time
    389                      voiceSendCommand(MC_GETTIME, (int)&time);
   \   0416  210600            LD      HL,6
   \   0419  39                ADD     HL,SP
   \   041A  CD2100            CALL    LWRD ?0222
    390                      if(!((time.hour==0)&&(time.minute==0)&&(time.second==0)))
   \   041D  AF                XOR     A
   \   041E  DDB6F6            OR      (IX-10)
   \   0421  200C              JR      NZ,?0070
   \   0423  DD7EF7            LD      A,(IX-9)
   \   0426  B7                OR      A
   \   0427  2006              JR      NZ,?0070
   \   0429  DD7EF8            LD      A,(IX-8)
   \   042C  B7                OR      A
   \   042D  280B              JR      Z,?0067
   \   042F            ?0070:
    391                      {
    392                           time_draw(&time, 0);
   \   042F  0E00              LD      C,0
   \   0431  210600            LD      HL,6
   \   0434  39                ADD     HL,SP
   \   0435  CD3803            CALL    LWRD ?0225
    393                      }
    394                      else
   \   0438  1805              JR      ?0071
   \   043A            ?0067:
    395                           numsave=0;
   \   043A  6F                LD      L,A
   \   043B  67                LD      H,A
   \   043C  220000            LD      (numsave),HL
   \   043F            ?0071:
    396                      ///-SetTextOutMode(0);
    397                      SetPenColor(Color_BLACK_def);
   \   043F  CD6C07            CALL    LWRD ?0229
    398                                  SetBackgdColor(Color_MENU_def);
    399                      ///-Scroll(g_file_name_time,TRUE,g_comval.langid);
    400                      ScrollInit(g_file_name_time, g_comval.langid);
   \   0442  3E00              LD      A,BYTE3 ScrollInit
   \   0444  210000            LD      HL,LWRD ScrollInit
   \   0447  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    401                      need_draw = FALSE;
   \   044A  DD36F300          LD      (IX-13),0
   \   044E            ?0065:
    402                }
    403          
    404                  //注意: 为了显示的连贯, ap_get_message() 必须和 ui_show_a() 在同一个bank
    405          
    406                  //handle msg
    407                  key = ap_get_message();
   \   044E  CD0000            CALL    LWRD ap_get_message
    408                  switch( key )
   \   0451  5F                LD      E,A
   \   0452  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   0455  0E00              DEFW    14
   \   0457  03                DEFB    3
   \   0458  04                DEFB    4
   \   0459  1B                DEFB    27
   \   045A  1C                DEFB    28
   \   045B  1D                DEFB    29
   \   045C  21                DEFB    33
   \   045D  25                DEFB    37
   \   045E  26                DEFB    38
   \   045F  30                DEFB    48
   \   0460  31                DEFB    49
   \   0461  43                DEFB    67
   \   0462  44                DEFB    68
   \   0463  45                DEFB    69
   \   0464  46                DEFB    70
   \   0465  8006              DEFW    ?0155

⌨️ 快捷键说明

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