Hi,

while hacking on FDISK and having some thoughts about different sector sizes I 
stumbled upon the problem that the extended INT13 function 48 may return a 
sector size != 512 while the INT13,0X functions always seem to operate on 
„virtual“ 512 sector sizes.

Unsure how to handle this case I tried to find some hints in the FreeDOS Kernel 
source. In INITDSK.C the sector size returned by INT13,48 is simply ignored and 
only the total sector count is used to determine the size of the disk. This may 
be because in reality it is a non-existent problem (values other than 512 are 
not encountered „in the wild“). There is also a MAX_SEC_SIZE 512 definition 
leading me to the conclusion that sector sizes of > 512 are not supported at 
all?

My initial idea for how to handle this in FDISK until a better solution is 
found was to sort of work-around it by reverting to CHS functions - with all 
the drawbacks this has - if the sector size returned by INT13,48 is not 512. 
Then at least the first ~8GB could be supported.

But I would be glad if someone with more knowledge in that area could point me 
in the right direction, especially under the assumption of staying compatible.

Greetings, Bernd



_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to