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

📄 sub_function3.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   00E4  CA8301            JP      Z,?0118
   \   00E7            ?0018:
     77                  {
     78                      return 0;
     79                  }
   \   00E7            ?0019:
     80                  
     81                  if ((g_DiskStateFlag & SetDiskNoFile_def) != 0)
   \   00E7  CB77              BIT     6,A
   \   00E9  2806              JR      Z,?0021
   \   00EB            ?0020:
     82                  {
     83                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   00EB  117402            LD      DE,628
   \   00EE  C37901            JP      LWRD ?0128
     84                      return 0;
     85                  }
   \   00F1            ?0021:
     86                  
     87                  if (FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_SEQUENCE, g_music_vars.fselmod, 'C'))
   \   00F1  0E43              LD      C,67
   \   00F3  C5                PUSH    BC
   \   00F4  215100            LD      HL,g_music_vars+81
   \   00F7  4E                LD      C,(HL)
   \   00F8  C5                PUSH    BC
   \   00F9  CD8901            CALL    LWRD ?0205
   \   00FC  F1                POP     AF
   \   00FD  F1                POP     AF
   \   00FE  2C                INC     L
   \   00FF  2D                DEC     L
   \   0100  2802              JR      Z,?0023
   \   0102            ?0022:
     88                  {
     89                      return 1;
   \   0102            ?0125:
   \   0102  1832              JR      ?0126
     90                  }
   \   0104            ?0023:
     91                  
     92                  if (FSELGetErrID() != 0)
   \   0104  CD9401            CALL    LWRD ?0206
   \   0107  2C                INC     L
   \   0108  2D                DEC     L
   \   0109  2805              JR      Z,?0025
   \   010B            ?0024:
     93                  {
     94                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   010B  CD9C01            CALL    LWRD ?0207
     95                      g_DiskStateFlag |= SetDiskNoFile_def;//标志磁盘无文件
     96                      return 0;//要退出 ap
   \   010E  1873              JR      ?0118
     97                  }
   \   0110            ?0025:
     98                  return 0;
   \   0110  1871              JR      ?0118
     99                                  
    100              }
   \   0112            ?0009:
    101              
    102              else //g_music_vars.location.disk == 'C' 或其他
    103              {
    104                  if ((g_DiskStateFlag & SetDiskOKFlag_def) != 0)
   \   0112  3A0000            LD      A,(g_DiskStateFlag)
   \   0115  CB7F              BIT     7,A
   \   0117  2829              JR      Z,?0034
   \   0119            ?0026:
    105                  {                    
    106                      if ((g_DiskStateFlag & SetDiskNoFile_def) != 0)
   \   0119  CB77              BIT     6,A
   \   011B  2808              JR      Z,?0029
   \   011D            ?0028:
    107                      {
    108                          DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   011D  117402            LD      DE,628
   \   0120  CDB001            CALL    LWRD ?0209
    109                      }
    110                      else
   \   0123  181D              JR      ?0034
   \   0125            ?0029:
    111                      {
    112                          if (FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_SEQUENCE, g_music_vars.fselmod, 'C'))
   \   0125  0E43              LD      C,67
   \   0127  C5                PUSH    BC
   \   0128  215100            LD      HL,g_music_vars+81
   \   012B  4E                LD      C,(HL)
   \   012C  C5                PUSH    BC
   \   012D  CD8901            CALL    LWRD ?0205
   \   0130  F1                POP     AF
   \   0131  F1                POP     AF
   \   0132  2C                INC     L
   \   0133  2D                DEC     L
   \   0134  2802              JR      Z,?0032
   \   0136            ?0031:
    113                          {
    114                              return 1;                    
   \   0136            ?0126:
   \   0136  182F              JR      ?0127
    115                          }
   \   0138            ?0032:
    116                          if (FSELGetErrID() != 0)
   \   0138  CD9401            CALL    LWRD ?0206
   \   013B  2C                INC     L
   \   013C  2D                DEC     L
   \   013D  2803              JR      Z,?0034
   \   013F            ?0033:
    117                          {
    118                              DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   013F  CD9C01            CALL    LWRD ?0207
    119                              g_DiskStateFlag |= SetDiskNoFile_def;//标志磁盘无文件
   \   0142            ?0034:
   \   0142            ?0030:
   \   0142            ?0027:
    120                          }
    121                      }
    122                  }
    123                  
    124                  //检测 sd 卡是否存在
    125                  if ((DRV_DetectUD(1) == 0x20)&&((g_DiskStateFlag & SetCardOKFlag_def)!=0))
   \   0142  1E01              LD      E,1
   \   0144  CD0000            CALL    LWRD DRV_DetectUD
   \   0147  FE20              CP      32
   \   0149  2033              JR      NZ,?0036
   \   014B  3A0000            LD      A,(g_DiskStateFlag)
   \   014E  CB5F              BIT     3,A
   \   0150  282C              JR      Z,?0036
   \   0152            ?0038:
   \   0152            ?0037:
   \   0152            ?0035:
    126                  {//有卡                
    127                      g_music_vars.location.disk = 'H';
   \   0152  3E48              LD      A,72
   \   0154  320700            LD      (g_music_vars+7),A
    128                      if (FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_SEQUENCE, g_music_vars.fselmod, 'H'))
   \   0157  4F                LD      C,A
   \   0158  C5                PUSH    BC
   \   0159  215100            LD      HL,g_music_vars+81
   \   015C  4E                LD      C,(HL)
   \   015D  C5                PUSH    BC
   \   015E  CD8901            CALL    LWRD ?0205
   \   0161  F1                POP     AF
   \   0162  F1                POP     AF
   \   0163  2C                INC     L
   \   0164  2D                DEC     L
   \   0165  2805              JR      Z,?0040
   \   0167            ?0039:
    129                      {
    130                          return 1;
   \   0167            ?0127:
   \   0167  210100            LD      HL,1
    131                      }
   \   016A  181A              JR      ?0043
   \   016C            ?0040:
    132                      result = FSELGetErrID();
   \   016C  CD9401            CALL    LWRD ?0206
    133                      if (FSELGetErrID() != 0)
   \   016F  CD9401            CALL    LWRD ?0206
   \   0172  2C                INC     L
   \   0173  2D                DEC     L
   \   0174  280D              JR      Z,?0118
   \   0176            ?0041:
    134                      {
    135                          DisplayErrInfor(CFILEOUT);//显示卡无文件
   \   0176  117502            LD      DE,629
   \   0179            ?0128:
   \   0179  CDB001            CALL    LWRD ?0209
    136                          return 0;
   \   017C  1805              JR      ?0118
    137                      }
   \   017E            ?0042:
    138                      return 0;//非法
    139                  }
   \   017E            ?0036:
    140                  else
    141                  {
    142                     g_music_vars.location.disk='C'; 
   \   017E  3E43              LD      A,67
   \   0180  320700            LD      (g_music_vars+7),A
    143                      return 0;//没卡退出
   \   0183            ?0118:
   \   0183  210000            LD      HL,0
    144                  }
   \   0186            ?0043:
   \   0186  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0189            ?0205:
   \   0189  0E00              LD      C,0
   \   018B  59                LD      E,C
   \   018C  3E00              LD      A,BYTE3 fselInit
   \   018E  210000            LD      HL,LWRD fselInit
   \   0191  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0194            ?0206:
   \   0194  3E00              LD      A,BYTE3 fselGetErrID
   \   0196  210000            LD      HL,LWRD fselGetErrID
   \   0199  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   019C            ?0207:
   \   019C  117402            LD      DE,628
   \   019F  3E00              LD      A,BYTE3 DisplayErrInfor
   \   01A1  210000            LD      HL,LWRD DisplayErrInfor
   \   01A4  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   01A7  210000            LD      HL,g_DiskStateFlag
   \   01AA  CBF6              SET     6,(HL)
   \   01AC  C9                RET
   \   01AD            ?0208:
   \   01AD  117502            LD      DE,629
   \   01B0            ?0209:
   \   01B0  3E00              LD      A,BYTE3 DisplayErrInfor
   \   01B2  210000            LD      HL,LWRD DisplayErrInfor
   \   01B5  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
    145                  
    146              }
    147                  
    148          }        
   \   01B8            UpdateFileSelector:
    149                  
    150                  
    151          /******************************************************************************
    152          ** 名字:
    153          ** 接口: int UpdateFileSelector(void)
    154          ** 描述: 更新文件选择器
    155          ** 输入参数: void
    156          ** 输出参数:
    157                      0: 更新不成功,要退出AP
    158                      1: 更新成功,已可用
    159          ** 使用说明:
    160          ********************************************************************************/                    
    161          int UpdateFileSelector(void)
    162          {
   \   01B8  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   01BB  FEFF              DEFW    65534
    163          
    164              BYTE result;
    165                          
    166              output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
   \   01BD  DB4E              IN      A,(78)
   \   01BF  CBDF              SET     3,A
   \   01C1  D34E              OUT     (78),A
    167              BankSwitch((unsigned long)FSELSetLocation >> 16);
   \   01C3  0600              LD      B,0
   \   01C5  1E00              LD      E,BYTE3 fselSetLocation
   \   01C7  48                LD      C,B
   \   01C8  CD0000            CALL    LWRD BankSwitch
    168          
    169              result = FSELSetLocation(& g_music_vars.location);
   \   01CB  110700            LD      DE,g_music_vars+7
   \   01CE  3E00              LD      A,BYTE3 fselSetLocation
   \   01D0  210000            LD      HL,LWRD fselSetLocation
   \   01D3  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   01D6  DD75FE            LD      (IX-2),L
    170               
    171              if (result == 1)
   \   01D9  2D                DEC     L
   \   01DA  200D              JR      NZ,?0045
   \   01DC            ?0044:
    172              {

⌨️ 快捷键说明

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