лечим пути...

This commit is contained in:
Anatoliy Belyanskiy 2023-07-03 02:11:18 +10:00
parent b02517ea5f
commit f59cca8dfa
5 changed files with 78 additions and 54 deletions

View File

@ -130,8 +130,7 @@ B_FIND_SPACE
RET RET
BATCH BATCH: PUSH HL
PUSH HL
LD DE,PRMLINE LD DE,PRMLINE
BCHL1 LD A,(HL) BCHL1 LD A,(HL)
LDI LDI
@ -164,8 +163,6 @@ B_ALL_P POP HL
XOR A XOR A
RET RET
Restore_Screen: Restore_Screen:
PUSH AF PUSH AF
LD C,Dss.GetVMod LD C,Dss.GetVMod
@ -178,8 +175,6 @@ Restore_Screen:
.exit: POP AF .exit: POP AF
RET RET
NEWLINE LD DE,CMDLINE NEWLINE LD DE,CMDLINE
ADDBAT PUSH DE ADDBAT PUSH DE
CALL READBAT CALL READBAT
@ -530,13 +525,13 @@ EXEERR CP 5
JP NC,ERROR JP NC,ERROR
LD DE,0 ;BAD COMMAND OR FILENAME LD DE,0 ;BAD COMMAND OR FILENAME
JP ERR_MSG JP ERR_MSG
RUN_BAT CALL BATCH RUN_BAT CALL BATCH
JP C,EXEERR JP C,EXEERR
RET RET
BATLIST DB 'PAUSE' : DW CPAUSE BATLIST DZ 'PAUSE' : DW CPAUSE
DB 'REM' : DW CREM DZ 'REM' : DW CREM
CMDLIST DZ 'CD' : DW CCHDIR CMDLIST DZ 'CD' : DW CCHDIR
DZ 'CHDIR' : DW CCHDIR DZ 'CHDIR' : DW CCHDIR
DZ 'CLS' : DW CLS DZ 'CLS' : DW CLS

View File

