📄 ui_delete4.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 25/Dec/106 17:00:38 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d90f\ap\common\ui_delete4.c #
# List file = d:\case_i_d90f\ap\ap_music\list\ui_delete4.lst #
# Object file = d:\case_i_d90f\ap\ap_music\obj\ui_delete4.r01 #
# ASM file = d:\case_i_d90f\ap\ap_music\list\ui_delete4.s01 #
# Command line = -v0 -mb -OD:\case_i_d90f\ap\ap_music\Obj\ -e -K -w #
# -gA -z9 -RCODE -r0 -DNAPDEBUG #
# -LD:\case_i_d90f\ap\ap_music\List\ -q -t8 #
# -AD:\case_i_d90f\ap\ap_music\List\ #
# -ND:\case_i_d90f\ap\ap_music\List\ -X #
# -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\ #
# D:\CASE_I_D90F\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 CONST(0)
\ 0000 EXTERN FS_CD
\ 0000 EXTERN FS_Dir
\ 0000 EXTERN FS_FRemove
\ 0000 EXTERN ResShowMultiString
\ 0000 EXTERN ResShowPic
\ 0000 EXTERN SetPenColor
\ 0000 EXTERN SetTextOutMode
\ 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 EXTERN 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 EXTERN voice_ext
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 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_AUTO_DIRECT_L09
\ 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 codeseg(DEL_ALL)
9
10 #ifdef AMV_JPG_TXT
11 const char amv_ext[][4] = {"AMV"};
12 const char pic_ext[][4] = {"JPG","BMP","GIF"};
13 const char txt_ext[][4] = {"TXT"};
14
15 #endif
16 extern WORD fselFileNo;
17 extern BYTE fselDirNo[8]; //Number of current valid directory
18 extern BYTE fselDirLayer;
19 extern void show_del_fail(BYTE langid);
20 extern int draw_del_file(file_location_t *location, BYTE string_id);
21 extern void draw_del_dir(file_location_t *location, BYTE string_id);
22
23 void SetToRoot(file_location_t *location)
24 {
\ 0000 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 0003 0000 DEFW 0
25 BYTE i;
26 for(i=0; i<8; i++)
\ 0005 1E00 LD E,0
\ 0007 ?0003:
\ 0007 7B LD A,E
\ 0008 FE08 CP 8
\ 000A 300B JR NC,?0002
\ 000C ?0004:
27 fselDirNo[i] = 0;
\ 000C 4B LD C,E
\ 000D 0600 LD B,0
\ 000F 210000 LD HL,fselDirNo
\ 0012 09 ADD HL,BC
\ 0013 70 LD (HL),B
\ 0014 1C INC E
\ 0015 18F0 JR ?0003
\ 0017 ?0002:
28 FS_CD(":");
\ 0017 110000 LD DE,?0006
\ 001A CD0000 CALL LWRD FS_CD
29 fselDirLayer = 0;
\ 001D AF XOR A
\ 001E 320000 LD (fselDirLayer),A
30 }
\ 0021 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 0024 del_music_files:
31
32 BOOL del_music_files(file_location_t *location)
33 {
\ 0024 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 0027 F2FF DEFW 65522
\ 0029 FDE5 PUSH IY
34 char DelStrname[12];
35 BYTE i;
36 SetToRoot(location);
\ 002B CD8100 CALL LWRD ?0155
\ 002E ?0008:
37 while(1)
38 {
39 output8(0x4e,input8(0x4e)|0x08); //清WATCH DOG
40 fselGetLocation(location);
\ 002E CD9500 CALL LWRD ?0156
41 fselGetNext(location->filename);
42 if(FSELGetTotal()==0)
\ 0031 CDB400 CALL LWRD ?0157
\ 0034 2004 JR NZ,?0011
\ 0036 ?0010:
43 return 1;
\ 0036 2E01 LD L,1
44 else
\ 0038 1842 JR ?0021
\ 003A ?0011:
45 {
46
47 #ifdef __OGG_SUPPORT
48 for(i=0; i<6; i++) //6种后缀名(MP3、WMA、WMV、ASF,OGG,APE)的音乐文件循环删除
\ 003A DD36F200 LD (IX-14),0
\ 003E ?0013:
\ 003E DD7EF2 LD A,(IX-14)
\ 0041 FE06 CP 6
\ 0043 30E9 JR NC,?0008
\ 0045 ?0014:
\ 0045 ?0017:
49 {
50 while(FS_Dir(DelStrname, music_ext[i], FS_DIR_FILE))
\ 0045 0E80 LD C,128
\ 0047 C5 PUSH BC
\ 0048 DD6EF2 LD L,(IX-14)
\ 004B 2600 LD H,0
\ 004D 29 ADD HL,HL
\ 004E 29 ADD HL,HL
\ 004F 010000 LD BC,music_ext
\ 0052 09 ADD HL,BC
\ 0053 4D LD C,L
\ 0054 44 LD B,H
\ 0055 210600 LD HL,6
\ 0058 39 ADD HL,SP
\ 0059 EB EX DE,HL
\ 005A CD0000 CALL LWRD FS_Dir
\ 005D E1 POP HL
\ 005E B7 OR A
\ 005F 2816 JR Z,?0016
\ 0061 ?0018:
51 {
52 if(!FS_FRemove(DelStrname))
\ 0061 210400 LD HL,4
\ 0064 39 ADD HL,SP
\ 0065 EB EX DE,HL
\ 0066 CD0000 CALL LWRD FS_FRemove
\ 0069 B7 OR A
\ 006A 2003 JR NZ,?0020
\ 006C ?0019:
53 {
54 return FALSE;
\ 006C 6F LD L,A
55 }
\ 006D 180D JR ?0021
\ 006F ?0020:
56 output8(0x4e,input8(0x4e)|0x08); //清WATCH DOG
\ 006F DB4E IN A,(78)
\ 0071 CBDF SET 3,A
\ 0073 D34E OUT (78),A
57 }
58 }
\ 0075 18CE JR ?0014
\ 0077 ?0016:
\ 0077 DD34F2 INC (IX-14)
59 #endif
60
61 #ifndef __OGG_SUPPORT
62 for(i=0; i<5; i++) //5趾笞好
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -