You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current FAT12/16 boot loader is slow, especially when booting from floppy on an XT class machine.
This can be changed by implementing a loader specialized to load from floppy, doing as few reads as possible, utilizing multi-sector reads.
To reduce load time even further, the loader shall optionally read the kernel not from the FAT filesystem but from the reserved sectors following the boot sector, in case the reserved sector count given in the BPB is greater than one.
On my initial tests, which show good speed improvements, I noticed persistent multi-sector read failures on an emulated IBM XT.
The reason for this is that the BIOS diskette parameter table seems to be initialized for eight sectors per track on this specific machine (maybe this may be altered by some BIOS setup utility?). However, even the 360k disks have nine sectors per track. The problem was fixed by patching the diskette parameter table to the correct sectors per tack. An obvious choice would be to set it to the value stored in the BPB being booted from.
Activity
boeckmann commentedon Sep 10, 2025
On my initial tests, which show good speed improvements, I noticed persistent multi-sector read failures on an emulated IBM XT.
The reason for this is that the BIOS diskette parameter table seems to be initialized for eight sectors per track on this specific machine (maybe this may be altered by some BIOS setup utility?). However, even the 360k disks have nine sectors per track. The problem was fixed by patching the diskette parameter table to the correct sectors per tack. An obvious choice would be to set it to the value stored in the BPB being booted from.