@ -9,7 +9,7 @@
;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 ;!FIXIT ¯®ª  ¢ ¢¨¤¥ § ¯« âª¨ ¯®«ã­¥à ¡®â î饩
;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
; FROM "." ".NAM" ; FROM "." ".NAM"
;R06 29-01-2003 DNS FIX BUG WITH SET FILE DATE AND TIME ;R06 29-01-2003 DNS FIX BUG WITH SET FILE DATE AND TIME
@ -30,7 +30,7 @@
; B = 0 GET ATTRIB ; B = 0 GET ATTRIB
; B = 1 SET ATTRIB ; B = 1 SET ATTRIB
; OUTPUT: A - ATTRIB ; OUTPUT: A - ATTRIB
ATTRIB ATTRIB:
_mSavePath _mSavePath
INC B INC B
DEC B DEC B
@ -72,7 +72,7 @@ WATTRIB PUSH AF
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00 ; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
; OUTPUT: A - FM ; OUTPUT: A - FM
CREATE CREATE:
_mSavePath _mSavePath
AND #E7 ;R04 AND #E7 ;R04
LD (ACCESS),A LD (ACCESS),A
@ -90,7 +90,7 @@ CREATE
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00 ; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
; OUTPUT: A - FM ; OUTPUT: A - FM
CREAT_N CREAT_N:
_mSavePath _mSavePath
AND #E7 ;R04 %76A00SHR AND #E7 ;R04 %76A00SHR
LD (ACCESS),A LD (ACCESS),A
@ -229,7 +229,8 @@ RENAME PUSH DE
RET RET
;R02 ;R02
OPENATR LD (ACCESS),A OPENATR:
LD (ACCESS),A
CALL GETWORD CALL GETWORD
RET C RET C
LD HL,TMPNAME LD HL,TMPNAME
@ -244,7 +245,7 @@ OPENATR LD (ACCESS),A
OPEN_FN: OPEN_FN:
_mSavePath _mSavePath
OPEN ;R08 OPEN: ;R08
LD (ACCESS),A LD (ACCESS),A
CALL GETWORD CALL GETWORD
RET C RET C
@ -252,9 +253,10 @@ OPEN ;R08
LD DE,MASKARE LD DE,MASKARE
CALL MASK CALL MASK
RET C RET C
OPENEXE CALL SEARCH OPENEXE:
CALL SEARCH
RET C RET C
OPENAT ;R02 OPENAT: ;R02
CALL GET_FM CALL GET_FM
RET C RET C
LD A,C LD A,C
@ -289,7 +291,7 @@ OPENAT ;R02
AND A AND A
RET RET
CLOSE_FN CLOSE_FN:
_mSavePath _mSavePath
CLOSE: ;R08 CLOSE: ;R08
LD (ACCESS),A LD (ACCESS),A
@ -614,19 +616,25 @@ GETWORD:
SUB #20 SUB #20
.next: SUB 'A' .next: SUB 'A'
PUSH HL PUSH HL
CALL OPENDSK ;!TEST CHNDISK OPENDSK
CALL OPENDSK
;
POP HL POP HL
JP NC,GETWORD JP NC,GETWORD
RET RET
TMPNAME: DB ' ',#00 ; 12 ¯à®¡¥«®¢ ¨ 0 TMPNAME: DB ' ',#00 ; 12 ¯à®¡¥«®¢ ¨ 0
;!TODO ᤼Ť âě ¤Ťď Ş Ś¤ŽŁŽ ¤ŕ Š˘  § ŻŽŹ¨­ ­¨Ľ ⼪ă鼊 ¤¨ŕ༪âŽŕ¨¨, ŻŽŞ  âăâ § ŁŤă誠
; RestoreDIR:
; ;
CHNDISK: CHNDISK:
CALL OPENDSK
;????? R10 ;????? R10
CALL OPENDSK
RET C RET C
LD HL,DIRSPEC+1 ;LD HL,DIRSPEC+1
LD HL,DIRSPEC
LD (HL),0 LD (HL),0
PUSH AF PUSH AF
CALL OPENDIR CALL OPENDIR
@ -634,6 +642,17 @@ CHNDISK:
RET C RET C
LD A,B LD A,B
RET RET
/*
RET C
PUSH AF
CALL LOADDIR
POP AF
*/
RET
;
;????? R10 ;????? R10
OPENDSK: OPENDSK:
PUSH AF PUSH AF
@ -851,18 +870,21 @@ CURDIR1 LD A,(HL)
LOADDIR: LOADDIR:
XOR A XOR A
LD HL,0 LD H,A
LD L,A
LD IX,0 LD IX,0
LD B,0 LD B,A
CALL MOVE_FP CALL MOVE_FP
LD A,DIRPAGE LD A,DIRPAGE
CALL BANK CALL BANK
PUSH AF PUSH AF
LD HL,#C000 ;!FIXIT áŤ¨čŞŽŹ ¤ŽŤŁŽ
LD DE,#C001 LD HL,#C000
LD BC,#3FFF LD DE,#C001
LD (HL),L LD BC,#3FFF
LDIR LD (HL),L
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) LD D,(IY+_sFM.ST_CLUSTER)
@ -1652,7 +1674,8 @@ MKD11 POP AF
RET RET
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0 ; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
RMDIR: _mSavePath RMDIR:
_mSavePath
CALL GETWORD CALL GETWORD
RET C RET C
LD HL,TMPNAME LD HL,TMPNAME

View File

