Open skiselev opened 3 years ago
Would enabling D0000 (or whichever address range the card is set to) ROM shadowing speed this up and be the possible fix?
This issue happens because Multi-Floppy BIOS takes a bit more time than system BIOS to prepare and execute read/write commands. Ideally the next command should be ready before floppy disk spins to the next sector (through the pre-index gap and gap 3). If the command is not ready, the FDC will wait until the next revolution of the floppy disk.
Version 2.6 includes some optimizations, and on a sufficiently fast machine (tested on 286 @ 20 MHz) it can read consecutive sectors on 3.5" 1.44 MB floppies without delays. It also seems to work without delays on a V20 @ 8 MHz when using 5.25" 360 KB floppies. But it is not fast enough for 1.2 MB floppies on 286 (these spin faster) or for 1.44 MB floppies on V20 @ 8 MHz. Likely more optimizations needed. It is also likely that performance will depend on CPU speed.
Luckily when accessing files MS-DOS and other operating systems usually do multi-sector reads, that work fast on any machine.
Ok, here are my results with BIOS 2.6, using the unofficial MS-DOS 7.1 setup disk. The time measured is how long it took from when the drive light illuminated upon being accessed for the boot-up sequence, and when the drive stopped being accessed (i.e. when the setup dialog appeared):
on-board floppy: 57 seconds XT-FDD with 2.6 BIOS: 1 minute, 40 seconds
Still, a great improvement over the previous versions.
I'll be receiving and LCS-6815F in the near future which uses an Intel N8207AA (pin and firmware compatible with the PC8477BV-1) and I'll add its results here as well. I can dump its firmware for you, would that be helpful?
Thanks
I am aware of these performance issues. They happen only in the case where the software inefficiently uses multiple sector read BIOS calls to read consequtive sectors, instead of using one call to read multiple sectors. I did some improvements already, and I'll look more into it as time allows
Hi,
Were you able to make any progress at all with this issue? Thanks :-)
Booting MS-DOS using Multi-Floppy BIOS Extension is slow.
Times measured on an 286/AT with AMI BIOS, booting MS-DOS 6.22 from a 3.5"/1.44MB diskette
With Multi-Floppy BIOS Extension :
Using system BIOS:
It appears that initial boot uses single sector reads, and the Multi-Floppy BIOS Extension is not fast enough to read sectors right away, as the result it waits until the next revolution of the motor.