mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
- bug: FAT не всегда мог записаться на HDD
This commit is contained in:
parent
0e38bd4a91
commit
463c6155f5
@ -2,8 +2,8 @@
|
|||||||
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
||||||
; A - ATTRIB
|
; A - ATTRIB
|
||||||
; B - MODE
|
; B - MODE
|
||||||
; B = 0 GET ATTRIB
|
; B = #00 GET ATTRIB
|
||||||
; B = 1 SET ATTRIB
|
; B = #01 SET ATTRIB
|
||||||
; OUTPUT: A - ATTRIB
|
; OUTPUT: A - ATTRIB
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
||||||
@ -21,7 +21,7 @@ ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
DEC B
|
DEC B
|
||||||
JP Z,.READ
|
JP Z,.READ
|
||||||
DEC B
|
DEC B
|
||||||
JP Z,.WRITE
|
JP Z,.WRITE_FN
|
||||||
LD A,DSS_Error.sys.INVALID_FUNCTION
|
LD A,DSS_Error.sys.INVALID_FUNCTION
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
@ -41,6 +41,8 @@ ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
;
|
;
|
||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
|
.WRITE_FN:
|
||||||
|
AND FAT_ATTR.NoVolID ; [x] 2/12/23 ¢à¥¬¥ë© ä¨ªá ¤«ï volume ID
|
||||||
.WRITE: PUSH AF
|
.WRITE: PUSH AF
|
||||||
XOR A
|
XOR A
|
||||||
;!TEST ;[x] 16/11/23 optimize get attribute
|
;!TEST ;[x] 16/11/23 optimize get attribute
|
||||||
|
|||||||
@ -2,6 +2,8 @@
|
|||||||
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
||||||
; OUTPUT: A - FM
|
; OUTPUT: A - FM
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
CREATE_FN:
|
||||||
|
AND FAT_ATTR.NoVolID ; [x] 2/12/23 ¢à¥¬¥ë© ä¨ªá ¤«ï volume ID
|
||||||
CREATE: ;!TEST Current Dir ;[x] 15/10/23
|
CREATE: ;!TEST Current Dir ;[x] 15/10/23
|
||||||
PUSH HL
|
PUSH HL
|
||||||
CALL DIR_PATH_CHECK
|
CALL DIR_PATH_CHECK
|
||||||
@ -14,6 +16,8 @@ CREATE: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
CALL NC,DEL_FN.DELETE ;FILE EXIST RECREAT
|
CALL NC,DEL_FN.DELETE ;FILE EXIST RECREAT
|
||||||
JR .DO
|
JR .DO
|
||||||
;
|
;
|
||||||
|
.NEW_FN:
|
||||||
|
AND FAT_ATTR.NoVolID ; [x] 2/12/23 ¢à¥¬¥ë© ä¨ªá ¤«ï volume ID
|
||||||
.NEW: ;!TEST Current Dir ;[x] 15/10/23
|
.NEW: ;!TEST Current Dir ;[x] 15/10/23
|
||||||
PUSH HL
|
PUSH HL
|
||||||
CALL DIR_PATH_CHECK
|
CALL DIR_PATH_CHECK
|
||||||
@ -78,5 +82,5 @@ CREATE: ;!TEST Current Dir ;[x] 15/10/23
|
|||||||
JP MASK
|
JP MASK
|
||||||
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
||||||
; OUTPUT: A - FM
|
; OUTPUT: A - FM
|
||||||
CREAT_N EQU CREATE.NEW
|
CREAT_N EQU CREATE.NEW_FN
|
||||||
;
|
;
|
||||||
@ -378,7 +378,7 @@ ADRST10: ;DS 512 ;,0
|
|||||||
;...............................................[LOW ADDRESS ]:
|
;...............................................[LOW ADDRESS ]:
|
||||||
; 0 1 2 3 4 5 6 7 8 9 DEC HEX
|
; 0 1 2 3 4 5 6 7 8 9 DEC HEX
|
||||||
DB low F_START, low CHNDISK_FN, low CURDISK_FN,low DISKINF, low NOPS, low NOPS, low NOPS, low NOPS, low SCANDRV, low BOOTDSK ; 0 00..09
|
DB low F_START, low CHNDISK_FN, low CURDISK_FN,low DISKINF, low NOPS, low NOPS, low NOPS, low NOPS, low SCANDRV, low BOOTDSK ; 0 00..09
|
||||||
DB low CREATE, low CREAT_N, low NOPS, low NOPS, low DEL_FN, low NOPS, low RENAME, low OPEN_FN, low CLOSE_FN, low READ ; 1 0A..13
|
DB low CREATE_FN, low CREAT_N, low NOPS, low NOPS, low DEL_FN, low NOPS, low RENAME, low OPEN_FN, low CLOSE_FN, low READ ; 1 0A..13
|
||||||
DB low WRITE, low MOVE_FP, low ATTRIB, low GET_D_T, low PUT_D_T, low F_FIRST, low F_NEXT, low MKDIR, low RMDIR, low CHDIR_FN ; 2 14..1D
|
DB low WRITE, low MOVE_FP, low ATTRIB, low GET_D_T, low PUT_D_T, low F_FIRST, low F_NEXT, low MKDIR, low RMDIR, low CHDIR_FN ; 2 14..1D
|
||||||
DB low CURRDIR_FN,low NOPS, low NOPS, low SYSTIME, low SETTIME, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS ; 3 1E..27
|
DB low CURRDIR_FN,low NOPS, low NOPS, low SYSTIME, low SETTIME, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS ; 3 1E..27
|
||||||
DB low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low WAITKEY, low SCANKEY ; 4 28..31
|
DB low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low WAITKEY, low SCANKEY ; 4 28..31
|
||||||
@ -405,7 +405,7 @@ ADRST10: ;DS 512 ;,0
|
|||||||
ENDIF
|
ENDIF
|
||||||
;...............................................[HIGH ADDRESS]:
|
;...............................................[HIGH ADDRESS]:
|
||||||
DB high F_START, high CHNDISK_FN,high CURDISK_FN,high DISKINF,high NOPS, high NOPS, high NOPS, high NOPS, high SCANDRV, high BOOTDSK
|
DB high F_START, high CHNDISK_FN,high CURDISK_FN,high DISKINF,high NOPS, high NOPS, high NOPS, high NOPS, high SCANDRV, high BOOTDSK
|
||||||
DB high CREATE, high CREAT_N, high NOPS, high NOPS, high DEL_FN, high NOPS, high RENAME, high OPEN_FN,high CLOSE_FN,high READ
|
DB high CREATE_FN, high CREAT_N, high NOPS, high NOPS, high DEL_FN, high NOPS, high RENAME, high OPEN_FN,high CLOSE_FN,high READ
|
||||||
DB high WRITE, high MOVE_FP, high ATTRIB, high GET_D_T,high PUT_D_T,high F_FIRST,high F_NEXT, high MKDIR, high RMDIR, high CHDIR_FN
|
DB high WRITE, high MOVE_FP, high ATTRIB, high GET_D_T,high PUT_D_T,high F_FIRST,high F_NEXT, high MKDIR, high RMDIR, high CHDIR_FN
|
||||||
DB high CURRDIR_FN,high NOPS, high NOPS, high SYSTIME,high SETTIME,high NOPS, high NOPS, high NOPS, high NOPS, high NOPS
|
DB high CURRDIR_FN,high NOPS, high NOPS, high SYSTIME,high SETTIME,high NOPS, high NOPS, high NOPS, high NOPS, high NOPS
|
||||||
DB high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high WAITKEY, high SCANKEY
|
DB high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high WAITKEY, high SCANKEY
|
||||||
|
|||||||
@ -37,6 +37,7 @@ INC_FAT PUSH HL
|
|||||||
CALL G_CLUST
|
CALL G_CLUST
|
||||||
POP DE
|
POP DE
|
||||||
RET C
|
RET C
|
||||||
|
;
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH HL
|
PUSH HL
|
||||||
EX DE,HL ; hl=®¬¥à ª« áâ¥à
|
EX DE,HL ; hl=®¬¥à ª« áâ¥à
|
||||||
@ -46,13 +47,17 @@ INC_FAT PUSH HL
|
|||||||
EX DE,HL
|
EX DE,HL
|
||||||
POP DE ; ®¬¥à ª« áâ¥à
|
POP DE ; ®¬¥à ª« áâ¥à
|
||||||
CALL W_T_FAT ; § ¯¨á âì ¢ ª¥è FAT- ®¬¥à ª« áâ¥à
|
CALL W_T_FAT ; § ¯¨á âì ¢ ª¥è FAT- ®¬¥à ª« áâ¥à
|
||||||
|
;!FIXIT <¥â ª®âà®«ï ®è¨¡ª¨>
|
||||||
|
;
|
||||||
|
;
|
||||||
POP HL
|
POP HL
|
||||||
LD DE,(FatBuffer.ENDCLUS) ; ®¬¥à ª« áâ¥à
|
LD DE,(FatBuffer.ENDCLUS) ; ®¬¥à ª« áâ¥à
|
||||||
CALL W_T_FAT ; § ¯¨á âì ¢ ª¥è FAT- ®¬¥à ª« áâ¥à
|
CALL W_T_FAT ; § ¯¨á âì ¢ ª¥è FAT- ®¬¥à ª« áâ¥à
|
||||||
CALL WR_FAT ; ¯®¤ª«. ¡ ªã ª¥è FAT ¨ § ¯¨á âì ¥£® ¤¨áª
|
;!TEST ;!TODO 2/12/23 [ ] ¡ £ á ¨§¡ëâ®ç®© § ¯¨áìî WR_FAT?
|
||||||
|
CALL WR_FAT ; ¯®¤ª«. ¡ ªã ª¥è FAT ¨ § ¯¨á âì ¥£® ¤¨áª
|
||||||
|
;
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
;RX01
|
;RX01
|
||||||
|
|
||||||
;-----------------------------------------------------------
|
;-----------------------------------------------------------
|
||||||
@ -106,6 +111,7 @@ R_F_F16:
|
|||||||
LD D,(HL)
|
LD D,(HL)
|
||||||
POP AF
|
POP AF
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
;!TODO #FFF7 - ª« áâ¥à á ª®áïªç묨 ᥪâ®à ¬¨
|
||||||
LD HL,#FFEF ;!HARDCODE
|
LD HL,#FFEF ;!HARDCODE
|
||||||
XOR A ; DssErr.sys.NO_ERROR
|
XOR A ; DssErr.sys.NO_ERROR
|
||||||
SBC HL,DE ; ¯à®¢¥àª á«ã¦. ª« áâ¥àë
|
SBC HL,DE ; ¯à®¢¥àª á«ã¦. ª« áâ¥àë
|
||||||
@ -193,8 +199,10 @@ W_T_FAT:
|
|||||||
EXX
|
EXX
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,1
|
; [x] 2/12/23 FAT ¥ ¢á¥£¤ ¬®£ § ¯¨á âìáï HDD
|
||||||
LD (FatCache.Update),A
|
;LD A,1
|
||||||
|
;LD (FatCache.Update),A
|
||||||
|
;
|
||||||
LD A,(FatBuffer.FAT_TYP)
|
LD A,(FatBuffer.FAT_TYP)
|
||||||
CP "2" ; fat12
|
CP "2" ; fat12
|
||||||
JR Z,W_T_F12
|
JR Z,W_T_F12
|
||||||
@ -226,6 +234,10 @@ W_T_F16:
|
|||||||
POP AF ; ¢®ááâ. ¯®àâ
|
POP AF ; ¢®ááâ. ¯®àâ
|
||||||
POP HL
|
POP HL
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
; [x] 2/12/23 FAT ¥ ¢á¥£¤ ¬®£ § ¯¨á âìáï HDD
|
||||||
|
LD A,1
|
||||||
|
LD (FatCache.Update),A
|
||||||
|
;
|
||||||
XOR A
|
XOR A
|
||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
@ -274,6 +286,10 @@ W_T_F12: ;!FIXIT
|
|||||||
POP AF
|
POP AF
|
||||||
POP HL
|
POP HL
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
; [x] 2/12/23 FAT ¥ ¢á¥£¤ ¬®£ § ¯¨á âìáï HDD
|
||||||
|
LD A,1
|
||||||
|
LD (FatCache.Update),A
|
||||||
|
;
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
759
|
769
|
||||||
Loading…
Reference in New Issue
Block a user