mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
-bug: некорректно считались свободные сектора при создании файла в 1 сектор
This commit is contained in:
parent
cc435bef7d
commit
e5868883f8
@ -1211,7 +1211,7 @@ CHECK_FIRST_CLUSTER:
|
|||||||
OR H
|
OR H
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; [x] fat32 ;!TEST
|
; [x] fat32
|
||||||
; WRITE SECTORS OF FILE
|
; WRITE SECTORS OF FILE
|
||||||
; ¢å®¤: HL:DE - FP (in sectors)
|
; ¢å®¤: HL:DE - FP (in sectors)
|
||||||
; IX - data in RAM
|
; IX - data in RAM
|
||||||
@ -1226,7 +1226,7 @@ BLOK_WRITE: LD (READ.PointerOnBuffer),IX
|
|||||||
PUSH HL ; ®áâ ⮪ DIV_for_SPC
|
PUSH HL ; ®áâ ⮪ DIV_for_SPC
|
||||||
;[x] GET/SAVE CLUSTER NUMBER BEFORE/AFTER READ/WRITE
|
;[x] GET/SAVE CLUSTER NUMBER BEFORE/AFTER READ/WRITE
|
||||||
PUSH BC ; ¬« ¤è¥¥ á«®¢® ®¬¥à ª« áâ¥à
|
PUSH BC ; ¬« ¤è¥¥ á«®¢® ®¬¥à ª« áâ¥à
|
||||||
PUSH DE ; [x] fat32 áâ à襥 á«®¢® ®¬¥à ª« áâ¥à
|
PUSH DE ; fat32 áâ à襥 á«®¢® ®¬¥à ª« áâ¥à
|
||||||
;
|
;
|
||||||
; EXX
|
; EXX
|
||||||
; LD L,(IY+_sFM.FS_REC.FIRST_CLUSTER_H) ; START CLUSTER High
|
; LD L,(IY+_sFM.FS_REC.FIRST_CLUSTER_H) ; START CLUSTER High
|
||||||
@ -1242,7 +1242,7 @@ BLOK_WRITE: LD (READ.PointerOnBuffer),IX
|
|||||||
JR NZ,.FindCluster
|
JR NZ,.FindCluster
|
||||||
;
|
;
|
||||||
PUSH BC ; ¬« ¤è¥¥ á«®¢® ®¬¥à ª« áâ¥à
|
PUSH BC ; ¬« ¤è¥¥ á«®¢® ®¬¥à ª« áâ¥à
|
||||||
PUSH DE ; [x] fat32 áâ à襥 á«®¢® ®¬¥à ª« áâ¥à
|
PUSH DE ; fat32 áâ à襥 á«®¢® ®¬¥à ª« áâ¥à
|
||||||
; [x] fat32
|
; [x] fat32
|
||||||
CALL G_CLUST
|
CALL G_CLUST
|
||||||
JP C,.Error_6
|
JP C,.Error_6
|
||||||
@ -1255,6 +1255,9 @@ BLOK_WRITE: LD (READ.PointerOnBuffer),IX
|
|||||||
LD (IY+_sFM.FS_REC.FIRST_CLUSTER_H+1),H
|
LD (IY+_sFM.FS_REC.FIRST_CLUSTER_H+1),H
|
||||||
EXX
|
EXX
|
||||||
;
|
;
|
||||||
|
XOR A
|
||||||
|
CALL SET_NEW_FREE_CLUSTERS
|
||||||
|
;
|
||||||
CALL WRITE_TO_FAT
|
CALL WRITE_TO_FAT
|
||||||
;!TEST ;!TODO 2/12/23 ; [ ] ¡ £ á ¨§¡ëâ®ç®© § ¯¨áìî WRITE_FAT_TABLE?
|
;!TEST ;!TODO 2/12/23 ; [ ] ¡ £ á ¨§¡ëâ®ç®© § ¯¨áìî WRITE_FAT_TABLE?
|
||||||
;PUSH HL
|
;PUSH HL
|
||||||
@ -1262,10 +1265,10 @@ BLOK_WRITE: LD (READ.PointerOnBuffer),IX
|
|||||||
;POP HL
|
;POP HL
|
||||||
;
|
;
|
||||||
POP DE ; ¬« ¤è¥¥ á«®¢® ®¬¥à ª« áâ¥à
|
POP DE ; ¬« ¤è¥¥ á«®¢® ®¬¥à ª« áâ¥à
|
||||||
POP BC ; [x] fat32 áâ à襥 á«®¢® ®¬¥à ª« áâ¥à
|
POP BC ; fat32 áâ à襥 á«®¢® ®¬¥à ª« áâ¥à
|
||||||
;
|
;
|
||||||
INC B
|
INC B
|
||||||
INC D ; [x] fat32
|
INC D ; fat32
|
||||||
PUSH DE
|
PUSH DE
|
||||||
JP .enter_loop
|
JP .enter_loop
|
||||||
;[x] GET/SAVE CLUSTER NUMBER BEFORE/AFTER READ/WRITE
|
;[x] GET/SAVE CLUSTER NUMBER BEFORE/AFTER READ/WRITE
|
||||||
@ -1273,7 +1276,7 @@ BLOK_WRITE: LD (READ.PointerOnBuffer),IX
|
|||||||
;HL': HL - ¨§¢¥áâë© ª« áâ¥à ä ©« ¤«ï ®âáçñâ
|
;HL': HL - ¨§¢¥áâë© ª« áâ¥à ä ©« ¤«ï ®âáçñâ
|
||||||
;DE : BC - ®á⠢襥áï ᬥ饨¥ ¢ ä ©«¥ ¢ ª« áâ¥à å (D=D+1, B=B+1)
|
;DE : BC - ®á⠢襥áï ᬥ饨¥ ¢ ä ©«¥ ¢ ª« áâ¥à å (D=D+1, B=B+1)
|
||||||
;
|
;
|
||||||
PUSH DE ; [x] ®á⠢襥áï ᬥ饨¥ ¢ ä ©«¥ ¢ ª« áâ¥à å (áâ à襥 á«®¢®)
|
PUSH DE ; ®á⠢襥áï ᬥ饨¥ ¢ ä ©«¥ ¢ ª« áâ¥à å (áâ à襥 á«®¢®)
|
||||||
JP .enter_loop
|
JP .enter_loop
|
||||||
;
|
;
|
||||||
; [x] fat32
|
; [x] fat32
|
||||||
@ -1296,7 +1299,7 @@ BLOK_WRITE: LD (READ.PointerOnBuffer),IX
|
|||||||
.enter_loop: INC B
|
.enter_loop: INC B
|
||||||
DEC BC
|
DEC BC
|
||||||
DJNZ .loop
|
DJNZ .loop
|
||||||
POP BC ; [x] ®á⠢襥áï ᬥ饨¥ ¢ ä ©«¥ ¢ ª« áâ¥à å (áâ à襥 á«®¢®)
|
POP BC ; ®á⠢襥áï ᬥ饨¥ ¢ ä ©«¥ ¢ ª« áâ¥à å (áâ à襥 á«®¢®)
|
||||||
INC B
|
INC B
|
||||||
DEC BC
|
DEC BC
|
||||||
DJNZ .loop_big
|
DJNZ .loop_big
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
984
|
985
|
||||||
@ -784,6 +784,7 @@ GET_BIG_DIG: ld b,"0"-1
|
|||||||
inc ix
|
inc ix
|
||||||
ret
|
ret
|
||||||
; stop
|
; stop
|
||||||
|
; A:HL':HL - ç¨á«® ¤«ï ¯¥à¥¢®¤
|
||||||
PRINT_5BYTES: ld ix,L40BIT.Str ; "00"
|
PRINT_5BYTES: ld ix,L40BIT.Str ; "00"
|
||||||
ld c,#17
|
ld c,#17
|
||||||
exx
|
exx
|
||||||
@ -811,7 +812,7 @@ PRINT_5BYTES: ld ix,L40BIT.Str ; "00"
|
|||||||
;
|
;
|
||||||
; DE':DE = 100,000,000
|
; DE':DE = 100,000,000
|
||||||
CALL MAKE_LN.skip_1
|
CALL MAKE_LN.skip_1
|
||||||
.exit_clean: ld de,SIZE_BUFFER.high ; "0 000 000 000"
|
ld de,SIZE_BUFFER.high ; "0 000 000 000"
|
||||||
ld hl,L40BIT.Str ; "0000000000"
|
ld hl,L40BIT.Str ; "0000000000"
|
||||||
ldi
|
ldi
|
||||||
ldi
|
ldi
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user