This commit is contained in:
Anatoliy Belyanskiy 2024-05-18 01:30:26 +10:00
parent e5868883f8
commit 82ed30ef61
3 changed files with 24 additions and 17 deletions

View File

@ -56,7 +56,7 @@ DISKINF: LD C,B
;
EX DE,HL
LD HL,FAT_STRING
1: LD C,5 ;!HARDCODE _sBOOT_SECTOR_PARAMS.ID_FAT.length
LD C,5 ;!HARDCODE _sBOOT_SECTOR_PARAMS.ID_FAT.length
CALL .mCOPY_LOOP
; 12, 16 or 32
LD A,(CORE_BUFFERS.FatBuffer.FAT_TYPE)
@ -174,7 +174,6 @@ DISKINF: LD C,B
LDIR
RET
;
;
GetFreeSpace: LD A,1
LD (CORE_BUFFERS.FatBuffer.UPD_FSINFO),A

View File

@ -1 +1 @@
985
986

View File

@ -1,7 +1,7 @@
;///////////////////////////////////////////////////
;
; DIR. ‚뢮¤ ᯨ᪠ ä ©«®¢ ¨ ¯ ¯®ª
;
; !TODO ã¡à âì ¡ £ ¥á«¨ ¢ ¯ à ¬¥âॠ¬ áª¨ 㪠§ ­ ¯ãâì ¤® ¯ ¯ª¨ ¨«¨ ¤ ¦¥ ¤® ¤à㣮£® ¤¨áª 
;///////////////////////////////////////////////////
cmd_dir: push de
;;;; [ ] ¯®¤¤¥à¦ª  ¯ à ¬¥â஢
@ -21,11 +21,12 @@ cmd_dir: push de
jr z,.skip
LD DE,MAIN_MSG.CALCULATING
CALL MESSAGE
;
.skip: ld c,Dss.CurDisk ; ã§­ âì ⥪. ¤¨áª
RST ToDSS
ADD A,"A"
ld (root_path),a ; ­®¬¥à ¤¨áª 
SUB "A"
;ADD A,"A"
;ld (root_path),a ; ­®¬¥à ¤¨áª 
;SUB "A"
call read_disk_info ; ¯à®ç¨â âì ¬¥âªã ¨ á¥à¨©­ë© ­®¬¥à ¤¨áª 
;
pop de
@ -41,11 +42,15 @@ cmd_dir: push de
ex de,hl
ld de,work_buffer1 ; 80
ld c,Dss.GSwitch ; ¢ë¤¥«¨âì ¯ à ¬¥âà ª®¬-áâப¨
;!TODO âãâ ¢ work_buffer1 «¥¦¨â ¯ãâì ¨/¨«¨/«¨¡® ¬ áª  ä ©« 
; ­ ¤® à §®¡à âì ¥ñ Dss.EX_Path ¢ë¤¥«¨âì ¥á«¨ ¥áâì ¤¨áª, ¯ãâì ¨ ¬ áªã, ¯®á«¥ 祣® 㦥
; ®â¯¥ç â뢠âì ¯ãâì ¢ è ¯ª¥, ã§­ ¢ âì CurDisk ª ª ¢ .skip ¢ëè¥. „¥« âì íâ® ¤® ¢ë§®¢ 
; ¯à®æ¥¤ãàë read_disk_info. ‹ãçè¥ ¤¥« âì íâ® ¯®á«¥ ¬¥âª¨ .skip
RST ToDSS
;
ld a,(work_buffer1)
or a
jr nz,.skipMask ; § ¤ ­  ¬ áª  ¨¬¥­
jr nz,.skipMask ; § ¤ ­  ¬ áª  ¨¬ñ­
;
ld hl,mask_fname ; "*.*"
ld de,work_buffer1
@ -647,18 +652,19 @@ read_disk_info: OR #80
call hex16
.get_label: ; ¨é¥¬ ¬¥âªã ¢ ª®à­¥ ”‘ à §¤¥« 
; ãáâ. ª®à¥­ì ¤¨áª 
ld hl,root_path ; "x:\",0
ld c,Dss.ChDir
RST ToDSS
; ld hl,root_path ; "x:\",0
; ld c,Dss.ChDir
; RST ToDSS
; ¯®¨áª ¬¥âª¨
ld hl,mask_fname ; "*.*" ¨¬ï ¬¥âª¨
;ld hl,mask_fname ; "*.*" ¨¬ï ¬¥âª¨
ld hl,SlashMaskFname ; "\*.*" ¨¬ï ¬¥âª¨
ld de,work_buffer1 ; ªã¤ 
ld a,FAT_ATTR.VOLUME_ID ;  âਡãâ ¬¥âª¨ ⮬ 
ld bc,Dss.F_First.FATname ; f_first, ä®à¬ â 11
RST ToDSS
push af
call restore_path ; ¢®ááâ. ⥪. ¯ãâì
pop af
;push af
;call restore_path ; ¢®ááâ. ⥪. ¯ãâì
;pop af
ld hl,work_buffer1 + BUFFER_FIND.REC_Name ; ­ ç «® ¬¥âª¨ ¢ ¡ãä¥à¥ f_first
jr nc,volume_label ; ¬¥âª  ¢ ª®à­¥¢®¬ ª â «®£¥
; ¡¥àñ¬ ¬¥âªã ¨§ BPB
@ -715,12 +721,14 @@ unknown_serial: ;
JP read_disk_info.get_label
;
;---------------;
SlashMaskFname: db '\' ;
; ¬ áª  ä ©«®¢
mask_fname: db "*.*",0
;---------------;
; ª®à¥­ì ¤¨áª 
root_path: db 'X:\',0
;root_path: db 'X:\',0
; ‘¥à¨©­ë© ­®¬¥à ¤¨áª 
serial_string: db "xxxx-xxxx"