промежуточное 3

This commit is contained in:
Anatoliy Belyanskiy 2023-10-15 20:26:15 +10:00
parent 2df0b56e56
commit fb6c8a2caf
3 changed files with 72 additions and 97 deletions

View File

@ -29,9 +29,7 @@
; B = 1 SET ATTRIB ; B = 1 SET ATTRIB
; OUTPUT: A - ATTRIB ; OUTPUT: A - ATTRIB
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
ATTRIB: ATTRIB: ;!Test Current Dir ;[x] 15/10/23
_mSavePath 1
;!Test Current Dir
LD C,A LD C,A
PUSH HL PUSH HL
PUSH BC PUSH BC
@ -42,7 +40,6 @@ ATTRIB:
LD A,C LD A,C
; ;
INC B INC B
DEC B DEC B
JP Z,.RATTRIB JP Z,.RATTRIB
@ -101,8 +98,7 @@ ATTRIB:
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00 ; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
; OUTPUT: A - FM ; OUTPUT: A - FM
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
CREATE: _mSavePath 0 CREATE: ;!Test Current Dir ;[x] 15/10/23
;!Test Current Dir
PUSH HL PUSH HL
CALL DIR_PATH_CHECK CALL DIR_PATH_CHECK
POP HL POP HL
@ -116,8 +112,7 @@ CREATE: _mSavePath 0
; ;
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00 ; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
; OUTPUT: A - FM ; OUTPUT: A - FM
.NEW: _mSavePath 0 .NEW: ;!Test Current Dir ;[x] 15/10/23
;!Test Current Dir
PUSH HL PUSH HL
CALL DIR_PATH_CHECK CALL DIR_PATH_CHECK
POP HL POP HL
@ -184,8 +179,7 @@ CREAT_N EQU CREATE.NEW
; INPUT: HL - "c:\dir\filename.ext",#00 without simbols * ? ; INPUT: HL - "c:\dir\filename.ext",#00 without simbols * ?
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
DEL_FN: ;!TEST DEL_FN: ;!TEST
_mSavePath 1 ;!Test Current Dir ;[x] 15/10/23
;!Test Current Dir
PUSH HL PUSH HL
CALL DIR_PATH_CHECK CALL DIR_PATH_CHECK
POP HL POP HL
@ -313,9 +307,7 @@ RENAME:
; ¢ë室: A - ¤¥áªà¨¯â®à ä ©« , ¥á«¨ CF=0 ; ¢ë室: A - ¤¥áªà¨¯â®à ä ©« , ¥á«¨ CF=0
; ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1 ; ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
OPEN_FN: OPEN_FN:;!Test Current Dir ;[x] 15/10/23
_mSavePath 1
;!Test Current Dir
LD C,A LD C,A
PUSH HL PUSH HL
PUSH BC PUSH BC
@ -378,7 +370,6 @@ OPEN: LD (F_FIRST.ACCESS),A
; A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1 ; A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
CLOSE_FN: CLOSE_FN:
_mSavePath 1
;R08 ;R08
CLOSE: LD (F_FIRST.ACCESS),A CLOSE: LD (F_FIRST.ACCESS),A
CALL SET_FM CALL SET_FM
@ -857,17 +848,14 @@ PUT_D_T:
; INPUT: HL - "C:\DIR\DIR\DIR_NAME[\]",0 ; INPUT: HL - "C:\DIR\DIR\DIR_NAME[\]",0
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
CHDIR_FN: CHDIR_FN:
_mSavePath 0 ;!Test Current Dir ;[x] 15/10/23
;!Test Current Dir
PUSH HL PUSH HL
CALL DIR_PATH_CHECK CALL DIR_PATH_CHECK
POP HL POP HL
RET C RET C
;
CALL CHDIR CALL CHDIR
JP DIR_PATH_CHANGE.FullCurrent JP DIR_PATH_CHANGE.FullCurrent
; RET ;
;
CHDIR: CALL GETWORD ; â¥áâ ­  ¤®¯ãáâ. ¨¬ï ¨ ­ áâà. ­  ¤¨áª CHDIR: CALL GETWORD ; â¥áâ ­  ¤®¯ãáâ. ¨¬ï ¨ ­ áâà. ­  ¤¨áª
RET C RET C
LD HL,TMPNAME LD HL,TMPNAME
@ -884,8 +872,7 @@ CHDIR: CALL GETWORD ;
; ;
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0 ; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
MKDIR: _mSavePath 1 MKDIR: ;!Test Current Dir ;[x] 15/10/23
;!Test Current Dir
LD C,A LD C,A
PUSH HL PUSH HL
PUSH BC PUSH BC
@ -1059,8 +1046,7 @@ MKDIR: _mSavePath 1
; ;
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0 ; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
RMDIR: _mSavePath 1 RMDIR: ;!Test Current Dir ;[x] 15/10/23
;!Test Current Dir
LD C,A LD C,A
PUSH HL PUSH HL
PUSH BC PUSH BC
@ -1070,7 +1056,6 @@ RMDIR: _mSavePath 1
RET C RET C
LD A,C LD A,C
; ;
CALL GETWORD CALL GETWORD
RET C RET C
LD HL,TMPNAME LD HL,TMPNAME
@ -2112,7 +2097,7 @@ DIR_PATH_CHECK: LD A,(HL)
; ;
.forceCheck: LD HL,CurrentDirectory+1 .forceCheck: LD HL,CurrentDirectory+1
LD BC,CurrentDirectory.DEPTH-1 LD BC,CurrentDirectory.DEPTH-1
CALL FINDDIR.CHECK_SLASH ;CALL FINDDIR.CHECK_SLASH
CALL .checkDrive CALL .checkDrive
JR Z,.checkDir JR Z,.checkDir
; ;
@ -2120,7 +2105,7 @@ DIR_PATH_CHECK: LD A,(HL)
LD A,(FatBuffer.DRIVE) LD A,(FatBuffer.DRIVE)
ADD 'A' ADD 'A'
CP (HL) CP (HL)
JP NZ,GETWORD JP NZ,.gotoPath
; ;
.checkDir: LD HL,CurrentDirectory+1 .checkDir: LD HL,CurrentDirectory+1
LD DE,WorkDirectory+1 LD DE,WorkDirectory+1
@ -2137,13 +2122,15 @@ DIR_PATH_CHECK: LD A,(HL)
.end: CP (HL) .end: CP (HL)
RET Z RET Z
.ReDir: LD HL,CurrentPath .ReDir: LD HL,CurrentPath
JP GETWORD JP .gotoPath
; ;
.checkDrive: LD HL,CurrentPath .checkDrive: LD HL,CurrentPath
LD A,(FatBuffer.DRIVE) LD A,(FatBuffer.DRIVE)
ADD 'A' ADD 'A'
CP (HL) CP (HL)
RET RET
.gotoPath: CALL FINDDIR.CHECK_SLASH
JP GETWORD
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;

