I'm still slowly plodding away at a disk image generator and now at the point where it spits out FAT16 formatted partitions that I could start writing files to.
My question, as I use MS-DOS 6.22 for reference. I generate a 50MB disk and partition that. I format it from DOS using FORMAT /S to get a minimal bootable reference disk.
The FAT is weird though. Clusters 0 and 1 are reserved as expected but I expect cluster 2 to be the start of IO.SYS. it's not, though. Instead IO.SYS starts at cluster 0x44.
What causes this gap? And how is it calculated? I can't find it in any docs.