1. Ich hab mal testweise die 3 Byte nach dem Bootloader weggelassen (db 0xff,0x0f,0xf8) und das Image wurde dennoch als FAT12 erkannt. Wozu braucht man die 3 Bytes also ?
Diese Werte sehen nach FAT12 Einträgen für die ersten beiden Cluster aus. Das setzt hier aber voraus, dass es nur eine FAT gibt. Disketten-Images nutzen üblicherweise 2 und dann müssten diese Einträge auch in der 2. FAT stehen.
... erstellt man 22 Null-Sektoren. Mit den 22 Sektoren löscht man aber nur die beiden FATs und einen Teil des Root-Directories. Sollte man nicht nach dem Bootsektor die darauffolgenden 9+9+14 = 32 Sektoren löschen (FAT1+FAT2+RootDir) um ein jungfräuliches Diskettenimage zu erhalten ?
Wer sagt, dass das Root-Verzeichnis unbedingt 14 Sektoren haben muss? Nur weil es üblich ist, muss es hier nicht der Fall sein. Den richtigen Wert kannst du aus den Werten des Boot-Parameter-Blocks ermitteln.
Ich habe aber irgendwie das Gefühl, dass mit den Werten was nicht stimmt.