📄 ui_delete4.s01
字号:
NAME ui_delete4(17)
RSEG DEL_ALL(0)
RSEG CSTR(0)
RSEG CONST(0)
EXTERN FS_CD
EXTERN FS_Dir
EXTERN FS_FRemove
EXTERN ResShowMultiString
EXTERN ResShowPic
EXTERN SetPenColor
EXTERN SetTextOutMode
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
EXTERN music_ext
PUBLIC pic_ext
EXTERN show_del_fail
PUBLIC txt_ext
EXTERN ui_auto_select
PUBLIC ui_delete_all
EXTERN 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 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. {
PUSH BC
PUSH DE
PUSH AF
; 25. BYTE i;
; 26. 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:
; 27. 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:
; 28. FS_CD(":");
LD DE,?0006
CALL LWRD FS_CD
; 29. fselDirLayer = 0;
XOR A
LD (fselDirLayer),A
; 30. }
POP HL
POP HL
POP BC
JP LWRD ?BANK_FAST_LEAVE_L08
del_music_files:
; 31.
; 32. BOOL del_music_files(file_location_t *location)
; 33. {
PUSH BC
PUSH IX
LD HL,65522
ADD HL,SP
LD SP,HL
; 34. char DelStrname[12];
; 35. BYTE i;
; 36. SetToRoot(location);
CALL LWRD ?0163
?0008:
; 37. while(1)
; 38. {
; 39. output8(0x4e,input8(0x4e)|0x08); //清WATCH DOG
; 40. fselGetLocation(location);
CALL LWRD ?0164
; 41. fselGetNext(location->filename);
; 42. if(FSELGetTotal()==0)
CALL LWRD ?0165
LD A,L
OR H
JR NZ,?0011
?0010:
; 43. return 1;
LD L,1
; 44. else
JR ?0021
?0011:
; 45. {
; 46.
; 47. #ifdef __OGG_SUPPORT
; 48. 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:
; 49. {
; 50. 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:
; 51. {
; 52. if(!FS_FRemove(DelStrname))
LD HL,2
ADD HL,SP
EX DE,HL
CALL LWRD FS_FRemove
OR A
JR NZ,?0020
?0019:
; 53. {
; 54. return FALSE;
LD L,A
; 55. }
JR ?0021
?0020:
; 56. output8(0x4e,input8(0x4e)|0x08); //清WATCH DOG
IN A,(78)
SET 3,A
OUT (78),A
; 57. }
; 58. }
JR ?0014
?0016:
LD L,A
LD H,A
ADD HL,SP
INC (HL)
; 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 + -