//////////////////////////////////////////////////////////////////////// ; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00 ; A - File attribute ; OUTPUT: A - FM //////////////////////////////////////////////////////////////////////// CREATE: ;!TEST Current Dir ;[x] 15/10/23 PUSH HL LD C,A PUSH BC CALL DIR_PATH_CHECK POP BC POP HL RET C LD A,C ; CALL .Prepare RET C CALL SEARCH.File ; [x] fixed a bug with incorrect search when there were too many files in the directory 12/03/2024 ;CALL NC,DEL_FN.DELETE ;FILE EXIST RECREAT CALL NC,.FILE_EXISTS_DEL ;FILE EXIST RECREAT CP DSS_Error.sys.FILE_NOT_FOUND JR Z,.DO SCF RET .FILE_EXISTS_DEL: CALL DEL_FN.DELETE LD A,DSS_Error.sys.FILE_NOT_FOUND RET ; ; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00 ; OUTPUT: A - FM .NEW: ;!TEST Current Dir ;[x] 15/10/23 PUSH HL LD C,A PUSH BC CALL DIR_PATH_CHECK POP BC POP HL RET C LD A,C ; CALL .Prepare RET C CALL SEARCH.File ; [x] fixed a bug with incorrect search when there were too many files in the directory 12/03/2024 ; LD A,DSS_Error.sys.FILE_EXISTS ; CCF ; RET C JR NC,.FILE_EXISTS CP DSS_Error.sys.FILE_NOT_FOUND SCF RET NZ ; ; ;no_file_found .DO: ; FAT_DIRECTORY_RECORD.NAME + .EXT LD HL,MASKARE LD DE,HANDBUF LD BC,11 LDIR EX DE,HL .TMP+1: LD A,0 ; FAT_DIRECTORY_RECORD.ATTRIBUT LD (HL),A INC HL LD BC,#0A00 ;!HARDCODE ; .RESERVED_NT .. .FIRST_CLUSTER_H .loop1: LD (HL),C INC HL DJNZ .loop1 ; .TIME .. .DATE CALL WRITE_DATE_TIME_TO_DIRECTORY_RECORD ; LD BC,#0600 ; .loop2: LD (HL),C INC HL DJNZ .loop2 ; CALL WRT_HND RET C ;CALL SAVEDIR .PATH0+1: LD HL,0 XOR A LD (OPEN_FN.TMP),A JP OPEN_FN.FILE ;R008 ; .Prepare: ;AND #E7 ;R004 %76A00SHR = !FAT_ATTR ;!HARDCODE AND FAT_ATTR.NoDIRnoVolID LD (.TMP),A LD (.PATH0),HL CALL GETWORD RET C ; LD HL,TMPNAME ; LD DE,MASKARE JP MASK ; ; [x] fixed a bug with incorrect search when there were too many files in the directory 12/03/2024 .FILE_EXISTS: LD A,DSS_Error.sys.FILE_EXISTS CCF RET ;