mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
testing
This commit is contained in:
parent
34ee5a9db8
commit
6333672fa6
90
DSS/DOS5.ASM
90
DSS/DOS5.ASM
@ -7,7 +7,7 @@
|
|||||||
;Rev Date Name Description
|
;Rev Date Name Description
|
||||||
;-------------------------------------------------------------
|
;-------------------------------------------------------------
|
||||||
;R11 17-04-2023 BAO ‚६¥ë© ª®áâë«ì ¤«ï ¥¤®¯ã᪠¨ï ¯¥à¥¯®«¥¨ï ¡ãä¥à ¯ã⨠ª â «®£
|
;R11 17-04-2023 BAO ‚६¥ë© ª®áâë«ì ¤«ï ¥¤®¯ã᪠¨ï ¯¥à¥¯®«¥¨ï ¡ãä¥à ¯ã⨠ª â «®£
|
||||||
;R10 15-04-2023 BAO ;????? FIXED BUG WITH CHANGE DISK WITHOUT CHANGE PATH ;!FIXIT ¯®ª ¢ ¢¨¤¥ § ¯« ⪨ ¯®«ã¥à ¡®â î饩
|
;R10 15-04-2023 BAO FIXED BUG WITH CHANGE DISK WITHOUT CHANGE PATH
|
||||||
;R09 13-04-2023 BAO FIX BUG WITH PARSING DIRECTORY BUFFER
|
;R09 13-04-2023 BAO FIX BUG WITH PARSING DIRECTORY BUFFER
|
||||||
;R08 15-04-2003 DNS SAVE AND RESTORE CUR-PATH MACROS
|
;R08 15-04-2003 DNS SAVE AND RESTORE CUR-PATH MACROS
|
||||||
;R07 06-02-2003 DNS FIX BUG IN MASK ROUTINE, IT ALLOW NAMES WHICH BEGAN
|
;R07 06-02-2003 DNS FIX BUG IN MASK ROUTINE, IT ALLOW NAMES WHICH BEGAN
|
||||||
@ -316,7 +316,7 @@ OPEN_FN:;!TEST Current Dir ;[x] 15/10/23
|
|||||||
POP HL
|
POP HL
|
||||||
RET C
|
RET C
|
||||||
LD A,C
|
LD A,C
|
||||||
;!FIXIT ᤥ« âì ª ª ¢ mkdir ¨«¨ rmdir
|
;!FIXIT ᤥ« âì ª ª ¢ mkdir ¨«¨ rmdir?
|
||||||
;
|
;
|
||||||
;R08
|
;R08
|
||||||
OPEN: LD (.TMP),A ; enter point for CREATE
|
OPEN: LD (.TMP),A ; enter point for CREATE
|
||||||
@ -580,12 +580,10 @@ CHNDISK_FN:
|
|||||||
CALL DIR_PATH_CHANGE.FullCurrent
|
CALL DIR_PATH_CHANGE.FullCurrent
|
||||||
POP AF
|
POP AF
|
||||||
RET
|
RET
|
||||||
CHNDISK:
|
CHNDISK:;[x] ¡®«¥¥ ª®à४â ï ᬥ ¤¨áª
|
||||||
;!TEST
|
|
||||||
CALL OPENDSK
|
CALL OPENDSK
|
||||||
;CALL OPENDSK.force
|
|
||||||
;
|
;
|
||||||
;????? R10
|
;R10
|
||||||
RET C
|
RET C
|
||||||
LD HL,WorkDirectory
|
LD HL,WorkDirectory
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
@ -594,10 +592,6 @@ CHNDISK:
|
|||||||
POP BC
|
POP BC
|
||||||
RET C
|
RET C
|
||||||
LD A,B
|
LD A,B
|
||||||
; RET C
|
|
||||||
; PUSH AF
|
|
||||||
; CALL LOADDIR
|
|
||||||
; POP AF
|
|
||||||
RET
|
RET
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
@ -605,19 +599,24 @@ CHNDISK:
|
|||||||
;
|
;
|
||||||
; ¢å®¤: HL - ¡ãä¥à ¢ ¯ ¬ï⨠256 ¡ ©â
|
; ¢å®¤: HL - ¡ãä¥à ¢ ¯ ¬ï⨠256 ¡ ©â
|
||||||
; ¢ë室: A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
; ¢ë室: A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||||
; !FIXIT ¬®¦¥â ¢ë©â¨ § ¯à¥¤¥«ë ¡ãä¥à ?
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
CURRDIR: LD DE,WorkDirectory
|
CURRDIR: LD DE,WorkDirectory
|
||||||
JR CURRDIR_FN.skip
|
JR CURRDIR_FN.skip
|
||||||
CURRDIR_FN:
|
CURRDIR_FN:
|
||||||
LD DE,CurrentDirectory
|
LD DE,CurrentDirectory
|
||||||
.skip: EX DE,HL
|
.skip: EX DE,HL
|
||||||
|
LD BC,DIRECTORY_PATH_LENGTH ;[x] 15/11/2023 ¬®£«® ¢ë©â¨ § ¯à¥¤¥«ë ¡ãä¥à
|
||||||
XOR A
|
XOR A
|
||||||
.loop: CP (HL)
|
.loop: CP (HL)
|
||||||
LDI
|
LDI
|
||||||
|
JP PO,.error ;[x] 15/11/2023 ¬®£«® ¢ë©â¨ § ¯à¥¤¥«ë ¡ãä¥à
|
||||||
JR NZ,.loop
|
JR NZ,.loop
|
||||||
RET
|
RET
|
||||||
|
;[x] 15/11/2023 ¬®£«® ¢ë©â¨ § ¯à¥¤¥«ë ¡ãä¥à
|
||||||
|
.error: LD A,DSS_Error.sys.TOO_DEEP_DIR_DEPTH
|
||||||
|
SCF
|
||||||
|
RET
|
||||||
|
;
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
; ”ãªæ¨ï #21. ’¥ªãé ï ¤ â ¨ ¢à¥¬ï.
|
; ”ãªæ¨ï #21. ’¥ªãé ï ¤ â ¨ ¢à¥¬ï.
|
||||||
;
|
;
|
||||||
@ -1023,8 +1022,8 @@ MKDIR: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
LD E,L
|
LD E,L
|
||||||
INC DE
|
INC DE
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
LD BC,512-65
|
LD BC,512-65 ;!HARDCODE
|
||||||
LDIR ;!FIXIT 㦮 «¨ â ª ¬®£® £à®å âì?
|
LDIR
|
||||||
;
|
;
|
||||||
POP HL
|
POP HL
|
||||||
CALL NSECTOR
|
CALL NSECTOR
|
||||||
@ -1049,7 +1048,7 @@ MKDIR: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
LD DE,CORE_BUFFERS.SECBUF+1
|
LD DE,CORE_BUFFERS.SECBUF+1
|
||||||
LD BC,511
|
LD BC,511
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
LDIR ;!FIXIT 㦮 «¨ â ª ¬®£® £à®å âì?
|
LDIR
|
||||||
;
|
;
|
||||||
POP IX
|
POP IX
|
||||||
POP HL
|
POP HL
|
||||||
@ -1453,7 +1452,7 @@ SEARCH:
|
|||||||
INC HL
|
INC HL
|
||||||
INC DE
|
INC DE
|
||||||
DJNZ .loop_compare
|
DJNZ .loop_compare
|
||||||
;!TEST 9/11/23
|
;!TEST 9/11/23 ;[x] some optimize
|
||||||
; LD D,XH
|
; LD D,XH
|
||||||
; LD E,XL
|
; LD E,XL
|
||||||
LD D,XH
|
LD D,XH
|
||||||
@ -1472,7 +1471,7 @@ SEARCH:
|
|||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
.next_record:
|
.next_record:
|
||||||
;!TEST 9/11/23
|
;!TEST 9/11/23 ;[x] some optimize
|
||||||
; EXX
|
; EXX
|
||||||
; INC DE
|
; INC DE
|
||||||
; EXX
|
; EXX
|
||||||
@ -1580,9 +1579,9 @@ TMPNAME: DZ ' ' ; 12
|
|||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
; IN: A - drive number
|
; IN: A - drive number
|
||||||
;
|
;
|
||||||
;????? R10
|
|
||||||
OPENDSK:
|
OPENDSK:
|
||||||
;!TEST DRV.Open ®¡å®¤
|
;!TEST DRV.Open ®¡å®¤ R10
|
||||||
LD C,A
|
LD C,A
|
||||||
LD A,(FatBuffer.DRIVE)
|
LD A,(FatBuffer.DRIVE)
|
||||||
CP C
|
CP C
|
||||||
@ -1610,19 +1609,25 @@ OPENDSK:
|
|||||||
|
|
||||||
|
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
OPENDIR:
|
OPENDIR:;!TEST ;[ ] some optimize
|
||||||
XOR A
|
;XOR A
|
||||||
CALL SET_FM
|
;CALL SET_FM
|
||||||
|
LD IY,CORE_BUFFERS.FM_BUF
|
||||||
|
;
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
OR A
|
OR A
|
||||||
JR NZ,.SUBDIR
|
JR NZ,.SUBDIR
|
||||||
.REROOT1:
|
.REROOT1:
|
||||||
LD DE,0
|
LD DE,0
|
||||||
LD (IY+_sFM.ST_CLUSTER),E
|
;!TEST ;[ ] some optimize
|
||||||
LD (IY+_sFM.ST_CLUSTER+1),D
|
;LD (IY+_sFM.ST_CLUSTER),E
|
||||||
|
;LD (IY+_sFM.ST_CLUSTER+1),D
|
||||||
|
EX DE,HL
|
||||||
|
LD (CORE_BUFFERS.FM_BUF + _sFM.ST_CLUSTER),HL
|
||||||
|
EX DE,HL
|
||||||
|
;
|
||||||
CALL LOADDIR
|
CALL LOADDIR
|
||||||
;LD HL,CurrentDirectory
|
LD HL,WorkDirectory
|
||||||
.dir+1: LD HL,WorkDirectory
|
|
||||||
LD (HL),'\'
|
LD (HL),'\'
|
||||||
INC HL
|
INC HL
|
||||||
LD (HL),#00
|
LD (HL),#00
|
||||||
@ -1631,8 +1636,11 @@ OPENDIR:
|
|||||||
.SUBDIR:
|
.SUBDIR:
|
||||||
CP "."
|
CP "."
|
||||||
JR NZ,.SUBDIR2
|
JR NZ,.SUBDIR2
|
||||||
LD A,(IY+_sFM.ST_CLUSTER) ;R05 ;!FIXIT ¬®¦® ¯¥à¥¤¥« âì ¯àï¬ë¥ áá뫪¨ ¡¥§ IY
|
;!TEST ;[ ] some optimize
|
||||||
OR (IY+_sFM.ST_CLUSTER+1) ;R05 ;!FIXIT ¬®¦® ¯¥à¥¤¥« âì ¯àï¬ë¥ áá뫪¨ ¡¥§ IY
|
;LD A,(IY+_sFM.ST_CLUSTER) ;R05
|
||||||
|
LD A,(CORE_BUFFERS.FM_BUF + _sFM.ST_CLUSTER) ;R05
|
||||||
|
;
|
||||||
|
OR (IY+_sFM.ST_CLUSTER+1) ;R05
|
||||||
JR NZ,.SUDI1 ;R05
|
JR NZ,.SUDI1 ;R05
|
||||||
INC HL ;R05
|
INC HL ;R05
|
||||||
LD A,(HL) ;R05
|
LD A,(HL) ;R05
|
||||||
@ -1640,7 +1648,7 @@ OPENDIR:
|
|||||||
DEC HL ;R05
|
DEC HL ;R05
|
||||||
JR Z,.REROOT1 ;R05
|
JR Z,.REROOT1 ;R05
|
||||||
.SUDI1: EXX
|
.SUDI1: EXX
|
||||||
LD HL,MASKARE ;!FIXIT ¬®¦® ¥ § â¨à âì ¯à¥¤¢ à¨â¥«ì®?
|
LD HL,MASKARE
|
||||||
LD DE,MASKARE+1
|
LD DE,MASKARE+1
|
||||||
LD BC,10 ;!HARDCODE
|
LD BC,10 ;!HARDCODE
|
||||||
LD (HL),' '
|
LD (HL),' '
|
||||||
@ -1653,17 +1661,23 @@ OPENDIR:
|
|||||||
JR NZ,.loop
|
JR NZ,.loop
|
||||||
JR .SUBDIR3
|
JR .SUBDIR3
|
||||||
.SUBDIR2:
|
.SUBDIR2:
|
||||||
;LD DE,MASKARE
|
|
||||||
CALL MASK.name
|
CALL MASK.name
|
||||||
RET C
|
RET C
|
||||||
.SUBDIR3:
|
.SUBDIR3:
|
||||||
CALL FINDDIR
|
CALL FINDDIR
|
||||||
RET C
|
RET C
|
||||||
LD (IY+_sFM.ST_CLUSTER),E
|
;!TEST ;[ ] some optimize
|
||||||
LD (IY+_sFM.ST_CLUSTER+1),D
|
;LD (IY+_sFM.ST_CLUSTER),E
|
||||||
LD DE,#4000 ;!HARDCODE
|
;LD (IY+_sFM.ST_CLUSTER+1),D
|
||||||
LD (IY+_sFM.F_SIZE),E
|
;LD DE,#4000 ;!HARDCODE
|
||||||
LD (IY+_sFM.F_SIZE+1),D
|
;LD (IY+_sFM.F_SIZE),E
|
||||||
|
;LD (IY+_sFM.F_SIZE+1),D
|
||||||
|
EX DE,HL
|
||||||
|
LD (CORE_BUFFERS.FM_BUF + _sFM.ST_CLUSTER),HL
|
||||||
|
LD HL,#4000 ;!HARDCODE
|
||||||
|
LD (CORE_BUFFERS.FM_BUF + _sFM.F_SIZE),HL
|
||||||
|
EX DE,HL
|
||||||
|
;
|
||||||
CALL LOADDIR
|
CALL LOADDIR
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
@ -1738,8 +1752,6 @@ FINDDIR:
|
|||||||
.ADDSPEC:
|
.ADDSPEC:
|
||||||
LD E,XL
|
LD E,XL
|
||||||
LD D,XH
|
LD D,XH
|
||||||
;LD HL,CurrentDirectory+1
|
|
||||||
;LD BC,CurrentDirectory.DEPTH-1
|
|
||||||
LD HL,WorkDirectory+1
|
LD HL,WorkDirectory+1
|
||||||
LD BC,WorkDirectory.DEPTH-1
|
LD BC,WorkDirectory.DEPTH-1
|
||||||
; XOR A
|
; XOR A
|
||||||
@ -1975,6 +1987,7 @@ LOADDIR:
|
|||||||
; LD (HL),L
|
; LD (HL),L
|
||||||
; LDIR
|
; LDIR
|
||||||
;
|
;
|
||||||
|
;
|
||||||
LD A,(FatBuffer.DRIVE) ; ®¬¥à ¤¨áª
|
LD A,(FatBuffer.DRIVE) ; ®¬¥à ¤¨áª
|
||||||
LD (IY+_sFM.DRIVE),A ; á®åà. ¢ ¤¥áªà¨¯â®à
|
LD (IY+_sFM.DRIVE),A ; á®åà. ¢ ¤¥áªà¨¯â®à
|
||||||
LD D,(IY+_sFM.ST_CLUSTER) ; de=®¬¥à ¯¥à¢®£® ª« áâ¥à
|
LD D,(IY+_sFM.ST_CLUSTER) ; de=®¬¥à ¯¥à¢®£® ª« áâ¥à
|
||||||
@ -2204,7 +2217,10 @@ DIR_PATH_CHECK: LD A,(HL)
|
|||||||
; Œ áᨢ «®£. ®¬¥à®¢ ¡ ®ª à áè¨à¥¨ï DSS
|
; Œ áᨢ «®£. ®¬¥à®¢ ¡ ®ª à áè¨à¥¨ï DSS
|
||||||
BANKTBL: BLOCK USING_MEMPAGES+1,#FF ; +1 ¤«ï COREPAGE
|
BANKTBL: BLOCK USING_MEMPAGES+1,#FF ; +1 ¤«ï COREPAGE
|
||||||
;
|
;
|
||||||
|
|
||||||
HANDBUF: BLOCK HANDBUF.SIZE,0
|
HANDBUF: BLOCK HANDBUF.SIZE,0
|
||||||
|
;
|
||||||
|
|
||||||
MASKARE: BLOCK 8,0 ; ¨¬ï ä ©«
|
MASKARE: BLOCK 8,0 ; ¨¬ï ä ©«
|
||||||
BLOCK 3,0 ; à áè.
|
BLOCK 3,0 ; à áè.
|
||||||
BLOCK 21,0 ; 11+21=32
|
BLOCK 21,0 ; 11+21=32
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
579
|
595
|
||||||
Loading…
Reference in New Issue
Block a user