Hi!
With help of Jim Lilly I get dump of BPBs wit latest bootfix. Let me
note some issues.
>Reading default BPB...
> Bytes/sector : 512
> Sectors/cluster : 1
> FAT start, size : 32, 1512 * 2
> Root cluster : 2
> Total sectors : 0, 196576
> Hidden sectors : 32
> Sectors/track, heads : 32, 64
> Version, mirror flags : 0000h, 00h
> Info, backup sectors : 1, 6
> Media ID : F8h
>Done.
>Reading current BPB...
>WARNING: default and current BPB are different.
> Bytes/sector : 512
> Sectors/cluster : 2
> FAT start, size : 36, 762 * 2
Default BPB, proposed by kernel, differs from current BPB. I don't know
(yet) which heuristics used for computing default BPB, but, as I already
note in previous letter, looks like this default is worser (750k less data
space). But:
> Sectors/track, heads : 63, 255
> Version, mirror flags : 0000h, 00h
> Info, backup sectors : 1, 6
> Media ID : F8h
>WARNING: nonzero root entries field.
>Done.
>Volume is a FAT32.
by some reason kernel doesn't clears rootEntries field. I don't think, that
this right, but Bart silent yet about this fact. Also, I don't know why
default BPB present different geometry. But this is small, see next:
>Reading boot sector...
> Bytes/sector : 512
> Sectors/cluster : 4
> FAT start, size : 1, 192 * 2
> Root entries : 512
> Total sectors : 0, 196576
> Hidden sectors : 32
> Sectors/track, heads : 32, 64
> Drive, media ID, FS : 80h, F8h, "FAT16 "
> Serial#, label : 21BE0E03h, "IOMEGA "
>Done.
>ERROR: boot record and current BPB are different.
>Boot sector:
>0000 EB 3E 90 4D 53 57 49 4E-34 2E 30 00 02 04 01 00 ы>РMSWIN4.0.....
>0010 02 00 02 00 00 F8 C0 00-20 00 40 00 20 00 00 00 .....°└. [EMAIL PROTECTED] ...
>0020 E0 FF 02 00 80 00 29 03-0E BE 21 49 4F 4D 45 47 р ..А.)..╛!IOMEG
>0030 41 20 20 20 20 20 46 41-54 31 36 20 20 20 F1 7D A FAT16 ё}
[...]
>01F0 00 57 49 4E 42 4F 4F 54-20 53 59 53 00 00 55 AA .WINBOOT SYS..Uк
See the difference: both default and current BPBs are FAT32, whereas
boot record is FAT16. Wrong results.
Let me explain testing process and results:
- boot with FAT32 diskette in Zip-drive and run bootfix; all ok (except
difference in default and current BPBs and non-zero root_entries field in
current BPB).
- replace diskette by FAT16 and run bootfix: both BPBs are similar to
previous FAT32 (whereas boot record contains new FAT16 data)!
If we repeat process in different order (boot with FAT16 diskette in
Zip-drive), then results similar: first test is fine (even default BPB equal
to current BPB!), second test with new FAT32 diskette is wrong.
Third repeat, now after second step (with FAT16 diskette) we run DIR C:
and rerun bootfix. Result again different! Default BPB remains FAT32, but
current BPB is now valid.
Is this valid behavior? Moreover, at start bootfix uses truename()
(INT21/60), which access disk, so BPBs should be fresh, but they are not.
Right now I prepare for Jim edition, which resets disk (INT21/0D, INT21/32),
will see if this something changes. Also, why FD places garbage into
root_entries field in current BPB?
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel