• Please review our updated Terms and Rules here

IBM PS/1 Disk Drive Detection

ngtwolf

Veteran Member
Joined
Apr 6, 2018
Messages
991
Location
Los Angeles, CA
Hi All,

Wasn't sure exactly which PC forum this goes in, since it's an IBM PS/1, but it's also a 386/20. In any case, the issue i'm having is that I've pulled out the 1.2MB drive and swapped it for a 360k drive (Amstrad 40046) since I plan to use this system for (among other things) IMD to support my older 8 bit machines. However, the PS/1 keeps detecting the 360k drive as 1.2MB. I've tricked it by putting an older 180k drive in and it detects it as a 360k, then put the other drive in.. All is good until, randomly, it'll redetect it as a 1.2MB drive and then of course the drive no longer works. Since it's not a typical Bios thing where I can just set the drive and be done with it (everything is done through configur.exe and the drive detection isn't an editable option), i'm not sure how to keep it 'locked' as 360k. I'd like to use this drive over the 180k since it matches the case, but I don't really want to open it up every few weeks either. :)

Anyway, if anyone has an idea (which i realize is probably a longshot since this is probably a rare situation), that would be great.

Thanks!
 
Last edited:
Could you mention what model 5.25" drive you have that correctly worked? It might be possible to track down what is different between that drive and the Alps drive Amstrad used. Not that I can find a manual or jumper list for Alps drives making it a challenge to make a comparison.

My guess is that the PS/1 is somehow looking at pin 34 and misinterpreting the drive change or ready signal. Though since I haven't disassembling the PS/1 identification code, I have no evidence to back it up.
 
That's the standard way--you seek to some arbitrary track beyond 40 and step a cylinder at a time until the track 0 detector fires, counting the steps. After 3.5" HD drives got into the picture, you couldn't use this method to differentiate between 720K, 1.44M and 1.2M drive.

Most models of the PS/2 employed a "drive ID" interface to tell the system what the drive was. Unfortunately, this came too late to become industry standard.
 
The PS/1 implemented automatic disk type detection in a limited manner. If there is a signal on pin 4, the drive is identified as 3.5". No signal, identified as 5.25".

The other difference in drives listed in the technical reference is that high density drives have disk change on pin 34 while 5.25" double density are not supposed to use pin 34.

The Alps model number (DFD222A01) for the Amstrad drive matches the pattern of 48 TPI drives. It would have a number starting with 4 for 96 TPI double density or 6 for 96 TPI high density.
 
Could you mention what model 5.25" drive you have that correctly worked? It might be possible to track down what is different between that drive and the Alps drive Amstrad used. Not that I can find a manual or jumper list for Alps drives making it a challenge to make a comparison.

My guess is that the PS/1 is somehow looking at pin 34 and misinterpreting the drive change or ready signal. Though since I haven't disassembling the PS/1 identification code, I have no evidence to back it up.

The drive that i have that gets detected properly is a Teac FD-55A... Well, as properly as any PC can detect a SSDD drive (180k detected as 360k)
 
Last edited:
The PS/1 implemented automatic disk type detection in a limited manner. If there is a signal on pin 4, the drive is identified as 3.5". No signal, identified as 5.25".

The other difference in drives listed in the technical reference is that high density drives have disk change on pin 34 while 5.25" double density are not supposed to use pin 34.

The Alps model number (DFD222A01) for the Amstrad drive matches the pattern of 48 TPI drives. It would have a number starting with 4 for 96 TPI double density or 6 for 96 TPI high density.

Would removing pin 34 help, do you think? I actually had to make a longer cable to use since the original one was about 2 inches too short (since it was made to exactly reach the drive it came with), so removing a pin would be easy to test. Though, with my experience with this PS/1, they don't seem to follow anything standard. :)

Update #1 - Updated this post with pictures of the drive.

20180907_134525.jpg20180907_134514.jpg20180907_134455.jpg20180907_134440.jpg

Update #2 - Removing pin 34 didn't affect anything, still detects as 1.2 drive, so it's not using that at all. :)
 
Last edited:
@Krebizfan

Interesting! I've got 3.5' drives that physically lack a pin 4. On others, it's defined as InUse (as an input pin) or most often, NC. So the PS/1 took only specifically-configured drives. FWIW, the common use of "In Use" is to illuminate the drive LED without actually performing any operation. I see this on some Japanese CNC 3.5" floppy drives (which also have pin 2 as "disk changed" and pin 34 as "ready").

Pin 34 on 5.25" 2D is either NC or READY/ depending on the drive and drive options selected. Some 5.25" HD drives assert DISK CHANGED if there is no disk present and stepping doesn't clear it. So you get the puzzling problem of an HD drive with no disk or a 2D drive with a disk and coming ready both asserting pin 34. I think the way out there is to keep the spindle motor turned off when performing the pin 34 test. A 2D drive won't register "ready".
 
Last edited:
That makes sense, or the drive just isn't playing nicely. According to what I'm reading that PC/AT would try to seek to track 48. If it succeeded, it decided it was a 1.2MB, if it failed it would decide it was a 360k. http://www.os2museum.com/wp/detecting-floppy-drives-and-media/


Yes I've heard it do this -- it seeks and bangs the head into the end-stop rather rudely on a 40 track drive. Seems like newer machines don't do this as you just set the type in the BIOS and it accepts that.
 
Would removing pin 34 help, do you think? I actually had to make a longer cable to use since the original one was about 2 inches too short (since it was made to exactly reach the drive it came with), so removing a pin would be easy to test. Though, with my experience with this PS/1, they don't seem to follow anything standard. :)

Update #2 - Removing pin 34 didn't affect anything, still detects as 1.2 drive, so it's not using that at all. :)

Drat. Was hoping it was something simple like that. Unfortunately, the likely next step would be to figure out how IBM detected drive type and then make sure the drive matches that. I can't find the published IBM PS/1 BIOS reference and nothing from a partially disassembled PS/1 BIOS listing jumps out at me though my lack of skill at disassembly may be a factor.
 
Back
Top