mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 01:11:48 +03:00
69 lines
1.4 KiB
NASM
69 lines
1.4 KiB
NASM
////////////////////////////////////////////////////////////////////////
|
||
; ”ãªæ¨ï #11. Žâªàë⨥ ä ©« .
|
||
;
|
||
; ¢å®¤: HL - 㪠§ â¥«ì ¨¬ï ä ©«
|
||
; A - ०¨¬ ¤®áâ㯠:
|
||
; A=0 ç⥨¥/§ ¯¨áì
|
||
; A=1 ç⥨¥
|
||
; A=2 § ¯¨áì
|
||
; ¢ë室: CF=0, A - ¤¥áªà¨¯â®à ä ©« .
|
||
; CF=1, A - ª®¤ ®è¨¡ª¨.
|
||
////////////////////////////////////////////////////////////////////////
|
||
OPEN_FN:;!TEST Current Dir ;[x] 15/10/23
|
||
LD (.TMP),A
|
||
PUSH HL
|
||
CALL DIR_PATH_CHECK.forceCheck
|
||
POP HL
|
||
RET C
|
||
;JR .start
|
||
;!FIXIT ᤥ« âì ª ª ¢ mkdir ¨«¨ rmdir?
|
||
;R008 ;
|
||
;OPEN: ;
|
||
;LD (.TMP),A ; enter point from CREATE
|
||
.start: CALL GETWORD
|
||
RET C
|
||
CALL MASK ; enter point from OPEN_FN
|
||
RET C
|
||
.FILE: CALL SEARCH.File ; enter point from EXEC
|
||
RET C
|
||
;R002 ;
|
||
.FM: CALL GET_FM ; enter point from ATTRIB
|
||
RET C
|
||
LD A,C
|
||
EX AF,AF'
|
||
EXX
|
||
LD (IY+_sFM.HANDLE),E
|
||
LD (IY+_sFM.HANDLE+1),D
|
||
EXX
|
||
LD D,YH
|
||
LD E,YL
|
||
LD HL,HANDBUF
|
||
LD BC,HANDBUF.SIZE
|
||
LDIR
|
||
.TMP+1: LD A,0
|
||
LD (IY+_sFM.ACCESS_MODE),A
|
||
LD A,(TASK)
|
||
LD (IY+_sFM.TASK_NUM),A
|
||
XOR A
|
||
;
|
||
LD (IY+_sFM.KnownCluster_L),A
|
||
LD (IY+_sFM.KnownCluster_H),A
|
||
LD (IY+_sFM.KnownOffset_L),A
|
||
LD (IY+_sFM.KnownOffset_H),A
|
||
;
|
||
LD (IY+_sFM.F_POSITION),A
|
||
LD (IY+_sFM.F_POSITION+1),A
|
||
LD (IY+_sFM.F_POSITION+2),A
|
||
LD (IY+_sFM.F_POSITION+3),A
|
||
LD A,(FatBuffer.DRIVE)
|
||
LD (IY+_sFM.DRIVE),A
|
||
LD HL,CORE_BUFFERS.FM_BUF+_sFM.ST_CLUSTER
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
LD (IY+_sFM.DIR_CLUSTER),E
|
||
LD (IY+_sFM.DIR_CLUSTER+1),D
|
||
EX AF,AF'
|
||
AND A
|
||
RET
|
||
; |