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

📄 sub_function3.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   01DA  B7                OR      A
   \   01DB  2013              JR      NZ,?0053
   \   01DD            ?0046:
    174                  {
    175                      return 1;
    176                  }
   \   01DD            ?0047:
    177                      
    178                  //找到目录的第一个文件
    179                  if (StartFileSelector() == 0)
   \   01DD  CD4502            CALL    LWRD ?0210
   \   01E0  200E              JR      NZ,?0053
   \   01E2            ?0048:
    180                  {
    181                      return 0;
   \   01E2  1846              JR      ?0145
    182                  }               
   \   01E4            ?0049:
    183                      return 1;             
    184              }
   \   01E4            ?0045:
    185              else if (result == 2) // == 2 表示该目录是空
   \   01E4  DD46FE            LD      B,(IX-2)
   \   01E7  05                DEC     B
   \   01E8  05                DEC     B
   \   01E9  200A              JR      NZ,?0051
   \   01EB            ?0050:
    186              {
    187                  //找到目录的第一个文件
    188                  if (StartFileSelector() == 0)
   \   01EB  CD4502            CALL    LWRD ?0210
   \   01EE  283A              JR      Z,?0145
   \   01F0            ?0052:
    189                  {
    190                      return 0;
    191                  }
   \   01F0            ?0053:
    192                  return 1;               
   \   01F0  210100            LD      HL,1
    193                       
    194              }
   \   01F3  183F              JR      ?0063
   \   01F5            ?0051:
    195          
    196              ClearTimePara();//时间断点参数从0开始           
   \   01F5  3E00              LD      A,BYTE3 ClearTimePara
   \   01F7  210000            LD      HL,LWRD ClearTimePara
   \   01FA  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    197              g_music_vars.location.filename[0] = '\0';//找不到对应文件时要回到目录第一个文件
   \   01FD  AF                XOR     A
   \   01FE  322100            LD      (g_music_vars+33),A
    198              output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
   \   0201  DB4E              IN      A,(78)
   \   0203  CBDF              SET     3,A
   \   0205  D34E              OUT     (78),A
    199          
    200              result = FSELSetLocation(& g_music_vars.location);
   \   0207  110700            LD      DE,g_music_vars+7
   \   020A  3E00              LD      A,BYTE3 fselSetLocation
   \   020C  210000            LD      HL,LWRD fselSetLocation
   \   020F  CD3F02            CALL    LWRD ?0203
    201          
    202              if (result != 0)//set 目录 
   \   0212  2807              JR      Z,?0055
   \   0214            ?0054:
    203              {            
    204                  //找到目录的第一个文件
    205                  if (StartFileSelector() == 0)
   \   0214  CD4502            CALL    LWRD ?0210
   \   0217  2015              JR      NZ,?0062
   \   0219            ?0056:
    206                  {
    207                      return 0;
   \   0219  180F              JR      ?0145
    208                  }
   \   021B            ?0057:
    209              }    
    210              
    211              else
   \   021B            ?0055:
    212              {
    213                  // 初始化文件选择器
    214                  if (InitFileSelector() == 0)
   \   021B  3E00              LD      A,BYTE3 InitFileSelector
   \   021D  219D00            LD      HL,LWRD InitFileSelector
   \   0220  CD4A02            CALL    LWRD ?0211
   \   0223  2805              JR      Z,?0145
   \   0225            ?0059:
    215                  {
    216                      return 0;
    217                  }
   \   0225            ?0060:
    218                  //找到目录的第一个文件
    219                  if (StartFileSelector() == 0)
   \   0225  CD4502            CALL    LWRD ?0210
   \   0228  2004              JR      NZ,?0062
   \   022A            ?0061:
    220                  {
    221                      return 0;
   \   022A            ?0145:
   \   022A  69                LD      L,C
   \   022B  61                LD      H,C
    222                  }        
   \   022C  1806              JR      ?0063
   \   022E            ?0062:
   \   022E            ?0058:
    223              }
    224          
    225              output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);                      
   \   022E  DB4E              IN      A,(78)
   \   0230  CBDF              SET     3,A
   \   0232  D34E              OUT     (78),A
    226          }
   \   0234            ?0063:
   \   0234  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0237            ?0204:
   \   0237  112100            LD      DE,g_music_vars+33
   \   023A  3E00              LD      A,BYTE3 fselGetNextFile
   \   023C  210000            LD      HL,LWRD fselGetNextFile
   \   023F            ?0203:
   \   023F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0242  2C                INC     L
   \   0243  2D                DEC     L
   \   0244  C9                RET
   \   0245            ?0210:
   \   0245  3E00              LD      A,BYTE3 StartFileSelector
   \   0247  215002            LD      HL,LWRD StartFileSelector
   \   024A            ?0211:
   \   024A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   024D  7D                LD      A,L
   \   024E  B4                OR      H
   \   024F  C9                RET
   \   0250            StartFileSelector:
    227          
    228          
    229          
    230          /******************************************************************************
    231          ** 名字:  
    232          ** 接口:
    233          ** 描述:
    234          ** 输入参数:
    235          ** 输出参数: 
    236          ** 使用说明: //注,这函数是在初始化完文件选择器或set 完目录后调用的
    237          ********************************************************************************/
    238          int StartFileSelector(void)
    239          {
   \   0250  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0253  FEFF              DEFW    65534
    240              int result;    
    241              
    242              if (g_music_vars.location.disk == 'C')
   \   0255  3A0700            LD      A,(g_music_vars+7)
   \   0258  FE43              CP      67
   \   025A  112100            LD      DE,g_music_vars+33
   \   025D  3E00              LD      A,BYTE3 fselGetNextFile
   \   025F  210000            LD      HL,LWRD fselGetNextFile
   \   0262  C2E902            JP      NZ,?0065
   \   0265            ?0064:
    243              {
    244                  if (FSELGetNext(g_music_vars.location.filename) != 0)        
   \   0265  CD3F02            CALL    LWRD ?0203
   \   0268  2018              JR      NZ,?0169
   \   026A            ?0066:
    245                  {
    246                      return 1;
    247                  }
   \   026A            ?0067:
    248                  
    249                  if (FSELGetErrID() == 0)
   \   026A  CD8F01            CALL    LWRD ?0206
   \   026D  2C                INC     L
   \   026E  2D                DEC     L
   \   026F  CA5B03            JP      Z,?0114
   \   0272            ?0068:
    250                  {
    251                      return 0;//非法
    252                  }
   \   0272            ?0069:
    253                  //再查一次,因为可能这目录前面还有文件
    254                  if (InitFileSelector() == 0)
   \   0272  3E00              LD      A,BYTE3 InitFileSelector
   \   0274  219D00            LD      HL,LWRD InitFileSelector
   \   0277  CD4A02            CALL    LWRD ?0211
   \   027A  CA5B03            JP      Z,?0114
   \   027D            ?0070:
    255                  {
    256                      return 0;
    257                  }                
   \   027D            ?0071:
    258                  if (FSELGetNext(g_music_vars.location.filename) != 0)
   \   027D  CD3702            CALL    LWRD ?0204
   \   0280  2803              JR      Z,?0073
   \   0282            ?0072:
    259                  {
    260                      return 1;
   \   0282            ?0169:
   \   0282  C34C03            JP      LWRD ?0173
    261                  }            
   \   0285            ?0073:
    262                      
    263                  if (FSELGetErrID() == 0)
   \   0285  CD8F01            CALL    LWRD ?0206
   \   0288  2C                INC     L
   \   0289  2D                DEC     L
   \   028A  CA5B03            JP      Z,?0114
   \   028D            ?0074:
    264                  {
    265                      return 0;//非法
    266                  }
   \   028D            ?0075:
    267          
    268                  if (g_music_vars.location.disk == 'H')
   \   028D  3A0700            LD      A,(g_music_vars+7)
   \   0290  FE48              CP      72
   \   0292  200D              JR      NZ,?0077
   \   0294            ?0076:
    269                  {
    270                     if((g_DiskStateFlag & SetCardOKFlag_def)!=0)
   \   0294  3A0000            LD      A,(g_DiskStateFlag)
   \   0297  CB5F              BIT     3,A
   \   0299  2803              JR      Z,?0079
   \   029B            ?0078:
    271                      DisplayErrInfor(CFILEOUT);//显示卡无文件
   \   029B  CDA801            CALL    LWRD ?0208
    272                     else 
   \   029E            ?0079:
    273                       g_music_vars.location.disk=='C'; 
   \   029E            ?0080:
    274                      return 0; //因为前面已从 'C' 查到 'H' 了,已查完,未找到文件
   \   029E  C35B03            JP      LWRD ?0114
    275                  }
   \   02A1            ?0077:
    276                  else //还在 'C'
    277                  {
    278                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   02A1  119201            LD      DE,402
   \   02A4  CDAB01            CALL    LWRD ?0209
    279          
    280                      //检测 sd 卡是否存在
    281                      if ((DRV_DetectUD(1) == 0x20)&&((g_DiskStateFlag & SetCardOKFlag_def)!=0))
   \   02A7  1E01              LD      E,1
   \   02A9  CD0000            CALL    LWRD DRV_DetectUD
   \   02AC  FE20              CP      32
   \   02AE  2032              JR      NZ,?0082
   \   02B0  3A0000            LD      A,(g_DiskStateFlag)
   \   02B3  CB5F              BIT     3,A
   \   02B5  282B              JR      Z,?0082
   \   02B7            ?0084:
   \   02B7            ?0083:
   \   02B7            ?0081:
    282                      {//有卡                
    283                          g_music_vars.location.disk = 'H';
   \   02B7  3E48              LD      A,72

⌨️ 快捷键说明

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