@ -447,7 +447,9 @@ READ LD (R_POINT),HL
JP Z,NOREAD JP Z,NOREAD
PUSH DE PUSH DE
LD A,(IY+_sFM.DRIVE) LD A,(IY+_sFM.DRIVE)
CALL OPENDSK ;!TEST CHNDISK OPENDSK
CALL OPENDSK
;
JP C,RPERR1 JP C,RPERR1
LD C,(IY+_sFM.F_POSITION) LD C,(IY+_sFM.F_POSITION)
LD E,(IY+_sFM.F_POSITION+1) LD E,(IY+_sFM.F_POSITION+1)
@ -608,7 +610,9 @@ WRITE LD (R_POINT),HL
SET 7,(IY+_sFM.ACCESS_MODE) SET 7,(IY+_sFM.ACCESS_MODE)
SET 5,(IY+_sFM.ATTRIBUT) SET 5,(IY+_sFM.ATTRIBUT)
LD A,(IY+_sFM.DRIVE) LD A,(IY+_sFM.DRIVE)
CALL OPENDSK ;!TEST CHNDISK OPENDSK
CALL OPENDSK
;
JP C,PWERR1 JP C,PWERR1
LD C,(IY+32) LD C,(IY+32)
LD A,(IY+33) LD A,(IY+33)

View File

@ -1,20 +1,21 @@
; ;
MACRO _mSavePath MACRO _mSavePath
; PUSH HL IF SAVE_PATH_MACRO
; LD HL,BACK_CUR_PATH PUSH HL
; EX (SP),HL LD HL,BACK_CUR_PATH
; CALL SAVE_CUR_PATH EX (SP),HL
CALL SAVE_CUR_PATH
ENDIF
ENDM ENDM
;
;
MACRO _mRestorePath MACRO _mRestorePath
; CALL BACK_CUR_PATH IF SAVE_PATH_MACRO
CALL BACK_CUR_PATH
ENDIF
ENDM ENDM
;
;
MACRO _mRestorStackAfterRestorePath MACRO _mRestorStackAfterRestorePath
; POP HL ;CLEAR STACK "BACK_CUR_PATH" IF SAVE_PATH_MACRO
POP HL ;CLEAR STACK "BACK_CUR_PATH"
ENDIF
ENDM ENDM
; ;

View File

@ -1,26 +1,27 @@
; ;
DEFINE TEST_FEATURE 1 DEFINE TEST_FEATURE 1
; ;
; ;
DEFINE SHORT_RSTx10_TABLE 0 ; 㪮à®ç¥­­ ï â ¡«¨æ  ä㭪権 rst #10. 96 ä㭪権. DEFINE SHORT_RSTx10_TABLE 0 ; 㪮à®ç¥­­ ï â ¡«¨æ  ä㭪権 rst #10. 96 ä㭪権.
; ;
; ;
DEFINE MAX_RAMDRIVES 16 DEFINE MAX_RAMDRIVES 16
DEFINE NeedSafePort_Y 1 DEFINE NeedSafePort_Y 1
DEFINE TABisSPACES 1 DEFINE TABisSPACES 1
DEFINE CLASSIC_CURSOR 0 DEFINE CLASSIC_CURSOR 0
DEFINE SAVE_PATH_MACRO 0
; ;
;-------------------[MEMORY]-------------------------; ;-------------------[MEMORY]-------------------------;
DEFINE USING_MEMPAGES 4 DEFINE USING_MEMPAGES 4
;!FIXIT ᤥ« âì ⨯  DIRPAGE EQU 0 + BANKTBL ¨ ã¯à®áâ¨âì BANK ;!FIXIT ᤥ« âì ⨯  DIRPAGE EQU 0 + BANKTBL ¨ ã¯à®áâ¨âì BANK
DIRPAGE EQU 0 DIRPAGE EQU 0
FATPAGE EQU 1 FATPAGE EQU 1
TXTPAGE EQU 2 TXTPAGE EQU 2
ENVPAGE EQU 2 ENVPAGE EQU 2
DRVPAGE EQU 3 DRVPAGE EQU 3
; ;
DIRSPEC.DEPTH EQU 256 ; '\' + 1..255 DIRSPEC.DEPTH EQU 256 ; '\' + 1..255