ui_play.lst

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

LST
1,122
字号
    243                             break;
   \   035D            ?0114:
    244                         
    245                         case AP_KEY_MODE | AP_KEY_UP:
    246                             //Stop_display=0;
    247                             break;
   \   035D            ?0115:
    248                         
    249                         case AP_KEY_PLAY | AP_KEY_UP:
    250                            return 0;
    251                         
    252                        case AP_MSG_SD_OUT:
   \   035D            ?0116:
    253                           if (g_viewpic_vars.location.disk == 'H')
   \   035D  3A0400            LD      A,(g_viewpic_vars+4)
   \   0360  FE48              CP      72
   \   0362  2019              JR      NZ,?0118
   \   0364            ?0117:
    254                            {
    255                              g_viewpic_vars.location.disk = 'C';
   \   0364  3E43              LD      A,67
   \   0366  320400            LD      (g_viewpic_vars+4),A
    256                              ui_err_msg(CARDPULL,CARDPULL,g_comval.langid);//显示卡拔出
   \   0369  ED4B0C00          LD      BC,(g_comval+12)
   \   036D  42                LD      B,D
   \   036E  C5                PUSH    BC
   \   036F  CD8A02            CALL    LWRD ?0170
   \   0372  F1                POP     AF
    257                              need_sel_file=TRUE;
   \   0373  3E01              LD      A,1
   \   0375  320000            LD      (need_sel_file),A
    258                              return 0;
   \   0378            ?0156:
   \   0378  210000            LD      HL,0
    259                            }  
   \   037B  1846              JR      ?0130
   \   037D            ?0118:
   \   037D            ?0119:
    260                         
    261                         default:
    262                          key = ap_handle_hotkey( key);
   \   037D  FDE5              PUSH    IY
   \   037F  E1                POP     HL
   \   0380  5D                LD      E,L
   \   0381  CD0000            CALL    LWRD ap_handle_hotkey
   \   0384  4F                LD      C,A
   \   0385  C5                PUSH    BC
   \   0386  FDE1              POP     IY
    263                          if(key == RESULT_REDRAW) need_draw = TRUE;
   \   0388  3E32              LD      A,50
   \   038A  A9                XOR     C
   \   038B  2006              JR      NZ,?0121
   \   038D            ?0120:
   \   038D            ?0157:
   \   038D  DD36FD01          LD      (IX-3),1
   \   0391  1807              JR      ?0124
   \   0393            ?0121:
    264                          else if(key != 0) return key;                    
   \   0393  FDE5              PUSH    IY
   \   0395  E1                POP     HL
   \   0396  7D                LD      A,L
   \   0397  B4                OR      H
   \   0398  2029              JR      NZ,?0130
   \   039A            ?0123:
    265                         }              
   \   039A            ?0124:
   \   039A            ?0122:
   \   039A            ?0108:
    266                          //if((need_draw)&&(Stop_display==0))
    267                          if(need_draw)
   \   039A  AF                XOR     A
   \   039B  DDB6FD            OR      (IX-3)
   \   039E  CABD02            JP      Z,?0084
   \   03A1            ?0125:
    268                          {
    269                              if(active < g_file_total - 1)active++;
   \   03A1  ED4B0000          LD      BC,(g_file_total)
   \   03A5  0B                DEC     BC
   \   03A6  2A0000            LD      HL,(active)
   \   03A9  F680              OR      128
   \   03AB  ED42              SBC     HL,BC
   \   03AD  E2B103            JP      PO,?0152
   \   03B0  AC                XOR     H
   \   03B1            ?0152:
   \   03B1  F2BA03            JP      P,?0128
   \   03B4            ?0127:
   \   03B4  2A0000            LD      HL,(active)
   \   03B7  23                INC     HL
   \   03B8  1803              JR      ?0153
    270                          else 
   \   03BA            ?0128:
    271                              active = 0;           
   \   03BA  210000            LD      HL,0
   \   03BD            ?0153:
   \   03BD            ?0129:
    272                             sel_next(TRUE);
   \   03BD  CD7102            CALL    LWRD ?0168
   \   03C0            ?0126:
   \   03C0  C3BD02            JP      LWRD ?0084
    273                         }
    274                                                      
    275                     }      
    276                     return result;
    277          }
   \   03C3            ?0130:
   \   03C3  C33702            JP      LWRD ?0083
   \   03C6            do_play:
    278          
    279          int do_play(void)
    280          {
   \   03C6  C5                PUSH    BC
   \   03C7  D5                PUSH    DE
   \   03C8  DDE5              PUSH    IX
   \   03CA  21E0FF            LD      HL,65504
   \   03CD  39                ADD     HL,SP
   \   03CE  F9                LD      SP,HL
    281              int result;
    282              comval_t g_comval;
    283              SetBackgdColor(Color_BLACK_def);
   \   03CF  010000            LD      BC,0
   \   03D2  59                LD      E,C
   \   03D3  50                LD      D,B
   \   03D4  CD0000            CALL    LWRD SetBackgdColor
    284              InitLcmDeviceInfor(&Dscinf);
   \   03D7  110000            LD      DE,Dscinf
   \   03DA  3E00              LD      A,BYTE3 InitLcmDeviceInfor
   \   03DC  210000            LD      HL,LWRD InitLcmDeviceInfor
   \   03DF  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    285          
    286                  //关闭背光时间          
    287              VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
   \   03E2  212000            LD      HL,32
   \   03E5  E5                PUSH    HL
   \   03E6  010002            LD      BC,512
   \   03E9  68                LD      L,B
   \   03EA  39                ADD     HL,SP
   \   03EB  EB                EX      DE,HL
   \   03EC  CD0000            CALL    LWRD VMRead
   \   03EF  E1                POP     HL
    288                  g_comval.LightTime = 0;
   \   03F0  210900            LD      HL,9
   \   03F3  39                ADD     HL,SP
   \   03F4  3600              LD      (HL),0
    289                  ap_message_init(& g_comval);                                     
   \   03F6  210000            LD      HL,0
   \   03F9  39                ADD     HL,SP
   \   03FA  EB                EX      DE,HL
   \   03FB  3E00              LD      A,BYTE3 ap_message_init
   \   03FD  210000            LD      HL,LWRD ap_message_init
   \   0400  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    290                                                      
    291              switch(g_viewpic_vars.playflag)
   \   0403  3A0200            LD      A,(g_viewpic_vars+2)
   \   0406  FE00              CP      0
   \   0408  2007              JR      NZ,?0133
   \   040A            ?0132:
    292              {
    293              case 0:
    294                  result=Manual_play();
   \   040A  3E00              LD      A,BYTE3 Manual_play
   \   040C  21AE00            LD      HL,LWRD Manual_play
   \   040F  1809              JR      ?0165
    295                  break;
   \   0411            ?0133:
   \   0411  FE01              CP      1
   \   0413  200D              JR      NZ,?0134
    296              case 1:
    297                  result=Auto_play();
   \   0415  3E00              LD      A,BYTE3 Auto_play
   \   0417  219702            LD      HL,LWRD Auto_play
   \   041A            ?0165:
   \   041A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   041D  E5                PUSH    HL
   \   041E  DDE1              POP     IX
    298                  break;
   \   0420  1804              JR      ?0131
   \   0422            ?0134:
    299              default:
    300                  result = 0;
   \   0422  DD210000          LD      IX,0
   \   0426            ?0131:
    301              }
    302              //恢复背光时间
    303                  VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
   \   0426  212000            LD      HL,32
   \   0429  E5                PUSH    HL
   \   042A  010002            LD      BC,512
   \   042D  68                LD      L,B
   \   042E  39                ADD     HL,SP
   \   042F  EB                EX      DE,HL
   \   0430  CD0000            CALL    LWRD VMRead
   \   0433  E1                POP     HL
    304                  ap_message_init(& g_comval);
   \   0434  210000            LD      HL,0
   \   0437  39                ADD     HL,SP
   \   0438  EB                EX      DE,HL
   \   0439  3E00              LD      A,BYTE3 ap_message_init
   \   043B  210000            LD      HL,LWRD ap_message_init
   \   043E  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    305              
    306              ClearScreen(NULL);
   \   0441  110000            LD      DE,0
   \   0444  CD0000            CALL    LWRD ClearScreen
    307              SetDrawMode(DrawModeH_def);
   \   0447  1E00              LD      E,0
   \   0449  CD0000            CALL    LWRD SetDrawMode
    308              SetBackgdColor(Color_WHITE_def);
   \   044C  010000            LD      BC,0
   \   044F  11FFFF            LD      DE,65535
   \   0452  CD0000            CALL    LWRD SetBackgdColor
    309              if(err_id==0)
   \   0455  3A0900            LD      A,(err_id)
   \   0458  B7                OR      A
   \   0459  2005              JR      NZ,?0136
   \   045B            ?0135:
    310              {
    311                  return result;
   \   045B  DDE5              PUSH    IX
   \   045D  E1                POP     HL
    312              }
   \   045E  180F              JR      ?0137
   \   0460            ?0136:
    313              else
    314              {
    315                  return ui_err_msg(MFMTERR,MFMTERR,g_comval.langid);
   \   0460  210C00            LD      HL,12
   \   0463  39                ADD     HL,SP
   \   0464  4E                LD      C,(HL)
   \   0465  0600              LD      B,0
   \   0467  C5                PUSH    BC
   \   0468  018E01            LD      BC,398
   \   046B  CD8D02            CALL    LWRD ?0171
   \   046E  F1                POP     AF
    316              }
   \   046F            ?0137:
   \   046F  EB                EX      DE,HL
   \   0470  212000            LD      HL,32
   \   0473  39                ADD     HL,SP
   \   0474  F9                LD      SP,HL
   \   0475  EB                EX      DE,HL
   \   0476  DDE1              POP     IX
   \   0478  D1                POP     DE
   \   0479  C1                POP     BC
   \   047A  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
    317          }
   \   0000                    RSEG    CONST
   \   0000            ?0002:
   \   0000  4A5047            DEFB    'JPG'
   \   0003  00                DEFB    0
   \   0004  424D50            DEFB    'BMP'
   \   0007  00                DEFB    0
   \   0008  474946            DEFB    'GIF'
   \   000B  00                DEFB    0
   \   0000                    RSEG    UDATA0
   \   0000            Dscinf:
   \   0007                    DEFS    7
   \   0007            fp:
   \   0009                    DEFS    2
   \   0009            err_id:
   \   000A                    DEFS    1
   \   000A            Stop_display:
   \   000B                    DEFS    1
   \   000B            count_autoplay:
   \   000C                    DEFS    1
   \   000C            Delaytime:
   \   000D                    DEFS    1
   \   000D            message_temp:
   \   001D                    DEFS    16
   \   001D            PictureType:
   \   001E                    DEFS    1
   \   001E                    END

Errors: none
Warnings: none
Code size: 1149
Constant size: 12
Static variable size: Data(30) Iram(0)

⌨️ 快捷键说明

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