Skip to content

Fixes FDC/FDD recalibration not working correctly with audio profiles#6629

Merged
OBattler merged 1 commit into
86Box:masterfrom
Domppari:fdd_recalibration_issue_fixed
Dec 27, 2025
Merged

Fixes FDC/FDD recalibration not working correctly with audio profiles#6629
OBattler merged 1 commit into
86Box:masterfrom
Domppari:fdd_recalibration_issue_fixed

Conversation

@Domppari

@Domppari Domppari commented Dec 27, 2025

Copy link
Copy Markdown
Contributor

Summary

Fixes FDC/FDD recalibration not working correctly with audio profiles, even when audio profile was set to "None".

In the previous FDD/FDC implementation it was not taken to account that recalibration should not return immediadely, but let the FDD do the recalibration seek first and after it completes, then next command is allowed. The recalibration sequence follows now same path as the normal seek does where FDD calls the "fdc seek complete" function when seek is finished.

This fixes issue, when e.g. when installed MS-DOS 6.22 and after reboot BIOS displayed floppy disk error (40). The problem was that MS-DOS installation left the FDD to upper part of the tracks and then during the boot, BIOS would try to recalibrate head back to track 0, but the FDC returned the seek "complete" immediadely to the BIOS, even when the FDD had seek timer ongoing. This created a situation where the next FDD POST test seek command was sent from BIOS before the recalibration seek was done and the FDD/FDC were left to "undefined" state and resulted the error status in the BIOS.

This also fixes the issue where recalibration seeks were not played by the fdd audio.

Tested with PCjr, IBM PC 1981, IBM PS/1 and 1995ish AMIBIOS. Used MS-DOS 6.22, OS/2 and Debian Linux 0.9 installation disks. Tested also that Turbo mode still works correclty.

Checklist

@OBattler OBattler merged commit ea94442 into 86Box:master Dec 27, 2025
45 checks passed
@Domppari Domppari deleted the fdd_recalibration_issue_fixed branch December 28, 2025 19:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants