mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-16 01:41:17 +03:00
bug fixing
This commit is contained in:
parent
6333672fa6
commit
f93e0ad5b2
@ -1,6 +1,7 @@
|
|||||||
!FIXIT
|
!FIXIT
|
||||||
[ ] D:\>copy dss\system.dos c:\system.dos
|
[ ] D:\>copy dss\system.dos c:\system.dos (bp 812d, 8136)
|
||||||
Can't open source file
|
Can't open source file
|
||||||
|
|
||||||
[ ] E:\BIN\MENU>c:\dss
|
[ ] E:\BIN\MENU>c:\dss
|
||||||
çâ®-â® ¯à® § ¯®«¥®áâì ¤¨à¥ªâ®à¨¨
|
çâ®-â® ¯à® § ¯®«¥®áâì ¤¨à¥ªâ®à¨¨
|
||||||
[ ] C:\????? ¨«¨ ?????
|
[ ] C:\????? ¨«¨ ?????
|
||||||
|
|||||||
264
DSS/DOS5.ASM
264
DSS/DOS5.ASM
@ -39,7 +39,7 @@ ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
RET C
|
RET C
|
||||||
LD A,C
|
LD A,C
|
||||||
;
|
;
|
||||||
|
;
|
||||||
INC B
|
INC B
|
||||||
DEC B
|
DEC B
|
||||||
JP Z,.RATTRIB
|
JP Z,.RATTRIB
|
||||||
@ -49,21 +49,31 @@ ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
.RATTRIB:
|
.RATTRIB:
|
||||||
XOR A
|
;!TEST ;[ ] 16/11/23 optimize get attribute
|
||||||
|
;XOR A
|
||||||
|
;
|
||||||
CALL .OPENATR ;R02
|
CALL .OPENATR ;R02
|
||||||
RET C
|
RET C
|
||||||
LD B,(IY+_sFM.ATTRIBUT)
|
;!TEST ;[ ] 16/11/23 optimize get attribute
|
||||||
PUSH BC
|
LD A,(HANDBUF+_sFM.ATTRIBUT)
|
||||||
CALL CLOSE
|
;LD B,(IY+_sFM.ATTRIBUT)
|
||||||
POP BC
|
;PUSH BC
|
||||||
RET C
|
;CALL CLOSE
|
||||||
LD A,B
|
;POP BC
|
||||||
;AND A
|
;RET C
|
||||||
|
;LD A,B
|
||||||
|
;
|
||||||
RET
|
RET
|
||||||
.WATTRIB:
|
.WATTRIB:
|
||||||
PUSH AF
|
PUSH AF
|
||||||
XOR A
|
XOR A
|
||||||
|
;!TEST ;[ ] 16/11/23 optimize get attribute
|
||||||
|
LD (OPEN.TMP),A
|
||||||
|
;
|
||||||
CALL .OPENATR ;R02
|
CALL .OPENATR ;R02
|
||||||
|
;!TEST ;[ ] 16/11/23 optimize get attribute
|
||||||
|
CALL NC,OPEN.FM
|
||||||
|
;
|
||||||
POP BC
|
POP BC
|
||||||
RET C
|
RET C
|
||||||
SET 7,(IY+_sFM.ACCESS_MODE)
|
SET 7,(IY+_sFM.ACCESS_MODE)
|
||||||
@ -71,27 +81,27 @@ ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
LD (IY+_sFM.ATTRIBUT),B
|
LD (IY+_sFM.ATTRIBUT),B
|
||||||
PUSH BC
|
PUSH BC
|
||||||
CALL CLOSE
|
CALL CLOSE
|
||||||
POP BC
|
.error: POP BC
|
||||||
RET C
|
RET C
|
||||||
LD A,B
|
LD A,B
|
||||||
;AND A
|
|
||||||
RET
|
RET
|
||||||
;R02
|
;R02
|
||||||
.OPENATR:
|
.OPENATR:
|
||||||
LD (OPEN.TMP),A ; à ¡. ï祩ª (§¤¥áì âਡãâ § ¯¨á¨)
|
;!TEST ;[ ] 16/11/23 optimize get attribute
|
||||||
|
;LD (OPEN.TMP),A ; à ¡. ï祩ª (§¤¥áì âਡãâ § ¯¨á¨)
|
||||||
|
;
|
||||||
CALL GETWORD ; â¥áâ ¤®¯ãáâ. ¨¬ï ¨ áâà. ¤¨áª
|
CALL GETWORD ; â¥áâ ¤®¯ãáâ. ¨¬ï ¨ áâà. ¤¨áª
|
||||||
RET C
|
RET C
|
||||||
; LD HL,TMPNAME
|
|
||||||
; LD DE,MASKARE
|
|
||||||
CALL MASK
|
CALL MASK
|
||||||
RET C
|
RET C
|
||||||
LD A,FAT_ATTR.NoVolID
|
LD A,FAT_ATTR.NoVolID
|
||||||
CALL SEARCH.Custom
|
;!TEST ;[ ] 16/11/23 optimize get attribute
|
||||||
; JR NC,OPENAT ; ¯®¨áª ᢮¡. ¤¥áªà¨¯â®à
|
JP SEARCH.Custom
|
||||||
; ; § ¯¨áì ¥ ©¤¥
|
;CALL SEARCH.Custom
|
||||||
; RET
|
;RET C ; § ¯¨áì ¥ ©¤¥
|
||||||
RET C ; § ¯¨áì ¥ ©¤¥
|
;JP OPEN.FM ; ¯®¨áª ᢮¡. ¤¥áªà¨¯â®à
|
||||||
JP OPEN.FM ; ¯®¨áª ᢮¡. ¤¥áªà¨¯â®à
|
;
|
||||||
|
;
|
||||||
;R02
|
;R02
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
@ -308,28 +318,24 @@ RENAME: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
; CF=1, A - ª®¤ ®è¨¡ª¨.
|
; CF=1, A - ª®¤ ®è¨¡ª¨.
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
OPEN_FN:;!TEST Current Dir ;[x] 15/10/23
|
OPEN_FN:;!TEST Current Dir ;[x] 15/10/23
|
||||||
LD C,A
|
LD (OPEN.TMP),A
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
|
||||||
CALL DIR_PATH_CHECK.forceCheck
|
CALL DIR_PATH_CHECK.forceCheck
|
||||||
POP BC
|
|
||||||
POP HL
|
POP HL
|
||||||
RET C
|
RET C
|
||||||
LD A,C
|
JR OPEN.start
|
||||||
;!FIXIT ᤥ« âì ª ª ¢ mkdir ¨«¨ rmdir?
|
;!FIXIT ᤥ« âì ª ª ¢ mkdir ¨«¨ rmdir?
|
||||||
;
|
;
|
||||||
;R08
|
;R08
|
||||||
OPEN: LD (.TMP),A ; enter point for CREATE
|
OPEN: LD (.TMP),A ; enter point from CREATE
|
||||||
CALL GETWORD
|
.start: CALL GETWORD
|
||||||
RET C
|
RET C
|
||||||
; LD HL,TMPNAME
|
CALL MASK ; enter point from OPEN_FN
|
||||||
; LD DE,MASKARE
|
|
||||||
CALL MASK
|
|
||||||
RET C
|
RET C
|
||||||
.FILE: CALL SEARCH.File ; enter point for EXEC
|
.FILE: CALL SEARCH.File ; enter point from EXEC
|
||||||
RET C
|
RET C
|
||||||
;R02
|
;R02
|
||||||
.FM: CALL GET_FM ; enter point for ATTRIB
|
.FM: CALL GET_FM ; enter point from ATTRIB
|
||||||
RET C
|
RET C
|
||||||
LD A,C
|
LD A,C
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
@ -1204,8 +1210,6 @@ DOSNAME:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
; —⥨¥ ॣ¨áâ஢ CMOS
|
; —⥨¥ ॣ¨áâ஢ CMOS
|
||||||
; ¢å®¤: d=®¬¥à ॣ¨áâà
|
; ¢å®¤: d=®¬¥à ॣ¨áâà
|
||||||
@ -1368,32 +1372,69 @@ 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:
|
||||||
|
; LD BC,#08FF
|
||||||
|
; .GETN1: LD A,(HL)
|
||||||
|
; CP " "
|
||||||
|
; JR NZ,.GETN3
|
||||||
|
; .GETN2: INC HL
|
||||||
|
; DJNZ .GETN2
|
||||||
|
; JR .GETN4
|
||||||
|
; .GETN3: LDI
|
||||||
|
; DJNZ .GETN1
|
||||||
|
; ;
|
||||||
|
; .GETN4: LD A,(HL)
|
||||||
|
; CP " "
|
||||||
|
; LD A,"."
|
||||||
|
; JR NZ,.GETN5
|
||||||
|
; LD A,#00
|
||||||
|
; .GETN5: LD (DE),A
|
||||||
|
; INC DE
|
||||||
|
; RET Z
|
||||||
|
; LD B,#03
|
||||||
|
; .GETN6: LD A,(HL)
|
||||||
|
; CP " "
|
||||||
|
; RET Z
|
||||||
|
; LDI
|
||||||
|
; XOR A
|
||||||
|
; LD (DE),A
|
||||||
|
; DJNZ .GETN6
|
||||||
|
; RET
|
||||||
|
;---------------;---------------;---------------
|
||||||
GETNAME:
|
GETNAME:
|
||||||
LD BC,#08FF
|
LD BC,#08FF
|
||||||
.GETN1: LD A,(HL)
|
LD A,' '
|
||||||
CP " "
|
.loop: CP (HL)
|
||||||
JR NZ,.GETN3
|
JR Z,.skip
|
||||||
.GETN2: INC HL
|
|
||||||
DJNZ .GETN2
|
|
||||||
JR .GETN4
|
|
||||||
.GETN3: LDI
|
|
||||||
DJNZ .GETN1
|
|
||||||
.GETN4: LD A,(HL)
|
|
||||||
CP " "
|
|
||||||
LD A,"."
|
|
||||||
JR NZ,.GETN5
|
|
||||||
LD A,#00
|
|
||||||
.GETN5: LD (DE),A
|
|
||||||
INC DE
|
|
||||||
RET Z
|
|
||||||
LD B,#03
|
|
||||||
.GETN6: LD A,(HL)
|
|
||||||
CP " "
|
|
||||||
RET Z
|
|
||||||
LDI
|
LDI
|
||||||
|
DJNZ .loop
|
||||||
|
;;;;
|
||||||
|
JP .extension
|
||||||
|
;;;;
|
||||||
|
.skip: LD C,B
|
||||||
|
LD B,0
|
||||||
|
; CF=0
|
||||||
|
ADC HL,BC
|
||||||
|
;;;;
|
||||||
|
.extension:
|
||||||
|
CP (HL)
|
||||||
|
LD A,"."
|
||||||
|
JR NZ,.copy_extension
|
||||||
XOR A
|
XOR A
|
||||||
|
.copy_extension:
|
||||||
|
LD (DE),A
|
||||||
|
INC DE
|
||||||
|
RET Z ;no copy extension
|
||||||
|
; copy extension
|
||||||
|
LD BC,#03FF ;!HARDCODE ¤«¨ à áè¨à¥¨ï + áçñâ稪
|
||||||
|
LD A,' '
|
||||||
|
.loop2: CP (HL)
|
||||||
|
JR Z,.exit
|
||||||
|
LDI
|
||||||
|
DJNZ .loop2
|
||||||
|
.exit: XOR A
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
DJNZ .GETN6
|
|
||||||
RET
|
RET
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
|
|
||||||
@ -1403,6 +1444,7 @@ GETNAME:
|
|||||||
;
|
;
|
||||||
; ¢å®¤: a= âਡãâ § ¯¨á¨
|
; ¢å®¤: a= âਡãâ § ¯¨á¨
|
||||||
; ¢ë室: de'=¨¤¥ªá § ¯¨á¨ ¢ ᯨ᪥ ª â «®£
|
; ¢ë室: de'=¨¤¥ªá § ¯¨á¨ ¢ ᯨ᪥ ª â «®£
|
||||||
|
; (HANDBUF) = file's direcory record
|
||||||
; CF - ª â «®£ ¥ ©¤¥
|
; CF - ª â «®£ ¥ ©¤¥
|
||||||
SEARCH:
|
SEARCH:
|
||||||
.Dir: LD A,FAT_ATTR.DIRECTORY
|
.Dir: LD A,FAT_ATTR.DIRECTORY
|
||||||
@ -1498,6 +1540,7 @@ SEARCH:
|
|||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
; ’¥áâ ¤®¯ãá⨬®¥ ¨¬ï ¨ áâநâìáï ¤¨áª.
|
; ’¥áâ ¤®¯ãá⨬®¥ ¨¬ï ¨ áâநâìáï ¤¨áª.
|
||||||
; ¢å®¤: hl=áâப ¨¬¥¨
|
; ¢å®¤: hl=áâப ¨¬¥¨
|
||||||
|
; ¢ë室: (TMPNAME)
|
||||||
GETWORD:
|
GETWORD:
|
||||||
; !TEST
|
; !TEST
|
||||||
INC HL
|
INC HL
|
||||||
@ -1517,11 +1560,21 @@ GETWORD:
|
|||||||
INC HL
|
INC HL
|
||||||
PUSH HL
|
PUSH HL
|
||||||
;!TEST CHNDISK OPENDSK
|
;!TEST CHNDISK OPENDSK
|
||||||
;CALL OPENDSK
|
|
||||||
CALL CHNDISK
|
CALL CHNDISK
|
||||||
|
;CALL OPENDSK
|
||||||
;
|
;
|
||||||
POP HL
|
POP HL
|
||||||
RET C
|
RET C
|
||||||
|
LD A,(HL)
|
||||||
|
OR A
|
||||||
|
RET Z
|
||||||
|
CP ' ' ;
|
||||||
|
RET Z
|
||||||
|
CP '\' ;
|
||||||
|
SCF
|
||||||
|
LD A,DSS_Error.sys.PATH_NOT_FOUND
|
||||||
|
RET NZ
|
||||||
|
INC HL
|
||||||
;
|
;
|
||||||
.dir_loop:
|
.dir_loop:
|
||||||
LD DE,TMPNAME
|
LD DE,TMPNAME
|
||||||
@ -1529,7 +1582,7 @@ GETWORD:
|
|||||||
;
|
;
|
||||||
.loop: LD A,(HL)
|
.loop: LD A,(HL)
|
||||||
INC HL
|
INC HL
|
||||||
CP '\'
|
CP '\' ;
|
||||||
JR Z,.DIR_NAME
|
JR Z,.DIR_NAME
|
||||||
; AND A
|
; AND A
|
||||||
; JR Z,.DIR_NAME
|
; JR Z,.DIR_NAME
|
||||||
@ -1544,6 +1597,7 @@ GETWORD:
|
|||||||
LD A,DSS_Error.sys.INVALID_NAME
|
LD A,DSS_Error.sys.INVALID_NAME
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
;
|
||||||
.DIR_NAME:
|
.DIR_NAME:
|
||||||
XOR A
|
XOR A
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
@ -1631,7 +1685,8 @@ OPENDIR:;!TEST ;[ ] some optimize
|
|||||||
LD (HL),'\'
|
LD (HL),'\'
|
||||||
INC HL
|
INC HL
|
||||||
LD (HL),#00
|
LD (HL),#00
|
||||||
AND A
|
; CF=0
|
||||||
|
;AND A
|
||||||
RET
|
RET
|
||||||
.SUBDIR:
|
.SUBDIR:
|
||||||
CP "."
|
CP "."
|
||||||
@ -1679,7 +1734,8 @@ OPENDIR:;!TEST ;[ ] some optimize
|
|||||||
EX DE,HL
|
EX DE,HL
|
||||||
;
|
;
|
||||||
CALL LOADDIR
|
CALL LOADDIR
|
||||||
AND A
|
; CF=0
|
||||||
|
;AND A
|
||||||
RET
|
RET
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
|
|
||||||
@ -1691,97 +1747,96 @@ FINDDIR:
|
|||||||
;
|
;
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD IX,DIRPAGE.buffer
|
LD IX,DIRPAGE.buffer
|
||||||
.F_01: LD A,(IX+00)
|
.big_loop:
|
||||||
|
LD A,(IX+00)
|
||||||
OR A
|
OR A
|
||||||
JR Z,.error
|
JR Z,.error
|
||||||
CP #E5
|
CP #E5
|
||||||
JR Z,.F_03
|
JR Z,.next_step
|
||||||
LD A,(IX+11)
|
LD A,(IX+11) ;!HARDCODE
|
||||||
AND #10
|
AND #10 ;!HARDCODE
|
||||||
JR Z,.F_03
|
JR Z,.next_step
|
||||||
LD HL,MASKARE
|
LD HL,MASKARE
|
||||||
LD D,XH
|
LD D,XH
|
||||||
LD E,XL
|
LD E,XL
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
LD B,11
|
LD B,11 ;!HARDCODE
|
||||||
.loop: LD A,(DE)
|
.loop: LD A,(DE)
|
||||||
CP "?"
|
CP "?"
|
||||||
JR Z,.F_05
|
JR Z,.compared
|
||||||
CP (HL)
|
CP (HL)
|
||||||
JR NZ,.F_03
|
JR NZ,.next_step
|
||||||
.F_05: INC HL
|
.compared:
|
||||||
|
INC HL
|
||||||
INC DE
|
INC DE
|
||||||
DJNZ .loop
|
DJNZ .loop
|
||||||
|
;
|
||||||
LD A,(IX+0)
|
LD A,(IX+0)
|
||||||
CP "."
|
CP "."
|
||||||
JP NZ,.ADDSPEC
|
JP NZ,.ADDSPEC
|
||||||
LD A,(IX+1)
|
LD A,(IX+1) ;!HARDCODE
|
||||||
CP "."
|
CP "."
|
||||||
JP NZ,.IT_DIR
|
JP NZ,.IT_DIR
|
||||||
;LD HL,CurrentDirectory
|
|
||||||
LD HL,WorkDirectory
|
LD HL,WorkDirectory
|
||||||
LD D,H
|
LD D,H
|
||||||
LD E,L
|
LD E,L
|
||||||
INC HL
|
INC HL
|
||||||
;LD BC,CurrentDirectory.DEPTH
|
|
||||||
LD BC,WorkDirectory.DEPTH
|
LD BC,WorkDirectory.DEPTH
|
||||||
XOR A
|
XOR A
|
||||||
CPIR ;!FIXIT ¥â ¯à®¢¥àª¨ § ¢¥à襨¥ ¯® BC=0
|
CPIR ;!FIXIT ¥â ¯à®¢¥àª¨ § ¢¥à襨¥ ¯® BC=0
|
||||||
DEC HL ;R09 ;[x] ¨á¯à ¢«¥ ¡ £ á ¯ àᨣ®¬ ¡ãä¥à ª â «®£
|
DEC HL ;R09
|
||||||
DEC HL
|
DEC HL
|
||||||
;LD BC,CurrentDirectory.DEPTH
|
|
||||||
LD BC,WorkDirectory.DEPTH
|
LD BC,WorkDirectory.DEPTH
|
||||||
LD A,'\'
|
LD A,'\'
|
||||||
CPDR
|
CPDR
|
||||||
INC HL
|
INC HL
|
||||||
;AND A
|
|
||||||
; CF = 0
|
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
|
; CF = 0
|
||||||
SBC HL,DE
|
SBC HL,DE
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
JR NZ,.MM3
|
JR NZ,.MM3
|
||||||
JP .MM2_5
|
INC HL
|
||||||
.F_03: LD BC,#0020
|
.MM3: LD (HL),0
|
||||||
|
JP .IT_DIR
|
||||||
|
;
|
||||||
|
.next_step:
|
||||||
|
LD BC,#0020 ;!HARDCODE
|
||||||
ADD IX,BC
|
ADD IX,BC
|
||||||
JR NC,.F_01
|
JR NC,.big_loop
|
||||||
|
;
|
||||||
.error: POP AF
|
.error: POP AF
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,DSS_Error.sys.PATH_NOT_FOUND
|
LD A,DSS_Error.sys.PATH_NOT_FOUND
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
.ADDSPEC:
|
.ADDSPEC:
|
||||||
LD E,XL
|
|
||||||
LD D,XH
|
|
||||||
LD HL,WorkDirectory+1
|
LD HL,WorkDirectory+1
|
||||||
LD BC,WorkDirectory.DEPTH-1
|
LD BC,WorkDirectory.DEPTH-1
|
||||||
; XOR A
|
|
||||||
; CPIR ;!FIXIT ¥â ¯à®¢¥àª¨ § ¢¥à襨¥ ¯® BC=0
|
|
||||||
; DEC HL
|
|
||||||
; DEC HL
|
|
||||||
; LD A,'\' ; #5C
|
|
||||||
; CP (HL)
|
|
||||||
; INC HL
|
|
||||||
; JR Z,.ADDSPE0
|
|
||||||
; LD (HL),A
|
|
||||||
; INC HL
|
|
||||||
; .ADDSPE0:
|
|
||||||
CALL .CHECK_SLASH
|
CALL .CHECK_SLASH
|
||||||
;R11
|
;R11
|
||||||
LD A,B
|
LD A,B
|
||||||
AND A
|
AND A
|
||||||
JR NZ,.MM1
|
JR NZ,.nxt
|
||||||
LD A,C
|
LD A,C
|
||||||
CP 8
|
CP 8+1+3 ;!HARDCODE ¨¬ï ª â «®£ + â®çª + à áè¨à¥¨¥
|
||||||
JR C,FINDDIR.error
|
JR C,FINDDIR.error
|
||||||
;R11
|
.nxt: ;
|
||||||
LD BC,#0820
|
LD E,XL
|
||||||
|
LD D,XH
|
||||||
|
; [ ] ®¯â¨¬¨§ æ¨ï ¯® à §¬¥àã
|
||||||
|
EX DE,HL
|
||||||
|
CALL GETNAME
|
||||||
|
EX DE,HL
|
||||||
|
;
|
||||||
|
/*
|
||||||
|
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 ;!FIXIT ¢®â âãâ ¬®¦¥â ¢ë«¥§ âì § ¯à¥¤¥«ë ¡ãä¥à ¯à¨ ¤«¨®¬ ¯ã⨠¨ £à®å âì ª®¤ ¨ ¤ ë¥. R11 ¢à¥¬¥® «¥ç¨â ª®áâë«ñ¬
|
||||||
INC HL
|
INC HL
|
||||||
.MM2 DJNZ .MM1
|
.MM2 DJNZ .MM1 ;x42-40 50-55
|
||||||
LD A,(DE)
|
LD A,(DE)
|
||||||
INC DE
|
INC DE
|
||||||
CP C
|
CP C
|
||||||
@ -1803,6 +1858,7 @@ FINDDIR:
|
|||||||
.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)
|
||||||
@ -2138,24 +2194,14 @@ DIR_PATH_CHANGE:
|
|||||||
ADD 'A'
|
ADD 'A'
|
||||||
LD (CurrentPath),A
|
LD (CurrentPath),A
|
||||||
;
|
;
|
||||||
.Current: ;LD HL,WorkDirectory
|
.Current: LD HL,CurrentDirectory
|
||||||
;LD DE,CurrentDirectory
|
|
||||||
;LD BC,DIRECTORY_PATH_LENGTH
|
|
||||||
;LDIR
|
|
||||||
;RET
|
|
||||||
LD HL,CurrentDirectory
|
|
||||||
JP CURRDIR
|
JP CURRDIR
|
||||||
;
|
;
|
||||||
.FullWork: LD A,(CurrentPath)
|
.FullWork: LD A,(CurrentPath)
|
||||||
SUB 'A'
|
SUB 'A'
|
||||||
LD (FatBuffer.DRIVE),A
|
LD (FatBuffer.DRIVE),A
|
||||||
;
|
;
|
||||||
.Work: ;LD HL,CurrentDirectory
|
.Work: LD HL,WorkDirectory
|
||||||
;LD DE,WorkDirectory
|
|
||||||
;LD BC,DIRECTORY_PATH_LENGTH
|
|
||||||
;LDIR
|
|
||||||
;RET
|
|
||||||
LD HL,WorkDirectory
|
|
||||||
JP CURRDIR_FN
|
JP CURRDIR_FN
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -2196,11 +2242,10 @@ DIR_PATH_CHECK: LD A,(HL)
|
|||||||
INC HL
|
INC HL
|
||||||
INC DE
|
INC DE
|
||||||
JR Z,.loop
|
JR Z,.loop
|
||||||
|
JP .gotoPath
|
||||||
;
|
;
|
||||||
JR .ReDir
|
|
||||||
.end: CP (HL)
|
.end: CP (HL)
|
||||||
RET Z
|
RET Z
|
||||||
.ReDir: LD HL,CurrentPath
|
|
||||||
JR .gotoPath
|
JR .gotoPath
|
||||||
;
|
;
|
||||||
.checkDrive: LD HL,CurrentPath
|
.checkDrive: LD HL,CurrentPath
|
||||||
@ -2209,6 +2254,7 @@ DIR_PATH_CHECK: LD A,(HL)
|
|||||||
CP (HL)
|
CP (HL)
|
||||||
RET
|
RET
|
||||||
.gotoPath: CALL FINDDIR.CHECK_SLASH
|
.gotoPath: CALL FINDDIR.CHECK_SLASH
|
||||||
|
LD HL,CurrentPath
|
||||||
JP GETWORD
|
JP GETWORD
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
|
|
||||||
|
|||||||
@ -590,7 +590,7 @@ READ: LD (.R_POINT),HL
|
|||||||
CALL SET_FM
|
CALL SET_FM
|
||||||
RET C
|
RET C
|
||||||
CALL TSTSIZE
|
CALL TSTSIZE
|
||||||
;!FIXIT ¬®¦® ¯¥à¥¥á⨠¢ ç «® ¯à®æ¥¤ãàë
|
;
|
||||||
LD A,D
|
LD A,D
|
||||||
OR E
|
OR E
|
||||||
JP Z,.NOREAD
|
JP Z,.NOREAD
|
||||||
|
|||||||
@ -707,7 +707,6 @@ FINDPATH:
|
|||||||
CALL NZ,CHDIR
|
CALL NZ,CHDIR
|
||||||
JR C,.BADPATH
|
JR C,.BADPATH
|
||||||
LD HL,CORE_BUFFERS.EXEBUFF
|
LD HL,CORE_BUFFERS.EXEBUFF
|
||||||
;LD DE,MASKARE
|
|
||||||
CALL MASK.name
|
CALL MASK.name
|
||||||
JR C,.BADPATH
|
JR C,.BADPATH
|
||||||
CALL TST_EXT
|
CALL TST_EXT
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
595
|
618
|
||||||
Loading…
Reference in New Issue
Block a user