DOS 6.22 ignores the number_of_sectors_per_fat entry in the boot block, but insists on the minimal amount. Since I miscalculated that value, it did not match the expectations of DOS.
Signed-off-by: Johannes Schindelin <[EMAIL PROTECTED]> --- > If you will find the solution to the MS-DOS problem, i'd be > very greatful if you will share the patch/workaround. Well, here you are. It was not the second FAT which was missing, but DOS looking for direntries where VVFAT put some sectors of the second FAT... block-vvfat.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) applies-to: 883ade6f323513393835edeb321b52a98cf56430 80721ce5b55e71e5ae15145e4ca91faa00b70001 diff --git a/block-vvfat.c b/block-vvfat.c index a7ad868..4d33095 100644 --- a/block-vvfat.c +++ b/block-vvfat.c @@ -710,7 +710,7 @@ static int init_directory(BDRVVVFATState memset(&(s->first_sectors[0]),0,0x40*0x200); /* TODO: if FAT32, this is probably wrong */ - s->sectors_per_fat=0xfc; + s->sectors_per_fat=0xec; s->sectors_per_cluster=0x10; s->cluster_size=s->sectors_per_cluster*0x200; s->cluster=malloc(s->cluster_size); --- 0.99.9.GIT _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel