ui_userlist2.lst

来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 765 行 · 第 1/3 页

LST
765
字号
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       18/Nov/107  22:58:54 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\ap_music\ui_userlist2.c          #
#       List file     =  d:\case_i_d913f\ap\ap_music\list\ui_userlist2.lst   #
#       Object file   =  d:\case_i_d913f\ap\ap_music\obj\ui_userlist2.r01    #
#       ASM file      =  d:\case_i_d913f\ap\ap_music\list\ui_userlist2.s01   #
#       Command line  =  -v0 -mb -OD:\case_i_d913f\ap\ap_music\Obj\ -e -K    #
#                        -w -gA -z9 -RCODE -r0 -DNAPDEBUG                    #
#                        -LD:\case_i_d913f\ap\ap_music\List\ -q -t8          #
#                        -AD:\case_i_d913f\ap\ap_music\List\                 #
#                        -ND:\case_i_d913f\ap\ap_music\List\ -X              #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        D:\CASE_I_D913F\AP\AP_MUSIC\ui_userlist2.c          #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_userlist2(17)
   \   0000                    RSEG    AP_UI_USERLIST(0)
   \   0000                    RSEG    APC_UI_USERLIST(0)
   \   0000                    EXTERN  Add_UserPL
   \   0000                    EXTERN  Count_Byte
   \   0000                    EXTERN  FS_Backup
   \   0000                    EXTERN  FS_Restore
   \   0000                    EXTERN  PutS
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  ResShowPic
   \   0000                    EXTERN  ScrollFlag
   \   0000                    EXTERN  ScrollString
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  SetTextOutMode
   \   0000                    EXTERN  SetTextPos
   \   0000                    PUBLIC  UI_Favourite
   \   0000                    EXTERN  WrHead_PL
   \   0000                    EXTERN  bList_Flag
   \   0000                    EXTERN  disbuff
   \   0000                    PUBLIC  favourite_string
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_music_vars
   \   0000                    EXTERN  menu_pos_list
   \   0000                    EXTERN  menulist_bck_pic
   \   0000                    EXTERN  need_WPL
   \   0000                    EXTERN  region_scroll
   \   0000                    EXTERN  scroll_buf
   \   0000                    EXTERN  ui_popup_list
   \   0000                    EXTERN  ui_userplaylist
   \   0000                    PUBLIC  ui_viewlist
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?UC_MOD_L01
   \   0000                    EXTERN  ?S_MUL_L02
   \   0000                    EXTERN  ?S_S_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_LEAVE_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?ENT_AUTO_DIRECT_L09
   \   0000                    EXTERN  ?STRLEN_L11
   \   0000                    RSEG    AP_UI_USERLIST
   \   0000            ui_viewlist:
      1          #include "ap_music.h"        
      2          #define Color_BULE_Scroll_def  0x0000001f//深蓝 
      3          extern  handle UserPLfp; 
      4          #pragma memory=dataseg(APD_UI_PLAYLIST)
      5          extern char vbuff[512];
      6          extern char disbuff[MENU_GROUP*30];
      7          extern char vfilename[12];
      8          extern handle fpview; 
      9          extern WORD vFirstOffset;
     10          extern WORD vLastOffset;
     11          extern WORD vTotal;  
     12          extern WORD vsave_offset;
     13          #pragma memory=default 
     14          extern const char menu_pos_list[6];
     15          extern const WORD menulist_bck_pic[]; 
     16          extern  char     ScrollFlag;   //滚动标志位   
     17          extern char      scroll_buf[];     //滚屏buffer区 
     18          extern region_t region_scroll;  //滚屏区域 
     19          #pragma codeseg(AP_UI_USERLIST)
     20          
     21          #pragma memory=constseg(APC_UI_USERLIST)
     22          //const char userlist_file_pos[6] = { POSITION_MENU6, POSITION_MENU5,POSITION_MENU4,POSITION_MENU3,POSITION_MENU2,POSITION_MENU1};    //zxs add
     23          //const WORD userlist_file_bck_pic[6]={ MENUBCK6,MENUBCK5,MENUBCK4,MENUBCK3,MENUBCK2,MENUBCK1 };
     24          const WORD favourite_string[4] ={ MFAVIVIW,MFAVIADD,MFAVIDEL,MSTOP5}; 
     25          #pragma memory=default
     26          
     27          
     28          void ui_viewlist(char old_active,char new_active,char num,char type,bool scroll_flag)
     29          {                  
   \   0000  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0003  FCFF              DEFW    65532
     30              BYTE tmp,i;
     31           //   DC  oldDC_sav;
     32              BYTE DisplayBytes;       
     33              region_scroll.x=explorer_str_x_def;
   \   0005  3E20              LD      A,32
   \   0007  320000            LD      (region_scroll),A
     34              region_scroll.width=160;
   \   000A  3EA0              LD      A,160
   \   000C  320200            LD      (region_scroll+2),A
     35              region_scroll.height=16;
   \   000F  3E10              LD      A,16
   \   0011  320300            LD      (region_scroll+3),A
     36             
     37             if(scroll_flag)   
   \   0014  AF                XOR     A
   \   0015  DDB60E            OR      (IX+14)
   \   0018  2826              JR      Z,?0003
   \   001A            ?0002:
     38              {
     39                  SetTextOutMode(0);
   \   001A  1E00              LD      E,0
   \   001C  CD0000            CALL    LWRD SetTextOutMode
     40                  SetBackgdColor(Color_BULE_Scroll_def);        
   \   001F  010000            LD      BC,0
   \   0022  111F00            LD      DE,31
   \   0025  CD0000            CALL    LWRD SetBackgdColor
     41                  ScrollString(scroll_buf, FALSE,g_comval.langid,&region_scroll);
   \   0028  210000            LD      HL,region_scroll
   \   002B  E5                PUSH    HL
   \   002C  210C00            LD      HL,g_comval+12
   \   002F  4E                LD      C,(HL)
   \   0030  C5                PUSH    BC
   \   0031  0E00              LD      C,0
   \   0033  CD2C02            CALL    LWRD ?0050
   \   0036  E1                POP     HL
   \   0037  E1                POP     HL
     42                  SetTextOutMode(1);  
   \   0038  1E01              LD      E,1
   \   003A  CD0000            CALL    LWRD SetTextOutMode
     43              } 
     44             else
   \   003D  C32702            JP      LWRD ?0024
   \   0040            ?0003:
     45             { 
     46              if(num>MENU_GROUP)
   \   0040  3E06              LD      A,6
   \   0042  DDBE0A            CP      (IX+10)
   \   0045  3003              JR      NC,?0006
   \   0047            ?0005:
     47                num = MENU_GROUP;
   \   0047  DD770A            LD      (IX+10),A
   \   004A            ?0006:
     48            //  GetDCStatus(&oldDC_sav);
     49              
     50              SetTextOutMode(1);
   \   004A  1E01              LD      E,1
   \   004C  CD0000            CALL    LWRD SetTextOutMode
     51              SetPenColor(Color_WHITE_def);
   \   004F  010000            LD      BC,0
   \   0052  11FFFF            LD      DE,65535
   \   0055  CD0000            CALL    LWRD SetPenColor
     52              
     53              if(old_active!=new_active)
   \   0058  DD7E02            LD      A,(IX+2)
   \   005B  DDBE04            CP      (IX+4)
   \   005E  CA2A01            JP      Z,?0008
   \   0061            ?0007:
     54              {
     55                   //清除旧的活动列表项
     56               tmp = old_active%MENU_GROUP;
   \   0061  0606              LD      B,6
   \   0063  CD3702            CALL    LWRD ?0052
     57               ResShowPic(menulist_bck_pic[tmp], menu_bck_x_def, menu_pos_list[tmp]-4);
   \   0066  C5                PUSH    BC
   \   0067  0E09              LD      C,9
   \   0069  DD6EFD            LD      L,(IX-3)
   \   006C  60                LD      H,B
   \   006D  29                ADD     HL,HL
   \   006E  110000            LD      DE,menulist_bck_pic
   \   0071  19                ADD     HL,DE
   \   0072  5E                LD      E,(HL)
   \   0073  23                INC     HL
   \   0074  56                LD      D,(HL)
   \   0075  CD4E02            CALL    LWRD ?0053
   \   0078  F1                POP     AF
     58               ResShowPic(DHT,194,8); 
   \   0079  0E08              LD      C,8
   \   007B  C5                PUSH    BC
   \   007C  0EC2              LD      C,194
   \   007E  112600            LD      DE,38
   \   0081  CD4E02            CALL    LWRD ?0053
   \   0084  F1                POP     AF
     59               ResShowPic(MFILE,explorer_pic_x_def,menu_pos_list[tmp]-1);
   \   0085  DD4EFD            LD      C,(IX-3)
   \   0088  0600              LD      B,0
   \   008A  210000            LD      HL,menu_pos_list
   \   008D  09                ADD     HL,BC
   \   008E  7E                LD      A,(HL)
   \   008F  C6FF              ADD     A,255
   \   0091  4F                LD      C,A
   \   0092  C5                PUSH    BC
   \   0093  CD4902            CALL    LWRD ?0054
   \   0096  F1                POP     AF
     60          
     61               SetTextPos(explorer_str_x_def, menu_pos_list[tmp]-2);
   \   0097  DD4EFD            LD      C,(IX-3)
   \   009A  CD5602            CALL    LWRD ?0055
     62               DisplayBytes = Count_Byte(&(disbuff+old_active*30),g_comval.langid);
   \   009D  ED4B0C00          LD      BC,(g_comval+12)
   \   00A1  C5                PUSH    BC
   \   00A2  DD5E02            LD      E,(IX+2)
   \   00A5  CD7E02            CALL    LWRD ?0057
   \   00A8  C1                POP     BC
   \   00A9  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     63               PutS(&(disbuff+old_active*30), DisplayBytes);
   \   00AC  4D                LD      C,L
   \   00AD  C5                PUSH    BC
   \   00AE  DD5E02            LD      E,(IX+2)
   \   00B1  1600              LD      D,0
   \   00B3  011E00            LD      BC,30
   \   00B6  CD0000            CALL    LWRD ?S_MUL_L02
   \   00B9  210000            LD      HL,disbuff
   \   00BC  19                ADD     HL,DE
   \   00BD  EB                EX      DE,HL
   \   00BE  C1                POP     BC
   \   00BF  CD0000            CALL    LWRD PutS
     64          
     65           //显示当前活动项
     66                 
     67                tmp = new_active%MENU_GROUP;    
   \   00C2  0606              LD      B,6
   \   00C4  DD7E04            LD      A,(IX+4)
   \   00C7  CD3702            CALL    LWRD ?0052
     68                ResShowPic(FILEBCK, explorer_str_x_def-2, menu_pos_list[tmp]-4);
   \   00CA  C5                PUSH    BC
   \   00CB  0E1E              LD      C,30
   \   00CD  112C00            LD      DE,44
   \   00D0  CD4E02            CALL    LWRD ?0053
   \   00D3  F1                POP     AF
     69                ResShowPic(DHTHK,194, menu_pos_list[tmp]+5);      
   \   00D4  DD4EFD            LD      C,(IX-3)
   \   00D7  0600              LD      B,0
   \   00D9  210000            LD      HL,menu_pos_list
   \   00DC  09                ADD     HL,BC
   \   00DD  7E                LD      A,(HL)
   \   00DE  C605              ADD     A,5
   \   00E0  4F                LD      C,A
   \   00E1  C5                PUSH    BC
   \   00E2  0EC2              LD      C,194
   \   00E4  112700            LD      DE,39
   \   00E7  CD4E02            CALL    LWRD ?0053
   \   00EA  F1                POP     AF
     70                ResShowPic(MFILE,explorer_pic_x_def,menu_pos_list[tmp]-1); 
   \   00EB  DD4EFD            LD      C,(IX-3)
   \   00EE  0600              LD      B,0
   \   00F0  210000            LD      HL,menu_pos_list
   \   00F3  09                ADD     HL,BC
   \   00F4  7E                LD      A,(HL)
   \   00F5  C6FF              ADD     A,255

⌨️ 快捷键说明

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