📄 ui_delete4.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 18/Nov/107 22:39:39 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\common\ui_delete4.c #
# List file = d:\case_i_d913f\ap\ap_amv\list\ui_delete4.lst #
# Object file = d:\case_i_d913f\ap\ap_amv\obj\ui_delete4.r01 #
# ASM file = d:\case_i_d913f\ap\ap_amv\list\ui_delete4.s01 #
# Command line = -v0 -mb -OD:\case_i_d913f\ap\ap_amv\Obj\ -e -K -w #
# -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT #
# -LD:\case_i_d913f\ap\ap_amv\List\ -q -t8 #
# -AD:\case_i_d913f\ap\ap_amv\List\ #
# -ND:\case_i_d913f\ap\ap_amv\List\ -X #
# -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\ #
# d:\case_i_d913f\ap\common\ui_delete4.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME ui_delete4(17)
\ 0000 RSEG DEL_ALL(0)
\ 0000 RSEG CSTR(0)
\ 0000 RSEG DEL_ALL_CONST(0)
\ 0000 EXTERN FS_CD
\ 0000 EXTERN FS_Dir
\ 0000 EXTERN FS_FRemove
\ 0000 EXTERN ResShowMultiString
\ 0000 EXTERN ResShowPic
\ 0000 EXTERN SetBackgdColor
\ 0000 EXTERN SetPenColor
\ 0000 PUBLIC SetToRoot
\ 0000 PUBLIC amv_ext
\ 0000 EXTERN ap_get_message
\ 0000 EXTERN ap_handle_hotkey
\ 0000 EXTERN ap_message_init
\ 0000 PUBLIC del_amv_files
\ 0000 PUBLIC del_music_files
\ 0000 PUBLIC del_pic_files
\ 0000 PUBLIC del_txt_files
\ 0000 PUBLIC del_voice_files
\ 0000 EXTERN draw_del_dir
\ 0000 EXTERN fselDirLayer
\ 0000 EXTERN fselDirNo
\ 0000 EXTERN fselFileNo
\ 0000 EXTERN fselGetLocation
\ 0000 EXTERN fselGetLocationC
\ 0000 EXTERN fselGetNext
\ 0000 EXTERN fselGetTotal
\ 0000 EXTERN fselSetLocation
\ 0000 PUBLIC music_ext
\ 0000 PUBLIC pic_ext
\ 0000 EXTERN show_del_fail
\ 0000 PUBLIC txt_ext
\ 0000 EXTERN ui_auto_select
\ 0000 PUBLIC ui_delete_all
\ 0000 PUBLIC voice_ext
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?C_V_SWITCH_L06
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 EXTERN ?BANK_FAST_LEAVE_L08
\ 0000 RSEG DEL_ALL
\ 0000 SetToRoot:
1 #include "ap_common.h"
2 #include "enhanced.h"
3
4 #ifndef AMV_JPG_TXT
5 #define AMV_JPG_TXT
6 #endif
7
8 #pragma memory=constseg(DEL_ALL_CONST)
9 const char music_ext[][4] = {"MP3", "WMA", "ASF", "WMV", "OGG","APE"};
10 const char voice_ext[][4] = {"WAV", "ACT"};
11 #ifdef AMV_JPG_TXT
12 const char amv_ext[][4] = {"AMV"};
13 const char pic_ext[][4] = {"JPG","BMP","GIF"};
14 const char txt_ext[][4] = {"TXT"};
15 #endif
16 #pragma memory=default
17
18 #pragma codeseg(DEL_ALL)
19 extern WORD fselFileNo;
20 extern BYTE fselDirNo[8]; //Number of current valid directory
21 extern BYTE fselDirLayer;
22 extern void show_del_fail(BYTE langid);
23 extern int draw_del_file(file_location_t *location, BYTE string_id);
24 extern void draw_del_dir(file_location_t *location, BYTE string_id);
25
26 void SetToRoot(file_location_t *location)
27 {
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
\ 0002 F5 PUSH AF
28 BYTE i;
29 for(i=0; i<8; i++)
\ 0003 210000 LD HL,0
\ 0006 39 ADD HL,SP
\ 0007 3600 LD (HL),0
\ 0009 ?0003:
\ 0009 7E LD A,(HL)
\ 000A FE08 CP 8
\ 000C 300E JR NC,?0002
\ 000E ?0004:
30 fselDirNo[i] = 0;
\ 000E 4F LD C,A
\ 000F 0600 LD B,0
\ 0011 210000 LD HL,fselDirNo
\ 0014 09 ADD HL,BC
\ 0015 70 LD (HL),B
\ 0016 68 LD L,B
\ 0017 60 LD H,B
\ 0018 39 ADD HL,SP
\ 0019 34 INC (HL)
\ 001A 18ED JR ?0003
\ 001C ?0002:
31 FS_CD(":");
\ 001C 110000 LD DE,?0006
\ 001F CD0000 CALL LWRD FS_CD
32 fselDirLayer = 0;
\ 0022 AF XOR A
\ 0023 320000 LD (fselDirLayer),A
33 }
\ 0026 E1 POP HL
\ 0027 E1 POP HL
\ 0028 C1 POP BC
\ 0029 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 002C del_music_files:
34
35 BOOL del_music_files(file_location_t *location)
36 {
\ 002C C5 PUSH BC
\ 002D DDE5 PUSH IX
\ 002F 21F2FF LD HL,65522
\ 0032 39 ADD HL,SP
\ 0033 F9 LD SP,HL
37 char DelStrname[12];
38 BYTE i;
39 SetToRoot(location);
\ 0034 CD9700 CALL LWRD ?0163
\ 0037 ?0008:
40 while(1)
41 {
42 output8(0x4e,input8(0x4e)|0x08); //清WATCH DOG
43 fselGetLocation(location);
\ 0037 CDA200 CALL LWRD ?0164
44 fselGetNext(location->filename);
45 if(FSELGetTotal()==0)
\ 003A CDC100 CALL LWRD ?0165
\ 003D 7D LD A,L
\ 003E B4 OR H
\ 003F 2004 JR NZ,?0011
\ 0041 ?0010:
46 return 1;
\ 0041 2E01 LD L,1
47 else
\ 0043 1845 JR ?0021
\ 0045 ?0011:
48 {
49
50 #ifdef __OGG_SUPPORT
51 for(i=0; i<6; i++) //6种后缀名(MP3、WMA、WMV、ASF,OGG,APE)的音乐文件循环删除
\ 0045 210000 LD HL,0
\ 0048 39 ADD HL,SP
\ 0049 3600 LD (HL),0
\ 004B ?0013:
\ 004B 7E LD A,(HL)
\ 004C FE06 CP 6
\ 004E 30E7 JR NC,?0008
\ 0050 ?0014:
\ 0050 ?0017:
52 {
53 while(FS_Dir(DelStrname, music_ext[i], FS_DIR_FILE))
\ 0050 0E80 LD C,128
\ 0052 C5 PUSH BC
\ 0053 210200 LD HL,2
\ 0056 39 ADD HL,SP
\ 0057 6E LD L,(HL)
\ 0058 2600 LD H,0
\ 005A 29 ADD HL,HL
\ 005B 29 ADD HL,HL
\ 005C 010000 LD BC,music_ext
\ 005F 09 ADD HL,BC
\ 0060 4D LD C,L
\ 0061 44 LD B,H
\ 0062 210400 LD HL,4
\ 0065 39 ADD HL,SP
\ 0066 EB EX DE,HL
\ 0067 CD0000 CALL LWRD FS_Dir
\ 006A E1 POP HL
\ 006B B7 OR A
\ 006C 2816 JR Z,?0016
\ 006E ?0018:
54 {
55 if(!FS_FRemove(DelStrname))
\ 006E 210200 LD HL,2
\ 0071 39 ADD HL,SP
\ 0072 EB EX DE,HL
\ 0073 CD0000 CALL LWRD FS_FRemove
\ 0076 B7 OR A
\ 0077 2003 JR NZ,?0020
\ 0079 ?0019:
56 {
57 return FALSE;
\ 0079 6F LD L,A
58 }
\ 007A 180E JR ?0021
\ 007C ?0020:
59 output8(0x4e,input8(0x4e)|0x08); //清WATCH DOG
\ 007C DB4E IN A,(78)
\ 007E CBDF SET 3,A
\ 0080 D34E OUT (78),A
60 }
61 }
\ 0082 18CC JR ?0014
\ 0084 ?0016:
\ 0084 6F LD L,A
\ 0085 67 LD H,A
\ 0086 39 ADD HL,SP
\ 0087 34 INC (HL)
62 #endif
63
64 #ifndef __OGG_SUPPORT
65 for(i=0; i<5; i++) //5趾笞好
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -