DFSee has this warning,
Warning: The GEO Head/Sectors fields 16/63 in the bootsector
do NOT match the current disk geometry values 14/63!
Ok, it's been a hell of a ride, with multiple bugs involved.
Let's go through them.
First, (I believe) that DFSee warning is incorrect. They are right about the bootsector values, but wrong about the geometry having 14 heads. It is correctly set to 16 heads.
Running this batch file on Windows:
C:\vbox\final>type doit.bat
del temp.vhd
del temp*.dat
del pdos.vhd
parted mkpart 0x80,0x0c,63,956416 temp.vhd
zcalc 948*63*16+15*63+1
zfill temp1.dat 489717760
xychop temp.vhd temp2.dat 489717760 489718271
copy /b temp1.dat+temp2.dat pdos.vhd
fc /b temp.vhd pdos.vhd
C:\vbox\final>
produces a VHD footer of:
C:\vbox\final>hexdump temp2.dat
000000 636F6E65 63746978 00000002 00010000 conectix........
000010 FFFFFFFF FFFFFFFF 2D8825AC 77696E20 ........-.%.win
000020 00060001 5769326B 00000000 1D308000 ....Wi2k.....0..
000030 00000000 1D308000 03B4103F 00000002 .....0.....?....
000040 FFFFEA8E 73730D77 04246D1E 46011211 ....ss.w.$m.F...
000050 27221837 00000000 00000000 00000000 '".7............
with offset 3A clearly set to x'10', ie number of heads 16.
You can see the number of cylinders (x'3B4' = 948) and the number of sectors after that (x'3F' = 63).
What the message is probably referring to is one of these fields in the partition entry of the MBR:
0001C0 01010C0D 0EB4
The x'0d' is the end of partition head number, ie head number 13, ie the last cylinder has 14 heads being used (0 to 13), with the last head only partially containing data.
That partial data is the x'0e' - 14 - the 14th sector (1 to 14), out of the 63 available sectors.
That (unfortunate) end CHS is due to the parameters given to parted - I haven't given it enough space to complete that last cylinder. So one bug (sort of a bug) is in my batch file - I need to either increase or decrease the space to get an exact cylinder boundary.
There is another bug (already committed - but the bug fix had another bug - and that has been corrected but not committed yet) - the cylinder number is B4. It should actually be 3B4 and the x'3' needs to be put into the top 2 bits of the sector number that is currently x'0E'.
Anyway, DFSee could be incorrectly reporting either of those values that are "14" as "geometry". It's not. It's either number of heads that have full or partial data in the last cylinder of the partition, or it is the number of sectors in the last track/head of the last cylinder of the partition - either thing requires a DFSee bug fix (unless I've misdiagnosed).
Next bug in next message.