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

📄 sub_function3.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 3 页
字号:
    249                  {
    250                      return 0;
    251                  }
   \   01FF            ?0068:
    252                  if (FSELGetNext(g_amv_vars.location.filename) != 0)
   \   01FF  CDD502            CALL    LWRD ?0194
   \   0202  2C                INC     L
   \   0203  2D                DEC     L
   \   0204  C2B702            JP      NZ,?0186
   \   0207            ?0069:
    253                  {
    254                      return 1;
    255                  }
   \   0207            ?0070:
    256          
    257                  if (FSELGetErrID() == 0)
   \   0207  CD1401            CALL    LWRD ?0196
   \   020A  2C                INC     L
   \   020B  2D                DEC     L
   \   020C  CACB02            JP      Z,?0106
   \   020F            ?0071:
    258                  {
    259                      return 0;//非法
    260                  }
   \   020F            ?0072:
    261          
    262                  if (g_amv_vars.location.disk == 'H')
   \   020F  3A0500            LD      A,(g_amv_vars+5)
   \   0212  FE48              CP      72
   \   0214  2839              JR      Z,?0187
   \   0216            ?0073:
    263                  {
    264                      DisplayErrInfor(CFILEOUT);//显示卡无文件
    265                      return 0; //因为前面已从 'C' 查到 'H' 了,已查完,未找到文件
    266                  }
   \   0216            ?0074:
    267                  else //还在 'C'
    268                  {
    269                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   0216  CD1C01            CALL    LWRD ?0198
    270          
    271                      //检测 sd 卡是否存在
    272                      if ((DRV_DetectUD(1) == 0x20)&&((g_DiskStateFlag & SetCardOKFlag_def)!=0))
   \   0219  1E01              LD      E,1
   \   021B  CD0000            CALL    LWRD DRV_DetectUD
   \   021E  FE20              CP      32
   \   0220  C2CB02            JP      NZ,?0106
   \   0223  3A0000            LD      A,(g_DiskStateFlag)
   \   0226  CB5F              BIT     3,A
   \   0228  CACB02            JP      Z,?0106
   \   022B            ?0078:
   \   022B            ?0077:
   \   022B            ?0075:
    273                      {//有卡
    274                          g_amv_vars.location.disk = 'H';
   \   022B  3E48              LD      A,72
   \   022D  320500            LD      (g_amv_vars+5),A
    275                          if (FSELInit(FSEL_TYPE_AMV, FSEL_ALL_SEQUENCE,  FSEL_TYPE_COMMONDIR, 'H'))
   \   0230  4F                LD      C,A
   \   0231  C5                PUSH    BC
   \   0232  0E00              LD      C,0
   \   0234  C5                PUSH    BC
   \   0235  CD0A01            CALL    LWRD ?0195
   \   0238  F1                POP     AF
   \   0239  F1                POP     AF
   \   023A  2C                INC     L
   \   023B  2D                DEC     L
   \   023C  2807              JR      Z,?0082
   \   023E            ?0079:
    276                          {
    277                              if (FSELGetNext(g_amv_vars.location.filename) != 0)
   \   023E  CDD502            CALL    LWRD ?0194
   \   0241  2C                INC     L
   \   0242  2D                DEC     L
   \   0243  2072              JR      NZ,?0186
   \   0245            ?0081:
    278                              {
    279                                  return 1;
    280                              }
   \   0245            ?0082:
   \   0245            ?0080:
    281                          }
    282                          result = FSELGetErrID();
   \   0245  CD1401            CALL    LWRD ?0196
    283                          if (FSELGetErrID() != 0)
   \   0248  CD1401            CALL    LWRD ?0196
   \   024B  2C                INC     L
   \   024C  2D                DEC     L
   \   024D  287C              JR      Z,?0106
   \   024F            ?0083:
    284                          {
    285                              DisplayErrInfor(CFILEOUT);//显示卡无文件
   \   024F            ?0187:
   \   024F  119301            LD      DE,403
   \   0252  1848              JR      ?0191
    286                              return 0;
    287                          }
   \   0254            ?0084:
    288                          return 0;//非法
    289                      }
   \   0254            ?0076:
    290                      else
    291                      {
    292                          return 0;//没卡退出
    293                      }
    294                  }
    295                  return 0;
    296              }
   \   0254            ?0062:
    297              else //g_amv_vars.location.disk == 'H'
    298              {
    299                  if (FSELGetNext(g_amv_vars.location.filename) != 0)
   \   0254  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0257  2C                INC     L
   \   0258  2D                DEC     L
   \   0259  205C              JR      NZ,?0186
   \   025B            ?0085:
    300                  {
    301                      return 1;//找到文件
    302                  }
   \   025B            ?0086:
    303          
    304                  if (FSELGetErrID() == 0)
   \   025B  CD1401            CALL    LWRD ?0196
   \   025E  2C                INC     L
   \   025F  2D                DEC     L
   \   0260  2869              JR      Z,?0106
   \   0262            ?0087:
    305                  {
    306                      return 0;//非法
    307                  }
   \   0262            ?0088:
    308          
    309                  //再查一次,因为可能这目录前面还有文件(虽然后面已无文件)
    310                  if (InitFileSelector() == 0)
   \   0262  3E00              LD      A,BYTE3 InitFileSelector
   \   0264  212C00            LD      HL,LWRD InitFileSelector
   \   0267  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   026A  7D                LD      A,L
   \   026B  B4                OR      H
   \   026C  285D              JR      Z,?0106
   \   026E            ?0089:
    311                  {
    312                      return 0;
    313                  }
   \   026E            ?0090:
    314          
    315                  if (FSELGetNext(g_amv_vars.location.filename) != 0)
   \   026E  CDD502            CALL    LWRD ?0194
   \   0271  2C                INC     L
   \   0272  2D                DEC     L
   \   0273  2042              JR      NZ,?0186
   \   0275            ?0091:
    316                  {
    317                      return 1;//找到文件
    318                  }
   \   0275            ?0092:
    319          
    320                  if (FSELGetErrID() == 0)
   \   0275  CD1401            CALL    LWRD ?0196
   \   0278  2C                INC     L
   \   0279  2D                DEC     L
   \   027A  284F              JR      Z,?0106
   \   027C            ?0093:
    321                  {
    322                      return 0;//非法
    323                  }
   \   027C            ?0094:
    324          
    325                  if (g_amv_vars.location.disk == 'C')
   \   027C  3A0500            LD      A,(g_amv_vars+5)
   \   027F  FE43              CP      67
   \   0281  2816              JR      Z,?0193
   \   0283            ?0095:
    326                  {
    327                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
    328                      return 0; //因为前面已从 'H' 查到 'C' 了,已查完,未找到文件
    329                  }
   \   0283            ?0096:
    330                  DisplayErrInfor(CFILEOUT);//显示卡无文件
   \   0283  119301            LD      DE,403
   \   0286  CD1F01            CALL    LWRD ?0197
    331          
    332                  g_amv_vars.location.disk = 'C';
   \   0289  3E43              LD      A,67
   \   028B  320500            LD      (g_amv_vars+5),A
    333                  if ((g_DiskStateFlag & SetDiskOKFlag_def) == 0)
   \   028E  3A0000            LD      A,(g_DiskStateFlag)
   \   0291  CB7F              BIT     7,A
   \   0293  2836              JR      Z,?0106
   \   0295            ?0097:
    334                  {
    335                      return 0;
    336                  }
   \   0295            ?0098:
    337          
    338                  if ((g_DiskStateFlag & SetDiskNoFile_def) != 0)
   \   0295  CB77              BIT     6,A
   \   0297  2808              JR      Z,?0100
   \   0299            ?0099:
    339                  {
    340                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   0299            ?0193:
   \   0299  119201            LD      DE,402
   \   029C            ?0191:
   \   029C  CD1F01            CALL    LWRD ?0197
    341                      return 0;
   \   029F  182A              JR      ?0106
    342                  }
   \   02A1            ?0100:
    343          
    344                  if (FSELInit(FSEL_TYPE_AMV, FSEL_ALL_SEQUENCE,  FSEL_TYPE_COMMONDIR, 'C'))
   \   02A1  0E43              LD      C,67
   \   02A3  C5                PUSH    BC
   \   02A4  0E00              LD      C,0
   \   02A6  C5                PUSH    BC
   \   02A7  CD0A01            CALL    LWRD ?0195
   \   02AA  F1                POP     AF
   \   02AB  F1                POP     AF
   \   02AC  2C                INC     L
   \   02AD  2D                DEC     L
   \   02AE  280C              JR      Z,?0104
   \   02B0            ?0101:
    345                  {
    346                      if (FSELGetNext(g_amv_vars.location.filename) != 0)
   \   02B0  CDD502            CALL    LWRD ?0194
   \   02B3  2C                INC     L
   \   02B4  2D                DEC     L
   \   02B5  2805              JR      Z,?0104
   \   02B7            ?0103:
    347                      {
    348                          return 1;//找到文件
   \   02B7            ?0186:
   \   02B7  210100            LD      HL,1
    349                      }
   \   02BA  1812              JR      ?0107
   \   02BC            ?0104:
   \   02BC            ?0102:
    350                  }
    351                  result = FSELGetErrID();
   \   02BC  CD1401            CALL    LWRD ?0196
    352          
    353                  if (result != 0)
   \   02BF  7D                LD      A,L
   \   02C0  B7                OR      A
   \   02C1  2808              JR      Z,?0106
   \   02C3            ?0105:
    354                  {
    355                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   02C3  CD1C01            CALL    LWRD ?0198
    356                      g_DiskStateFlag |= SetDiskNoFile_def;//标志磁盘无文件
   \   02C6  210000            LD      HL,g_DiskStateFlag
   \   02C9  CBF6              SET     6,(HL)
    357                      return 0;//
    358                  }
   \   02CB            ?0106:
    359                  return 0;
   \   02CB  210000            LD      HL,0
    360              }
   \   02CE            ?0107:
   \   02CE  DDE1              POP     IX
   \   02D0  D1                POP     DE
   \   02D1  C1                POP     BC
   \   02D2  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   02D5            ?0194:
   \   02D5  111F00            LD      DE,g_amv_vars+31
   \   02D8  3E00              LD      A,BYTE3 fselGetNextFile
   \   02DA  210000            LD      HL,LWRD fselGetNextFile
   \   02DD  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
    361          }
    362          
    363          
    364          /*
    365          // error information defines in file selector
    366          #define FSEL_ERR_OUTOF          1
    367          #define FSEL_ERR_EMPTY          2
    368          #define FSEL_ERR_SETDIR         3
    369          #define FSEL_ERR_SETFILE        4
    370          #define FSEL_ERR_EXCEPTION      5
    371          
    372          
    373          #define FSEL_ERR_FS             20
    374          #define FSEL_ERR_FAIL           21
    375          #define FSEL_ERR_DISK           22
    376          #define FSEL_ERR_PLAYLIST       23
    377          */
    378          
    379          /*
    380          //error information display
    381          1) 磁盘错  : 在 main.c 中已报
    382          2) 卡错    : 在 main.c 中已报
    383          
    384          3) 磁盘无文件
    385          4) 卡无文件
    386          
    387          5) 空间满    :在 ui_follow.c 文件中已报
    388          7) 目录已满     :在 ui_follow.c 文件中已报
    389          
    390          6) 电量不足!:
    391          8) 格式错误
    392          9) 卡已拔出
    393          
    394          */
   \   02E0                    END

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

⌨️ 快捷键说明

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