navi_select.lst

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

LST
528
字号
   \   0136  3E7A              LD      A,122
   \   0138  B8                CP      B
   \   0139  3807              JR      C,?0011
   \   013B  3A0100            LD      A,(ext+1)
   \   013E  C6E0              ADD     A,224
   \   0140  1803              JR      ?0012
   \   0142            ?0011:
   \   0142  3A0100            LD      A,(ext+1)
   \   0145            ?0012:
   \   0145  320100            LD      (ext+1),A
     46              ext[2] = (ext[2]>='a' && ext[2]<='z') ? ext[2] - 'a' + 'A' : ext[2];
   \   0148  3A0200            LD      A,(ext+2)
   \   014B  FE61              CP      97
   \   014D  3810              JR      C,?0017
   \   014F  3A0200            LD      A,(ext+2)
   \   0152  47                LD      B,A
   \   0153  3E7A              LD      A,122
   \   0155  B8                CP      B
   \   0156  3807              JR      C,?0017
   \   0158  3A0200            LD      A,(ext+2)
   \   015B  C6E0              ADD     A,224
   \   015D  1803              JR      ?0018
   \   015F            ?0017:
   \   015F  3A0200            LD      A,(ext+2)
   \   0162            ?0018:
   \   0162  320200            LD      (ext+2),A
     47              ext[3] = 0;
   \   0165  AF                XOR     A
   \   0166  320300            LD      (ext+3),A
     48              for(i=0;i<NAVI_FILE_TYPE_NUM;i++)
   \   0169  DD71FE            LD      (IX-2),C
   \   016C            ?0021:
   \   016C  DD7EFE            LD      A,(IX-2)
   \   016F  FE0D              CP      13
   \   0171  3019              JR      NC,?0020
   \   0173            ?0022:
     49              {
     50                  if(strcmp(Navi_ext[i],ext)==0)
   \   0173  6F                LD      L,A
   \   0174  2600              LD      H,0
   \   0176  29                ADD     HL,HL
   \   0177  29                ADD     HL,HL
   \   0178  010000            LD      BC,Navi_ext
   \   017B  09                ADD     HL,BC
   \   017C  EB                EX      DE,HL
   \   017D  210000            LD      HL,ext
   \   0180  CD0000            CALL    LWRD ?STRCMP_L11
   \   0183  7D                LD      A,L
   \   0184  B4                OR      H
   \   0185  2805              JR      Z,?0020
   \   0187            ?0024:
     51                     break;
   \   0187            ?0025:
   \   0187  DD34FE            INC     (IX-2)
   \   018A  18E0              JR      ?0021
   \   018C            ?0020:
     52              }  
     53              memcpy(&temp_browser_vars.location,&location,sizeof(file_location_t));  
   \   018C  012B00            LD      BC,43
   \   018F  113100            LD      DE,temp_browser_vars+2
   \   0192  210400            LD      HL,location
   \   0195  EDB0              LDIR
     54              output8(0x27,0);            //关DSP中断 
   \   0197  AF                XOR     A
   \   0198  D327              OUT     (39),A
     55              VMWrite(&temp_browser_vars,VM_AP_BROWSER);
   \   019A  064C              LD      B,76
   \   019C  112F00            LD      DE,temp_browser_vars
   \   019F  CD0000            CALL    LWRD VMWrite
     56              output8(0x27,IO27Bak);            //开DSP中断  
   \   01A2  DD7EFF            LD      A,(IX-1)
   \   01A5  D327              OUT     (39),A
     57              if(i<6) //music
   \   01A7  DD7EFE            LD      A,(IX-2)
   \   01AA  FE06              CP      6
   \   01AC  3010              JR      NC,?0027
   \   01AE            ?0026:
     58              {
     59                  memcpy(&g_music_vars.location,&location,sizeof(file_location_t));
   \   01AE  012B00            LD      BC,43
   \   01B1  110700            LD      DE,g_music_vars+7
   \   01B4  210400            LD      HL,location
   \   01B7  EDB0              LDIR
     60                  return RESULT_MUSIC_PLAY;                                         //zhangxs changed for real play   2007.03.30
   \   01B9  211E00            LD      HL,30
     61              }
   \   01BC  181E              JR      ?0034
   \   01BE            ?0027:
     62              else if(i<8)  //voice
   \   01BE  FE08              CP      8
   \   01C0  3005              JR      NC,?0029
   \   01C2            ?0028:
     63              {
     64                  return RESULT_VOICE_PLAY;
   \   01C2  211F00            LD      HL,31
   \   01C5  1815              JR      ?0034
   \   01C7            ?0029:
     65              }else if(i<11)  //jpg
   \   01C7  FE0B              CP      11
   \   01C9  3005              JR      NC,?0031
   \   01CB            ?0030:
     66              {
     67                   
     68                  return RESULT_VIEW_PLAY;
   \   01CB  212200            LD      HL,34
   \   01CE  180C              JR      ?0034
   \   01D0            ?0031:
     69              }else if(i<12)  //text
   \   01D0  FE0C              CP      12
   \   01D2  3005              JR      NC,?0033
   \   01D4            ?0032:
     70              {
     71                   
     72                  return RESULT_READER_PLAY;
   \   01D4  212100            LD      HL,33
     73              }
   \   01D7  1803              JR      ?0034
   \   01D9            ?0033:
     74              else
     75              {
     76                   
     77                   return RESULT_MOVIE_PLAY;
   \   01D9  212000            LD      HL,32
     78              }
   \   01DC            ?0034:
   \   01DC  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
     79               
     80          }  
   \   01DF            Deal_play_Navi:
     81          
     82          int Deal_play_Navi(void)
     83          {
   \   01DF  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   01E2  FAFF              DEFW    -6
     84              int result=0;   
     85              long CurDirBackup; 
     86              BYTE   IO27Bak = input8(0x27);
   \   01E4  DB27              IN      A,(39)
   \   01E6  DD77FA            LD      (IX-6),A
     87              output8(0x27,IO27Bak&0xfe);            //关DSP中断 
   \   01E9  CB87              RES     0,A
   \   01EB  D327              OUT     (39),A
     88              //FS_Backup(NaviBackbuf,FS_BACKUP_DIRINFO,0);//目录项备份       
     89              CurDirBackup=FS_GetCurDir();     
   \   01ED  CD0000            CALL    LWRD FS_GetCurDir
   \   01F0  DD75FC            LD      (IX-4),L
   \   01F3  DD74FD            LD      (IX-3),H
   \   01F6  DD71FE            LD      (IX-2),C
   \   01F9  DD70FF            LD      (IX-1),B
     90              FS_CD(FS_CD_ROOT);           //返回根目录查找列表  
   \   01FC  110000            LD      DE,?0035
   \   01FF  CD0000            CALL    LWRD FS_CD
     91              Navifp = FS_FOpen(msz_temp,FS_OPEN_NORMAL); 
   \   0202  0E00              LD      C,0
   \   0204  110000            LD      DE,msz_temp
   \   0207  CD0000            CALL    LWRD FS_FOpen
   \   020A  220000            LD      (Navifp),HL
     92              if(Navifp==NULL)
   \   020D  7D                LD      A,L
   \   020E  B4                OR      H
   \   020F  200D              JR      NZ,?0037
   \   0211            ?0036:
     93              { 
     94          //      FS_Restore(NaviBackbuf,FS_RESTORE_DIRINFO,0);//目录项恢复  
     95                FS_SetCurDir(CurDirBackup);     
   \   0211  CD4902            CALL    LWRD ?0039
     96                output8(0x27,IO27Bak);   
   \   0214  DD7EFA            LD      A,(IX-6)
   \   0217  D327              OUT     (39),A
     97                return RESULT_IGNORE;
   \   0219  213400            LD      HL,52
     98              }
   \   021C  1828              JR      ?0038
   \   021E            ?0037:
     99              output8(0x27,IO27Bak);  
   \   021E  DD7EFA            LD      A,(IX-6)
   \   0221  D327              OUT     (39),A
    100              result = UI_play_Navi();
   \   0223  3E00              LD      A,BYTE3 UI_play_Navi
   \   0225  210000            LD      HL,LWRD UI_play_Navi
   \   0228  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   022B  EB                EX      DE,HL
    101              output8(0x27,IO27Bak&0xfe);     
   \   022C  DD46FA            LD      B,(IX-6)
   \   022F  CB80              RES     0,B
   \   0231  78                LD      A,B
   \   0232  D327              OUT     (39),A
    102              FS_FClose(Navifp); 
   \   0234  D5                PUSH    DE
   \   0235  ED5B0000          LD      DE,(Navifp)
   \   0239  CD0000            CALL    LWRD FS_FClose
    103             // FS_Restore(NaviBackbuf,FS_RESTORE_DIRINFO,0);//目录项恢复           
    104              FS_SetCurDir(CurDirBackup);    
   \   023C  CD4902            CALL    LWRD ?0039
   \   023F  D1                POP     DE
    105              output8(0x27,IO27Bak);     
   \   0240  DD7EFA            LD      A,(IX-6)
   \   0243  D327              OUT     (39),A
    106              return result;   
   \   0245  EB                EX      DE,HL
    107          }  
   \   0246            ?0038:
   \   0246  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0249            ?0039:
   \   0249  DD4EFE            LD      C,(IX-2)
   \   024C  DD46FF            LD      B,(IX-1)
   \   024F  DD5EFC            LD      E,(IX-4)
   \   0252  DD56FD            LD      D,(IX-3)
   \   0255  C30000            JP      LWRD FS_SetCurDir
   \   0000                    RSEG    CSTR
   \   0000            ?0035:
   \   0000  3A                DEFB    ':'
   \   0001  00                DEFB    0
   \   0000                    RSEG    CONST
   \   0000            msz_temp:
   \   0000  4E415649          DEFB    'NAVI    0   '
   \   0004  20202020
   \   0008  30202020
   \   0000                    RSEG    APD_NAVI_SELECT
   \   0000            ext:
   \   0004                    DEFS    4
   \   0004            location:
   \   002F                    DEFS    43
   \   002F            temp_browser_vars:
   \   005C                    DEFS    45
   \   005C            navi_offset:
   \   0060                    DEFS    4
   \   0000                    RSEG    AP_NAVI_UI_SELECT
   \   0000            Navi_ext:
   \   0000  4D5033            DEFB    'MP3'
   \   0003  00                DEFB    0
   \   0004  574D41            DEFB    'WMA'
   \   0007  00                DEFB    0
   \   0008  415346            DEFB    'ASF'
   \   000B  00                DEFB    0
   \   000C  574D56            DEFB    'WMV'
   \   000F  00                DEFB    0
   \   0010  4F4747            DEFB    'OGG'
   \   0013  00                DEFB    0
   \   0014  415045            DEFB    'APE'
   \   0017  00                DEFB    0
   \   0018  574156            DEFB    'WAV'
   \   001B  00                DEFB    0
   \   001C  414354            DEFB    'ACT'
   \   001F  00                DEFB    0
   \   0020  4A5047            DEFB    'JPG'
   \   0023  00                DEFB    0
   \   0024  424D50            DEFB    'BMP'
   \   0027  00                DEFB    0
   \   0028  474946            DEFB    'GIF'
   \   002B  00                DEFB    0
   \   002C  545854            DEFB    'TXT'
   \   002F  00                DEFB    0
   \   0030  414D56            DEFB    'AMV'
   \   0033  00                DEFB    0
   \   0034                    END

Errors: none
Warnings: none
Code size: 600
Constant size: 66
Static variable size: Data(96) Iram(0)

⌨️ 快捷键说明

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