ui_userlist2.lst

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

LST
765
字号
   \   026E  19                ADD     HL,DE
   \   026F  110000            LD      DE,scroll_buf
   \   0272  0E19              LD      C,25
   \   0274  EDB0              LDIR
   \   0276  AF                XOR     A
   \   0277  321900            LD      (scroll_buf+25),A
   \   027A  210000            LD      HL,region_scroll
   \   027D  C9                RET
   \   027E            ?0057:
   \   027E  1600              LD      D,0
   \   0280  011E00            LD      BC,30
   \   0283  CD0000            CALL    LWRD ?S_MUL_L02
   \   0286  210000            LD      HL,disbuff
   \   0289  19                ADD     HL,DE
   \   028A  EB                EX      DE,HL
   \   028B  3E00              LD      A,BYTE3 Count_Byte
   \   028D  210000            LD      HL,LWRD Count_Byte
   \   0290  C9                RET
   \   0291            ?0058:
   \   0291  210000            LD      HL,scroll_buf
   \   0294  CD0000            CALL    LWRD ?STRLEN_L11
   \   0297  011400            LD      BC,20
   \   029A  A7                AND     A
   \   029B  ED42              SBC     HL,BC
   \   029D  C9                RET
   \   029E            UI_Favourite:
    117          
    118          
    119          int UI_Favourite(BYTE string_id)
    120          {
   \   029E  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   02A1  D4FF              DEFW    65492
   \   02A3  FDE5              PUSH    IY
    121                  int Result;
    122                  pop_up_list_t list;  
    123                  char USLBackbuf[32]; 
    124                  char IO27 =input8(0x27);
   \   02A5  DB27              IN      A,(39)
   \   02A7  DD77D4            LD      (IX-44),A
    125                  list.strid = favourite_string;
   \   02AA  DD36D600          LD      (IX-42),LOW(favourite_string)
   \   02AE  DD36D700          LD      (IX-41),HIGH(favourite_string)
    126                  list.total = 4;
   \   02B2  DD36D804          LD      (IX-40),4
   \   02B6  DD36D900          LD      (IX-39),0
    127                  list.active = 0;
   \   02BA  AF                XOR     A
   \   02BB  DD77DA            LD      (IX-38),A
   \   02BE  DD77DB            LD      (IX-37),A
    128                  list.string_id = string_id;
   \   02C1  DD4602            LD      B,(IX+2)
   \   02C4  DD70DE            LD      (IX-34),B
    129          
    130                  list.headid=MFAVI;
   \   02C7  DD36DCB0          LD      (IX-36),176
   \   02CB  DD36DD01          LD      (IX-35),1
    131                  Result = ui_popup_list(&list, NULL);
   \   02CF  4F                LD      C,A
   \   02D0  C5                PUSH    BC
   \   02D1  69                LD      L,C
   \   02D2  61                LD      H,C
   \   02D3  E5                PUSH    HL
   \   02D4  2E08              LD      L,8
   \   02D6  39                ADD     HL,SP
   \   02D7  EB                EX      DE,HL
   \   02D8  3E00              LD      A,BYTE3 ui_popup_list
   \   02DA  210000            LD      HL,LWRD ui_popup_list
   \   02DD  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02E0  F1                POP     AF
   \   02E1  F1                POP     AF
   \   02E2  E5                PUSH    HL
   \   02E3  FDE1              POP     IY
    132                  
    133                  if (Result == RESULT_IGNORE)
   \   02E5  3E34              LD      A,52
   \   02E7  AD                XOR     L
   \   02E8  B4                OR      H
   \   02E9  2005              JR      NZ,?0026
   \   02EB            ?0025:
    134                      return 0;                
   \   02EB  69                LD      L,C
   \   02EC  61                LD      H,C
   \   02ED  C39103            JP      LWRD ?0043
   \   02F0            ?0026:
    135                  if (Result != 0)
   \   02F0  7D                LD      A,L
   \   02F1  B4                OR      H
   \   02F2  C28E03            JP      NZ,?0048
   \   02F5            ?0027:
    136                      return Result;
   \   02F5            ?0028:
    137                 
    138                  output8(0x27,0x00);
   \   02F5  D327              OUT     (39),A
    139                  FS_Backup(USLBackbuf,FS_BACKUP_DIRINFO,0);//目录项备份  
   \   02F7  69                LD      L,C
   \   02F8  61                LD      H,C
   \   02F9  E5                PUSH    HL
   \   02FA  0E02              LD      C,2
   \   02FC  2E10              LD      L,16
   \   02FE  39                ADD     HL,SP
   \   02FF  EB                EX      DE,HL
   \   0300  CD0000            CALL    LWRD FS_Backup
   \   0303  E1                POP     HL
    140                  output8(0x27,IO27);
   \   0304  DD7ED4            LD      A,(IX-44)
   \   0307  D327              OUT     (39),A
    141                  switch(list.active)
   \   0309  DD5EDA            LD      E,(IX-38)
   \   030C  DD56DB            LD      D,(IX-37)
   \   030F  CD0000            CALL    LWRD ?S_S_SWITCH_L06
   \   0312  0000              DEFW    0
   \   0314  0300              DEFW    3
   \   0316  7903              DEFW    ?0029
   \   0318  1E03              DEFW    ?0030
   \   031A  3F03              DEFW    ?0035
   \   031C  6103              DEFW    ?0040
   \   031E            ?0030:
    142                  {
    143                  case 0:        //select
    144          
    145          #ifdef ACTIVE_USERPL
    146                     if(need_WPL)
   \   031E  3A0000            LD      A,(need_WPL)
   \   0321  B7                OR      A
   \   0322  280A              JR      Z,?0032
   \   0324            ?0031:
    147                       WrHead_PL(0);
   \   0324  1E00              LD      E,0
   \   0326  3E00              LD      A,BYTE3 WrHead_PL
   \   0328  210000            LD      HL,LWRD WrHead_PL
   \   032B  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   032E            ?0032:
    148          #endif
    149                      Result=ui_userplaylist(&g_music_vars.location,0);
   \   032E  0E00              LD      C,0
   \   0330  CD9603            CALL    LWRD ?0059
   \   0333  E5                PUSH    HL
   \   0334  FDE1              POP     IY
    150                      if (Result == 0)
   \   0336  7D                LD      A,L
   \   0337  B4                OR      H
   \   0338  203F              JR      NZ,?0029
   \   033A            ?0033:
    151                      {
    152                       return RESULT_USERLIST;
   \   033A  216C00            LD      HL,108
    153                      }
   \   033D  1852              JR      ?0043
   \   033F            ?0034:
    154                   //   return  Result;
    155                      break;
   \   033F            ?0035:
    156                  case 1:        //add
    157          #ifdef ACTIVE_USERPL
    158                  if(!bList_Flag&&(g_music_vars.fselmod != FSEL_TYPE_USERPL))
   \   033F  3A0000            LD      A,(bList_Flag)
   \   0342  B7                OR      A
   \   0343  2016              JR      NZ,?0037
   \   0345  3A5100            LD      A,(g_music_vars+81)
   \   0348  3D                DEC     A
   \   0349  3D                DEC     A
   \   034A  280F              JR      Z,?0037
   \   034C            ?0039:
   \   034C            ?0038:
   \   034C            ?0036:
    159                  {
    160                          bList_Flag=Add_UserPL(&g_music_vars.location);
   \   034C  110700            LD      DE,g_music_vars+7
   \   034F  3E00              LD      A,BYTE3 Add_UserPL
   \   0351  210000            LD      HL,LWRD Add_UserPL
   \   0354  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0357  7D                LD      A,L
   \   0358  320000            LD      (bList_Flag),A
   \   035B            ?0037:
    161                  }
    162          #endif
    163                    Result = NULL; 
   \   035B  FD210000          LD      IY,0
    164                       break;
   \   035F  1818              JR      ?0029
   \   0361            ?0040:
    165                  case 2:        //del
    166          #ifdef ACTIVE_USERPL
    167                     if(need_WPL)
   \   0361  3A0000            LD      A,(need_WPL)
   \   0364  B7                OR      A
   \   0365  280A              JR      Z,?0042
   \   0367            ?0041:
    168                       WrHead_PL(0);
   \   0367  1E00              LD      E,0
   \   0369  3E00              LD      A,BYTE3 WrHead_PL
   \   036B  210000            LD      HL,LWRD WrHead_PL
   \   036E  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0371            ?0042:
    169          #endif
    170                      Result=(ui_userplaylist(&g_music_vars.location,1)); 
   \   0371  0E01              LD      C,1
   \   0373  CD9603            CALL    LWRD ?0059
   \   0376  E5                PUSH    HL
   \   0377  FDE1              POP     IY
    171          /*            
    172                      if (Result == 0)
    173                      {
    174                       return RESULT_USERLIST;
    175                      }
    176          */            
    177                      //return  Result;
    178                      break;
   \   0379            ?0029:
    179                  } 
    180                  output8(0x27,0x00);           
   \   0379  AF                XOR     A
   \   037A  D327              OUT     (39),A
    181                  FS_Restore(USLBackbuf,FS_RESTORE_DIRINFO,0);//目录项恢复 
   \   037C  6F                LD      L,A
   \   037D  67                LD      H,A
   \   037E  E5                PUSH    HL
   \   037F  0E02              LD      C,2
   \   0381  2E10              LD      L,16
   \   0383  39                ADD     HL,SP
   \   0384  EB                EX      DE,HL
   \   0385  CD0000            CALL    LWRD FS_Restore
   \   0388  E1                POP     HL
    182                  output8(0x27,IO27);                       
   \   0389  DD7ED4            LD      A,(IX-44)
   \   038C  D327              OUT     (39),A
    183                  return Result;
   \   038E            ?0048:
   \   038E  FDE5              PUSH    IY
   \   0390  E1                POP     HL
    184          }
   \   0391            ?0043:
   \   0391  FDE1              POP     IY
   \   0393  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0396            ?0059:
   \   0396  110700            LD      DE,g_music_vars+7
   \   0399  3E00              LD      A,BYTE3 ui_userplaylist
   \   039B  210000            LD      HL,LWRD ui_userplaylist
   \   039E  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0000                    RSEG    APC_UI_USERLIST
   \   0000            favourite_string:
   \   0000  B301              DEFW    435
   \   0002  B101              DEFW    433
   \   0004  B201              DEFW    434
   \   0006  D101              DEFW    465
   \   0008                    END

Errors: none
Warnings: none
Code size: 929
Constant size: 8
Static variable size: Data(0) Iram(0)

⌨️ 快捷键说明

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