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

📄 sub_function2.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
    172          * Description : 获取文件选择器的出错类型  (文件选择器错处理)
    173          *
    174          * Arguments   : void
    175          *
    176          * Returns     : int 出错号
    177          *
    178          * Notes       :
    179          *
    180          ********************************************************************************
    181          */
    182          bool DealErrCase( void )
    183          {
   \   0204  C5                PUSH    BC
   \   0205  D5                PUSH    DE
   \   0206  F5                PUSH    AF
    184           
    185              BYTE id;
    186          
    187           
    188              id = FSELGetErrID();
   \   0207  3E00              LD      A,BYTE3 fselGetErrID
   \   0209  210000            LD      HL,LWRD fselGetErrID
   \   020C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   020F  E5                PUSH    HL
   \   0210  210200            LD      HL,2
   \   0213  39                ADD     HL,SP
   \   0214  C1                POP     BC
   \   0215  71                LD      (HL),C
   \   0216            ?0027:
    189              while( ap_get_message() != NULL );//清空消息池,确保DELAY时间准确
   \   0216  CD0000            CALL    LWRD ap_get_message
   \   0219  B7                OR      A
   \   021A  20FA              JR      NZ,?0027
   \   021C            ?0028:
   \   021C            ?0026:
    190              switch (id)
   \   021C  6F                LD      L,A
   \   021D  67                LD      H,A
   \   021E  39                ADD     HL,SP
   \   021F  7E                LD      A,(HL)
   \   0220  FE02              CP      2
   \   0222  200C              JR      NZ,?0031
   \   0224            ?0030:
    191              {
    192                  case FSEL_ERR_EMPTY:
    193                      ui_show_msg (DFILEOUT, DFILEOUT, g_langid);
   \   0224  ED4B0000          LD      BC,(g_langid)
   \   0228  0600              LD      B,0
   \   022A  C5                PUSH    BC
   \   022B  017402            LD      BC,628
   \   022E  1812              JR      ?0042
    194                      ap_sleep(4);
    195                      break;
   \   0230            ?0031:
   \   0230  FE15              CP      21
   \   0232  3824              JR      C,?0029
   \   0234  FE17              CP      23
   \   0236  3020              JR      NC,?0029
    196          
    197                  case FSEL_ERR_FAIL:
    198                  case FSEL_ERR_DISK:
    199                      ui_show_msg (MREADERR, MREADERR, g_langid);
   \   0238  ED4B0000          LD      BC,(g_langid)
   \   023C  0600              LD      B,0
   \   023E  C5                PUSH    BC
   \   023F  01FC01            LD      BC,508
   \   0242            ?0042:
   \   0242  59                LD      E,C
   \   0243  50                LD      D,B
   \   0244  3E00              LD      A,BYTE3 ui_show_msg
   \   0246  210000            LD      HL,LWRD ui_show_msg
   \   0249  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   024C  F1                POP     AF
    200                      ap_sleep(4);
   \   024D  110400            LD      DE,4
   \   0250  3E00              LD      A,BYTE3 ap_sleep
   \   0252  210000            LD      HL,LWRD ap_sleep
   \   0255  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    201                      break;
   \   0258            ?0032:
    202          
    203                  default:
    204                      break;
   \   0258            ?0029:
    205              }
    206          
    207              ResClose(g_Resfp_Sav);
   \   0258  ED5B0000          LD      DE,(g_Resfp_Sav)
   \   025C  3E00              LD      A,BYTE3 ResClose
   \   025E  210000            LD      HL,LWRD ResClose
   \   0261  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    208              return 0;
   \   0264  2E00              LD      L,0
    209          
    210          }
   \   0266  F1                POP     AF
   \   0267  D1                POP     DE
   \   0268  C1                POP     BC
   \   0269  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   026C            openDAC:
    211          
    212          
    213          void openDAC(void)
    214          {
   \   026C  D5                PUSH    DE
   \   026D  F5                PUSH    AF
   \   026E  F5                PUSH    AF
    215              dac_t dacattr;
    216              output8(0x5,0xf7); // set the 05 regsiter
   \   026F  3EF7              LD      A,247
   \   0271  D305              OUT     (5),A
    217              output8(0x4e,input8(0x4e)|0x8);
   \   0273  DB4E              IN      A,(78)
   \   0275  CBDF              SET     3,A
   \   0277  D34E              OUT     (78),A
    218          
    219              dacattr.dacselect = 0;
   \   0279  210000            LD      HL,0
   \   027C  39                ADD     HL,SP
   \   027D  3600              LD      (HL),0
    220              dacattr.rate = 22;
   \   027F  23                INC     HL
   \   0280  3616              LD      (HL),22
    221              EnableDAC(&dacattr);
   \   0282  2B                DEC     HL
   \   0283  EB                EX      DE,HL
   \   0284  CD0000            CALL    LWRD EnableDAC
    222          
    223          }
   \   0287  E1                POP     HL
   \   0288  E1                POP     HL
   \   0289  D1                POP     DE
   \   028A  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   028D            ClearTimePara:
    224          
    225          void ClearTimePara(void)
    226          {
   \   028D  C5                PUSH    BC
    227                  BYTE i;
    228                  g_amv_vars.amvfilebreakpoint.AmvFileFLashDot=0;
   \   028E  010000            LD      BC,0
   \   0291  ED433000          LD      (g_amv_vars+48),BC
   \   0295  ED433200          LD      (g_amv_vars+50),BC
    229                  g_amv_vars.amvfilebreakpoint.TimeSec=0;
   \   0299  AF                XOR     A
   \   029A  323400            LD      (g_amv_vars+52),A
    230                  g_amv_vars.amvfilebreakpoint.TimeMin=0;
   \   029D  323500            LD      (g_amv_vars+53),A
    231                  g_amv_vars.amvfilebreakpoint.TimeHou=0;
   \   02A0  323600            LD      (g_amv_vars+54),A
    232          
    233          
    234          }
   \   02A3  C1                POP     BC
   \   02A4  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   02A7            GetInformation1:
    235          
    236          
    237          
    238          /*
    239          ********************************************************************************
    240          *             int GetInformation(void)
    241          *
    242          * Description : 读取歌曲信息,歌词
    243          *
    244          * Arguments   : void
    245          *
    246          * Returns     : int
    247          *
    248          * Notes       :
    249          *
    250          ********************************************************************************
    251          */
    252          int GetInformation1( void )//取下一首文件信息
    253          {
   \   02A7  C5                PUSH    BC
   \   02A8  D5                PUSH    DE
   \   02A9  DDE5              PUSH    IX
    254                int result;
    255                memcpy(g_TagInfoBuf, g_amv_vars.location.filename, 12);
   \   02AB  010C00            LD      BC,12
   \   02AE  110000            LD      DE,g_TagInfoBuf
   \   02B1  211F00            LD      HL,g_amv_vars+31
   \   02B4  EDB0              LDIR
    256               result = FS_GetName(g_TagInfoBuf, 31); //取出长名
   \   02B6  0E1F              LD      C,31
   \   02B8  110000            LD      DE,g_TagInfoBuf
   \   02BB  CD0000            CALL    LWRD FS_GetName
   \   02BE  0600              LD      B,0
    257                   if (result != 0)
   \   02C0  B7                OR      A
   \   02C1  2815              JR      Z,?0034
   \   02C3            ?0033:
    258                      {
    259                          unitochar(g_TagInfoBuf, sizeof(g_TagInfoBuf), g_langid);
   \   02C3  3A0000            LD      A,(g_langid)
   \   02C6  4F                LD      C,A
   \   02C7  C5                PUSH    BC
   \   02C8  0E42              LD      C,66
   \   02CA  110000            LD      DE,g_TagInfoBuf
   \   02CD  3E00              LD      A,BYTE3 unitochar
   \   02CF  210000            LD      HL,LWRD unitochar
   \   02D2  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02D5  F1                POP     AF
    260                      }
    261                      else
   \   02D6  1810              JR      ?0035
   \   02D8            ?0034:
    262                      {
    263                          memcpy(g_TagInfoBuf, g_amv_vars.location.filename, 12);
   \   02D8  0E0C              LD      C,12
   \   02DA  110000            LD      DE,g_TagInfoBuf
   \   02DD  211F00            LD      HL,g_amv_vars+31
   \   02E0  EDB0              LDIR
    264                          g_TagInfoBuf[8]=0;
   \   02E2  320800            LD      (g_TagInfoBuf+8),A
    265                          g_TagInfoBuf[9]=0; 
   \   02E5  320900            LD      (g_TagInfoBuf+9),A
   \   02E8            ?0035:
    266                      }
    267          
    268              output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
   \   02E8  DB4E              IN      A,(78)
   \   02EA  CBDF              SET     3,A
   \   02EC  D34E              OUT     (78),A
    269          }
   \   02EE  DDE1              POP     IX
   \   02F0  D1                POP     DE
   \   02F1  C1                POP     BC
   \   02F2  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   02F5            GetInformation:
    270          
    271          
    272          int GetInformation( void )
    273          {
   \   02F5  C5                PUSH    BC
   \   02F6  D5                PUSH    DE
   \   02F7  DDE5              PUSH    IX
    274                 int result;
    275           
    276                   memcpy(g_TagInfoBuf, g_amv_vars.location.filename, 12);
   \   02F9  010C00            LD      BC,12
   \   02FC  110000            LD      DE,g_TagInfoBuf
   \   02FF  211F00            LD      HL,g_amv_vars+31
   \   0302  EDB0              LDIR
    277                  result = FS_GetName(g_TagInfoBuf, 32); //取出长名
   \   0304  0E20              LD      C,32
   \   0306  110000            LD      DE,g_TagInfoBuf
   \   0309  CD0000            CALL    LWRD FS_GetName
   \   030C  0600              LD      B,0
    278                  if (result != 0)
   \   030E  B7                OR      A
   \   030F  2815              JR      Z,?0037
   \   0311            ?0036:
    279                  {
    280                      unitochar(g_TagInfoBuf, sizeof(g_TagInfoBuf), g_langid);
   \   0311  3A0000            LD      A,(g_langid)
   \   0314  4F                LD      C,A
   \   0315  C5                PUSH    BC
   \   0316  0E42              LD      C,66
   \   0318  110000            LD      DE,g_TagInfoBuf
   \   031B  3E00              LD      A,BYTE3 unitochar
   \   031D  210000            LD      HL,LWRD unitochar
   \   0320  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0323  F1                POP     AF
    281                  }

⌨️ 快捷键说明

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