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

📄 music_list_menu.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   0114  CD0000            CALL    LWRD ?S_MUL_L02
   \   0117  210000            LD      HL,ReadListBuffer
   \   011A  19                ADD     HL,DE
   \   011B  EB                EX      DE,HL
   \   011C  3E00              LD      A,BYTE3 ScrollString
   \   011E  210000            LD      HL,LWRD ScrollString
   \   0121  C9                RET
   \   0122            ?0084:
   \   0122  0E04              LD      C,4
   \   0124  112B02            LD      DE,BlankInfor
   \   0127  210000            LD      HL,BLANKSTRING
   \   012A  EDB0              LDIR
   \   012C  213800            LD      HL,ReadListBuffer+56
   \   012F  DD4EFE            LD      C,(IX-2)
   \   0132            ?0083:
   \   0132  114700            LD      DE,71
   \   0135  CD0000            CALL    LWRD ?S_MUL_L02
   \   0138  19                ADD     HL,DE
   \   0139  112F02            LD      DE,BlankInfor+4
   \   013C  0E0C              LD      C,12
   \   013E  EDB0              LDIR
   \   0140  C9                RET
   \   0141            ?0085:
   \   0141  0600              LD      B,0
   \   0143  114700            LD      DE,71
   \   0146            ?0086:
   \   0146  CD0000            CALL    LWRD ?S_MUL_L02
   \   0149  210000            LD      HL,ReadListBuffer
   \   014C  19                ADD     HL,DE
   \   014D  7E                LD      A,(HL)
   \   014E  B7                OR      A
   \   014F  C9                RET
   \   0150            ?0087:
   \   0150  0E0D              LD      C,13
   \   0152  11C600            LD      DE,198
   \   0155            ?0088:
   \   0155  3E00              LD      A,BYTE3 ResShowPic
   \   0157  210000            LD      HL,LWRD ResShowPic
   \   015A  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   015D            ?0089:
   \   015D  110000            LD      DE,scroll_buf
   \   0160  3E00              LD      A,BYTE3 ScrollString
   \   0162  210000            LD      HL,LWRD ScrollString
   \   0165  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0168            ?0090:
   \   0168  210000            LD      HL,menu_pos_list
   \   016B  09                ADD     HL,BC
   \   016C  7E                LD      A,(HL)
   \   016D  C6FE              ADD     A,254
   \   016F  4F                LD      C,A
   \   0170  1E20              LD      E,32
   \   0172  CD0000            CALL    LWRD SetTextPos
   \   0175  0EFF              LD      C,255
   \   0177  112B02            LD      DE,BlankInfor
   \   017A  CD0000            CALL    LWRD PutS
   \   017D  C9                RET
   \   017E            ui_music_list:
     68          
     69          void ui_music_list(unsigned int active,unsigned int old_active,bool scroll_flag)
     70          {
   \   017E  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0181  F8FF              DEFW    65528
   \   0183  FDE5              PUSH    IY
     71              BYTE i;
     72              unsigned int  top_list,bottom_list;    
     73              BYTE last_list,buf_num;
     74              region_scroll.x=30;
   \   0185  3E1E              LD      A,30
   \   0187  320000            LD      (region_scroll),A
     75              region_scroll.width=162;
   \   018A  3EA2              LD      A,162
   \   018C  320200            LD      (region_scroll+2),A
     76              region_scroll.height=16;    
   \   018F  3E10              LD      A,16
   \   0191  320300            LD      (region_scroll+3),A
     77              SetTextOutMode(1);      
   \   0194  1E01              LD      E,1
   \   0196  CD0000            CALL    LWRD SetTextOutMode
     78              if(scroll_flag)   
   \   0199  AF                XOR     A
   \   019A  DDB60A            OR      (IX+10)
   \   019D  2826              JR      Z,?0011
   \   019F            ?0010:
     79              {
     80                  SetTextOutMode(0);
   \   019F  1E00              LD      E,0
   \   01A1  CD0000            CALL    LWRD SetTextOutMode
     81                  SetBackgdColor(Color_BULE_Scroll_def);        
   \   01A4  010000            LD      BC,0
   \   01A7  111F00            LD      DE,31
   \   01AA  CD0000            CALL    LWRD SetBackgdColor
     82                  ScrollString(scroll_buf, FALSE,g_comval.langid,&region_scroll);
   \   01AD  210000            LD      HL,region_scroll
   \   01B0  E5                PUSH    HL
   \   01B1  210C00            LD      HL,g_comval+12
   \   01B4  4E                LD      C,(HL)
   \   01B5  C5                PUSH    BC
   \   01B6  0E00              LD      C,0
   \   01B8  CD5D01            CALL    LWRD ?0089
   \   01BB  E1                POP     HL
   \   01BC  E1                POP     HL
     83                  SetTextOutMode(1);  
   \   01BD  1E01              LD      E,1
   \   01BF  CD0000            CALL    LWRD SetTextOutMode
     84              }   
     85              else 
   \   01C2  C39703            JP      LWRD ?0018
   \   01C5            ?0011:
     86              { 
     87               ActiveSeekNum = active/OneSectorListNum;       //当前选中列表文件所在的扇区
   \   01C5  CDA603            CALL    LWRD ?0092
   \   01C8  ED533B02          LD      (ActiveSeekNum),DE
     88               if(old_active!=active)
   \   01CC  DD6E02            LD      L,(IX+2)
   \   01CF  DD6603            LD      H,(IX+3)
   \   01D2  DD4E04            LD      C,(IX+4)
   \   01D5  DD4605            LD      B,(IX+5)
   \   01D8  ED42              SBC     HL,BC
   \   01DA  010600            LD      BC,6
   \   01DD  CA8F02            JP      Z,?0014
   \   01E0            ?0013:
     89               {
     90                   //清除旧的活动列表项
     91               BYTE pos_num = old_active%ListDisplayNum;
   \   01E0  DD5E04            LD      E,(IX+4)
   \   01E3  DD5605            LD      D,(IX+5)
   \   01E6  CD0000            CALL    LWRD ?US_MOD_L02
   \   01E9  DD73FF            LD      (IX-1),E
     92               ResShowPic(menulist_bck_pic[pos_num],menu_bck_x_def,menu_pos_list[pos_num]-4);            //分段刷新背景
   \   01EC  50                LD      D,B
   \   01ED  210000            LD      HL,menu_pos_list
   \   01F0  19                ADD     HL,DE
   \   01F1  7E                LD      A,(HL)
   \   01F2  C6FC              ADD     A,252
   \   01F4  4F                LD      C,A
   \   01F5  C5                PUSH    BC
   \   01F6  0E09              LD      C,9
   \   01F8  6B                LD      L,E
   \   01F9  60                LD      H,B
   \   01FA  29                ADD     HL,HL
   \   01FB  110000            LD      DE,menulist_bck_pic
   \   01FE  19                ADD     HL,DE
   \   01FF  5E                LD      E,(HL)
   \   0200  23                INC     HL
   \   0201  56                LD      D,(HL)
   \   0202  CD5501            CALL    LWRD ?0088
   \   0205  F1                POP     AF
     93               ResShowPic(MFILE, explorer_pic_x_def, menu_pos_list[pos_num]-1);   
   \   0206  DD4EFF            LD      C,(IX-1)
   \   0209  0600              LD      B,0
   \   020B  210000            LD      HL,menu_pos_list
   \   020E  09                ADD     HL,BC
   \   020F  7E                LD      A,(HL)
   \   0210  C6FF              ADD     A,255
   \   0212  4F                LD      C,A
   \   0213  C5                PUSH    BC
   \   0214  CD5001            CALL    LWRD ?0087
   \   0217  F1                POP     AF
     94               ResShowPic(DHT,194,8);     
   \   0218  0E08              LD      C,8
   \   021A  C5                PUSH    BC
   \   021B  0EC2              LD      C,194
   \   021D  112600            LD      DE,38
   \   0220  CD5501            CALL    LWRD ?0088
   \   0223  F1                POP     AF
     95               SetTextPos(explorer_str_x_def, menu_pos_list[pos_num]-2);          
   \   0224  DD4EFF            LD      C,(IX-1)
   \   0227  0600              LD      B,0
   \   0229  210000            LD      HL,menu_pos_list
   \   022C  09                ADD     HL,BC
   \   022D  7E                LD      A,(HL)
   \   022E  C6FE              ADD     A,254
   \   0230  4F                LD      C,A
   \   0231  1E20              LD      E,32
   \   0233  CD0000            CALL    LWRD SetTextPos
     96               buf_num = old_active%OneSectorListNum;    //                         
   \   0236  010700            LD      BC,7
   \   0239  DD5E04            LD      E,(IX+4)
   \   023C  DD5605            LD      D,(IX+5)
   \   023F  CD0000            CALL    LWRD ?US_MOD_L02
   \   0242  DD73FE            LD      (IX-2),E
     97               if(ReadListBuffer[buf_num*ListPerByte]!=0)        
   \   0245  50                LD      D,B
   \   0246  0E47              LD      C,71
   \   0248  CD4601            CALL    LWRD ?0086
   \   024B  2824              JR      Z,?0016
   \   024D            ?0015:
     98               {
     99                 region_scroll.y = menu_pos_list[pos_num]-2;
   \   024D  DD4EFF            LD      C,(IX-1)
   \   0250  210000            LD      HL,menu_pos_list
   \   0253  09                ADD     HL,BC
   \   0254  7E                LD      A,(HL)
   \   0255  C6FE              ADD     A,254
   \   0257  320100            LD      (region_scroll+1),A
    100                 ScrollString(&ReadListBuffer[buf_num*ListPerByte],TRUE,g_comval.langid,&region_scroll);
   \   025A  210000            LD      HL,region_scroll
   \   025D  E5                PUSH    HL
   \   025E  210C00            LD      HL,g_comval+12
   \   0261  4E                LD      C,(HL)
   \   0262  C5                PUSH    BC
   \   0263  0E01              LD      C,1
   \   0265  C5                PUSH    BC
   \   0266  CD0E01            CALL    LWRD ?0082
   \   0269  C1                POP     BC
   \   026A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   026D  E1                POP     HL
   \   026E  E1                POP     HL
    101               }
    102               else
   \   026F  180B              JR      ?0017
   \   0271            ?0016:
    103               {
    104                memcpy(BlankInfor,BLANKSTRING,4);
    105                memcpy(&BlankInfor[4],&ReadListBuffer[buf_num*ListPerByte+56],12);  //取短名        
   \   0271  CD2201            CALL    LWRD ?0084
    106                PutS(BlankInfor,-1);    
   \   0274  0EFF              LD      C,255
   \   0276  112B02            LD      DE,BlankInfor
   \   0279  CD0000            CALL    LWRD PutS
   \   027C            ?0017:
    107               }
    108           //显示当前活动项
    109               LastSeekNum = old_active/OneSectorListNum;          //旧的活动列表文件所在的扇区 
   \   027C  010700            LD      BC,7
   \   027F  DD5E04            LD      E,(IX+4)
   \   0282  DD5605            LD      D,(IX+5)
   \   0285  CD0000            CALL    LWRD ?US_DIV_L02
   \   0288  ED533D02          LD      (LastSeekNum),DE
    110               show_active_musiclist(active);   
   \   028C  C38903            JP      LWRD ?0022
    111              }    
    112              else
   \   028F            ?0014:
    113              {
    114                  top_list = (active/ListDisplayNum)*ListDisplayNum;
   \   028F  DD5E02            LD      E,(IX+2)
   \   0292  DD5603            LD      D,(IX+3)
   \   0295  CD9C03            CALL    LWRD ?0091
   \   0298  E5                PUSH    HL
   \   0299  FDE1              POP     IY
    115                  if(top_list+ListDisplayNum > g_file_list_total) 
   \   029B  010600            LD      BC,6
   \   029E  09                ADD     HL,BC
   \   029F  4D                LD      C,L
   \   02A0  44                LD      B,H
   \   02A1  2A0000            LD      HL,(g_file_list_total)
   \   02A4  A7                AND     A
   \   02A5  ED42              SBC     HL,BC
   \   02A7  3009              JR      NC,?0020
   \   02A9            ?0019:
    116                   bottom_list = g_file_list_total-1;   
   \   02A9  21FFFF            LD      HL,65535
   \   02AC  ED4B0000          LD      BC,(g_file_list_total)
   \   02B0  1806              JR      ?0072
    117                  else
   \   02B2            ?0020:
    118                   bottom_list = top_list + ListDisplayNum-1 ;   //尾项          
   \   02B2  210500            LD      HL,5
   \   02B5  FDE5              PUSH    IY
   \   02B7  C1                POP     BC
   \   02B8            ?0072:
   \   02B8  09                ADD     HL,BC
   \   02B9            ?0021:
    119                  last_list = bottom_list%ListDisplayNum;            
   \   02B9  010600            LD      BC,6
   \   02BC  5D                LD      E,L
   \   02BD  54                LD      D,H
   \   02BE  CD0000            CALL    LWRD ?US_MOD_L02
   \   02C1  DD73FD            LD      (IX-3),E
    120                  LastSeekNum = bottom_list/OneSectorListNum;   //最后一项列表文件所在的扇区
   \   02C4  03                INC     BC
   \   02C5  5D                LD      E,L
   \   02C6  54                LD      D,H
   \   02C7  CD0000            CALL    LWRD ?US_DIV_L02
   \   02CA  ED533D02          LD      (LastSeekNum),DE
    121                  ResShowPic(MENUTWO,0,0);                //显示背景画面     
   \   02CE  48                LD      C,B

⌨️ 快捷键说明

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