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

📄 sub_function3.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
    173                  if (g_music_vars.location.filename[0] != '\0')
   \   01DC  3A2100            LD      A,(g_music_vars+33)
   \   01DF  B7                OR      A
   \   01E0  2013              JR      NZ,?0053
   \   01E2            ?0046:
    174                  {
    175                      return 1;
    176                  }
   \   01E2            ?0047:
    177                      
    178                  //找到目录的第一个文件
    179                  if (StartFileSelector() == 0)
   \   01E2  CD4A02            CALL    LWRD ?0210
   \   01E5  200E              JR      NZ,?0053
   \   01E7            ?0048:
    180                  {
    181                      return 0;
   \   01E7  1846              JR      ?0145
    182                  }               
   \   01E9            ?0049:
    183                      return 1;             
    184              }
   \   01E9            ?0045:
    185              else if (result == 2) // == 2 表示该目录是空
   \   01E9  DD46FE            LD      B,(IX-2)
   \   01EC  05                DEC     B
   \   01ED  05                DEC     B
   \   01EE  200A              JR      NZ,?0051
   \   01F0            ?0050:
    186              {
    187                  //找到目录的第一个文件
    188                  if (StartFileSelector() == 0)
   \   01F0  CD4A02            CALL    LWRD ?0210
   \   01F3  283A              JR      Z,?0145
   \   01F5            ?0052:
    189                  {
    190                      return 0;
    191                  }
   \   01F5            ?0053:
    192                  return 1;               
   \   01F5  210100            LD      HL,1
    193                       
    194              }
   \   01F8  183F              JR      ?0063
   \   01FA            ?0051:
    195          
    196              ClearTimePara();//时间断点参数从0开始           
   \   01FA  3E00              LD      A,BYTE3 ClearTimePara
   \   01FC  210000            LD      HL,LWRD ClearTimePara
   \   01FF  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    197              g_music_vars.location.filename[0] = '\0';//找不到对应文件时要回到目录第一个文件
   \   0202  AF                XOR     A
   \   0203  322100            LD      (g_music_vars+33),A
    198              output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
   \   0206  DB4E              IN      A,(78)
   \   0208  CBDF              SET     3,A
   \   020A  D34E              OUT     (78),A
    199          
    200              result = FSELSetLocation(& g_music_vars.location);
   \   020C  110700            LD      DE,g_music_vars+7
   \   020F  3E00              LD      A,BYTE3 fselSetLocation
   \   0211  210000            LD      HL,LWRD fselSetLocation
   \   0214  CD4402            CALL    LWRD ?0203
    201          
    202              if (result != 0)//set 目录 
   \   0217  2807              JR      Z,?0055
   \   0219            ?0054:
    203              {            
    204                  //找到目录的第一个文件
    205                  if (StartFileSelector() == 0)
   \   0219  CD4A02            CALL    LWRD ?0210
   \   021C  2015              JR      NZ,?0062
   \   021E            ?0056:
    206                  {
    207                      return 0;
   \   021E  180F              JR      ?0145
    208                  }
   \   0220            ?0057:
    209              }    
    210              
    211              else
   \   0220            ?0055:
    212              {
    213                  // 初始化文件选择器
    214                  if (InitFileSelector() == 0)
   \   0220  3E00              LD      A,BYTE3 InitFileSelector
   \   0222  21A200            LD      HL,LWRD InitFileSelector
   \   0225  CD4F02            CALL    LWRD ?0211
   \   0228  2805              JR      Z,?0145
   \   022A            ?0059:
    215                  {
    216                      return 0;
    217                  }
   \   022A            ?0060:
    218                  //找到目录的第一个文件
    219                  if (StartFileSelector() == 0)
   \   022A  CD4A02            CALL    LWRD ?0210
   \   022D  2004              JR      NZ,?0062
   \   022F            ?0061:
    220                  {
    221                      return 0;
   \   022F            ?0145:
   \   022F  69                LD      L,C
   \   0230  61                LD      H,C
    222                  }        
   \   0231  1806              JR      ?0063
   \   0233            ?0062:
   \   0233            ?0058:
    223              }
    224          
    225              output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);                      
   \   0233  DB4E              IN      A,(78)
   \   0235  CBDF              SET     3,A
   \   0237  D34E              OUT     (78),A
    226          }
   \   0239            ?0063:
   \   0239  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   023C            ?0204:
   \   023C  112100            LD      DE,g_music_vars+33
   \   023F  3E00              LD      A,BYTE3 fselGetNextFile
   \   0241  210000            LD      HL,LWRD fselGetNextFile
   \   0244            ?0203:
   \   0244  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0247  2C                INC     L
   \   0248  2D                DEC     L
   \   0249  C9                RET
   \   024A            ?0210:
   \   024A  3E00              LD      A,BYTE3 StartFileSelector
   \   024C  215502            LD      HL,LWRD StartFileSelector
   \   024F            ?0211:
   \   024F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0252  7D                LD      A,L
   \   0253  B4                OR      H
   \   0254  C9                RET
   \   0255            StartFileSelector:
    227          
    228          
    229          
    230          /******************************************************************************
    231          ** 名字:  
    232          ** 接口:
    233          ** 描述:
    234          ** 输入参数:
    235          ** 输出参数: 
    236          ** 使用说明: //注,这函数是在初始化完文件选择器或set 完目录后调用的
    237          ********************************************************************************/
    238          int StartFileSelector(void)
    239          {
   \   0255  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0258  FEFF              DEFW    65534
    240              int result;    
    241              
    242              if (g_music_vars.location.disk == 'C')
   \   025A  3A0700            LD      A,(g_music_vars+7)
   \   025D  FE43              CP      67
   \   025F  112100            LD      DE,g_music_vars+33
   \   0262  3E00              LD      A,BYTE3 fselGetNextFile
   \   0264  210000            LD      HL,LWRD fselGetNextFile
   \   0267  C2EE02            JP      NZ,?0065
   \   026A            ?0064:
    243              {
    244                  if (FSELGetNext(g_music_vars.location.filename) != 0)        
   \   026A  CD4402            CALL    LWRD ?0203
   \   026D  2018              JR      NZ,?0169
   \   026F            ?0066:
    245                  {
    246                      return 1;
    247                  }
   \   026F            ?0067:
    248                  
    249                  if (FSELGetErrID() == 0)
   \   026F  CD9401            CALL    LWRD ?0206
   \   0272  2C                INC     L
   \   0273  2D                DEC     L
   \   0274  CA6003            JP      Z,?0114
   \   0277            ?0068:
    250                  {
    251                      return 0;//非法
    252                  }
   \   0277            ?0069:
    253                  //再查一次,因为可能这目录前面还有文件
    254                  if (InitFileSelector() == 0)
   \   0277  3E00              LD      A,BYTE3 InitFileSelector
   \   0279  21A200            LD      HL,LWRD InitFileSelector
   \   027C  CD4F02            CALL    LWRD ?0211
   \   027F  CA6003            JP      Z,?0114
   \   0282            ?0070:
    255                  {
    256                      return 0;
    257                  }                
   \   0282            ?0071:
    258                  if (FSELGetNext(g_music_vars.location.filename) != 0)
   \   0282  CD3C02            CALL    LWRD ?0204
   \   0285  2803              JR      Z,?0073
   \   0287            ?0072:
    259                  {
    260                      return 1;
   \   0287            ?0169:
   \   0287  C35103            JP      LWRD ?0173
    261                  }            
   \   028A            ?0073:
    262                      
    263                  if (FSELGetErrID() == 0)
   \   028A  CD9401            CALL    LWRD ?0206
   \   028D  2C                INC     L
   \   028E  2D                DEC     L
   \   028F  CA6003            JP      Z,?0114
   \   0292            ?0074:
    264                  {
    265                      return 0;//非法
    266                  }
   \   0292            ?0075:
    267          
    268                  if (g_music_vars.location.disk == 'H')
   \   0292  3A0700            LD      A,(g_music_vars+7)
   \   0295  FE48              CP      72
   \   0297  200D              JR      NZ,?0077
   \   0299            ?0076:
    269                  {
    270                     if((g_DiskStateFlag & SetCardOKFlag_def)!=0)
   \   0299  3A0000            LD      A,(g_DiskStateFlag)
   \   029C  CB5F              BIT     3,A
   \   029E  2803              JR      Z,?0079
   \   02A0            ?0078:
    271                      DisplayErrInfor(CFILEOUT);//显示卡无文件
   \   02A0  CDAD01            CALL    LWRD ?0208
    272                     else 
   \   02A3            ?0079:
    273                       g_music_vars.location.disk=='C'; 
   \   02A3            ?0080:
    274                      return 0; //因为前面已从 'C' 查到 'H' 了,已查完,未找到文件
   \   02A3  C36003            JP      LWRD ?0114
    275                  }
   \   02A6            ?0077:
    276                  else //还在 'C'
    277                  {
    278                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   02A6  117402            LD      DE,628
   \   02A9  CDB001            CALL    LWRD ?0209
    279          
    280                      //检测 sd 卡是否存在
    281                      if ((DRV_DetectUD(1) == 0x20)&&((g_DiskStateFlag & SetCardOKFlag_def)!=0))
   \   02AC  1E01              LD      E,1
   \   02AE  CD0000            CALL    LWRD DRV_DetectUD
   \   02B1  FE20              CP      32
   \   02B3  2032              JR      NZ,?0082
   \   02B5  3A0000            LD      A,(g_DiskStateFlag)
   \   02B8  CB5F              BIT     3,A
   \   02BA  282B              JR      Z,?0082
   \   02BC            ?0084:
   \   02BC            ?0083:
   \   02BC            ?0081:
    282                      {//有卡                

⌨️ 快捷键说明

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