📄 ui_delete4.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 18/Nov/107 22:56:51 #
# 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_music\list\ui_delete4.lst #
# Object file = d:\case_i_d913f\ap\ap_music\obj\ui_delete4.r01 #
# ASM file = d:\case_i_d913f\ap\ap_music\list\ui_delete4.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\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_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 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 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 0003 0000 DEFW 0
28 BYTE i;
29 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:
30 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:
31 FS_CD(":");
\ 0017 110000 LD DE,?0006
\ 001A CD0000 CALL LWRD FS_CD
32 fselDirLayer = 0;
\ 001D AF XOR A
\ 001E 320000 LD (fselDirLayer),A
33 }
\ 0021 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 0024 del_music_files:
34
35 BOOL del_music_files(file_location_t *location)
36 {
\ 0024 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 0027 F2FF DEFW 65522
\ 0029 FDE5 PUSH IY
37 char DelStrname[12];
38 BYTE i;
39 SetToRoot(location);
\ 002B CD8100 CALL LWRD ?0155
\ 002E ?0008:
40 while(1)
41 {
42 output8(0x4e,input8(0x4e)|0x08); //清WATCH DOG
43 fselGetLocation(location);
\ 002E CD9500 CALL LWRD ?0156
44 fselGetNext(location->filename);
45 if(FSELGetTotal()==0)
\ 0031 CDB400 CALL LWRD ?0157
\ 0034 2004 JR NZ,?0011
\ 0036 ?0010:
46 return 1;
\ 0036 2E01 LD L,1
47 else
\ 0038 1842 JR ?0021
\ 003A ?0011:
48 {
49
50 #ifdef __OGG_SUPPORT
51 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:
52 {
53 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:
54 {
55 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:
56 {
57 return FALSE;
\ 006C 6F LD L,A
58 }
\ 006D 180D JR ?0021
\ 006F ?0020:
59 output8(0x4e,input8(0x4e)|0x08); //清WATCH DOG
\ 006F DB4E IN A,(78)
\ 0071 CBDF SET 3,A
\ 0073 D34E OUT (78),A
60 }
61 }
\ 0075 18CE JR ?0014
\ 0077 ?0016:
\ 0077 DD34F2 INC (IX-14)
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 + -