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

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
BATCH
PUSH HL
BATCH: PUSH HL
LD DE,PRMLINE
BCHL1 LD A,(HL)
LDI
@ -164,8 +163,6 @@ B_ALL_P POP HL
XOR A
RET
Restore_Screen:
PUSH AF
LD C,Dss.GetVMod
@ -178,8 +175,6 @@ Restore_Screen:
.exit: POP AF
RET
NEWLINE LD DE,CMDLINE
ADDBAT PUSH DE
CALL READBAT
@ -535,8 +530,8 @@ RUN_BAT CALL BATCH
JP C,EXEERR
RET
BATLIST DB 'PAUSE' : DW CPAUSE
DB 'REM' : DW CREM
BATLIST DZ 'PAUSE' : DW CPAUSE
DZ 'REM' : DW CREM
CMDLIST DZ 'CD' : DW CCHDIR
DZ 'CHDIR' : DW CCHDIR
DZ 'CLS' : DW CLS

View File

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

View File

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

View File

@ -1,20 +1,21 @@
;
MACRO _mSavePath
; PUSH HL
; LD HL,BACK_CUR_PATH
; EX (SP),HL
; CALL SAVE_CUR_PATH
IF SAVE_PATH_MACRO
PUSH HL
LD HL,BACK_CUR_PATH
EX (SP),HL
CALL SAVE_CUR_PATH
ENDIF
ENDM
;
;
MACRO _mRestorePath
; CALL BACK_CUR_PATH
IF SAVE_PATH_MACRO
CALL BACK_CUR_PATH
ENDIF
ENDM
;
;
MACRO _mRestorStackAfterRestorePath
; POP HL ;CLEAR STACK "BACK_CUR_PATH"
IF SAVE_PATH_MACRO
POP HL ;CLEAR STACK "BACK_CUR_PATH"
ENDIF
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 NeedSafePort_Y 1
DEFINE TABisSPACES 1
DEFINE CLASSIC_CURSOR 0
DEFINE MAX_RAMDRIVES 16
DEFINE NeedSafePort_Y 1
DEFINE TABisSPACES 1
DEFINE CLASSIC_CURSOR 0
DEFINE SAVE_PATH_MACRO 0
;
;-------------------[MEMORY]-------------------------;
DEFINE USING_MEMPAGES 4
DEFINE USING_MEMPAGES 4
;!FIXIT ᤥ« âì ⨯  DIRPAGE EQU 0 + BANKTBL ¨ ã¯à®áâ¨âì BANK
DIRPAGE EQU 0
FATPAGE EQU 1
TXTPAGE EQU 2
ENVPAGE EQU 2
DRVPAGE EQU 3
DIRPAGE EQU 0
FATPAGE EQU 1
TXTPAGE EQU 2
ENVPAGE EQU 2
DRVPAGE EQU 3
;
DIRSPEC.DEPTH EQU 256 ; '\' + 1..255