diff --git a/elks/arch/i86/drivers/block/bios.c b/elks/arch/i86/drivers/block/bios.c index 030114688..ca1f93981 100644 --- a/elks/arch/i86/drivers/block/bios.c +++ b/elks/arch/i86/drivers/block/bios.c @@ -34,9 +34,9 @@ struct drive_infot fd_types[] = { /* AT/PS2 BIOS reported floppy formats*/ {80, 15, 2, 512, 1}, /* 1.2M */ {80, 9, 2, 512, 2}, /* 720k */ {80, 18, 2, 512, 3}, /* 1.4M */ + {80, 36, 2, 512, 4}, /* 2.88M */ {80, 36, 2, 512, 5}, /* 2.88M */ - {80, 36, 2, 512, 6}, /* 2.88M */ - {77, 8, 2, 1024,7}, /* 1.232M PC/98 only */ + {77, 8, 2, 1024,6}, /* 1.232M PC/98 only */ }; /* BIOS drive mappings */ diff --git a/elks/arch/i86/drivers/block/bioshd.c b/elks/arch/i86/drivers/block/bioshd.c index 19068df10..8a08d8b92 100644 --- a/elks/arch/i86/drivers/block/bioshd.c +++ b/elks/arch/i86/drivers/block/bioshd.c @@ -195,11 +195,10 @@ static void probe_floppy(int target, struct hd_struct *hdp) unsigned char media = boot[21]; /* bpb_media_byte */ drivep->cylinders = (media == 0xFD)? 40: -#ifdef CONFIG_IMG_FD1232 +#ifdef CONFIG_ARCH_PC98 (media == 0xFE)? 77: /* FD1232 is 77 tracks */ #endif 80; - drivep->cylinders = (media == 0xFD)? 40: 80; found_PB = 2; #if DEBUG_PROBE printk("fd: found valid FAT CHS %d,%d,%d disk parameters on /dev/fd%d "