Estex-DSS/DSS/API/Delete.asm
Anatoliy Belyanskiy 0312779217 Preparing for FAT32
2024-03-12 03:51:04 +10:00

52 lines
1.3 KiB
NASM
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

////////////////////////////////////////////////////////////////////////
; INPUT: HL - "c:\dir\filename.ext",#00 without simbols * ?
////////////////////////////////////////////////////////////////////////
DEL_FN: ;!TEST
;!TEST Current Dir ;[x] 15/10/23
PUSH HL
CALL DIR_PATH_CHECK
POP HL
RET C
;
CALL GETWORD ; â¥áâ ­  ¤®¯ãáâ. ¨¬ï ¨ ­ áâà. ­  ¤¨áª
RET C
CALL MASK
RET C
;
;!TEST optimization
;LD HL,MASKARE
;LD BC,11
;LD A,"?"
;CPIR
;LD A,DSS_Error.sys.INVALID_NAME
;SCF
CALL CHECK_NAME
;
RET Z
CALL LOADDIR
CALL SEARCH.File
RET C
; ¯®¬¥â¨âì § ¯¨áì ª ª "㤠«¥­­ ï"
.DELETE:
SET_PAGE_X DIRPAGE
LD (IX + _sFAT_DIRECTORY_RECORD.NAME),#E5 ; ¯à¨§­ ª 㤠«¥­¨ï ä ©« 
; [ ] fat32
LD E,(IX+_sFAT_DIRECTORY_RECORD.FIRST_CLUSTER_L) ; ü ¯¥à¢®£® ª« áâ¥à 
LD D,(IX+_sFAT_DIRECTORY_RECORD.FIRST_CLUSTER_L+1)
;
OUT (SLOT3),A
LD A,E
OR D
JP Z,SAVEDIR ; á¡à®á¨âì ª¥è ª â «®£  ­  ¤¨áª
.loop: EX DE,HL ; hl=­®¬¥à ª« áâ¥à 
CALL READ_FROM_FAT ; ¯à®ç¨â âì ¨§ ª¥è  FAT-  ­®¬¥à á«¥¤. ª« áâ¥à 
PUSH DE ; ­®¬¥à á«¥¤. ª« áâ¥à 
PUSH AF
LD DE,#0000 ; ­®¬¥à ª« áâ¥à 
CALL WRITE_TO_FAT ; § ¯¨á âì ¢ ª¥è FAT-  ­®¬¥à ª« áâ¥à 
POP AF
POP DE
JP NC,.loop
CALL WRITE_FAT_TABLE ;!FIXIT ¬®¦¥â ­¥ ­ã¦­  âãâ? ’ ¬ ¤ «ìè¥ ¡ã¤¥â
JP SAVEDIR ; á¡à®á¨âì ª¥è ª â «®£  ­  ¤¨áª
;