• Please review our updated Terms and Rules here

5150 Cannot format floppies

maxtherabbit

Veteran Member
Joined
Apr 23, 2019
Messages
2,153
Location
VA, USA
So I have a bit of a strange situation here: I cannot format ANY disk on my 5150 using DOS formatting tools. However if I use IMD 1.18 I can format and write disk images without issue. DOS FORMAT just immediately fails with "invalid media or track 0 bad, disk unusable".

All disks are known good, and can be formatted on other systems without issue, once formatted they read and write 100% error free on the 5150.
All drives are known good and can format disks on other systems.

Here's what I've tried so far, with no effect whatsoever on the problem:

Removing hard drive controller (it was the only option ROM in the system)
Changing orginally installed 1982 IBM ROM BIOS to aftermarket (GlaBIOS)
Swapping FDC with another known good one
Using FormatQM and NFormat
Clean boot from floppy with both PC-DOS 3.2 and PC-DOS 7
Changing system board DIPs to 2 floppy instead of 3

The system is configured as follows:
V20 + 8087-2
PC-Sprint Overclocked to 7.something MHz
256kB memory on mainboard, 384kB on AST SixPackPlus card
Soundblaster 2.0 clone
Promise Autoswitch EGA
IBM FDC
WD1002S-WX2A HDC with 2 ST-225 drives (removed for testing)
2 half height 360kB drives + 4865 external 3.5"

I can only assume the PC-Sprint is somehow the cause of the issue, that and the soundcard are the only non-stock things about the system left that I have not tried reverting. However before throwing the PC-Sprint under the bus, I want to underscore the fact I have thoroughly tested both reading/writing floppies and DMA is working without issue with the soundcard as well.
 
Last edited:
Swapping FDC with another known good one
I would test with one that is much newer and maybe 16-bit (the floppy port will still work when put into an 8-bit slot). Since the PC/XT only has one clock for both the CPU and the bus, you are running the bus with 7.x MHz as well, but PC/XT cards are made to run at 4.77 MHz. The floppy controller is probably acting up because of that. Note that DOS is VERY picky about track 0, which is most likely why IMD works but DOS format does not. Or maybe IMD is even able to run the floppy disk controller at the correct speed, as it accesses it on a lower hardware level.
 
I would test with one that is much newer and maybe 16-bit (the floppy port will still work when put into an 8-bit slot). Since the PC/XT only has one clock for both the CPU and the bus, you are running the bus with 7.x MHz as well, but PC/XT cards are made to run at 4.77 MHz. The floppy controller is probably acting up because of that. Note that DOS is VERY picky about track 0, which is most likely why IMD works but DOS format does not. Or maybe IMD is even able to run the floppy disk controller at the correct speed, as it accesses it on a lower hardware level.
The thing is it IS actually formatting side 0 of the first track successfully. After attempting to format in DOS, I can image the disk in IMD and see all F6 bytes in every sector.
 
So DOS fails to verify it has formatted track 0 successfully, which makes it reject the disk. Still pretty sure it's because the floppy controller runs overclocked.
 
So DOS fails to verify it has formatted track 0 successfully, which makes it reject the disk. Still pretty sure it's because the floppy controller runs overclocked.
I can't rule it out 100%, but I doubt it. I've used original PC/XT FDC in AT class systems with 8/8.33MHz ISA clock before without issue.
 
That's not the same as running the bus in an PC/XT at a higher, non-standard speed. It's easy to test and at least can rule out a possible culprit should it not fix the issue.
 
You might want to try going to the SIMTEL20 archive and downloading a copy of ConFormat or FormatQM--the former is a TSR that formats in the background; the latter is a multiple drive formatter. They were coded to work with the 5150 on up.
 
You might want to try going to the SIMTEL20 archive and downloading a copy of ConFormat or FormatQM--the former is a TSR that formats in the background; the latter is a multiple drive formatter. They were coded to work with the 5150 on up.
FormatQM was one of the first things I tried. Quality software my friend but it didn't help here
 
I hooked up a turbo switch to the PC-Sprint. As we all expected I'm sure, formatting works fine when de-turboed.

But why? Is it possible that all FDC commands work correctly when turboed except "verify sectors"??
 
Hard coded (or missing) delays in the BIOS. Are both the floppy controllers you tested IBM? Usually newer controllers (like those on 16-bit multi I/O cards) can run faster with no problems.

If PC-Sprint can control the turbo via port 61h (like most XT clones), you can also use the Super PC BIOS with SLOW_FLOPPY = 1 to automatically slow down during floppy access.
 
Hard coded (or missing) delays in the BIOS. Are both the floppy controllers you tested IBM? Usually newer controllers (like those on 16-bit multi I/O cards) can run faster with no problems.

If PC-Sprint can control the turbo via port 61h (like most XT clones), you can also use the Super PC BIOS with SLOW_FLOPPY = 1 to automatically slow down during floppy access.
No, the other FDC is a clone. Still a 765 tho

The other ROM BIOS I tested with is a "turbo XT" one. It's known to work up to 10MHz
 
Last edited:
It would be odd for verify not to work, but for read to work. Are you sure that the disk is really getting formatted? Write some stuff on the disk, format it without verifying and see if the stuff is still there.
 
Back
Top