mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
...
This commit is contained in:
parent
f93e0ad5b2
commit
497344d117
216
DSS/DOS5.ASM
216
DSS/DOS5.ASM
@ -49,12 +49,12 @@ ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
.RATTRIB:
|
.RATTRIB:
|
||||||
;!TEST ;[ ] 16/11/23 optimize get attribute
|
;!TEST ;[x] 16/11/23 optimize get attribute
|
||||||
;XOR A
|
;XOR A
|
||||||
;
|
;
|
||||||
CALL .OPENATR ;R02
|
CALL .OPENATR ;R02
|
||||||
RET C
|
RET C
|
||||||
;!TEST ;[ ] 16/11/23 optimize get attribute
|
;!TEST ;[x] 16/11/23 optimize get attribute
|
||||||
LD A,(HANDBUF+_sFM.ATTRIBUT)
|
LD A,(HANDBUF+_sFM.ATTRIBUT)
|
||||||
;LD B,(IY+_sFM.ATTRIBUT)
|
;LD B,(IY+_sFM.ATTRIBUT)
|
||||||
;PUSH BC
|
;PUSH BC
|
||||||
@ -67,11 +67,11 @@ ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
.WATTRIB:
|
.WATTRIB:
|
||||||
PUSH AF
|
PUSH AF
|
||||||
XOR A
|
XOR A
|
||||||
;!TEST ;[ ] 16/11/23 optimize get attribute
|
;!TEST ;[x] 16/11/23 optimize get attribute
|
||||||
LD (OPEN.TMP),A
|
LD (OPEN.TMP),A
|
||||||
;
|
;
|
||||||
CALL .OPENATR ;R02
|
CALL .OPENATR ;R02
|
||||||
;!TEST ;[ ] 16/11/23 optimize get attribute
|
;!TEST ;[x] 16/11/23 optimize get attribute
|
||||||
CALL NC,OPEN.FM
|
CALL NC,OPEN.FM
|
||||||
;
|
;
|
||||||
POP BC
|
POP BC
|
||||||
@ -87,7 +87,7 @@ ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
RET
|
RET
|
||||||
;R02
|
;R02
|
||||||
.OPENATR:
|
.OPENATR:
|
||||||
;!TEST ;[ ] 16/11/23 optimize get attribute
|
;!TEST ;[x] 16/11/23 optimize get attribute
|
||||||
;LD (OPEN.TMP),A ; à ¡. ï祩ª (§¤¥áì âਡãâ § ¯¨á¨)
|
;LD (OPEN.TMP),A ; à ¡. ï祩ª (§¤¥áì âਡãâ § ¯¨á¨)
|
||||||
;
|
;
|
||||||
CALL GETWORD ; â¥áâ ¤®¯ãáâ. ¨¬ï ¨ áâà. ¤¨áª
|
CALL GETWORD ; â¥áâ ¤®¯ãáâ. ¨¬ï ¨ áâà. ¤¨áª
|
||||||
@ -95,7 +95,7 @@ ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
CALL MASK
|
CALL MASK
|
||||||
RET C
|
RET C
|
||||||
LD A,FAT_ATTR.NoVolID
|
LD A,FAT_ATTR.NoVolID
|
||||||
;!TEST ;[ ] 16/11/23 optimize get attribute
|
;!TEST ;[x] 16/11/23 optimize get attribute
|
||||||
JP SEARCH.Custom
|
JP SEARCH.Custom
|
||||||
;CALL SEARCH.Custom
|
;CALL SEARCH.Custom
|
||||||
;RET C ; § ¯¨áì ¥ ©¤¥
|
;RET C ; § ¯¨áì ¥ ©¤¥
|
||||||
@ -199,20 +199,18 @@ DEL_FN: ;!TEST
|
|||||||
;
|
;
|
||||||
CALL GETWORD ; â¥áâ ¤®¯ãáâ. ¨¬ï ¨ áâà. ¤¨áª
|
CALL GETWORD ; â¥áâ ¤®¯ãáâ. ¨¬ï ¨ áâà. ¤¨áª
|
||||||
RET C
|
RET C
|
||||||
; LD HL,TMPNAME
|
|
||||||
; LD DE,MASKARE
|
|
||||||
CALL MASK
|
CALL MASK
|
||||||
RET C
|
RET C
|
||||||
;
|
;
|
||||||
; LD DE,MASKARE
|
;!TEST optimization
|
||||||
; CALL MASK
|
;LD HL,MASKARE
|
||||||
; RET C
|
;LD BC,11
|
||||||
LD HL,MASKARE
|
;LD A,"?"
|
||||||
LD BC,11
|
;CPIR
|
||||||
LD A,"?"
|
;LD A,DSS_Error.sys.INVALID_NAME
|
||||||
CPIR
|
;SCF
|
||||||
LD A,DSS_Error.sys.INVALID_NAME
|
CALL CHECK_NAME
|
||||||
SCF
|
;
|
||||||
RET Z
|
RET Z
|
||||||
CALL LOADDIR
|
CALL LOADDIR
|
||||||
CALL SEARCH.File
|
CALL SEARCH.File
|
||||||
@ -264,12 +262,15 @@ RENAME: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
CALL MASK.name
|
CALL MASK.name
|
||||||
POP DE
|
POP DE
|
||||||
RET C
|
RET C
|
||||||
LD HL,MASKARE
|
;!TEST optimization
|
||||||
LD BC,11
|
;LD HL,MASKARE
|
||||||
LD A,"?"
|
;LD BC,11
|
||||||
CPIR
|
;LD A,"?"
|
||||||
LD A,DSS_Error.sys.INVALID_NAME
|
;CPIR
|
||||||
SCF
|
;LD A,DSS_Error.sys.INVALID_NAME
|
||||||
|
;SCF
|
||||||
|
CALL CHECK_NAME
|
||||||
|
;
|
||||||
RET Z
|
RET Z
|
||||||
PUSH DE
|
PUSH DE
|
||||||
CALL LOADDIR ; ¯à®ç¨â âì ᯨ᮪ ª â «®£
|
CALL LOADDIR ; ¯à®ç¨â âì ᯨ᮪ ª â «®£
|
||||||
@ -281,12 +282,15 @@ RENAME: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
;LD DE,MASKARE
|
;LD DE,MASKARE
|
||||||
CALL MASK.name
|
CALL MASK.name
|
||||||
RET C
|
RET C
|
||||||
LD HL,MASKARE
|
;!TEST optimization
|
||||||
LD BC,11
|
;LD HL,MASKARE
|
||||||
LD A,"?"
|
;LD BC,11
|
||||||
CPIR
|
;LD A,"?"
|
||||||
LD A,DSS_Error.sys.INVALID_NAME
|
;CPIR
|
||||||
SCF
|
;LD A,DSS_Error.sys.INVALID_NAME
|
||||||
|
;SCF
|
||||||
|
CALL CHECK_NAME
|
||||||
|
;
|
||||||
RET Z
|
RET Z
|
||||||
PUSH IX
|
PUSH IX
|
||||||
LD A,FAT_ATTR.NoSYSnoVolID
|
LD A,FAT_ATTR.NoSYSnoVolID
|
||||||
@ -397,7 +401,7 @@ CLOSE: LD (.TMP),A
|
|||||||
LD E,(IY+_sFM.DIR_CLUSTER)
|
LD E,(IY+_sFM.DIR_CLUSTER)
|
||||||
LD D,(IY+_sFM.DIR_CLUSTER+1)
|
LD D,(IY+_sFM.DIR_CLUSTER+1)
|
||||||
PUSH DE
|
PUSH DE
|
||||||
; [ ] 15/11/2023 -bug with bad clusters ;!TEST
|
; [x] 15/11/2023 -bug with bad clusters ;!TEST
|
||||||
LD A,(IY+_sFM.DRIVE)
|
LD A,(IY+_sFM.DRIVE)
|
||||||
CALL OPENDSK
|
CALL OPENDSK
|
||||||
;
|
;
|
||||||
@ -406,7 +410,7 @@ CLOSE: LD (.TMP),A
|
|||||||
POP DE
|
POP DE
|
||||||
LD (IY+_sFM.DIR_CLUSTER),E
|
LD (IY+_sFM.DIR_CLUSTER),E
|
||||||
LD (IY+_sFM.DIR_CLUSTER+1),D
|
LD (IY+_sFM.DIR_CLUSTER+1),D
|
||||||
; [ ] 15/11/2023 -bug with bad clusters ;!TEST
|
; [x] 15/11/2023 -bug with bad clusters ;!TEST
|
||||||
LD (IY+_sFM.ST_CLUSTER),E
|
LD (IY+_sFM.ST_CLUSTER),E
|
||||||
LD (IY+_sFM.ST_CLUSTER+1),D
|
LD (IY+_sFM.ST_CLUSTER+1),D
|
||||||
;
|
;
|
||||||
@ -452,6 +456,7 @@ CLOSE: LD (.TMP),A
|
|||||||
; C - #19
|
; C - #19
|
||||||
; HL - 㪠§ ⥫ì ä ©«®¢ãî ᯥæ¨ä¨ª æ¨î
|
; HL - 㪠§ ⥫ì ä ©«®¢ãî ᯥæ¨ä¨ª æ¨î
|
||||||
; DE - à ¡®ç¨© ¡ãä¥à 44 ¡ ©â , ¥á«¨ B=0, ¨ ç¥ 256 ¡ ©â
|
; DE - à ¡®ç¨© ¡ãä¥à 44 ¡ ©â , ¥á«¨ B=0, ¨ ç¥ 256 ¡ ©â
|
||||||
|
; ;!!!!! á ¬®¬ ¤¥«¥ ᥩç á ¥á«¨ B=1, à ¡®ç¨© ¡ãä¥à 46 ¡ ©â
|
||||||
; A - âਡãâë, ¨á¯®«ì§ã¥¬ë¥ ¯à¨ ¯®¨áª¥
|
; A - âਡãâë, ¨á¯®«ì§ã¥¬ë¥ ¯à¨ ¯®¨áª¥
|
||||||
; B = 0 - ¨¬ï ©¤¥®£® ä ©« ¢ ä®à¬ ⥠11 ¡ ©â "FilenameExt"
|
; B = 0 - ¨¬ï ©¤¥®£® ä ©« ¢ ä®à¬ ⥠11 ¡ ©â "FilenameExt"
|
||||||
; B = 1 - ¨¬ï ©¤¥®£® ä ©« ¢ ä®à¬ ⥠DOS "filename.ext",0
|
; B = 1 - ¨¬ï ©¤¥®£® ä ©« ¢ ä®à¬ ⥠DOS "filename.ext",0
|
||||||
@ -478,13 +483,12 @@ F_FIRST:
|
|||||||
PUSH HL
|
PUSH HL
|
||||||
;!TEST Current Dir ;[x] 15/10/23
|
;!TEST Current Dir ;[x] 15/10/23
|
||||||
CALL DIR_PATH_CHECK
|
CALL DIR_PATH_CHECK
|
||||||
|
RET C
|
||||||
;
|
;
|
||||||
CALL LOADDIR
|
CALL LOADDIR
|
||||||
POP HL
|
POP HL
|
||||||
CALL GETWORD
|
CALL GETWORD
|
||||||
RET C
|
RET C
|
||||||
; LD HL,TMPNAME
|
|
||||||
; LD DE,MASKARE
|
|
||||||
CALL MASK
|
CALL MASK
|
||||||
RET C
|
RET C
|
||||||
LD A,(.TMP)
|
LD A,(.TMP)
|
||||||
@ -556,10 +560,8 @@ F_NEXT:
|
|||||||
JP F_FIRST.FIND_S
|
JP F_FIRST.FIND_S
|
||||||
.NSEARCH:
|
.NSEARCH:
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
|
|
||||||
SET_PAGE_X DIRPAGE
|
SET_PAGE_X DIRPAGE
|
||||||
PUSH AF
|
;PUSH AF
|
||||||
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
CPL
|
CPL
|
||||||
LD C,A
|
LD C,A
|
||||||
@ -907,14 +909,10 @@ CHDIR: CALL GETWORD ;
|
|||||||
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
|
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
MKDIR: ;!TEST Current Dir ;[x] 15/10/23
|
MKDIR: ;!TEST Current Dir ;[x] 15/10/23
|
||||||
LD C,A
|
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
|
||||||
CALL DIR_PATH_CHECK
|
CALL DIR_PATH_CHECK
|
||||||
POP BC
|
|
||||||
POP HL
|
POP HL
|
||||||
RET C
|
RET C
|
||||||
LD A,C
|
|
||||||
CALL .START
|
CALL .START
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD HL,CurrentDirectory
|
LD HL,CurrentDirectory
|
||||||
@ -1080,14 +1078,10 @@ MKDIR: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
|
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
RMDIR: ;!TEST Current Dir ;[x] 15/10/23
|
RMDIR: ;!TEST Current Dir ;[x] 15/10/23
|
||||||
LD C,A
|
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
|
||||||
CALL DIR_PATH_CHECK
|
CALL DIR_PATH_CHECK
|
||||||
POP BC
|
|
||||||
POP HL
|
POP HL
|
||||||
RET C
|
RET C
|
||||||
LD A,C
|
|
||||||
CALL .START
|
CALL .START
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD HL,CurrentDirectory
|
LD HL,CurrentDirectory
|
||||||
@ -1098,16 +1092,17 @@ RMDIR: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
;
|
;
|
||||||
.START: CALL GETWORD
|
.START: CALL GETWORD
|
||||||
RET C
|
RET C
|
||||||
; LD HL,TMPNAME
|
|
||||||
; LD DE,MASKARE
|
|
||||||
CALL MASK
|
CALL MASK
|
||||||
RET C
|
RET C
|
||||||
LD HL,MASKARE
|
;!TEST optimization
|
||||||
LD BC,11
|
;LD HL,MASKARE
|
||||||
LD A,"?"
|
;LD BC,11
|
||||||
CPIR
|
;LD A,"?"
|
||||||
LD A,DSS_Error.sys.INVALID_NAME
|
;CPIR
|
||||||
SCF
|
;LD A,DSS_Error.sys.INVALID_NAME
|
||||||
|
;SCF
|
||||||
|
CALL CHECK_NAME
|
||||||
|
;
|
||||||
RET Z
|
RET Z
|
||||||
CALL LOADDIR
|
CALL LOADDIR
|
||||||
CALL SEARCH.Dir
|
CALL SEARCH.Dir
|
||||||
@ -1372,7 +1367,6 @@ RMKTIME:
|
|||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
; HL - 11 bytes filename "FILENAMEEXT"
|
; HL - 11 bytes filename "FILENAMEEXT"
|
||||||
; DE - DOS filename "FILENAME.EXT",0
|
; DE - DOS filename "FILENAME.EXT",0
|
||||||
;!FIXIT ¥ª®àà¥ªâ® à ¡®â ¥â
|
|
||||||
; GETNAME:
|
; GETNAME:
|
||||||
; LD BC,#08FF
|
; LD BC,#08FF
|
||||||
; .GETN1: LD A,(HL)
|
; .GETN1: LD A,(HL)
|
||||||
@ -1460,7 +1454,7 @@ SEARCH:
|
|||||||
.File: LD A,FAT_ATTR.NoDIRnoVolID
|
.File: LD A,FAT_ATTR.NoDIRnoVolID
|
||||||
.Custom: EX AF,AF' ; A = 76ADLSHR
|
.Custom: EX AF,AF' ; A = 76ADLSHR
|
||||||
SET_PAGE_X DIRPAGE
|
SET_PAGE_X DIRPAGE
|
||||||
PUSH AF
|
;PUSH AF
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
;
|
;
|
||||||
CPL
|
CPL
|
||||||
@ -1508,8 +1502,10 @@ SEARCH:
|
|||||||
EX DE,HL
|
EX DE,HL
|
||||||
LD BC,HANDBUF.SIZE
|
LD BC,HANDBUF.SIZE
|
||||||
LDIR
|
LDIR
|
||||||
POP AF
|
;POP AF
|
||||||
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
EX AF,AF'
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
.next_record:
|
.next_record:
|
||||||
@ -1522,14 +1518,16 @@ SEARCH:
|
|||||||
ADD IX,DE
|
ADD IX,DE
|
||||||
JR NC,.loop
|
JR NC,.loop
|
||||||
.error_too_many_files:
|
.error_too_many_files:
|
||||||
POP AF
|
;POP AF
|
||||||
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,DSS_Error.sys.TOO_MANY_FILES_IN_DIR
|
LD A,DSS_Error.sys.TOO_MANY_FILES_IN_DIR
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
.error_file_not_found:
|
.error_file_not_found:
|
||||||
POP AF
|
;POP AF
|
||||||
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,DSS_Error.sys.FILE_NOT_FOUND
|
LD A,DSS_Error.sys.FILE_NOT_FOUND
|
||||||
SCF
|
SCF
|
||||||
@ -1559,10 +1557,8 @@ GETWORD:
|
|||||||
INC HL
|
INC HL
|
||||||
INC HL
|
INC HL
|
||||||
PUSH HL
|
PUSH HL
|
||||||
;!TEST CHNDISK OPENDSK
|
CALL CHNDISK
|
||||||
CALL CHNDISK
|
;CALL OPENDSK
|
||||||
;CALL OPENDSK
|
|
||||||
;
|
|
||||||
POP HL
|
POP HL
|
||||||
RET C
|
RET C
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
@ -1663,7 +1659,7 @@ OPENDSK:
|
|||||||
|
|
||||||
|
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
OPENDIR:;!TEST ;[ ] some optimize
|
OPENDIR:;!TEST ;[x] some optimize
|
||||||
;XOR A
|
;XOR A
|
||||||
;CALL SET_FM
|
;CALL SET_FM
|
||||||
LD IY,CORE_BUFFERS.FM_BUF
|
LD IY,CORE_BUFFERS.FM_BUF
|
||||||
@ -1673,7 +1669,7 @@ OPENDIR:;!TEST ;[ ] some optimize
|
|||||||
JR NZ,.SUBDIR
|
JR NZ,.SUBDIR
|
||||||
.REROOT1:
|
.REROOT1:
|
||||||
LD DE,0
|
LD DE,0
|
||||||
;!TEST ;[ ] some optimize
|
;!TEST ;[x] some optimize
|
||||||
;LD (IY+_sFM.ST_CLUSTER),E
|
;LD (IY+_sFM.ST_CLUSTER),E
|
||||||
;LD (IY+_sFM.ST_CLUSTER+1),D
|
;LD (IY+_sFM.ST_CLUSTER+1),D
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
@ -1691,7 +1687,7 @@ OPENDIR:;!TEST ;[ ] some optimize
|
|||||||
.SUBDIR:
|
.SUBDIR:
|
||||||
CP "."
|
CP "."
|
||||||
JR NZ,.SUBDIR2
|
JR NZ,.SUBDIR2
|
||||||
;!TEST ;[ ] some optimize
|
;!TEST ;[x] some optimize
|
||||||
;LD A,(IY+_sFM.ST_CLUSTER) ;R05
|
;LD A,(IY+_sFM.ST_CLUSTER) ;R05
|
||||||
LD A,(CORE_BUFFERS.FM_BUF + _sFM.ST_CLUSTER) ;R05
|
LD A,(CORE_BUFFERS.FM_BUF + _sFM.ST_CLUSTER) ;R05
|
||||||
;
|
;
|
||||||
@ -1721,7 +1717,7 @@ OPENDIR:;!TEST ;[ ] some optimize
|
|||||||
.SUBDIR3:
|
.SUBDIR3:
|
||||||
CALL FINDDIR
|
CALL FINDDIR
|
||||||
RET C
|
RET C
|
||||||
;!TEST ;[ ] some optimize
|
;!TEST ;[x] some optimize
|
||||||
;LD (IY+_sFM.ST_CLUSTER),E
|
;LD (IY+_sFM.ST_CLUSTER),E
|
||||||
;LD (IY+_sFM.ST_CLUSTER+1),D
|
;LD (IY+_sFM.ST_CLUSTER+1),D
|
||||||
;LD DE,#4000 ;!HARDCODE
|
;LD DE,#4000 ;!HARDCODE
|
||||||
@ -1783,7 +1779,8 @@ FINDDIR:
|
|||||||
INC HL
|
INC HL
|
||||||
LD BC,WorkDirectory.DEPTH
|
LD BC,WorkDirectory.DEPTH
|
||||||
XOR A
|
XOR A
|
||||||
CPIR ;!FIXIT ¥â ¯à®¢¥àª¨ § ¢¥à襨¥ ¯® BC=0
|
CPIR
|
||||||
|
JP PO,.error ;[x] 20/11/23 ¯à®¢¥àª ¢ë室 § £à ¨æë
|
||||||
DEC HL ;R09
|
DEC HL ;R09
|
||||||
DEC HL
|
DEC HL
|
||||||
LD BC,WorkDirectory.DEPTH
|
LD BC,WorkDirectory.DEPTH
|
||||||
@ -1813,52 +1810,53 @@ FINDDIR:
|
|||||||
LD HL,WorkDirectory+1
|
LD HL,WorkDirectory+1
|
||||||
LD BC,WorkDirectory.DEPTH-1
|
LD BC,WorkDirectory.DEPTH-1
|
||||||
CALL .CHECK_SLASH
|
CALL .CHECK_SLASH
|
||||||
|
JR C,.error
|
||||||
;R11
|
;R11
|
||||||
LD A,B
|
LD A,B
|
||||||
AND A
|
AND A
|
||||||
JR NZ,.nxt
|
JR NZ,.nxt
|
||||||
LD A,C
|
LD A,C
|
||||||
CP 8+1+3 ;!HARDCODE ¨¬ï ª â «®£ + â®çª + à áè¨à¥¨¥
|
CP 8+1+3 ;!HARDCODE ¨¬ï ª â «®£ + â®çª + à áè¨à¥¨¥
|
||||||
JR C,FINDDIR.error
|
JR C,.error
|
||||||
.nxt: ;
|
.nxt: ;
|
||||||
LD E,XL
|
LD E,XL
|
||||||
LD D,XH
|
LD D,XH
|
||||||
; [ ] ®¯â¨¬¨§ æ¨ï ¯® à §¬¥àã
|
; [x] ®¯â¨¬¨§ æ¨ï ¯® à §¬¥àã
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
CALL GETNAME
|
CALL GETNAME
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
;
|
;
|
||||||
/*
|
|
||||||
LD BC,256*8 + ' ' ;!HARDCODE
|
; LD BC,256*8 + ' ' ;!HARDCODE
|
||||||
.MM1: LD A,(DE)
|
; .MM1: LD A,(DE)
|
||||||
INC DE
|
; INC DE
|
||||||
CP C
|
; CP C
|
||||||
JR Z,.MM2
|
; JR Z,.MM2
|
||||||
LD (HL),A ;!FIXIT ¢®â âãâ ¬®¦¥â ¢ë«¥§ âì § ¯à¥¤¥«ë ¡ãä¥à ¯à¨ ¤«¨®¬ ¯ã⨠¨ £à®å âì ª®¤ ¨ ¤ ë¥. R11 ¢à¥¬¥® «¥ç¨â ª®áâë«ñ¬
|
; LD (HL),A
|
||||||
INC HL
|
; INC HL
|
||||||
.MM2 DJNZ .MM1 ;x42-40 50-55
|
; .MM2 DJNZ .MM1 ;x42-40 50-55
|
||||||
LD A,(DE)
|
; LD A,(DE)
|
||||||
INC DE
|
; INC DE
|
||||||
CP C
|
; CP C
|
||||||
JR Z,.MM3
|
; JR Z,.MM3
|
||||||
LD (HL),"."
|
; LD (HL),"."
|
||||||
INC HL
|
; INC HL
|
||||||
LD (HL),A
|
; LD (HL),A
|
||||||
INC HL
|
; INC HL
|
||||||
LD A,(DE)
|
; LD A,(DE)
|
||||||
INC DE
|
; INC DE
|
||||||
CP C
|
; CP C
|
||||||
JR Z,.MM3
|
; JR Z,.MM3
|
||||||
LD (HL),A
|
; LD (HL),A
|
||||||
INC HL
|
; INC HL
|
||||||
LD A,(DE)
|
; LD A,(DE)
|
||||||
CP C
|
; CP C
|
||||||
JR Z,.MM3
|
; JR Z,.MM3
|
||||||
LD (HL),A
|
; LD (HL),A
|
||||||
.MM2_5: INC HL
|
; .MM2_5: INC HL
|
||||||
.MM3: LD (HL),0
|
; .MM3: LD (HL),0
|
||||||
; JP IT_DIR
|
; ; JP IT_DIR
|
||||||
*/
|
|
||||||
.IT_DIR:
|
.IT_DIR:
|
||||||
LD E,(IX+_sFM.ST_CLUSTER)
|
LD E,(IX+_sFM.ST_CLUSTER)
|
||||||
LD D,(IX+_sFM.ST_CLUSTER+1)
|
LD D,(IX+_sFM.ST_CLUSTER+1)
|
||||||
@ -1868,7 +1866,11 @@ FINDDIR:
|
|||||||
RET
|
RET
|
||||||
.CHECK_SLASH:
|
.CHECK_SLASH:
|
||||||
XOR A
|
XOR A
|
||||||
CPIR ;!FIXIT ¥â ¯à®¢¥àª¨ § ¢¥à襨¥ ¯® BC=0
|
CPIR
|
||||||
|
;[x] 20/11/23 ¯à®¢¥àª ¢ë室 § £à ¨æë
|
||||||
|
SCF
|
||||||
|
RET PO
|
||||||
|
;
|
||||||
DEC HL
|
DEC HL
|
||||||
DEC HL
|
DEC HL
|
||||||
LD A,'\' ; #5C
|
LD A,'\' ; #5C
|
||||||
@ -2254,11 +2256,25 @@ DIR_PATH_CHECK: LD A,(HL)
|
|||||||
CP (HL)
|
CP (HL)
|
||||||
RET
|
RET
|
||||||
.gotoPath: CALL FINDDIR.CHECK_SLASH
|
.gotoPath: CALL FINDDIR.CHECK_SLASH
|
||||||
|
LD A,DSS_Error.sys.PATH_NOT_FOUND
|
||||||
|
RET C
|
||||||
LD HL,CurrentPath
|
LD HL,CurrentPath
|
||||||
JP GETWORD
|
JP GETWORD
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
|
|
||||||
|
|
||||||
|
;----------------------------------------------------------------------;
|
||||||
|
CHECK_NAME:
|
||||||
|
LD HL,MASKARE
|
||||||
|
.custom: LD BC,11 ;!HARDCODE
|
||||||
|
LD A,"?"
|
||||||
|
CPIR
|
||||||
|
LD A,DSS_Error.sys.INVALID_NAME
|
||||||
|
SCF
|
||||||
|
RET
|
||||||
|
;----------------------------------------------------------------------;
|
||||||
|
|
||||||
|
|
||||||
;!FIXIT ª ¡ãä¥à ¬
|
;!FIXIT ª ¡ãä¥à ¬
|
||||||
; Œ áᨢ «®£. ®¬¥à®¢ ¡ ®ª à áè¨à¥¨ï DSS
|
; Œ áᨢ «®£. ®¬¥à®¢ ¡ ®ª à áè¨à¥¨ï DSS
|
||||||
BANKTBL: BLOCK USING_MEMPAGES+1,#FF ; +1 ¤«ï COREPAGE
|
BANKTBL: BLOCK USING_MEMPAGES+1,#FF ; +1 ¤«ï COREPAGE
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
618
|
607
|
||||||
@ -1 +1 @@
|
|||||||
Subproject commit b69773d50cb2c0e1da44f7f20c7daa32871f2308
|
Subproject commit 18269745815d90e76686f5693e0cb45f8f31741c
|
||||||
Loading…
Reference in New Issue
Block a user