View File

@ -9,7 +9,7 @@
//;R12 20-07-2023 BAO <20>ਠ§ ¢¥à襭¨¨ ¯à¨«®¦¥­¨ï ç¥à¥§ äã­ªæ¨î #41 ¨«¨ " ¢ à¨©­®" ¢ ¢®§¢à é ¥¬®¥ ¯à¨«®¦¥­¨¥ ¯¥à¥¤ ñâáï ª®¤ ®è¨¡ª¨ ¨ ä« £ CF=1 //;R12 20-07-2023 BAO <20>ਠ§ ¢¥à襭¨¨ ¯à¨«®¦¥­¨ï ç¥à¥§ äã­ªæ¨î #41 ¨«¨ " ¢ à¨©­®" ¢ ¢®§¢à é ¥¬®¥ ¯à¨«®¦¥­¨¥ ¯¥à¥¤ ñâáï ª®¤ ®è¨¡ª¨ ¨ ä« £ CF=1
;R11 17-04-2023 BAO OPTIMIZED BUFFERS, FREED UP 768 BYTES FOR CODE ;R11 17-04-2023 BAO OPTIMIZED BUFFERS, FREED UP 768 BYTES FOR CODE
;R10 13-04-2023 BAO FIX BUG WITH PARSING DIRECTORY BUFFER ;R10 13-04-2023 BAO FIX BUG WITH PARSING DIRECTORY BUFFER
;R09 14-04-2003 DNS NOW EXEC DON'T FOLLOW TO PROGRAM'S DIR ;R09 -- 14-04-2003 DNS NOW EXEC DON'T FOLLOW TO PROGRAM'S DIR
;R08 05-12-2002 DNS FIX BUG WITH INCREMENT TASK ID AND OPEN *.EXE ERROR ;R08 05-12-2002 DNS FIX BUG WITH INCREMENT TASK ID AND OPEN *.EXE ERROR
;R07 05-12-2002 DNS FIX FOR EXECUTING IN CURRENT DIR WITHOUT PATH ;R07 05-12-2002 DNS FIX FOR EXECUTING IN CURRENT DIR WITHOUT PATH
;R06 02-12-2002 DNS FIX BUG WITH NULL-TERMINATED STRING ;R06 02-12-2002 DNS FIX BUG WITH NULL-TERMINATED STRING
@ -821,8 +821,7 @@ DECTASK: LD HL,TASK ;R08
; +00 1 db ? ; „«¨­  ª®¬-áâப¨ ; +00 1 db ? ; „«¨­  ª®¬-áâப¨
; +01 127 ds ? ; <20> à ¬¥âàë ª®¬-áâப¨, § ª ­ç¨¢ ¥âáï ­ã«¥¬ ; +01 127 ds ? ; <20> à ¬¥âàë ª®¬-áâப¨, § ª ­ç¨¢ ¥âáï ­ã«¥¬
;///////////////////////////////////////////////////////////////////// ;/////////////////////////////////////////////////////////////////////
EXEC: _mSavePath 1 EXEC: INC B ;R03
INC B ;R03
DEC B ;R03 DEC B ;R03
JR Z,.VAR_1 ;R03 JR Z,.VAR_1 ;R03
DEC B ;R03 DEC B ;R03
@ -911,16 +910,7 @@ EXEC02: LD (EXE_FM),A
LD A,DSS_Error.sys.UNKNOWN_EXE LD A,DSS_Error.sys.UNKNOWN_EXE
SCF SCF
JP NZ,ERREXE JP NZ,ERREXE
; LD HL,TASK
; INC (HL)
;
; !TODO: BACK TO CURRDIR
;
;R09
_mRestorStackAfterRestorePath
;_mRestorePath
;R09
;
LD DE,(CORE_BUFFERS.EXEBUFF.LOADER) LD DE,(CORE_BUFFERS.EXEBUFF.LOADER)
LD A,E LD A,E
OR D OR D
@ -1137,14 +1127,12 @@ _TST_PROC_2:
LD DE,RETFAR ;  ¤à¥á ¯/¯ "­¥®¦¨¤ ­­®¥ § ¢¥à襭¨¥ ¯à®æ¥áá " LD DE,RETFAR ;  ¤à¥á ¯/¯ "­¥®¦¨¤ ­­®¥ § ¢¥à襭¨¥ ¯à®æ¥áá "
PUSH DE PUSH DE
PUSH HL PUSH HL
;!Test Current Dir ;[x] 15/10/23
_mRestorePath
PUSH IX PUSH IX
LD HL,CurrentDirectory LD HL,CurrentDirectory
CALL CHDIR_FN CALL CHDIR_FN
POP IX POP IX
;
RET RET
; ;
;----------------------------------------------------------------------- ;-----------------------------------------------------------------------

View File

@ -1 +1 @@
495 496