📄 ui_delete4.s01
字号:
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_FAST_LEAVE_L08
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. {
PUSH BC
PUSH DE
PUSH AF
; 28. BYTE i;
; 29. for(i=0; i<8; i++)
LD HL,0
ADD HL,SP
LD (HL),0
?0003:
LD A,(HL)
CP 8
JR NC,?0002
?0004:
; 30. fselDirNo[i] = 0;
LD C,A
LD B,0
LD HL,fselDirNo
ADD HL,BC
LD (HL),B
LD L,B
LD H,B
ADD HL,SP
INC (HL)
JR ?0003
?0002:
; 31. FS_CD(":");
LD DE,?0006
CALL LWRD FS_CD
; 32. fselDirLayer = 0;
XOR A
LD (fselDirLayer),A
; 33. }
POP HL
POP HL
POP BC
JP LWRD ?BANK_FAST_LEAVE_L08
del_music_files:
; 34.
; 35. BOOL del_music_files(file_location_t *location)
; 36. {
PUSH BC
PUSH IX
LD HL,65522
ADD HL,SP
LD SP,HL
; 37. char DelStrname[12];
; 38. BYTE i;
; 39. SetToRoot(location);
CALL LWRD ?0163
?0008:
; 40. while(1)
; 41. {
; 42. output8(0x4e,input8(0x4e)|0x08); //清WATCH DOG
; 43. fselGetLocation(location);
CALL LWRD ?0164
; 44. fselGetNext(location->filename);
; 45. if(FSELGetTotal()==0)
CALL LWRD ?0165
LD A,L
OR H
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 HL,0
ADD HL,SP
LD (HL),0
?0013:
LD A,(HL)
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 HL,2
ADD HL,SP
LD L,(HL)
LD H,0
ADD HL,HL
ADD HL,HL
LD BC,music_ext
ADD HL,BC
LD C,L
LD B,H
LD HL,4
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,2
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:
LD L,A
LD H,A
ADD HL,SP
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 + -