ui_delete4.s01
来自「炬力方案176*132软件源码,适用于AK1025」· S01 代码 · 共 185 行
S01
185 行
NAME ui_delete4(17)
RSEG DEL_ALL(0)
RSEG CSTR(0)
RSEG DEL_ALL_CONST(0)
EXTERN FS_CD
EXTERN FS_Dir
EXTERN FS_FRemove
EXTERN ResShowMultiString
EXTERN ResShowPic
EXTERN SetBackgdColor
EXTERN SetPenColor
PUBLIC SetToRoot
PUBLIC amv_ext
EXTERN ap_get_message
EXTERN ap_handle_hotkey
EXTERN ap_message_init
PUBLIC del_amv_files
PUBLIC del_music_files
PUBLIC del_pic_files
PUBLIC del_txt_files
PUBLIC del_voice_files
EXTERN draw_del_dir
EXTERN fselDirLayer
EXTERN fselDirNo
EXTERN fselFileNo
EXTERN fselGetLocation
EXTERN fselGetLocationC
EXTERN fselGetNext
EXTERN fselGetTotal
EXTERN fselSetLocation
PUBLIC music_ext
PUBLIC pic_ext
EXTERN show_del_fail
PUBLIC txt_ext
EXTERN ui_auto_select
PUBLIC ui_delete_all
PUBLIC voice_ext
EXTERN ?CLZ80B_4_04_L00
EXTERN ?C_V_SWITCH_L06
EXTERN ?BANK_CALL_DIRECT_L08
EXTERN ?BANK_LEAVE_DIRECT_L08
EXTERN ?BANK_FAST_LEAVE_L08
EXTERN ?ENT_AUTO_DIRECT_L09
RSEG DEL_ALL
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. {
CALL LWRD ?ENT_AUTO_DIRECT_L09
DEFW 0
; 28. BYTE i;
; 29. for(i=0; i<8; i++)
LD E,0
?0003:
LD A,E
CP 8
JR NC,?0002
?0004:
; 30. fselDirNo[i] = 0;
LD C,E
LD B,0
LD HL,fselDirNo
ADD HL,BC
LD (HL),B
INC E
JR ?0003
?0002:
; 31. FS_CD(":");
LD DE,?0006
CALL LWRD FS_CD
; 32. fselDirLayer = 0;
XOR A
LD (fselDirLayer),A
; 33. }
JP LWRD ?BANK_LEAVE_DIRECT_L08
del_music_files:
; 34.
; 35. BOOL del_music_files(file_location_t *location)
; 36. {
CALL LWRD ?ENT_AUTO_DIRECT_L09
DEFW 65522
PUSH IY
; 37. char DelStrname[12];
; 38. BYTE i;
; 39. SetToRoot(location);
CALL LWRD ?0155
?0008:
; 40. while(1)
; 41. {
; 42. output8(0x4e,input8(0x4e)|0x08); //清WATCH DOG
; 43. fselGetLocation(location);
CALL LWRD ?0156
; 44. fselGetNext(location->filename);
; 45. if(FSELGetTotal()==0)
CALL LWRD ?0157
JR NZ,?0011
?0010:
; 46. return 1;
LD L,1
; 47. else
JR ?0021
?0011:
; 48. {
; 49.
; 50. #ifdef __OGG_SUPPORT
; 51. for(i=0; i<6; i++) //6种后缀名(MP3、WMA、WMV、ASF,OGG,APE)的音乐文件循环删除
LD (IX-14),0
?0013:
LD A,(IX-14)
CP 6
JR NC,?0008
?0014:
?0017:
; 52. {
; 53. while(FS_Dir(DelStrname, music_ext[i], FS_DIR_FILE))
LD C,128
PUSH BC
LD L,(IX-14)
LD H,0
ADD HL,HL
ADD HL,HL
LD BC,music_ext
ADD HL,BC
LD C,L
LD B,H
LD HL,6
ADD HL,SP
EX DE,HL
CALL LWRD FS_Dir
POP HL
OR A
JR Z,?0016
?0018:
; 54. {
; 55. if(!FS_FRemove(DelStrname))
LD HL,4
ADD HL,SP
EX DE,HL
CALL LWRD FS_FRemove
OR A
JR NZ,?0020
?0019:
; 56. {
; 57. return FALSE;
LD L,A
; 58. }
JR ?0021
?0020:
; 59. output8(0x4e,input8(0x4e)|0x08); //清WATCH DOG
IN A,(78)
SET 3,A
OUT (78),A
; 60. }
; 61. }
JR ?0014
?0016:
INC (IX-14)
; 62. #endif
; 63.
; 64. #ifndef __OGG_SUPPORT
; 65. for(i=0; i<5; i++) //5趾笞好
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?