sub_function1.lst

来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,380 行 · 第 1/5 页

LST
1,380
字号
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       18/Nov/107  22:57:14 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\ap_music\sub_function1.c         #
#       List file     =  d:\case_i_d913f\ap\ap_music\list\sub_function1.lst  #
#       Object file   =  d:\case_i_d913f\ap\ap_music\obj\sub_function1.r01   #
#       ASM file      =  d:\case_i_d913f\ap\ap_music\list\sub_function1.s01  #
#       Command line  =  -v0 -mb -OD:\case_i_d913f\ap\ap_music\Obj\ -e -K    #
#                        -w -gA -z9 -RCODE -r0 -DNAPDEBUG                    #
#                        -LD:\case_i_d913f\ap\ap_music\List\ -q -t8          #
#                        -AD:\case_i_d913f\ap\ap_music\List\                 #
#                        -ND:\case_i_d913f\ap\ap_music\List\ -X              #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        d:\case_i_d913f\AP\AP_MUSIC\sub_function1.c         #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    sub_function1(17)
   \   0000                    RSEG    AP_SUB_FUN1(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    EXTERN  BankSwitch
   \   0000                    EXTERN  CaltimeFlag
   \   0000                    PUBLIC  ChangeMusic
   \   0000                    EXTERN  CheckMusicType
   \   0000                    EXTERN  ClearTimePara
   \   0000                    EXTERN  DRV_ActiveUD
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    PUBLIC  DealMusicFileEnd
   \   0000                    PUBLIC  Deal_Error_Playing
   \   0000                    PUBLIC  DisInFBHead
   \   0000                    PUBLIC  DisInFFEnd
   \   0000                    EXTERN  DisplayErrMsg
   \   0000                    EXTERN  GetInformation
   \   0000                    PUBLIC  NoCardCaseInStopMenu
   \   0000                    EXTERN  PlayStatus
   \   0000                    EXTERN  RePlayStatus
   \   0000                    EXTERN  SRSModeFlag
   \   0000                    PUBLIC  SelectCurMusic
   \   0000                    EXTERN  ToNextMusic
   \   0000                    EXTERN  UpDisplayFlag
   \   0000                    EXTERN  UpdateFileSelector
   \   0000                    EXTERN  WaitForCaltimeCNT
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  apepSendCommand
   \   0000                    EXTERN  bList_Flag
   \   0000                    EXTERN  fselGetLocation
   \   0000                    EXTERN  fselGetNextFile
   \   0000                    EXTERN  fselGetNo
   \   0000                    EXTERN  fselGetPrevFile
   \   0000                    EXTERN  fselGetTotal
   \   0000                    EXTERN  fselInit
   \   0000                    EXTERN  fselPlayListExit
   \   0000                    EXTERN  fselSetLocation
   \   0000                    EXTERN  fselSetMode
   \   0000                    EXTERN  fsel_mode_change_flag
   \   0000                    EXTERN  g_2HZ_CNT
   \   0000                    EXTERN  g_ABMinTimeCNT
   \   0000                    EXTERN  g_ABPointTimeSize
   \   0000                    EXTERN  g_FCexitflag
   \   0000                    EXTERN  g_Openparam
   \   0000                    EXTERN  g_PAOpenFlag
   \   0000                    EXTERN  g_ReplayTimeCNT
   \   0000                    EXTERN  g_TagInfoBuf
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_currentMusicType
   \   0000                    EXTERN  g_file_list_total
   \   0000                    EXTERN  g_music_vars
   \   0000                    EXTERN  g_musicamount
   \   0000                    EXTERN  g_musicsequence
   \   0000                    EXTERN  g_result
   \   0000                    EXTERN  ifSelBuffToltalTimeFlag
   \   0000                    EXTERN  itoa_2
   \   0000                    EXTERN  main_ResShowPic
   \   0000                    EXTERN  make_dirname
   \   0000                    EXTERN  mp3pSendCommand
   \   0000                    EXTERN  musicpSendCommand
   \   0000                    PUBLIC  musicpSendCommand_bank
   \   0000                    EXTERN  need_draw
   \   0000                    EXTERN  oggpSendCommand
   \   0000                    EXTERN  openPA
   \   0000                    EXTERN  select_music_list
   \   0000                    EXTERN  srs_default_set
   \   0000                    EXTERN  temp_buffer
   \   0000                    EXTERN  ui_auto_update
   \   0000                    EXTERN  ui_delete
   \   0000                    PUBLIC  ui_delete_Music
   \   0000                    EXTERN  ui_delete_all
   \   0000                    EXTERN  ui_directory
   \   0000                    EXTERN  ui_show_d
   \   0000                    EXTERN  wmapSendCommand
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?C_S_SWITCH_L06
   \   0000                    EXTERN  ?S_S_SWITCH_L06
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_LEAVE_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?ENT_PARM_DIRECT_L09
   \   0000                    EXTERN  ?ENT_AUTO_DIRECT_L09
   \   0000                    EXTERN  ?STRCAT_L11
   \   0000                    RSEG    AP_SUB_FUN1
   \   0000            DisInFBHead:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        This program demostrates how to build an AP
      5          *
      6          *        (c) Copyright Actions Co,Ld.
      7          *
      8          *  $Id: sub_function1.c,v 1.1.1.1 2006/05/22 03:24:01 selina Exp $
      9          *******************************************************************************
     10          */
     11          #include "ap_music.h"
     12          
     13          extern bool g_FCexitflag;
     14          extern BYTE fsel_mode_change_flag;
     15          #pragma memory=constseg(APC_SUB_FUN1)
     16          #pragma memory=default
     17          
     18          void FadeOut( bool DisMod );
     19          void DisInFBHead(char DisMod);
     20          void DisInFFEnd(char DisMod);
     21          int ui_licensinf(int string_id);
     22          extern void make_dirname(void);
     23          extern void srs_default_set(void); 
     24          extern byte SRSModeFlag;
     25          extern int  select_music_list(BYTE Direct);   
     26          #pragma codeseg(AP_SUB_FUN1)
     27          void DisInFBHead(char DisMod)
     28          {
   \   0000  CD0000            CALL    LWRD ?ENT_PARM_DIRECT_L09
     29              if (DisMod == 0)
   \   0003  1C                INC     E
   \   0004  1D                DEC     E
   \   0005  201A              JR      NZ,?0003
   \   0007            ?0002:
     30              {//普通显示模式
     31                  temp_buffer[0] = '0';
   \   0007  3E30              LD      A,48
   \   0009  320000            LD      (temp_buffer),A
     32                  temp_buffer[1] = '0';
   \   000C  320100            LD      (temp_buffer+1),A
     33                  temp_buffer[3] = '0';
   \   000F  320300            LD      (temp_buffer+3),A
     34                  temp_buffer[4] = '0';
   \   0012  320400            LD      (temp_buffer+4),A
     35                  temp_buffer[6] = '0';
   \   0015  320600            LD      (temp_buffer+6),A
     36                  temp_buffer[7] = '0';
   \   0018  320700            LD      (temp_buffer+7),A
     37                  ui_show_d(temp_buffer,0);
   \   001B  4B                LD      C,E
   \   001C  CD3500            CALL    LWRD ?0207
     38              }
     39              else
   \   001F  1811              JR      ?0004
   \   0021            ?0003:
     40              {//歌词显示模式
     41                  main_ResShowPic(LYRIC_R, LyricIcon_Pos_X, LyricIcon_Pos_Y);
   \   0021  0E79              LD      C,121
   \   0023  C5                PUSH    BC
   \   0024  0EA1              LD      C,161
   \   0026  11A000            LD      DE,160
   \   0029  3E00              LD      A,BYTE3 main_ResShowPic
   \   002B  210000            LD      HL,LWRD main_ResShowPic
   \   002E  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0031  F1                POP     AF
   \   0032            ?0004:
     42              }
     43              return;
     44          
     45          }
   \   0032  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0035            ?0207:
   \   0035  110000            LD      DE,temp_buffer
   \   0038  3E00              LD      A,BYTE3 ui_show_d
   \   003A  210000            LD      HL,LWRD ui_show_d
   \   003D  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0040            DisInFFEnd:
     46          
     47          void DisInFFEnd(char DisMod)
     48          {
   \   0040  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0043  F8FF              DEFW    65528
     49              if(DisMod == 0)
   \   0045  AF                XOR     A
   \   0046  DDB602            OR      (IX+2)
   \   0049  2031              JR      NZ,?0006
   \   004B            ?0005:
     50              {//普通显示模式
     51                  wma_play_status_t status_buf;
     52                  musicpSendCommand(MC_GETSTATUS, (int)(& status_buf));
   \   004B  6F                LD      L,A
   \   004C  67                LD      H,A
   \   004D  39                ADD     HL,SP
   \   004E  4D                LD      C,L
   \   004F  44                LD      B,H
   \   0050  1E83              LD      E,131
   \   0052  CD9500            CALL    LWRD ?0215
     53                  itoa_2(status_buf.total_time.hour, &temp_buffer[0]);
   \   0055  010000            LD      BC,temp_buffer
   \   0058  DD5EFB            LD      E,(IX-5)
   \   005B  CD9D00            CALL    LWRD ?0217
     54                  strcat(temp_buffer,":");
     55                  itoa_2(status_buf.total_time.minute, &temp_buffer[3]);
   \   005E  010300            LD      BC,temp_buffer+3
   \   0061  DD5EFC            LD      E,(IX-4)
   \   0064  CD9D00            CALL    LWRD ?0217
     56                  strcat(temp_buffer,":");
     57                  itoa_2(status_buf.total_time.second, & temp_buffer[6]);
   \   0067  010600            LD      BC,temp_buffer+6
   \   006A  DD5EFD            LD      E,(IX-3)
   \   006D  3E00              LD      A,BYTE3 itoa_2
   \   006F  210000            LD      HL,LWRD itoa_2
   \   0072  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     58                  ui_show_d(temp_buffer,0);
   \   0075  0E00              LD      C,0
   \   0077  CD3500            CALL    LWRD ?0207
     59              }
     60              else
   \   007A  1811              JR      ?0008
   \   007C            ?0006:
     61              {//歌词显示模式
     62                  main_ResShowPic(LYRIC_F, LyricIcon_Pos_X, LyricIcon_Pos_Y);
   \   007C  0E79              LD      C,121
   \   007E  C5                PUSH    BC
   \   007F  0EA1              LD      C,161
   \   0081  119F00            LD      DE,159
   \   0084  3E00              LD      A,BYTE3 main_ResShowPic
   \   0086  210000            LD      HL,LWRD main_ResShowPic
   \   0089  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   008C  F1                POP     AF
   \   008D            ?0008:
     63              }
     64              return;
     65          }
   \   008D  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0090            ?0216:
   \   0090  010100            LD      BC,1
   \   0093  1E0D              LD      E,13
   \   0095            ?0215:
   \   0095  3E00              LD      A,BYTE3 musicpSendCommand
   \   0097  210000            LD      HL,LWRD musicpSendCommand
   \   009A  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   009D            ?0217:
   \   009D  3E00              LD      A,BYTE3 itoa_2
   \   009F  210000            LD      HL,LWRD itoa_2
   \   00A2  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00A5  110000            LD      DE,?0007
   \   00A8  210000            LD      HL,temp_buffer
   \   00AB  CD0000            CALL    LWRD ?STRCAT_L11
   \   00AE  C9                RET
   \   00AF            DealMusicFileEnd:
     66          
     67          //===========[放到文件尾时的处理]===============
     68          int DealMusicFileEnd( char DisMod)
     69          {
   \   00AF  D5                PUSH    DE
     70              wma_play_status_t status_buf;
     71          
     72              int key;
     73          
     74              need_draw = TRUE;
   \   00B0  3E01              LD      A,1
   \   00B2  320000            LD      (need_draw),A
     75          
     76              if (PlayStatus == FBPlaySta)
   \   00B5  3A0000            LD      A,(PlayStatus)
   \   00B8  FE04              CP      4
   \   00BA  2019              JR      NZ,?0010

⌨️ 快捷键说明

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