ui_stop.lst

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

LST
1,232
字号
    258                              old_active=active-1;
   \   0446  2A0000            LD      HL,(active)
   \   0449  2B                DEC     HL
   \   044A  DD75FA            LD      (IX-6),L
   \   044D  DD74FB            LD      (IX-5),H
    259                              list_change=TRUE;
   \   0450  DD36F001          LD      (IX-16),1
    260                          }
    261                         else
   \   0454  1809              JR      ?0070
   \   0456            ?0068:
    262                              need_draw = TRUE;
   \   0456            ?0069:
    263                       }
    264                      else
   \   0456            ?0066:
    265                      {
    266                          active = 0;
   \   0456  6A                LD      L,D
   \   0457  62                LD      H,D
   \   0458  220000            LD      (active),HL
    267                          need_draw = TRUE;
   \   045B            ?0117:
   \   045B  DD36EE01          LD      (IX-18),1
   \   045F            ?0070:
    268                      }
    269                          sel_next(TRUE);
   \   045F  1E01              LD      E,1
   \   0461  3E00              LD      A,BYTE3 sel_next
   \   0463  218600            LD      HL,LWRD sel_next
   \   0466  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0469            ?0072:
    270                          //清除多出的HOLD消息,防止按键停了还跳几曲
    271                          while(ap_get_message() != 0);
   \   0469  CD0000            CALL    LWRD ap_get_message
   \   046C  B7                OR      A
   \   046D  CA4101            JP      Z,?0023
   \   0470            ?0073:
    272                             break;   
   \   0470  18F7              JR      ?0072
   \   0472            ?0071:
   \   0472            ?0074:
    273                              
    274                      case AP_KEY_MODE:
    275                       g_menu_active=TRUE;
    276                       break;            
   \   0472            ?0075:
    277                              
    278                      case  AP_KEY_MODE|AP_KEY_UP:                                 // set the mode
    279          
    280                       if(g_menu_active)
   \   0472  3A0000            LD      A,(g_menu_active)
   \   0475  B7                OR      A
   \   0476  2828              JR      Z,?0077
   \   0478            ?0076:
    281                         {
    282                            result=MenuInPic();
   \   0478  3E00              LD      A,BYTE3 MenuInPic
   \   047A  210000            LD      HL,LWRD MenuInPic
   \   047D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    283                            if(result==RESULT_IGNORE)
   \   0480  3E34              LD      A,52
   \   0482  AD                XOR     L
   \   0483  B4                OR      H
   \   0484  282E              JR      Z,?0112
   \   0486            ?0078:
    284                            {
    285                                file_changed=TRUE;
    286                                break;
   \   0486            ?0079:
    287                            }
    288          
    289                            else if(result==RESULT_SD_OUT)
   \   0486  3E36              LD      A,54
   \   0488  AD                XOR     L
   \   0489  B4                OR      H
   \   048A  200E              JR      NZ,?0081
   \   048C            ?0080:
    290                             {
    291                               if(g_viewpic_vars.location.disk=='H')
   \   048C  3A0400            LD      A,(g_viewpic_vars+4)
   \   048F  FE48              CP      72
   \   0491  204A              JR      NZ,?0114
   \   0493            ?0082:
    292                               g_viewpic_vars.location.disk='C';
   \   0493  3E43              LD      A,67
   \   0495  320400            LD      (g_viewpic_vars+4),A
   \   0498            ?0083:
    293                                need_sel_file = TRUE;
   \   0498  1843              JR      ?0114
    294                                break;
   \   049A            ?0081:
    295                             }
    296          
    297                            else if(result==0)
   \   049A  7D                LD      A,L
   \   049B  B4                OR      H
   \   049C  201D              JR      NZ,?0088
   \   049E            ?0084:
    298                            {
    299                                need_sel_file = TRUE;
   \   049E  183D              JR      ?0114
    300                                break;
   \   04A0            ?0085:
    301                            }
    302                            else
    303                                return result;
    304                         }
   \   04A0            ?0077:
    305                       else
    306                         g_menu_active=TRUE;
   \   04A0  3E01              LD      A,1
   \   04A2  320000            LD      (g_menu_active),A
    307                           break;
   \   04A5  C34101            JP      LWRD ?0023
   \   04A8            ?0086:
    308                     case AP_KEY_PLAY | AP_KEY_UP:
    309                         result=do_play();
   \   04A8  3E00              LD      A,BYTE3 do_play
   \   04AA  210000            LD      HL,LWRD do_play
   \   04AD  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    310                         if(result==0)
   \   04B0  7D                LD      A,L
   \   04B1  B4                OR      H
   \   04B2  2007              JR      NZ,?0088
   \   04B4            ?0087:
    311                            {
    312                                file_changed=TRUE;
   \   04B4            ?0112:
   \   04B4  DD36EF01          LD      (IX-17),1
    313                                break;
   \   04B8  C34101            JP      LWRD ?0023
   \   04BB            ?0088:
    314                            }
    315                            else
    316                                return result;
    317                    case AP_MSG_SD_OUT:
   \   04BB  1840              JR      ?0098
   \   04BD            ?0089:
    318                       if (g_viewpic_vars.location.disk == 'H')
   \   04BD  3A0400            LD      A,(g_viewpic_vars+4)
   \   04C0  FE48              CP      72
   \   04C2  2021              JR      NZ,?0091
   \   04C4            ?0090:
    319                          {
    320                              g_viewpic_vars.location.disk = 'C';
   \   04C4  3E43              LD      A,67
   \   04C6  320400            LD      (g_viewpic_vars+4),A
    321                              ui_err_msg(CARDPULL,CARDPULL,g_comval.langid);//显示卡拔出
   \   04C9  ED4B0C00          LD      BC,(g_comval+12)
   \   04CD  42                LD      B,D
   \   04CE  C5                PUSH    BC
   \   04CF  019101            LD      BC,401
   \   04D2  59                LD      E,C
   \   04D3  50                LD      D,B
   \   04D4  3E00              LD      A,BYTE3 ui_err_msg
   \   04D6  210000            LD      HL,LWRD ui_err_msg
   \   04D9  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   04DC  F1                POP     AF
    322                              need_sel_file=TRUE;
   \   04DD            ?0114:
   \   04DD  3E01              LD      A,1
   \   04DF  320400            LD      (need_sel_file),A
    323                              break;
   \   04E2  C34101            JP      LWRD ?0023
   \   04E5            ?0091:
   \   04E5            ?0092:
    324                          }
    325          
    326                     default:
    327                      key = ap_handle_hotkey( key);
   \   04E5  59                LD      E,C
   \   04E6  CD0000            CALL    LWRD ap_handle_hotkey
   \   04E9  4F                LD      C,A
    328                      if(key == RESULT_REDRAW) need_draw = TRUE;
   \   04EA  3E32              LD      A,50
   \   04EC  A9                XOR     C
   \   04ED  2007              JR      NZ,?0094
   \   04EF            ?0093:
   \   04EF  DD36EE01          LD      (IX-18),1
   \   04F3  C34101            JP      LWRD ?0023
   \   04F6            ?0094:
    329                      else if(key != 0) return key;
   \   04F6  79                LD      A,C
   \   04F7  B7                OR      A
   \   04F8  CA4101            JP      Z,?0023
   \   04FB            ?0096:
   \   04FB  69                LD      L,C
   \   04FC  60                LD      H,B
    330          
    331                     }
   \   04FD            ?0097:
   \   04FD            ?0095:
   \   04FD            ?0053:
    332          
    333                 }
    334                 return result;
    335              }
   \   04FD            ?0098:
   \   04FD  DDF9              LD      SP,IX
   \   04FF  DDE1              POP     IX
   \   0501  FDE1              POP     IY
   \   0503  D1                POP     DE
   \   0504  C1                POP     BC
   \   0505  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0508            ?0120:
   \   0508  0E0D              LD      C,13
   \   050A  113100            LD      DE,49
   \   050D            ?0119:
   \   050D  3E00              LD      A,BYTE3 ResShowPic
   \   050F  210000            LD      HL,LWRD ResShowPic
   \   0512  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0515            ?0121:
   \   0515  C6FE              ADD     A,254
   \   0517  4F                LD      C,A
   \   0518  1E20              LD      E,32
   \   051A  CD0000            CALL    LWRD SetTextPos
   \   051D  FDE5              PUSH    IY
   \   051F  C1                POP     BC
   \   0520  110500            LD      DE,fileName
   \   0523  3E00              LD      A,BYTE3 read_idm_data_pic
   \   0525  210000            LD      HL,LWRD read_idm_data_pic
   \   0528  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   052B            reset_cur_list_bg_color_pic:
    336          
    337          
    338          
    339          void reset_cur_list_bg_color_pic(int i, int pos)
    340          {
   \   052B  FDE5              PUSH    IY
   \   052D  DDE5              PUSH    IX
   \   052F  C5                PUSH    BC
   \   0530  DDE1              POP     IX
   \   0532  D5                PUSH    DE
   \   0533  FDE1              POP     IY
    341                  ResShowPic(FILEBCK, explorer_str_x_def-2, pos-4);
   \   0535  79                LD      A,C
   \   0536  C6FC              ADD     A,252
   \   0538  4F                LD      C,A
   \   0539  C5                PUSH    BC
   \   053A  0E1E              LD      C,30
   \   053C  113200            LD      DE,50
   \   053F  CD0D05            CALL    LWRD ?0119
   \   0542  F1                POP     AF
    342                  SetBackgdColor(Color_WHITE_def);
   \   0543  010000            LD      BC,0
   \   0546  11FFFF            LD      DE,65535
   \   0549  CD0000            CALL    LWRD SetBackgdColor
    343                  SetTextPos(explorer_str_x_def, pos-2);
   \   054C  DDE5              PUSH    IX
   \   054E  E1                POP     HL
   \   054F  7D                LD      A,L
    344                  read_idm_data_pic(fileName, i);
   \   0550  CD1505            CALL    LWRD ?0121
    345                  PutS(fileName, -1);
   \   0553  0EFF              LD      C,255
   \   0555  110500            LD      DE,fileName
   \   0558  CD0000            CALL    LWRD PutS
    346              //    SetBackgdColor(Color_WHITE_def);
    347                  fselGetByNO(file_name, i + 1);
   \   055B  FDE5              PUSH    IY
   \   055D  C1                POP     BC
   \   055E  03                INC     BC
   \   055F  110000            LD      DE,file_name
   \   0562  3E00              LD      A,BYTE3 fselGetByNO
   \   0564  210000            LD      HL,LWRD fselGetByNO
   \   0567  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    348          
    349          }
   \   056A  DDE1              POP     IX
   \   056C  FDE1              POP     IY
   \   056E  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
    350          
    351          
    352          
    353          
   \   0000                    RSEG    CSTR
   \   0000            ?0004:
   \   0000  524F4F54          DEFB    'ROOT'
   \   0004  00                DEFB    0
   \   0005            ?0006:
   \   0005  5C00              DEFB    92,0
   \   0000                    RSEG    CONST
   \   0000            menu_pos:
   \   0000  77                DEFB    'w'
   \   0001  62                DEFB    'b'
   \   0002  4D                DEFB    'M'
   \   0003  38                DEFB    '8'
   \   0004  23                DEFB    '#'
   \   0005  0E                DEFB    14
   \   0000                    RSEG    UDATA0
   \   0000            active:
   \   0002                    DEFS    2
   \   0002            g_file_total:
   \   0004                    DEFS    2
   \   0004            need_sel_file:
   \   0005                    DEFS    1
   \   0005            fileName:
   \   0037                    DEFS    50
   \   0037                    END

Errors: none
Warnings: none
Code size: 1393
Constant size: 13
Static variable size: Data(55) Iram(0)

⌨️ 快捷键说明

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