mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 01:11:48 +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
|
||||
; A - ATTRIB
|
||||
; B - MODE
|
||||
; B = 0 GET ATTRIB
|
||||
; B = 1 SET ATTRIB
|
||||
; B = #00 GET ATTRIB
|
||||
; B = #01 SET ATTRIB
|
||||
; OUTPUT: A - ATTRIB
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
||||
@ -21,7 +21,7 @@ ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
||||
DEC B
|
||||
JP Z,.READ
|
||||
DEC B
|
||||
JP Z,.WRITE
|
||||
JP Z,.WRITE_FN
|
||||
LD A,DSS_Error.sys.INVALID_FUNCTION
|
||||
SCF
|
||||
RET
|
||||
@ -41,6 +41,8 @@ ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
||||
;
|
||||
RET
|
||||
;
|
||||
.WRITE_FN:
|
||||
AND FAT_ATTR.NoVolID ; [x] 2/12/23 ¢à¥¬¥ë© ä¨ªá ¤«ï volume ID
|
||||
.WRITE: PUSH AF
|
||||
XOR A
|
||||
;!TEST ;[x] 16/11/23 optimize get attribute
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
||||
; OUTPUT: A - FM
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
CREATE_FN:
|
||||
AND FAT_ATTR.NoVolID ; [x] 2/12/23 ¢à¥¬¥ë© ä¨ªá ¤«ï volume ID
|
||||
CREATE: ;!TEST Current Dir ;[x] 15/10/23
|
||||
PUSH HL
|
||||
CALL DIR_PATH_CHECK
|
||||
@ -14,6 +16,8 @@ CREATE: ;!TEST Current Dir ;[x] 15/10/23
|
||||
CALL NC,DEL_FN.DELETE ;FILE EXIST RECREAT
|
||||
JR .DO
|
||||
;
|
||||
.NEW_FN:
|
||||
AND FAT_ATTR.NoVolID ; [x] 2/12/23 ¢à¥¬¥ë© ä¨ªá ¤«ï volume ID
|
||||
.NEW: ;!TEST Current Dir ;[x] 15/10/23
|
||||
PUSH HL
|
||||
CALL DIR_PATH_CHECK
|
||||
@ -78,5 +82,5 @@ CREATE: ;!TEST Current Dir ;[x] 15/10/23
|
||||
JP MASK
|
||||
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
||||
; OUTPUT: A - FM
|
||||
CREAT_N EQU CREATE.NEW
|
||||
CREAT_N EQU CREATE.NEW_FN
|
||||
;
|
||||
@ -378,7 +378,7 @@ ADRST10: ;DS 512 ;,0
|
||||
;...............................................[LOW ADDRESS ]:
|
||||
; 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 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 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
|
||||
@ -405,7 +405,7 @@ ADRST10: ;DS 512 ;,0
|
||||
ENDIF
|
||||
;...............................................[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 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 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
|
||||
|
||||
@ -37,6 +37,7 @@ INC_FAT PUSH HL
|
||||
CALL G_CLUST
|
||||
POP DE
|
||||
RET C
|
||||
;
|
||||
PUSH HL
|
||||
PUSH HL
|
||||
EX DE,HL ; hl=®¬¥à ª« áâ¥à
|
||||
@ -46,13 +47,17 @@ INC_FAT PUSH HL
|
||||
EX DE,HL
|
||||
POP DE ; ®¬¥à ª« áâ¥à
|
||||
CALL W_T_FAT ; § ¯¨á âì ¢ ª¥è FAT- ®¬¥à ª« áâ¥à
|
||||
;!FIXIT <¥â ª®âà®«ï ®è¨¡ª¨>
|
||||
;
|
||||
;
|
||||
POP HL
|
||||
LD DE,(FatBuffer.ENDCLUS) ; ®¬¥à ª« áâ¥à
|
||||
CALL W_T_FAT ; § ¯¨á âì ¢ ª¥è FAT- ®¬¥à ª« áâ¥à
|
||||
CALL WR_FAT ; ¯®¤ª«. ¡ ªã ª¥è FAT ¨ § ¯¨á âì ¥£® ¤¨áª
|
||||
;!TEST ;!TODO 2/12/23 [ ] ¡ £ á ¨§¡ëâ®ç®© § ¯¨áìî WR_FAT?
|
||||
CALL WR_FAT ; ¯®¤ª«. ¡ ªã ª¥è FAT ¨ § ¯¨á âì ¥£® ¤¨áª
|
||||
;
|
||||
AND A
|
||||
RET
|
||||
|
||||
;RX01
|
||||
|
||||
;-----------------------------------------------------------
|
||||
@ -106,6 +111,7 @@ R_F_F16:
|
||||
LD D,(HL)
|
||||
POP AF
|
||||
OUT (SLOT3),A
|
||||
;!TODO #FFF7 - ª« áâ¥à á ª®áïªç묨 ᥪâ®à ¬¨
|
||||
LD HL,#FFEF ;!HARDCODE
|
||||
XOR A ; DssErr.sys.NO_ERROR
|
||||
SBC HL,DE ; ¯à®¢¥àª á«ã¦. ª« áâ¥àë
|
||||
@ -193,8 +199,10 @@ W_T_FAT:
|
||||
EXX
|
||||
PUSH HL
|
||||
PUSH AF
|
||||
LD A,1
|
||||
LD (FatCache.Update),A
|
||||
; [x] 2/12/23 FAT ¥ ¢á¥£¤ ¬®£ § ¯¨á âìáï HDD
|
||||
;LD A,1
|
||||
;LD (FatCache.Update),A
|
||||
;
|
||||
LD A,(FatBuffer.FAT_TYP)
|
||||
CP "2" ; fat12
|
||||
JR Z,W_T_F12
|
||||
@ -226,6 +234,10 @@ W_T_F16:
|
||||
POP AF ; ¢®ááâ. ¯®àâ
|
||||
POP HL
|
||||
OUT (SLOT3),A
|
||||
; [x] 2/12/23 FAT ¥ ¢á¥£¤ ¬®£ § ¯¨á âìáï HDD
|
||||
LD A,1
|
||||
LD (FatCache.Update),A
|
||||
;
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
@ -274,6 +286,10 @@ W_T_F12: ;!FIXIT
|
||||
POP AF
|
||||
POP HL
|
||||
OUT (SLOT3),A
|
||||
; [x] 2/12/23 FAT ¥ ¢á¥£¤ ¬®£ § ¯¨á âìáï HDD
|
||||
LD A,1
|
||||
LD (FatCache.Update),A
|
||||
;
|
||||
AND A
|
||||
RET
|
||||
;
|
||||
|
||||
@ -1 +1 @@
|
||||
759
|
||||
769
|
||||
Loading…
Reference in New Issue
Block a user