ui_play.lst

来自「MP3 整个 SDK」· LST 代码 · 共 1,122 行 · 第 1/4 页

LST
1,122
字号
    166                              ui_err_msg(CARDPULL,CARDPULL,g_comval.langid);//显示卡拔出
   \   020A  ED4B0C00          LD      BC,(g_comval+12)
   \   020E  42                LD      B,D
   \   020F  C5                PUSH    BC
   \   0210  CD8A02            CALL    LWRD ?0170
   \   0213  F1                POP     AF
    167                              need_sel_file=TRUE;
   \   0214  3E01              LD      A,1
   \   0216  320000            LD      (need_sel_file),A
    168                              return 0;
   \   0219            ?0150:
   \   0219  210000            LD      HL,0
    169                            }         
   \   021C  1819              JR      ?0083
   \   021E            ?0076:
   \   021E            ?0077:
    170                            default:
    171                            key = ap_handle_hotkey( key);
   \   021E  FDE5              PUSH    IY
   \   0220  E1                POP     HL
   \   0221  5D                LD      E,L
   \   0222  CD0000            CALL    LWRD ap_handle_hotkey
   \   0225  4F                LD      C,A
   \   0226  C5                PUSH    BC
   \   0227  FDE1              POP     IY
    172                            if(key == RESULT_REDRAW) need_draw = TRUE;
   \   0229  3E32              LD      A,50
   \   022B  A9                XOR     C
   \   022C  CAC000            JP      Z,?0151
   \   022F            ?0078:
   \   022F            ?0079:
    173                            else if(key != 0) return key;                    
   \   022F  FDE5              PUSH    IY
   \   0231  E1                POP     HL
   \   0232  7D                LD      A,L
   \   0233  B4                OR      H
   \   0234  CAC400            JP      Z,?0029
   \   0237            ?0081:
    174                         }              
   \   0237            ?0082:
   \   0237            ?0080:
   \   0237            ?0058:
    175                                                         
    176                     }      
    177                     return result;      
    178          }
   \   0237            ?0083:
   \   0237  DDF9              LD      SP,IX
   \   0239  DDE1              POP     IX
   \   023B  FDE1              POP     IY
   \   023D  D1                POP     DE
   \   023E  C1                POP     BC
   \   023F  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0242            ?0167:
   \   0242  010000            LD      BC,0
   \   0245  59                LD      E,C
   \   0246  50                LD      D,B
   \   0247  CD0000            CALL    LWRD SetBackgdColor
   \   024A  1E00              LD      E,BYTE3 PicViewInit
   \   024C  0600              LD      B,0
   \   024E  48                LD      C,B
   \   024F  CD0000            CALL    LWRD BankSwitch
   \   0252  111E00            LD      DE,g_viewpic_vars+30
   \   0255  CD0000            CALL    LWRD FS_FOpen
   \   0258  220700            LD      (fp),HL
   \   025B  111E00            LD      DE,g_viewpic_vars+30
   \   025E  3E00              LD      A,BYTE3 CheckPicType
   \   0260  210000            LD      HL,LWRD CheckPicType
   \   0263  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0266  7D                LD      A,L
   \   0267  321D00            LD      (PictureType),A
   \   026A  110000            LD      DE,0
   \   026D  CD0000            CALL    LWRD ClearScreen
   \   0270  C9                RET
   \   0271            ?0168:
   \   0271  220000            LD      (active),HL
   \   0274  1E01              LD      E,1
   \   0276  3E00              LD      A,BYTE3 sel_next
   \   0278  210000            LD      HL,LWRD sel_next
   \   027B  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   027E            ?0169:
   \   027E  CD0000            CALL    LWRD ap_get_message
   \   0281  4F                LD      C,A
   \   0282  0600              LD      B,0
   \   0284  C5                PUSH    BC
   \   0285  FDE1              POP     IY
   \   0287  59                LD      E,C
   \   0288  50                LD      D,B
   \   0289  C9                RET
   \   028A            ?0170:
   \   028A  019101            LD      BC,401
   \   028D            ?0171:
   \   028D  59                LD      E,C
   \   028E  50                LD      D,B
   \   028F  3E00              LD      A,BYTE3 ui_err_msg
   \   0291  210000            LD      HL,LWRD ui_err_msg
   \   0294  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0297            Auto_play:
    179              
    180          int Auto_play(void)
    181          {
   \   0297  C5                PUSH    BC
   \   0298  D5                PUSH    DE
   \   0299  FDE5              PUSH    IY
   \   029B  DDE5              PUSH    IX
   \   029D  DD210000          LD      IX,0
   \   02A1  DD39              ADD     IX,SP
   \   02A3  F5                PUSH    AF
   \   02A4  F5                PUSH    AF
    182              bool    need_draw=TRUE;
    183                     char     tmp;
    184                     
    185                     int key;
    186                     int result;
    187                            
    188                  err_id=0;
   \   02A5  AF                XOR     A
   \   02A6  320900            LD      (err_id),A
    189                  //Stop_display=0;
    190                  count_autoplay=0;
   \   02A9  320B00            LD      (count_autoplay),A
    191                  Delaytime=g_viewpic_vars.autoplaytime*2;              
   \   02AC  3A0300            LD      A,(g_viewpic_vars+3)
   \   02AF  87                ADD     A,A
   \   02B0  320C00            LD      (Delaytime),A
   \   02B3  DD36FD01          LD      (IX-3),1
   \   02B7            ?0085:
    192                  while(ap_get_message() != 0);
   \   02B7  CD0000            CALL    LWRD ap_get_message
   \   02BA  B7                OR      A
   \   02BB  20FA              JR      NZ,?0085
   \   02BD            ?0086:
    193                     while(1)
   \   02BD            ?0084:
   \   02BD            ?0088:
    194              {
    195                       if(need_draw)
   \   02BD  AF                XOR     A
   \   02BE  DDB6FD            OR      (IX-3)
   \   02C1  285C              JR      Z,?0091
   \   02C3            ?0090:
    196                       {
    197                          SetBackgdColor(Color_BLACK_def);
   \   02C3  CD4202            CALL    LWRD ?0167
    198                           //fselGetByNO(g_viewpic_vars.location.filename, active+1);
    199                           BankSwitch((ulong)address_24_of(PicViewInit) >> 16);
    200                           fp=FS_FOpen(g_viewpic_vars.location.filename,FS_OPEN_NORMAL);
    201                           PictureType=CheckPicType(g_viewpic_vars.location.filename);
    202                           ClearScreen(NULL);
    203                           tmp=JpegDec(&Dscinf,PictureType,fp,1);                // decoder the jpeg file                     
   \   02C6  0E01              LD      C,1
   \   02C8  C5                PUSH    BC
   \   02C9  2A0700            LD      HL,(fp)
   \   02CC  E5                PUSH    HL
   \   02CD  ED4B1D00          LD      BC,(PictureType)
   \   02D1  110000            LD      DE,Dscinf
   \   02D4  CD0000            CALL    LWRD JpegDec
   \   02D7  E1                POP     HL
   \   02D8  E1                POP     HL
   \   02D9  DD77FC            LD      (IX-4),A
    204                           FS_FClose(fp);         
   \   02DC  ED5B0700          LD      DE,(fp)
   \   02E0  CD0000            CALL    LWRD FS_FClose
    205                          
    206                           if(tmp==0)
   \   02E3  AF                XOR     A
   \   02E4  DDB6FC            OR      (IX-4)
   \   02E7  2008              JR      NZ,?0093
   \   02E9            ?0092:
    207                           {
    208                               err_id=1;
   \   02E9  3E01              LD      A,1
   \   02EB  320900            LD      (err_id),A
    209                               return 0;
   \   02EE  C37803            JP      LWRD ?0156
    210                           }
   \   02F1            ?0093:
    211                           count_autoplay=0;
   \   02F1  AF                XOR     A
   \   02F2  320B00            LD      (count_autoplay),A
    212                           if(tmp==57)return 0;
   \   02F5  DD7EFC            LD      A,(IX-4)
   \   02F8  FE39              CP      57
   \   02FA  287C              JR      Z,?0156
   \   02FC            ?0094:
   \   02FC            ?0095:
    213                           if(tmp == RESULT_REDRAW) need_draw = TRUE;
   \   02FC  FE32              CP      50
   \   02FE  2811              JR      Z,?0100
   \   0300            ?0096:
    214                           else
   \   0300            ?0097:
    215                           {
    216                               if((tmp!=1)&&(tmp!=56))return tmp;
   \   0300  47                LD      B,A
   \   0301  05                DEC     B
   \   0302  280D              JR      Z,?0100
   \   0304  DD7EFC            LD      A,(IX-4)
   \   0307  FE38              CP      56
   \   0309  2806              JR      Z,?0100
   \   030B            ?0102:
   \   030B            ?0101:
   \   030B            ?0099:
   \   030B  6F                LD      L,A
   \   030C  2600              LD      H,0
    217                           }
   \   030E  C3C303            JP      LWRD ?0130
   \   0311            ?0100:
   \   0311            ?0098:
   \   0311            ?0104:
    218                           while(1)
    219                           {
    220                               key=ap_get_message();
   \   0311  CD0000            CALL    LWRD ap_get_message
   \   0314  4F                LD      C,A
   \   0315  0600              LD      B,0
    221                               if(key==AP_MSG_RTC)continue;
   \   0317  3E1C              LD      A,28
   \   0319  A9                XOR     C
   \   031A  28F5              JR      Z,?0100
   \   031C            ?0106:
   \   031C            ?0107:
    222                               else    
    223                                   break;
   \   031C            ?0103:
    224                           }
    225                           need_draw = FALSE;    
   \   031C  DD70FD            LD      (IX-3),B
   \   031F            ?0091:
    226                       }
    227                             
    228                         key=ap_get_message();                               // get the user message
   \   031F  CD7E02            CALL    LWRD ?0169
    229                         switch(key)
   \   0322  CD0000            CALL    LWRD ?S_V_SWITCH_L06
   \   0325  0900              DEFW    9
   \   0327  0100              DEFW    1
   \   0329  1000              DEFW    16
   \   032B  1100              DEFW    17
   \   032D  1B00              DEFW    27
   \   032F  1C00              DEFW    28
   \   0331  1D00              DEFW    29
   \   0333  2100              DEFW    33
   \   0335  3000              DEFW    48
   \   0337  3700              DEFW    55
   \   0339  7D03              DEFW    ?0118
   \   033B  5D03              DEFW    ?0116
   \   033D  9A03              DEFW    ?0124
   \   033F  7803              DEFW    ?0156
   \   0341  9A03              DEFW    ?0124
   \   0343  4D03              DEFW    ?0110
   \   0345  4D03              DEFW    ?0110
   \   0347  9A03              DEFW    ?0124
   \   0349  9A03              DEFW    ?0124
   \   034B  9A03              DEFW    ?0124
   \   034D            ?0109:
    230                         {                
    231                         case AP_MSG_STANDBY:
    232                              break;
   \   034D            ?0110:
    233                         case AP_MSG_RTC:
    234                         case AP_MSG_CHARGING:
    235                             count_autoplay++;
   \   034D  210B00            LD      HL,count_autoplay
   \   0350  34                INC     (HL)
    236                             if(count_autoplay>=Delaytime)need_draw = TRUE;
   \   0351  3A0C00            LD      A,(Delaytime)
   \   0354  47                LD      B,A
   \   0355  3A0B00            LD      A,(count_autoplay)
   \   0358  B8                CP      B
   \   0359  383F              JR      C,?0124
   \   035B            ?0111:
   \   035B  1830              JR      ?0157
   \   035D            ?0112:
    237                             break;
   \   035D            ?0113:
    238                         
    239                         case AP_KEY_PLAY:
    240                         case AP_KEY_MODE:
    241                         case AP_KEY_AB:
    242                             //Stop_display=1;

⌨️ 快捷键说明

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