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

📄 music_list_menu.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   02CF  C5                PUSH    BC
   \   02D0  11C300            LD      DE,195
   \   02D3  CD5501            CALL    LWRD ?0088
   \   02D6  F1                POP     AF
    122                  ResShowMultiString(HeadIDDisplay, g_comval.langid,list_str_x_def, list_str_y_def); //显示列表名
   \   02D7  0E94              LD      C,148
   \   02D9  C5                PUSH    BC
   \   02DA  0E16              LD      C,22
   \   02DC  C5                PUSH    BC
   \   02DD  ED4B0C00          LD      BC,(g_comval+12)
   \   02E1  ED5B3F02          LD      DE,(HeadIDDisplay)
   \   02E5  3E00              LD      A,BYTE3 ResShowMultiString
   \   02E7  210000            LD      HL,LWRD ResShowMultiString
   \   02EA  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02ED  F1                POP     AF
   \   02EE  F1                POP     AF
    123                  ResShowPic(DHT,194,8);    
   \   02EF  0E08              LD      C,8
   \   02F1  C5                PUSH    BC
   \   02F2  0EC2              LD      C,194
   \   02F4  112600            LD      DE,38
   \   02F7  CD5501            CALL    LWRD ?0088
   \   02FA  F1                POP     AF
    124                  
    125                  for(i=0;i<=last_list;i++)
   \   02FB  DD36F800          LD      (IX-8),0
   \   02FF            ?0023:
   \   02FF  DD7EFD            LD      A,(IX-3)
   \   0302  DDBEF8            CP      (IX-8)
   \   0305  DA8903            JP      C,?0022
   \   0308            ?0024:
    126                  {          
    127                     buf_num = (top_list+i)% OneSectorListNum;            
   \   0308  DD4EF8            LD      C,(IX-8)
   \   030B  0600              LD      B,0
   \   030D  FDE5              PUSH    IY
   \   030F  E1                POP     HL
   \   0310  09                ADD     HL,BC
   \   0311  EB                EX      DE,HL
   \   0312  0E07              LD      C,7
   \   0314  CD0000            CALL    LWRD ?US_MOD_L02
   \   0317  DD73FE            LD      (IX-2),E
    128                     if(buf_num ==0)                                    //如果是数据页尾就要换页
   \   031A  1C                INC     E
   \   031B  1D                DEC     E
   \   031C  2009              JR      NZ,?0027
   \   031E            ?0026:
    129                     {
    130                       ReadOneSectorData(top_list+i);
   \   031E  DD4EF8            LD      C,(IX-8)
   \   0321  FDE5              PUSH    IY
   \   0323  E1                POP     HL
   \   0324  CD0401            CALL    LWRD ?0079
   \   0327            ?0027:
    131                     }           
    132                     if((top_list+i)==active)    
   \   0327  DD4EF8            LD      C,(IX-8)
   \   032A  FDE5              PUSH    IY
   \   032C  E1                POP     HL
   \   032D  09                ADD     HL,BC
   \   032E  DD4E02            LD      C,(IX+2)
   \   0331  DD4603            LD      B,(IX+3)
   \   0334  A7                AND     A
   \   0335  ED42              SBC     HL,BC
   \   0337  284A              JR      Z,?0032
   \   0339            ?0028:
    133                      {                                                    
    134                        continue;                  
   \   0339            ?0029:
    135                      } 
    136                     ResShowPic(MFILE,explorer_pic_x_def,menu_pos_list[i]-1);                                   
   \   0339  DD4EF8            LD      C,(IX-8)
   \   033C  0600              LD      B,0
   \   033E  210000            LD      HL,menu_pos_list
   \   0341  09                ADD     HL,BC
   \   0342  7E                LD      A,(HL)
   \   0343  C6FF              ADD     A,255
   \   0345  4F                LD      C,A
   \   0346  C5                PUSH    BC
   \   0347  CD5001            CALL    LWRD ?0087
   \   034A  F1                POP     AF
    137                     if(ReadListBuffer[buf_num*ListPerByte]!=0) 
   \   034B  DD4EFE            LD      C,(IX-2)
   \   034E  CD4101            CALL    LWRD ?0085
   \   0351  2824              JR      Z,?0031
   \   0353            ?0030:
    138                     {
    139                      region_scroll.y = menu_pos_list[i]-2;
   \   0353  DD4EF8            LD      C,(IX-8)
   \   0356  210000            LD      HL,menu_pos_list
   \   0359  09                ADD     HL,BC
   \   035A  7E                LD      A,(HL)
   \   035B  C6FE              ADD     A,254
   \   035D  320100            LD      (region_scroll+1),A
    140                      ScrollString(&ReadListBuffer[buf_num*ListPerByte],TRUE,g_comval.langid,&region_scroll);   //滚动第一屏              
   \   0360  210000            LD      HL,region_scroll
   \   0363  E5                PUSH    HL
   \   0364  210C00            LD      HL,g_comval+12
   \   0367  4E                LD      C,(HL)
   \   0368  C5                PUSH    BC
   \   0369  0E01              LD      C,1
   \   036B  C5                PUSH    BC
   \   036C  CD0E01            CALL    LWRD ?0082
   \   036F  C1                POP     BC
   \   0370  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0373  E1                POP     HL
   \   0374  E1                POP     HL
    141                     }
    142                     else
   \   0375  180C              JR      ?0032
   \   0377            ?0031:
    143                     {
    144                       ScrollFlag = 0;            
   \   0377  320000            LD      (ScrollFlag),A
    145                       memcpy(BlankInfor,BLANKSTRING,4);
    146                       memcpy(&BlankInfor[4],&ReadListBuffer[buf_num*ListPerByte+56],12);  //取短名       
   \   037A  CD2201            CALL    LWRD ?0084
    147                       SetTextPos(explorer_str_x_def, menu_pos_list[i]-2);               
   \   037D  DD4EF8            LD      C,(IX-8)
   \   0380  CD6801            CALL    LWRD ?0090
    148                       PutS(BlankInfor,-1);    
   \   0383            ?0032:
   \   0383            ?0025:
   \   0383  DD34F8            INC     (IX-8)
   \   0386  C3FF02            JP      LWRD ?0023
   \   0389            ?0022:
    149                     }                                                 
    150                  } //for   
    151                  show_active_musiclist(active);                                   
   \   0389  DD5E02            LD      E,(IX+2)
   \   038C  DD5603            LD      D,(IX+3)
   \   038F  3E00              LD      A,BYTE3 show_active_musiclist
   \   0391  210000            LD      HL,LWRD show_active_musiclist
   \   0394  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0397            ?0018:
   \   0397            ?0012:
    152               }  //active==old_list else   
    153             }    // scroll_flag else       
    154          }
   \   0397  FDE1              POP     IY
   \   0399  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   039C            ?0091:
   \   039C  CD0000            CALL    LWRD ?US_DIV_L02
   \   039F  EB                EX      DE,HL
   \   03A0  29                ADD     HL,HL
   \   03A1  4D                LD      C,L
   \   03A2  44                LD      B,H
   \   03A3  29                ADD     HL,HL
   \   03A4  09                ADD     HL,BC
   \   03A5  C9                RET
   \   03A6            ?0092:
   \   03A6  010700            LD      BC,7
   \   03A9  DD5E02            LD      E,(IX+2)
   \   03AC  DD5603            LD      D,(IX+3)
   \   03AF  C30000            JP      LWRD ?US_DIV_L02
   \   03B2            show_music_list:
    155          
    156          int show_music_list(char list_type,const WORD headid)  
    157          {
   \   03B2  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   03B5  F8FF              DEFW    -8
   \   03B7  FDE5              PUSH    IY
    158            int result = RESULT_LIST;           //初始化为列表消息
    159            char key;
    160            bool need_draw;
    161            unsigned int  active_list; //求余
    162            unsigned int  old_list;   
    163            BYTE  IO27Bak = input8(0x27);
   \   03B9  DB27              IN      A,(39)
   \   03BB  DD77FE            LD      (IX-2),A
    164            HeadIDDisplay = headid;
   \   03BE  ED433F02          LD      (HeadIDDisplay),BC
    165            if(list_type==g_music_vars.file_list_type)
   \   03C2  DD36FA69          LD      (IX-6),105
   \   03C6  DD36FB00          LD      (IX-5),0
   \   03CA  3A5C00            LD      A,(g_music_vars+92)
   \   03CD  47                LD      B,A
   \   03CE  DD7E02            LD      A,(IX+2)
   \   03D1  B8                CP      B
   \   03D2  2006              JR      NZ,?0034
   \   03D4            ?0033:
    166            {
    167             active_list = g_music_vars.file_list_num;
   \   03D4  FD2A5A00          LD      IY,(g_music_vars+90)
    168            }                                            
    169            else                                    //从第一个列表文从第一个文件开始显示
   \   03D8  1804              JR      ?0035
   \   03DA            ?0034:
    170            {
    171             active_list = 0; 
   \   03DA  FD210000          LD      IY,0
   \   03DE            ?0035:
    172            }   
    173            need_draw =1;    
    174           // if((active_list%(OneSectorListNum*ListDisplayNum))!=0)    
    175             ReadOneSectorData((active_list/ListDisplayNum)*ListDisplayNum); //先预读一页数据
   \   03DE  010600            LD      BC,6
   \   03E1  CDF900            CALL    LWRD ?0080
   \   03E4  DD36F801          LD      (IX-8),1
   \   03E8            ?0037:
    176            while(1)
    177            {
    178          
    179              if(need_draw)       //显示全屏
   \   03E8  AF                XOR     A
   \   03E9  DDB6F8            OR      (IX-8)
   \   03EC  280E              JR      Z,?0040
   \   03EE            ?0039:
    180               {
    181                 ui_music_list(active_list,active_list,0); //显示最后一页列表       
   \   03EE  0E00              LD      C,0
   \   03F0  C5                PUSH    BC
   \   03F1  FDE5              PUSH    IY
   \   03F3  C1                POP     BC
   \   03F4  CD3C05            CALL    LWRD ?0093
   \   03F7  E1                POP     HL
    182                 need_draw = FALSE;               
   \   03F8  DD36F800          LD      (IX-8),0
   \   03FC            ?0040:
    183               }
    184              key = ap_get_message(); 
   \   03FC  CD0000            CALL    LWRD ap_get_message
    185              old_list = active_list; 
   \   03FF  FDE5              PUSH    IY
   \   0401  E1                POP     HL
   \   0402  DD75FC            LD      (IX-4),L
   \   0405  DD74FD            LD      (IX-3),H
    186              switch( key)  
   \   0408  5F                LD      E,A
   \   0409  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   040C  0800              DEFW    8
   \   040E  05                DEFB    5
   \   040F  06                DEFB    6
   \   0410  1E                DEFB    30
   \   0411  21                DEFB    33
   \   0412  30                DEFB    48
   \   0413  45                DEFB    69
   \   0414  46                DEFB    70
   \   0415  90                DEFB    144
   \   0416  DF04              DEFW    ?0060
   \   0418  BD04              DEFW    ?0058
   \   041A  2804              DEFW    ?0042
   \   041C  5C04              DEFW    ?0048
   \   041E  BD04              DEFW    ?0058
   \   0420  D504              DEFW    ?0059
   \   0422  D504              DEFW    ?0059
   \   0424  2804              DEFW    ?0042
   \   0426  5C04              DEFW    ?0048
   \   0428            ?0042:
    187              {    
    188                   case AP_KEY_NEXT:
    189                   case AP_KEY_NEXT | AP_KEY_HOLD:                    
    190                    if(active_list < g_file_list_total-1)
   \   0428  21FFFF            LD      HL,65535
   \   042B  ED4B0000          LD      BC,(g_file_list_total)
   \   042F  09                ADD     HL,BC
   \   0430  4D                LD      C,L
   \   0431  44                LD      B,H
   \   0432  FDE5              PUSH    IY
   \   0434  E1                POP     HL
   \   0435  A7                AND     A
   \   0436  ED42              SBC     HL,BC
   \   0438  3017              JR      NC,?0044
   \   043A            ?0043:
    191                     {              
    192                        active_list++;
    193                        if(active_list%ListDisplayNum==0)     //读下一屏列表文件
   \   043A  010600            LD      BC,6
   \   043D  FD23              INC     IY
   \   043F  FDE5              PUSH    IY
   \   0441  D1                POP     DE
   \   0442  CD0000            CALL    LWRD ?US_MOD_L02
   \   0445  7B                LD      A,E
   \   0446  B2                OR      D
   \   0447  2830              JR      Z,?0052
   \   0449            ?0045:
    194                        {
    195                            need_draw = 1;

⌨️ 快捷键说明

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