Hi Jeremy, Chris, others,

> I am aware they are different...

That is risky - even for a demonstration implementation,
consistency seems important to keep code maintainable...

> dynamically adjusted same as MSDOS.  That currently is not done.

that has low priority imho, as drives with large sectors
are a temporary thing, will be gone with GPT partitions.

For the same reason, I suggest to NOT put efforts into
incompatible "put 8 small sectors in each 4k buffer on
mixed sector size computers" BUFFERS code of any sorts.

Note that larger caches already do put multiple sectors
in one slot, but for other reasons and without mixing.

> BUFFERS=COUNT#,READAHEAD#,SECTORSIZE# or would it be better to add a
> whole new command MAXSECSIZE=SECTORSIZE#  ?  (the latter seems simpler
> so the one I will plan on for now).

MAXSECSIZE will be fine, thanks :-) And really useful.
Changeable drives are en vogue, so figuring out needed
sector sizes at boot time is not always useful, and it
is probably a lot of work as well...

For my personal taste, a MAXSECSIZE, with a default of
512, would be a good small-amount-of-code way of having
enough large sector support for those who need it. When
you encounter a drive/partition with unsuitable sector
sizes for the current settings, skip it with a message.

> agreed, though currently any value > 3KB causes memory corruption

evil again... you said you already have an idea to debug?

> I don't see us using max sector size < 512, but using tdsk with
> smaller than 512 sector size does seem to work - though at this

The last time when we discussed OTHER sector sizes on the lists,
it was exactly for that reason - small RAMDISKS with small sectors
and less fragmentation at the expense of slightly larger FATs.

So I do think it would be useful to support BUT only with sectors
of at least 64 bytes size (FAT32: 128, although without FSINFO).

I suggest to NOT spend any code for "BPB wraps sectors" or such:
sectors below 128 bytes are just way too exotic and support for
"dir entry sized micro sectors" is more a theoretical exercise.

Fun extra exercise: Make a bootable FAT12/16/32 sector with 128
bytes per sector, loading a 2nd stage loader (reserved sectors).
Then construct a drive and BIOS for such drives, or ROM/MEMDISK.

Regards, Eric

Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
Freedos-kernel mailing list

Reply via email to