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