wok-current diff BootProg/stuff/bootex.asm @ rev 25467
Up gnumeric (1.12.53)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Mon Oct 03 08:28:51 2022 +0000 (21 months ago) |
parents | 81fc994927a6 |
children | b0069c845544 |
line diff
1.1 --- a/BootProg/stuff/bootex.asm Thu Sep 29 20:05:23 2022 +0000 1.2 +++ b/BootProg/stuff/bootex.asm Mon Oct 03 08:28:51 2022 +0000 1.3 @@ -81,6 +81,7 @@ 1.4 NullEntryCheck equ 1 ; +3 bytes 1.5 ReadRetry equ 1 ; +8 bytes 1.6 SectorOf512Bytes equ 1 ; -13 bytes 1.7 +CheckAttrib equ 0 ; +6 bytes 1.8 1.9 [BITS 16] 1.10 [CPU 386] 1.11 @@ -197,7 +198,8 @@ 1.12 ;; dword [bx+FileSize] file size ;; 1.13 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1.14 1.15 -CurNameSize equ 3 ; 1 byte 1.16 +CurNameSize equ 03h ; 1 byte 1.17 +Attributes equ 0Bh ; 1 byte 1.18 StartCluster equ 14h ; 4 bytes 1.19 FileSize equ 18h ; 8 bytes 1.20 1.21 @@ -208,11 +210,10 @@ 1.22 xor ax, ax 1.23 or al, [es:di] 1.24 je FindNameFailed 1.25 + cmp al, 0c0h ; EXFAT_ENTRY_FILE_INFO ? 1.26 %else 1.27 - movzx ax, byte [es:di] 1.28 + cmp byte [es:di], 0c0h ; EXFAT_ENTRY_FILE_INFO ? 1.29 %endif 1.30 - 1.31 - cmp al, 0c0h ; EXFAT_ENTRY_FILE_INFO ? 1.32 jne NotFileInfo 1.33 1.34 mov bl, 31 1.35 @@ -223,13 +224,24 @@ 1.36 jnz CopyInfo ; keep BIOS boot drive number 1.37 1.38 NotFileInfo: 1.39 +%if NullEntryCheck != 0 1.40 mov al, 0c1h ; EXFAT_ENTRY_FILE_NAME ? 1.41 +%else 1.42 + mov ax, 0c1h ; EXFAT_ENTRY_FILE_NAME ? 1.43 +%endif 1.44 mov cx, NameLength+1 1.45 mov si, ProgramName ; ds:si -> program name 1.46 CheckName: 1.47 scasw ; compare UTF-16 1.48 lodsb ; with ASCII 1.49 loope CheckName 1.50 +%if CheckAttrib != 0 1.51 +VolumeLabel equ 8 1.52 +SubDirectory equ 10h 1.53 + jnz SkipFindName 1.54 + test byte [bx+Attributes], VolumeLabel+SubDirectory 1.55 +SkipFindName: 1.56 +%endif 1.57 je FindNameFound ; cx = 0 1.58 popa ; restore ax, cx, si, di 1.59