ui_pop_up_list.lst

来自「MP3 整个 SDK」· LST 代码 · 共 959 行 · 第 1/3 页

LST
959
字号
   \   0155  56                LD      D,(HL)
   \   0156  010600            LD      BC,6
   \   0159  CD0000            CALL    LWRD ?SS_MOD_L02
   \   015C            ?0002:
   \   015C            ?0003:
     76              GetDCStatus(&oldDC_sav);
   \   015C  210400            LD      HL,4
   \   015F  39                ADD     HL,SP
   \   0160  EB                EX      DE,HL
   \   0161  CD0000            CALL    LWRD GetDCStatus
     77          
     78                  SetTextOutMode(1);       //设字体透明
   \   0164  1E01              LD      E,1
   \   0166  CD0000            CALL    LWRD SetTextOutMode
   \   0169            ?0005:
     79          
     80              while(1)
     81              {
     82                  if(need_drawall)
   \   0169  AF                XOR     A
   \   016A  DDB6FF            OR      (IX-1)
   \   016D  2808              JR      Z,?0008
   \   016F            ?0007:
     83                  {
     84          
     85                      need_drawall=FALSE;
     86                      need_draw=TRUE;
   \   016F  DD36FF00          LD      (IX-1),0
   \   0173  DD36FC01          LD      (IX-4),1
   \   0177            ?0008:
     87                  }
     88          
     89                  if(need_draw)
   \   0177  AF                XOR     A
   \   0178  DDB6FC            OR      (IX-4)
   \   017B  CA0A03            JP      Z,?0010
   \   017E            ?0009:
     90                  {
     91                      old_active=active;
     92                      cur_group = active / LIST_NUM_ONE_PAGE;
   \   017E  010600            LD      BC,6
   \   0181  DD5EE8            LD      E,(IX-24)
   \   0184  DD56E9            LD      D,(IX-23)
   \   0187  CD0000            CALL    LWRD ?SS_DIV_L02
   \   018A  DD73F6            LD      (IX-10),E
   \   018D  DD72F7            LD      (IX-9),D
     93                      n = cur_group*LIST_NUM_ONE_PAGE;
   \   0190  EB                EX      DE,HL
   \   0191  29                ADD     HL,HL
   \   0192  4D                LD      C,L
   \   0193  44                LD      B,H
   \   0194  29                ADD     HL,HL
   \   0195  09                ADD     HL,BC
   \   0196  DD75F4            LD      (IX-12),L
   \   0199  DD74F5            LD      (IX-11),H
     94                      ResShowPic(MENUTWO,0,0);
   \   019C  0E00              LD      C,0
   \   019E  C5                PUSH    BC
   \   019F  116D00            LD      DE,109
   \   01A2  CD1301            CALL    LWRD ?0069
   \   01A5  F1                POP     AF
     95                      ResShowPic(DHT,194,8);
   \   01A6  0E08              LD      C,8
   \   01A8  C5                PUSH    BC
   \   01A9  0EC2              LD      C,194
   \   01AB  112D00            LD      DE,45
   \   01AE  CD1301            CALL    LWRD ?0069
   \   01B1  F1                POP     AF
     96                      SetPenColor(Color_WHITE_def);
   \   01B2  CD1B01            CALL    LWRD ?0071
     97                      ResShowMultiString(list->headid, list->string_id,
     98                      list_str_x_def, list_str_y_def);
   \   01B5  0E94              LD      C,148
   \   01B7  C5                PUSH    BC
   \   01B8  0E16              LD      C,22
   \   01BA  C5                PUSH    BC
   \   01BB  FD4E08            LD      C,(IY+8)
   \   01BE  FD5E06            LD      E,(IY+6)
   \   01C1  FD5607            LD      D,(IY+7)
   \   01C4  3E00              LD      A,BYTE3 ResShowMultiString
   \   01C6  210000            LD      HL,LWRD ResShowMultiString
   \   01C9  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   01CC  F1                POP     AF
   \   01CD  F1                POP     AF
     99          
    100                      SetPenColor(Color_WHITE_def);
   \   01CE  CD1B01            CALL    LWRD ?0071
    101                      if(callback != NULL)
   \   01D1  DD6EE8            LD      L,(IX-24)
   \   01D4  DD66E9            LD      H,(IX-23)
   \   01D7  DD75F8            LD      (IX-8),L
   \   01DA  DD74F9            LD      (IX-7),H
   \   01DD  DD7E0A            LD      A,(IX+10)
   \   01E0  DDB60B            OR      (IX+11)
   \   01E3  DDB60C            OR      (IX+12)
   \   01E6  2804              JR      Z,?0012
   \   01E8            ?0011:
    102                      callback(active);         
   \   01E8  EB                EX      DE,HL
   \   01E9  CDBE04            CALL    LWRD ?0073
   \   01EC            ?0012:
    103                       
    104                      for(i=0; i<LIST_NUM_ONE_PAGE; i++)
   \   01EC  AF                XOR     A
   \   01ED  DD77EA            LD      (IX-22),A
   \   01F0  DD77EB            LD      (IX-21),A
   \   01F3            ?0014:
   \   01F3  010680            LD      BC,32774
   \   01F6  DD6EEA            LD      L,(IX-22)
   \   01F9  DD66EB            LD      H,(IX-21)
   \   01FC  78                LD      A,B
   \   01FD  AC                XOR     H
   \   01FE  67                LD      H,A
   \   01FF  ED42              SBC     HL,BC
   \   0201  D20603            JP      NC,?0013
   \   0204            ?0015:
    105                      {
    106                          if(n+i >= list->total) break;    //处理不足LIST_NUM_ONE_PAGE个的情况
   \   0204  FD4E02            LD      C,(IY+2)
   \   0207  FD4603            LD      B,(IY+3)
   \   020A  DD6EEA            LD      L,(IX-22)
   \   020D  DD66EB            LD      H,(IX-21)
   \   0210  DD5EF4            LD      E,(IX-12)
   \   0213  DD56F5            LD      D,(IX-11)
   \   0216  19                ADD     HL,DE
   \   0217  F680              OR      128
   \   0219  ED42              SBC     HL,BC
   \   021B  E21F02            JP      PO,?0061
   \   021E  AC                XOR     H
   \   021F            ?0061:
   \   021F  F20603            JP      P,?0013
   \   0222            ?0017:
   \   0222            ?0018:
    107                          if(n+i==active)
   \   0222  DD6EEA            LD      L,(IX-22)
   \   0225  DD66EB            LD      H,(IX-21)
   \   0228  4B                LD      C,E
   \   0229  42                LD      B,D
   \   022A  09                ADD     HL,BC
   \   022B  DD4EE8            LD      C,(IX-24)
   \   022E  DD46E9            LD      B,(IX-23)
   \   0231  A7                AND     A
   \   0232  ED42              SBC     HL,BC
   \   0234  210000            LD      HL,menu_pos_list
   \   0237  DD4EEA            LD      C,(IX-22)
   \   023A  DD46EB            LD      B,(IX-21)
   \   023D  09                ADD     HL,BC
   \   023E  2071              JR      NZ,?0020
   \   0240            ?0019:
    108                          {
    109                              {
    110                                  ResShowPic(MENUBCK, menu_bck_x_def, menu_pos_list[i]-4);
   \   0240  7E                LD      A,(HL)
   \   0241  C6FC              ADD     A,252
   \   0243  5F                LD      E,A
   \   0244  D5                PUSH    DE
   \   0245  CD0E01            CALL    LWRD ?0070
   \   0248  F1                POP     AF
    111                                  ResShowPic(DHTHK,194, menu_pos_list[i]+6);
   \   0249  210000            LD      HL,menu_pos_list
   \   024C  DD4EEA            LD      C,(IX-22)
   \   024F  DD46EB            LD      B,(IX-21)
   \   0252  09                ADD     HL,BC
   \   0253  7E                LD      A,(HL)
   \   0254  C606              ADD     A,6
   \   0256  5F                LD      E,A
   \   0257  D5                PUSH    DE
   \   0258  0EC2              LD      C,194
   \   025A  112E00            LD      DE,46
   \   025D  CD1301            CALL    LWRD ?0069
   \   0260  F1                POP     AF
    112                                  ResShowPic(MENURARR, menu_ptr_x_def, menu_pos_list[i]);
   \   0261  210000            LD      HL,menu_pos_list
   \   0264  DD4EEA            LD      C,(IX-22)
   \   0267  DD46EB            LD      B,(IX-21)
   \   026A  09                ADD     HL,BC
   \   026B  5E                LD      E,(HL)
   \   026C  D5                PUSH    DE
   \   026D  0E0A              LD      C,10
   \   026F  116C00            LD      DE,108
   \   0272  CD1301            CALL    LWRD ?0069
   \   0275  F1                POP     AF
    113                              }
    114          
    115          
    116                               SetPenColor(Color_WHITE_def);
   \   0276  CD1B01            CALL    LWRD ?0071
    117                               ResShowMultiString(list->strid[active], list->string_id,
    118                               menu_str_x_def, menu_pos_list[i]-1);
   \   0279  210000            LD      HL,menu_pos_list
   \   027C  DD4EEA            LD      C,(IX-22)
   \   027F  DD46EB            LD      B,(IX-21)
   \   0282  09                ADD     HL,BC
   \   0283  7E                LD      A,(HL)
   \   0284  C6FF              ADD     A,255
   \   0286  4F                LD      C,A
   \   0287  C5                PUSH    BC
   \   0288  0E20              LD      C,32
   \   028A  C5                PUSH    BC
   \   028B  FD4E08            LD      C,(IY+8)
   \   028E  FD6E00            LD      L,(IY+0)
   \   0291  FD6601            LD      H,(IY+1)
   \   0294  E5                PUSH    HL
   \   0295  DD6EE8            LD      L,(IX-24)
   \   0298  DD66E9            LD      H,(IX-23)
   \   029B  29                ADD     HL,HL
   \   029C  EB                EX      DE,HL
   \   029D  E1                POP     HL
   \   029E  19                ADD     HL,DE
   \   029F  5E                LD      E,(HL)
   \   02A0  23                INC     HL
   \   02A1  56                LD      D,(HL)
   \   02A2  3E00              LD      A,BYTE3 ResShowMultiString
   \   02A4  210000            LD      HL,LWRD ResShowMultiString
   \   02A7  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02AA  F1                POP     AF
   \   02AB  F1                POP     AF
    119                               SetPenColor(Color_WHITE_def);
   \   02AC  CD1B01            CALL    LWRD ?0071
    120          
    121                          }
    122                          else
   \   02AF  1849              JR      ?0021
   \   02B1            ?0020:
    123                          {
    124                              ResShowPic(MENUARR1+i, menu_ptr_x_def, menu_pos_list[i]);
   \   02B1  5E                LD      E,(HL)
   \   02B2  D5                PUSH    DE
   \   02B3  0E0A              LD      C,10
   \   02B5  215E00            LD      HL,94
   \   02B8  DD5EEA            LD      E,(IX-22)
   \   02BB  50                LD      D,B
   \   02BC  19                ADD     HL,DE
   \   02BD  EB                EX      DE,HL
   \   02BE  CD1301            CALL    LWRD ?0069
   \   02C1  F1                POP     AF
    125                              ResShowMultiString(list->strid[n+i], list->string_id,
    126                              menu_str_x_def, menu_pos_list[i]-3);
   \   02C2  210000            LD      HL,menu_pos_list
   \   02C5  DD4EEA            LD      C,(IX-22)
   \   02C8  DD46EB            LD      B,(IX-21)
   \   02CB  09                ADD     HL,BC
   \   02CC  7E                LD      A,(HL)
   \   02CD  C6FD              ADD     A,253
   \   02CF  5F                LD      E,A
   \   02D0  D5                PUSH    DE
   \   02D1  1E20              LD      E,32
   \   02D3  D5                PUSH    DE
   \   02D4  FD4E08            LD      C,(IY+8)
   \   02D7  FD6E00            LD      L,(IY+0)
   \   02DA  FD6601            LD      H,(IY+1)
   \   02DD  E5                PUSH    HL
   \   02DE  DD6EEA            LD      L,(IX-22)
   \   02E1  60                LD      H,B
   \   02E2  DD5EF4            LD      E,(IX-12)
   \   02E5  DD56F5            LD      D,(IX-11)
   \   02E8  19                ADD     HL,DE
   \   02E9  29                ADD     HL,HL
   \   02EA  EB                EX      DE,HL
   \   02EB  E1                POP     HL
   \   02EC  19                ADD     HL,DE
   \   02ED  5E                LD      E,(HL)
   \   02EE  23                INC     HL
   \   02EF  56                LD      D,(HL)
   \   02F0  3E00              LD      A,BYTE3 ResShowMultiString
   \   02F2  210000            LD      HL,LWRD ResShowMultiString
   \   02F5  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02F8  F1                POP     AF
   \   02F9  F1                POP     AF
   \   02FA            ?0021:
   \   02FA  DD34EA            INC     (IX-22)
   \   02FD  C2F301            JP      NZ,?0014
   \   0300  DD34EB            INC     (IX-21)
   \   0303  C3F301            JP      LWRD ?0014
   \   0306            ?0013:
    127                          }
    128                      }
    129          
    130                      need_draw = FALSE;
   \   0306  DD36FC00          LD      (IX-4),0
   \   030A            ?0010:
    131                  }//need draw
    132                  if(value_changed)
   \   030A  AF                XOR     A
   \   030B  DDB6FE            OR      (IX-2)
   \   030E  281D              JR      Z,?0023
   \   0310            ?0022:
    133                  {
    134                          show_active_list1(list,old_active,active);
   \   0310  DD6EE8            LD      L,(IX-24)
   \   0313  DD66E9            LD      H,(IX-23)
   \   0316  E5                PUSH    HL
   \   0317  DD4EF8            LD      C,(IX-8)
   \   031A  DD46F9            LD      B,(IX-7)
   \   031D  FDE5              PUSH    IY
   \   031F  D1                POP     DE
   \   0320  3E00              LD      A,BYTE3 show_active_list1
   \   0322  210000            LD      HL,LWRD show_active_list1
   \   0325  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0328  E1                POP     HL
    135                          value_changed=FALSE;
   \   0329  DD36FE00          LD      (IX-2),0
   \   032D            ?0023:
    136                  }
    137                  key = ap_get_message();
   \   032D  CD0000            CALL    LWRD ap_get_message
    138                  //handle message
    139                  switch( key)
   \   0330  5F                LD      E,A
   \   0331  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   0334  0700              DEFW    7
   \   0336  05                DEFB    5
   \   0337  06                DEFB    6
   \   0338  1E                DEFB    30
   \   0339  21                DEFB    33
   \   033A  30                DEFB    48
   \   033B  45                DEFB    69
   \   033C  46                DEFB    70
   \   033D  6C04              DEFW    ?0054
   \   033F  4D03              DEFW    ?0025

⌨️ 快捷键说明

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