# HG changeset patch # User Pascal Bellard # Date 1663858247 0 # Node ID d4a851cd7f097ac793fccf1bd9dcd3ccd5976c9d # Parent 002a704d9c0201df7a59ad05fc8e7a07e70d8f21 BootProg: fix fat16 case diff -r 002a704d9c02 -r d4a851cd7f09 BootProg/stuff/boot16.asm --- a/BootProg/stuff/boot16.asm Thu Sep 22 09:40:04 2022 +0000 +++ b/BootProg/stuff/boot16.asm Thu Sep 22 14:50:47 2022 +0000 @@ -309,11 +309,7 @@ TINYFAT16 equ 1 push di ; up to 2 * 635K / BytesPerCluster = 2540 bytes %if FAT12 == 1 - %if TINYFAT16 == 0 && FAT16 == 1 mov cl, 12 - %else - mov cl, 4 - %endif %endif ClusterLoop: mov [di], si @@ -349,11 +345,7 @@ %endif %if FAT12 == 1 jnc ReadClusterEven - %if TINYFAT16 == 0 && FAT16 == 1 rol ax, cl - %else - shr ax, cl - %endif ReadClusterEven: scasw ; di += 2 %if FAT16 == 1 diff -r 002a704d9c02 -r d4a851cd7f09 BootProg/stuff/bootprog.sh --- a/BootProg/stuff/bootprog.sh Thu Sep 22 09:40:04 2022 +0000 +++ b/BootProg/stuff/bootprog.sh Thu Sep 22 14:50:47 2022 +0000 @@ -11,6 +11,7 @@ echo "Install $f bootsector on $1." for a in "$o skip=$((o+b)) count=$((512-o))" "0 skip=$b count=11" do sed '1,/^exit/d' $0 | unlzma | $w=$a; done + echo -n $f | $w=$c [ "$2" ] && echo "Set boot file '$2'" && echo -n "$2" | case "$f" in E*) sed 's| |.|;s| ||g' | cat - /dev/zero;; *) tr a-z A-Z | sed 's|\.| |;s|^\(.\{8\}\) *|\1|;s|$| |' @@ -23,9 +24,9 @@ esac exit 0 done</dev/null -54 54 0 FAT12 -54 54 0 FAT16 -82 82 512 FAT32 +54 59 0 FAT12 +54 59 0 FAT16 +82 87 512 FAT32 3 113 1024 EXFAT S exit 1