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
;---------------------------------------------------------------
;----------------------------------------------------------------------;
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)
@ -21,9 +40,10 @@ SET_FSInfo: LD A,(CORE_BUFFERS.FatBuffer.FAT_TYPE)
RET Z
;
;!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 (CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.FREE_CLUSTERS_COUNT),HL
LD HL,(CORE_BUFFERS.FatBuffer.FREE_CLUSTERS_COUNT_H)
@ -1040,7 +1060,7 @@ RD_BPB: ; LD C,SLOT3
LD DE,#6141
SBC HL,DE
JR NZ,.error
;!TODO FREE_CLUSTERS_COUNT
; FREE_CLUSTERS_COUNT
LD BC,(CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.FREE_CLUSTERS_COUNT)
LD DE,(CORE_BUFFERS.SECTOR_BUFFER + _sFSinfo.FREE_CLUSTERS_COUNT+2)
; CF = 0

View File

@ -1 +1 @@
980
981

View File

@ -61,7 +61,7 @@ cmd_dir: push de
;
LD A,32-5 ; ª®«¨ç¥á⢮ áâப ¤® ®¦¨¤ ­¨ï ª« ¢¨è¨ (á ¢ëç¥â®¬ § £®«®¢ª ) ;!HARDCODE
PUSH AF
; ז¨×« ¢כ¢®¤  ב¯¨ב×  ה ©«®¢/¯ ¯®×
; ז¨×« ¢כ¢®¤  ב¯¨ב×  ה ©«®¢/¯ ¯®×
.loop: POP AF
.key_p+1: and #ff
dec a