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

📄 ui_directory.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   0217  09                ADD     HL,BC
   \   0218  E5                PUSH    HL
   \   0219  FDE1              POP     IY
   \   021B            ?0052:
    177                                      DecodeOnePage(top,bottom,type,string_id);
   \   021B  DD6E08            LD      L,(IX+8)
   \   021E  E5                PUSH    HL
   \   021F  DD6EFE            LD      L,(IX-2)
   \   0222  E5                PUSH    HL
   \   0223  CD1A04            CALL    LWRD ?0122
   \   0226  E1                POP     HL
   \   0227  E1                POP     HL
    178                                      ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
   \   0228  DD6EEA            LD      L,(IX-22)
   \   022B  E5                PUSH    HL
   \   022C  DD6E08            LD      L,(IX+8)
   \   022F  E5                PUSH    HL
   \   0230  3A0000            LD      A,(list_active)
   \   0233  4F                LD      C,A
   \   0234  C5                PUSH    BC
   \   0235            ?0112:
   \   0235  4F                LD      C,A
   \   0236  C5                PUSH    BC
   \   0237  CD2B04            CALL    LWRD ?0123
   \   023A  E1                POP     HL
   \   023B  E1                POP     HL
   \   023C  E1                POP     HL
   \   023D  E1                POP     HL
   \   023E            ?0050:
   \   023E            ?0054:
    179                              }
    180                        while(ap_get_message() != 0);
   \   023E  CD0000            CALL    LWRD ap_get_message
   \   0241  B7                OR      A
   \   0242  CA0001            JP      Z,?0025
   \   0245            ?0055:
    181                          break;
   \   0245  18F7              JR      ?0050
   \   0247            ?0053:
   \   0247            ?0056:
    182          
    183          
    184          
    185                      case AP_KEY_PLAY | AP_KEY_UP:
    186                              fselSetLocationC(location);
    187                          return RESULT_IGNORE;
    188                      break;
   \   0247            ?0057:
    189          
    190                      case AP_KEY_MODE | AP_KEY_LONG:
    191                              key = RESULT_NULL;
   \   0247  DD36EB00          LD      (IX-21),0
   \   024B            ?0058:
    192          LongTime:
    193                              output8(0x4e,input8(0x4e) | 0x08);
    194                              TransOneRecord(&temp_record,(OnePageRecord+list_active%GroupDefine));
   \   024B  CD8A04            CALL    LWRD ?0126
    195                              fselDirLayer=temp_record.dirlayer;        //目录层次 0--根目录
    196                              fselDirNo[fselDirLayer]=temp_record.dirno[fselDirLayer];                //目录序号
   \   024E  C5                PUSH    BC
   \   024F  0600              LD      B,0
   \   0251  210000            LD      HL,fselDirNo
   \   0254  09                ADD     HL,BC
   \   0255  C1                POP     BC
   \   0256  70                LD      (HL),B
    197                              fselFileNo=temp_record.fileno;        //文件序号
   \   0257  2A0900            LD      HL,(temp_record+9)
   \   025A  220000            LD      (fselFileNo),HL
    198                              fselExtNo=temp_record.fselExtNo;
   \   025D  3A0C00            LD      A,(temp_record+12)
   \   0260  320000            LD      (fselExtNo),A
    199          
    200                              if(temp_record.name[0] == '\\')    //当前所处子目录首,需要返回父目录
   \   0263  3A0D00            LD      A,(temp_record+13)
   \   0266  FE5C              CP      92
   \   0268  2008              JR      NZ,?0060
   \   026A            ?0059:
    201                              {
    202                                          if(fselDirLayer==0)
   \   026A  3A0000            LD      A,(fselDirLayer)
   \   026D  B7                OR      A
   \   026E  202E              JR      NZ,?0073
   \   0270            ?0061:
    203                                              fselDirNo[fselDirLayer] = 0;
   \   0270  1823              JR      ?0115
    204                                          else
   \   0272            ?0062:
    205                                              fselDirLayer--;
   \   0272            ?0063:
    206                                //    key=RESULT_NULL;
    207                              }
    208                              else    //当前所处可能是子目录或文件,需要分别处理
   \   0272            ?0060:
    209                              {
    210                                  if(temp_record.filetype==TYPE_DIR)
   \   0272  3A0000            LD      A,(temp_record)
   \   0275  B7                OR      A
   \   0276  3A0000            LD      A,(fselDirLayer)
   \   0279  2017              JR      NZ,?0066
   \   027B            ?0065:
    211                                  {
    212                                          if (fselDirLayer <= 7)
   \   027B  47                LD      B,A
   \   027C  3E07              LD      A,7
   \   027E  B8                CP      B
   \   027F  3821              JR      C,?0074
   \   0281            ?0067:
    213                                          {
    214                                                 if(fselEntCurrentDir(temp_record.name))
   \   0281  110D00            LD      DE,temp_record+13
   \   0284  3E00              LD      A,BYTE3 fselEntCurrentDir
   \   0286  210000            LD      HL,LWRD fselEntCurrentDir
   \   0289  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   028C  2C                INC     L
   \   028D  2D                DEC     L
   \   028E  2812              JR      Z,?0074
   \   0290            ?0069:
    215                                                     fselDirLayer--;
   \   0290  180C              JR      ?0073
   \   0292            ?0070:
   \   0292            ?0068:
    216                                          }
    217                                  }
    218                                  else
   \   0292            ?0066:
    219                                  {
    220                                          if(fselDirLayer==0)
   \   0292  B7                OR      A
   \   0293  2009              JR      NZ,?0073
   \   0295            ?0072:
    221                                              fselDirNo[fselDirLayer] = 0;
   \   0295            ?0115:
   \   0295  4F                LD      C,A
   \   0296  41                LD      B,C
   \   0297  210000            LD      HL,fselDirNo
   \   029A  09                ADD     HL,BC
   \   029B  70                LD      (HL),B
    222                                          else
   \   029C  1804              JR      ?0074
   \   029E            ?0073:
    223                                              fselDirLayer--;
   \   029E  210000            LD      HL,fselDirLayer
   \   02A1  35                DEC     (HL)
   \   02A2            ?0074:
   \   02A2            ?0071:
   \   02A2            ?0064:
    224                                       //   key=RESULT_NULL;
    225                                  }
    226                              }
    227                             fselGetLocation(location);    //更新location
   \   02A2  DD5EFC            LD      E,(IX-4)
   \   02A5  DD56FD            LD      D,(IX-3)
   \   02A8  3E00              LD      A,BYTE3 fselGetLocation
   \   02AA  210000            LD      HL,LWRD fselGetLocation
   \   02AD  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    228                                return key;
   \   02B0  DD6EEB            LD      L,(IX-21)
   \   02B3  2600              LD      H,0
    229                      case AP_KEY_MODE | AP_KEY_UP:
   \   02B5  C30704            JP      LWRD ?0106
   \   02B8            ?0075:
    230                              output8(0x4e,input8(0x4e) | 0x08);
    231                              TransOneRecord(&temp_record,(OnePageRecord+list_active%GroupDefine));
   \   02B8  CD8A04            CALL    LWRD ?0126
    232                              fselDirLayer=temp_record.dirlayer;        //目录层次 0--根目录
    233                              fselDirNo[fselDirLayer]=temp_record.dirno[fselDirLayer];                //目录序号
   \   02BB  C5                PUSH    BC
   \   02BC  0600              LD      B,0
   \   02BE  210000            LD      HL,fselDirNo
   \   02C1  09                ADD     HL,BC
   \   02C2  C1                POP     BC
   \   02C3  70                LD      (HL),B
    234                              fselFileNo=temp_record.fileno;        //文件序号
   \   02C4  2A0900            LD      HL,(temp_record+9)
   \   02C7  220000            LD      (fselFileNo),HL
    235                              fselExtNo=temp_record.fselExtNo;
   \   02CA  3A0C00            LD      A,(temp_record+12)
   \   02CD  320000            LD      (fselExtNo),A
    236          
    237                              if(temp_record.name[0] == '\\')    //当前所处子目录首,需要返回父目录
   \   02D0  3A0D00            LD      A,(temp_record+13)
   \   02D3  FE5C              CP      92
   \   02D5  2054              JR      NZ,?0077
   \   02D7            ?0076:
    238                              {
    239                                      if (fselRetParentDir(Strname))
   \   02D7  210800            LD      HL,8
   \   02DA  39                ADD     HL,SP
   \   02DB  EB                EX      DE,HL
   \   02DC  3E00              LD      A,BYTE3 fselRetParentDir
   \   02DE  210000            LD      HL,LWRD fselRetParentDir
   \   02E1  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02E4  2C                INC     L
   \   02E5  2D                DEC     L
   \   02E6  CAA503            JP      Z,?0092
   \   02E9            ?0078:
    240                                      {
    241                                          memcpy(temp_record.name,Strname, 11);
   \   02E9  010B00            LD      BC,11
   \   02EC  110D00            LD      DE,temp_record+13
   \   02EF  210800            LD      HL,8
   \   02F2  39                ADD     HL,SP
   \   02F3  EDB0              LDIR
    242          
    243                                          init_dir_buf();
   \   02F5  3E00              LD      A,BYTE3 init_dir_buf
   \   02F7  210000            LD      HL,LWRD init_dir_buf
   \   02FA  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    244                                          list_active=GetActiveDirFrom(temp_record.dirno[fselDirLayer]);
   \   02FD  210100            LD      HL,temp_record+1
   \   0300  ED4B0000          LD      BC,(fselDirLayer)
   \   0304  0600              LD      B,0
   \   0306  09                ADD     HL,BC
   \   0307  5E                LD      E,(HL)
   \   0308  50                LD      D,B
   \   0309  3E00              LD      A,BYTE3 GetActiveDirFrom
   \   030B  210000            LD      HL,LWRD GetActiveDirFrom
   \   030E  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0311  220000            LD      (list_active),HL
    245                                          cur_group=list_active/GroupDefine;
   \   0314  0E06              LD      C,6
   \   0316  CD6E04            CALL    LWRD ?0125
    246                                          top=(list_active/GroupDefine)*GroupDefine; ; //顶的序号
    247                                          bottom=top+GroupDefine-1;                  //底的序号
    248                                          if(bottom>(list_total_num-1))
   \   0319  21FFFF            LD      HL,65535
   \   031C  ED4B0000          LD      BC,(list_total_num)
   \   0320  09                ADD     HL,BC
   \   0321  FDE5              PUSH    IY
   \   0323  C1                POP     BC
   \   0324  A7                AND     A
   \   0325  ED42              SBC     HL,BC
   \   0327  307C              JR      NC,?0092
   \   0329            ?0080:
    249                                          bottom=list_total_num-1;
   \   0329  184D              JR      ?0118
   \   032B            ?0081:
    250          
    251                                      }
    252                                      else
   \   032B            ?0079:
   \   032B            ?0082:
    253                                      {
    254                                      }
    255                              }
    256                              else    //当前所处可能是子目录或文件,需要分别处理
   \   032B            ?0077:
    257                              {
    258                                  if(temp_record.filetype==TYPE_DIR)
   \   032B  3A0000            LD      A,(temp_record)
   \   032E  B7                OR      A
   \   032F  3A0000            LD      A,(fselDirLayer)
   \   0332  2051              JR      NZ,?0085
   \   0334            ?0084:
    259                                  {
    260                                          if (fselDirLayer >= 7)         //需实验看看是7还是8?
   \   0334  FE07              CP      7
   \   0336  D20001            JP      NC,?0025
   \   0339            ?0086:
    261                                          {
    262                                              break;
   \   0339            ?0087:
    263                                          }
    264                                          if (fselDirNo[fselDirLayer] > 0)
   \   0339  4F                LD      C,A
   \   033A  0600              LD      B,0
   \   033C  210000            LD      HL,fselDirNo
   \   033F  09                ADD     HL,BC
   \   0340  7E                LD      A,(HL)
   \   0341  B7                OR      A
   \   0342  2861              JR      Z,?0092
   \   0344            ?0088:
    265                                          {
    266                                                  fselEntCurrentDir(temp_record.name);

⌨️ 快捷键说明

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