navi.lst

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

LST
963
字号
    124                        need_draw = TRUE;
    125                        direct=2;    
   \   024C  DD36FD01          LD      (IX-3),1
   \   0250  DD36FB01          LD      (IX-5),1
   \   0254  DD36FC02          LD      (IX-4),2
    126                             
    127                       } 
    128                      else
   \   0258  C32F03            JP      LWRD ?0030
   \   025B            ?0023:
    129                      {
    130                        
    131                        if(active_list==0)
   \   025B  AF                XOR     A
   \   025C  B0                OR      B
   \   025D  C20F03            JP      NZ,?0032
   \   0260            ?0031:
    132                        {
    133                              need_read = TRUE;  
    134                              active_list = NAVI_GROUP-1;
    135                              old_list = active_list;
    136                              need_draw = TRUE; 
    137                              direct=1; 
    138                              if((g_active_list+NAVI_GROUP)<CurTotalNum)
   \   0260  DD36FD01          LD      (IX-3),1
   \   0264  DD36F805          LD      (IX-8),5
   \   0268  DD36FB01          LD      (IX-5),1
   \   026C  DD36FC01          LD      (IX-4),1
   \   0270  2A0A00            LD      HL,(CurTotalNum+2)
   \   0273  E5                PUSH    HL
   \   0274  2A0800            LD      HL,(CurTotalNum)
   \   0277  E5                PUSH    HL
   \   0278  68                LD      L,B
   \   0279  60                LD      H,B
   \   027A  E5                PUSH    HL
   \   027B  2E06              LD      L,6
   \   027D  E5                PUSH    HL
   \   027E  DD6EEE            LD      L,(IX-18)
   \   0281  DD66EF            LD      H,(IX-17)
   \   0284  C1                POP     BC
   \   0285  09                ADD     HL,BC
   \   0286  EB                EX      DE,HL
   \   0287  DD6EF0            LD      L,(IX-16)
   \   028A  DD66F1            LD      H,(IX-15)
   \   028D  C1                POP     BC
   \   028E  ED4A              ADC     HL,BC
   \   0290  4D                LD      C,L
   \   0291  44                LD      B,H
   \   0292  EB                EX      DE,HL
   \   0293  CD0000            CALL    LWRD ?SL_CMP_L03
   \   0296  300E              JR      NC,?0034
   \   0298            ?0033:
    139                                     Navfileoffset=Navfileoffset-(NAVI_GROUP+NAVI_GROUP)*sizeof(file_info_t);
   \   0298  210400            LD      HL,Navfileoffset
   \   029B  01FFFF            LD      BC,65535
   \   029E  1100FD            LD      DE,64768
   \   02A1  CD0000            CALL    LWRD ?L_ADDASG_L03
    140                              else
   \   02A4  182C              JR      ?0035
   \   02A6            ?0034:
    141                                     Navfileoffset=Navfileoffset-((CurTotalNum-g_active_list)+NAVI_GROUP)*sizeof(file_info_t);
   \   02A6  2A0800            LD      HL,(CurTotalNum)
   \   02A9  DD4EEE            LD      C,(IX-18)
   \   02AC  DD46EF            LD      B,(IX-17)
   \   02AF  ED42              SBC     HL,BC
   \   02B1  EB                EX      DE,HL
   \   02B2  2A0A00            LD      HL,(CurTotalNum+2)
   \   02B5  DD4EF0            LD      C,(IX-16)
   \   02B8  DD46F1            LD      B,(IX-15)
   \   02BB  ED42              SBC     HL,BC
   \   02BD  E5                PUSH    HL
   \   02BE  D5                PUSH    DE
   \   02BF  210600            LD      HL,6
   \   02C2  C1                POP     BC
   \   02C3  09                ADD     HL,BC
   \   02C4  EB                EX      DE,HL
   \   02C5  6F                LD      L,A
   \   02C6  67                LD      H,A
   \   02C7  C1                POP     BC
   \   02C8  CDE304            CALL    LWRD ?0072
   \   02CB  EB                EX      DE,HL
   \   02CC  210400            LD      HL,Navfileoffset
   \   02CF  CD0000            CALL    LWRD ?L_SUBASG_L03
   \   02D2            ?0035:
    142                              if((g_active_list-NAVI_GROUP)==0)
   \   02D2  21FFFF            LD      HL,65535
   \   02D5  E5                PUSH    HL
   \   02D6  21FAFF            LD      HL,65530
   \   02D9  E5                PUSH    HL
   \   02DA  DD6EEE            LD      L,(IX-18)
   \   02DD  DD66EF            LD      H,(IX-17)
   \   02E0  C1                POP     BC
   \   02E1  09                ADD     HL,BC
   \   02E2  EB                EX      DE,HL
   \   02E3  DD6EF0            LD      L,(IX-16)
   \   02E6  DD66F1            LD      H,(IX-15)
   \   02E9  C1                POP     BC
   \   02EA  ED4A              ADC     HL,BC
   \   02EC  7B                LD      A,E
   \   02ED  B2                OR      D
   \   02EE  B5                OR      L
   \   02EF  B4                OR      H
   \   02F0  2013              JR      NZ,?0037
   \   02F2            ?0036:
    143                              {
    144                                  Navfileoffset=CurListoffset;
   \   02F2  ED4B0200          LD      BC,(CurListoffset+2)
   \   02F6  2A0000            LD      HL,(CurListoffset)
   \   02F9  220400            LD      (Navfileoffset),HL
   \   02FC  ED430600          LD      (Navfileoffset+2),BC
    145                                  head=0;
   \   0300  DD77F9            LD      (IX-7),A
    146                              }
    147                              else
   \   0303  1804              JR      ?0038
   \   0305            ?0037:
    148                                   head = 1;
   \   0305  DD36F901          LD      (IX-7),1
   \   0309            ?0038:
    149                              g_active_list--;
   \   0309  CDED04            CALL    LWRD ?0074
    150                              break;
   \   030C  C3B604            JP      LWRD ?0061
   \   030F            ?0032:
    151                        }
    152                        active_list--;
   \   030F  DD35F8            DEC     (IX-8)
    153                        g_active_list--;
   \   0312  CDED04            CALL    LWRD ?0074
    154                        ui_Navi_list(active_list,old_list,g_active_list,1,0);                                  
   \   0315  0E00              LD      C,0
   \   0317  C5                PUSH    BC
   \   0318  0E01              LD      C,1
   \   031A  C5                PUSH    BC
   \   031B  DD6EF0            LD      L,(IX-16)
   \   031E  60                LD      H,B
   \   031F  E5                PUSH    HL
   \   0320  DD6EEE            LD      L,(IX-18)
   \   0323  DD66EF            LD      H,(IX-17)
   \   0326  E5                PUSH    HL
   \   0327  4F                LD      C,A
   \   0328  CDD804            CALL    LWRD ?0071
   \   032B  E1                POP     HL
   \   032C  E1                POP     HL
   \   032D  E1                POP     HL
   \   032E  E1                POP     HL
   \   032F            ?0030:
   \   032F            ?0040:
    155                      }  
    156                      while(ap_get_message() != 0);  
   \   032F  CD0000            CALL    LWRD ap_get_message
   \   0332  B7                OR      A
   \   0333  20FA              JR      NZ,?0030
   \   0335            ?0041:
    157                      break;
   \   0335            ?0039:
   \   0335  C3B604            JP      LWRD ?0061
   \   0338            ?0042:
    158                          
    159                    case AP_KEY_PLAY | AP_KEY_UP:    //取消退出
    160                      result = RESULT_IGNORE;   
    161                      break;                                                                                                                                        
   \   0338            ?0043:
    162                                            
    163                    case AP_KEY_MODE | AP_KEY_UP:    //确认退出
    164                       if(*(navi_buff+active_list*30)==1) //进入下一目录
   \   0338  48                LD      C,B
   \   0339  0600              LD      B,0
   \   033B  111E00            LD      DE,30
   \   033E  CD0000            CALL    LWRD ?S_MUL_L02
   \   0341  210000            LD      HL,navi_buff
   \   0344  19                ADD     HL,DE
   \   0345  46                LD      B,(HL)
   \   0346  05                DEC     B
   \   0347  C25C04            JP      NZ,?0045
   \   034A            ?0044:
    165                       {
    166                          CurListoffset =0;
   \   034A  48                LD      C,B
   \   034B  ED430000          LD      (CurListoffset),BC
   \   034F  ED430200          LD      (CurListoffset+2),BC
    167                            memcpy(&CurListoffset,(navi_buff+active_list*30+28),2);
   \   0353  03                INC     BC
   \   0354  03                INC     BC
   \   0355  211C00            LD      HL,navi_buff+28
   \   0358  DD4EF8            LD      C,(IX-8)
   \   035B  111E00            LD      DE,30
   \   035E  CD0000            CALL    LWRD ?S_MUL_L02
   \   0361  19                ADD     HL,DE
   \   0362  110000            LD      DE,CurListoffset
   \   0365  0E02              LD      C,2
   \   0367  EDB0              LDIR
    168                          CurListoffset=CurListoffset*16;  
   \   0369  210000            LD      HL,CurListoffset
   \   036C  3E04              LD      A,4
   \   036E  CD0000            CALL    LWRD ?L_LSHASG_L03
    169                          if(g_active_list==0)  //goto 上级目录
   \   0371  DD7EEE            LD      A,(IX-18)
   \   0374  DDB6EF            OR      (IX-17)
   \   0377  DDB6F0            OR      (IX-16)
   \   037A  DDB6F1            OR      (IX-15)
   \   037D  ED4B0200          LD      BC,(CurListoffset+2)
   \   0381  2A0000            LD      HL,(CurListoffset)
   \   0384  220400            LD      (Navfileoffset),HL
   \   0387  ED430600          LD      (Navfileoffset+2),BC
   \   038B  C21904            JP      NZ,?0047
   \   038E            ?0046:
    170                          {
    171                            Navfileoffset = CurListoffset;
    172                            Navi_read_head(Navfileoffset,0,&DelNum);
   \   038E  210A00            LD      HL,10
   \   0391  39                ADD     HL,SP
   \   0392  E5                PUSH    HL
   \   0393  4F                LD      C,A
   \   0394  C5                PUSH    BC
   \   0395  CDC504            CALL    LWRD ?0068
   \   0398  F1                POP     AF
   \   0399  F1                POP     AF
    173                            active_list = save_active;
    174                            g_active_list = save_list;
    175                            if(g_active_list>NAVI_GROUP-1)
   \   039A  DD46FF            LD      B,(IX-1)
   \   039D  DD70F8            LD      (IX-8),B
   \   03A0  DD4EF4            LD      C,(IX-12)
   \   03A3  DD46F5            LD      B,(IX-11)
   \   03A6  DD6EF2            LD      L,(IX-14)
   \   03A9  DD66F3            LD      H,(IX-13)
   \   03AC  DD75EE            LD      (IX-18),L
   \   03AF  DD74EF            LD      (IX-17),H
   \   03B2  DD71F0            LD      (IX-16),C
   \   03B5  DD70F1            LD      (IX-15),B
   \   03B8  C5                PUSH    BC
   \   03B9  E5                PUSH    HL
   \   03BA  010000            LD      BC,0
   \   03BD  210500            LD      HL,5
   \   03C0  CD0000            CALL    LWRD ?SL_CMP_L03
   \   03C3  3040              JR      NC,?0049
   \   03C5            ?0048:
    176                            { 
    177                              Navfileoffset = CurListoffset+(g_active_list/NAVI_GROUP)*NAVI_GROUP*sizeof(file_info_t);
   \   03C5  60                LD      H,B

⌨️ 快捷键说明

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