FSInfo: optimization

This commit is contained in:
Anatoliy Belyanskiy 2024-04-29 09:49:37 +10:00
parent 7c01581aae
commit 93e2fd7269
3 changed files with 26 additions and 6 deletions

View File

@ -9,7 +9,26 @@
;R07 17-12-1999 DNS BUG FIX SIGNATURE #55AA AT 510 OFFSET ;R07 17-12-1999 DNS BUG FIX SIGNATURE #55AA AT 510 OFFSET
;--------------------------------------------------------------- ;---------------------------------------------------------------
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
MAKE_FSinfo: ; ç¨á⨬ ᥪâ®à
LD HL,CORE_BUFFERS.SECTOR_BUFFER
LD DE,CORE_BUFFERS.SECTOR_BUFFER+1
LD (HL),0
LD BC,512 - 1 ;!HARDCODE à §¬¥à ᥪâ®à 
LDIR
; LEAD_SIGNATURE
LD HL,#5252
LD (CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.LEAD_SIGNATURE),HL
LD HL,#4161
LD (CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.LEAD_SIGNATURE + 2),HL
; DATA_SIGNATURE
LD HL,#7272
LD (CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.DATA_SIGNATURE),HL
LD HL,#6141
LD (CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.DATA_SIGNATURE + 2),HL
; SECTOR_SIGNATURE
LD HL,#AA55
LD (CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.SECTOR_SIGNATURE),HL
RET
; á¡à á뢠¥â §­ ç¥­¨¥ ᢮¡®¤­ëå ª« áâ¥à®¢ ­  "­¥®¯à¥¤¥«¥­®" ; á¡à á뢠¥â §­ ç¥­¨¥ ᢮¡®¤­ëå ª« áâ¥à®¢ ­  "­¥®¯à¥¤¥«¥­®"
; ¬¥­ï¥â §­ ç¥­¨¥ ¯¥à¢®£® ᢮¡®¤­®£® ª« áâ¥à  ; ¬¥­ï¥â §­ ç¥­¨¥ ¯¥à¢®£® ᢮¡®¤­®£® ª« áâ¥à 
SET_FSInfo: LD A,(CORE_BUFFERS.FatBuffer.FAT_TYPE) SET_FSInfo: LD A,(CORE_BUFFERS.FatBuffer.FAT_TYPE)
@ -21,9 +40,10 @@ SET_FSInfo: LD A,(CORE_BUFFERS.FatBuffer.FAT_TYPE)
RET Z RET Z
; ;
;!TODO ä®à¬¨à®¢ âì á ¬®¬ã ¢ ¡ãä¥à ;!TODO ä®à¬¨à®¢ âì á ¬®¬ã ¢ ¡ãä¥à
CALL READ_FSinfo ;CALL READ_FSinfo
CALL MAKE_FSinfo
; ;
;!TODO FREE_CLUSTERS_COUNT ; FREE_CLUSTERS_COUNT
LD HL,(CORE_BUFFERS.FatBuffer.FREE_CLUSTERS_COUNT_L) LD HL,(CORE_BUFFERS.FatBuffer.FREE_CLUSTERS_COUNT_L)
LD (CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.FREE_CLUSTERS_COUNT),HL LD (CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.FREE_CLUSTERS_COUNT),HL
LD HL,(CORE_BUFFERS.FatBuffer.FREE_CLUSTERS_COUNT_H) LD HL,(CORE_BUFFERS.FatBuffer.FREE_CLUSTERS_COUNT_H)
@ -1040,7 +1060,7 @@ RD_BPB: ; LD C,SLOT3
LD DE,#6141 LD DE,#6141
SBC HL,DE SBC HL,DE
JR NZ,.error JR NZ,.error
;!TODO FREE_CLUSTERS_COUNT ; FREE_CLUSTERS_COUNT
LD BC,(CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.FREE_CLUSTERS_COUNT) LD BC,(CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.FREE_CLUSTERS_COUNT)
LD DE,(CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.FREE_CLUSTERS_COUNT+2) LD DE,(CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.FREE_CLUSTERS_COUNT+2)
; CF = 0 ; CF = 0

View File

@ -1 +1 @@
980 981