VOGONS


2.88MB ED diskette drive troubles

Topic actions

Reply 20 of 36, by nathana

User metadata
Rank Newbie
Rank
Newbie

Quick update: I finally managed to try hooking these drives up to a ThinkPad 770. When used with a 770, I *can* read HD disks just fine!

...but not ED disks. 🤣

Haven't given up yet (because I'm a masochist apparently), so stay tuned...?

Reply 21 of 36, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie

Good work, interesting, so earlier problem is possibly with cable or motherboard FDC? Or problem is still with the drive, but the ThinkPad is more tolerant (e.g. if it's a timing/jitter issue)? My drive is still fine with DD and unusable with HD (sometimes can get some data). I've finally gotten around to digging a second drive out so I can make some comparisons. At the moment I suspect the rpm of my broken drive is not steady enough, and the timing for HD are more sensitive than for DD. Might explain why IMD seems to be fine with alignment (I think it only reads the track start) and always seems to be able to read the first few sectors on a track. But then the timing wanders and starts to cause read errors later on. Different FDCs might be able to track the timing drift better.

Found this:
https://www.hermannseib.com/documents/floppy.pdf
page 7 shows the encoding which looks like it matches with the 'scope trace I took of the /RDATA pin. If the FDC is measuring 'level at a point in time' and not just looking for a transition, then the timing doesn't have to move much (<0.2us) to start missing bits. The disk spins at 300rpm, so 0.2 s/rev. So 0.2us is a millionth of a revolution.

OTOH, same can be said for DD, in that the data spike is the same width, so the same amount of jitter would also cause read errors. But there are 1/2 the number of bits/track, so fewer chances to get the reading wrong.

Reply 22 of 36, by nathana

User metadata
Rank Newbie
Rank
Newbie
snufkin wrote on 2021-04-16, 09:21:

Good work, interesting, so earlier problem is possibly with cable or motherboard FDC? Or problem is still with the drive, but the ThinkPad is more tolerant (e.g. if it's a timing/jitter issue)?

Not a motherboard issue (I tried 3 different models across different manufacturers), and not a cable issue (I tried 3 different cables & adapters).

And I don't think technically a drive "issue", either. As I mentioned, I have 2 drives that behave identically. IDENTICALLY. Both can only read 720k disks when plugged into PC motherboards, but can read 1.44MB disks when used with the ThinkPad 770. What are the odds that two drives would have a slightly iffy calibration or something running slightly outside of expected tolerances, and one be off by exactly the same degree as the other?

I suspect the issue is a disagreement between how media density is being signalled between the drive and the floppy controllers on these motherboards...all 3 used a Winbond Super I/O chip, though there were 2 different models between the 3 boards. The drives probably expect PS/2-style signalling, and the PC floppy controller is doing AT-style signalling. If the floppy controller isn't pulling the right pins high or low, the drive may be interpreting it to mean the opposite of what the controller intended.

These Winbond controllers do support a PS/2 floppy mode, though surely the motherboard BIOS is not configuring it to run in that mode. Perhaps there is a way to write the correct value to the correct register in the Winbond controller post-boot to affect a change in behavior.

In the case of the ThinkPad, though its particular model of National Semiconductor floppy controller has 2.88 support, there is probably just no 2.88 support in the 770 BIOS. I'm hoping this can be worked around at the OS level.

Reply 23 of 36, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie
nathana wrote on 2021-04-17, 07:18:

...all 3 used a Winbond Super I/O chip, though there were 2 different models between the 3 boards.

It could be that the Winbond chip is not very tolerant of locking on to the data stream from the drive, but that the National Semiconductor one on the Thinkpad can cope better. Could affect both drives if it's caused by some component ageing.

The drives probably expect PS/2-style signalling, and the PC floppy controller is doing AT-style signalling. If the floppy controller isn't pulling the right pins high or low, the drive may be interpreting it to mean the opposite of what the controller intended.

Question and answers here:
https://retrocomputing.stackexchange.com/ques … -in-an-ibm-ps-2
suggest that the protocol is the same for AT and PS/2, but the PS/2 cable includes power. There's a link in the answers to a thread where people have made custom cables to connect AT floppies to their PS/2s. I think the PS/2 mode that the Winbond chip supports is to do with the details about the FDC configuration registers, and doesn't change the underlying signalling to the drive hardware.

It seems as though the way the FDC detects the density of a disk is by looking for various synchronization blocks (1 per sector I think), and syncing its clock to them (effectively the clock rate is embedded in the data). So I don't think there are any separate density signals from the drive back to the FDC. I think the only information that comes back from the drive is:
/DSKCHNG: Is there a disk in the drive
/TRK00: Is the read/write head pulled back to track 0
/INDEX: Is the read/write head at the start of track
/RDATA: continuous data stream from the read heads, passed through amplifiers and filters on the drive

Still, all good learning. I found this from 1984:
https://www.datasheetarchive.com/pdf/download … ad%2520assembly
Which has a lot of detail about how the read/write heads worked back then, and I suspect a lot of the principles are still useful for '90s drives. Don't know if it's going to help fixing my drive though. Still need to get some measurements showing what the errors in /RDATA are.

Reply 24 of 36, by nathana

User metadata
Rank Newbie
Rank
Newbie
snufkin wrote on 2021-04-17, 11:39:

It could be that the Winbond chip is not very tolerant of locking on to the data stream from the drive, but that the National Semiconductor one on the Thinkpad can cope better. Could affect both drives if it's caused by some component ageing.

I feel like this is probably a violation of Occam's Razor...

snufkin wrote on 2021-04-17, 11:39:
nathana wrote on 2021-04-17, 07:18:

The drives probably expect PS/2-style signalling, and the PC floppy controller is doing AT-style signalling. If the floppy controller isn't pulling the right pins high or low, the drive may be interpreting it to mean the opposite of what the controller intended.

[...] I think the PS/2 mode that the Winbond chip supports is to do with the details about the FDC configuration registers, and doesn't change the underlying signalling to the drive hardware.

It is VERY hard to tell from the available docs. You could be correct, but as I lamented in another post to a different forum, one of my biggest frustrations has been the lack of CLEAR and UNAMBIGUOUS documentation in this regard.

snufkin wrote on 2021-04-17, 11:39:

It seems as though the way the FDC detects the density of a disk is by looking for various synchronization blocks (1 per sector I think), and syncing its clock to them (effectively the clock rate is embedded in the data). So I don't think there are any separate density signals from the drive back to the FDC.

That sounds like how SOME drives work. Many models of 3.5" HD drives actually include a microswitch right underneath the "density" hole that's located on the side of the diskette opposite the write-protect hole. My understanding is that the vast vast majority of drives intended for use with non-IBM systems "sense" media in this way (if switch is depressed, then it's DD media, but if not, it's HD) and then actually *signal this back to the controller*, and the vast vast majority of controllers in non-IBM systems are configured to look for that media sense signal from the drive. This is apparently in contrast to PS/2 systems, where most? all? 3.5" HD drives do *not* have a microswitch and the media in the drive is detected by BIOS as you described (which is much the same way that it is always done with 5.25" media both on IBM and non-IBM systems, I think).

So this goes back to my comment about ambiguous documentation, and unclear information. If you look up the docs for the NatSemi controller used in the 770, it at least is very clear that in addition to the 4 signal lines you identify, it ALSO has one called "DENSEL" (or DENsity SELect). If you set the controller to AT mode, then the docs do very explicitly state that "DENSEL becomes active high" (so if it's pulled high then that means there is HD media in the drive), but in PS/2 mode, then "DENSEL becomes active low" (if it's pulled high then DD media is in the drive)! And some IBM docs strongly imply (but -- again -- do not make 100% clear!) that in a media sense context, the signal line that NatSemi would call "DENSEL" is controlled by the drive, while in a non-media-sense ("host select") context, the same signal line is used BUT the *controller* pulls it high or low to signal to the drive what data rate to try to use to read the media.

So setting at least the National Semiconductor PC97338 to either AT or PS/2 mode does NOT simply enable or disable certain read-only registers or affect the layout of the contents within them. It ALSO changes how certain signal lines work.

But though that much is "clear", there are still ambiguities: the full text in the PC97338 datasheet actually says that for PC-AT mode, "DENSEL becomes active high signals (defaults to a 5.25 floppy disk drive)", and for PS/2 mode, "DENSEL becomes active low signals (defaults to a 3.5 floppy drive)". What the heck do those parentheticals mean?? Am I supposed to take away from this that DENSEL works differently in general for virtually all 3.5" drives vs. all 5.25" drives? Or is it just different for 3.5" drives intended for use with PS/2 machines than it is for those intended for use with the majority of "clone" machines? (No 5.25" HD drives have "media sense" capabilities, so having a drive pull DENSEL high or low doesn't really make any sense!)

The Winbond docs mention none of this, though, and only talk about the register differences between the two modes, so maybe Winbond doesn't change behavior by default? (Winbond also doesn't call any of the pins on their chip "DENSEL"...apparently different controller chips label the various signal lines differently.) But if it is a widespread convention by most FDC controller manufacturers to have both an AT and PS/2 "mode", then it might be an unspoken convention for signal lines to similarly change function when each mode is engaged, with only some manufacturers actually documenting this.

To further confuse matters, though, a 2.88 drive with media sense capabilities will have a *second* density selection signal line that it can pull high or low. Also, an IBM document somebody unearthed seems to imply that there are 3 types of multi-rate drives that IBM used with PS/2 systems: non-media-select 1.44 HD drives, non-media-select 2.88 ED drives, and so-called "Enhanced" 2.88 ED drives with media select, very much like what all HD and (apparently) ED drives intended for use with clones all employ. So some PS/2 floppy drives *do* have the microswitches, but only some 2.88 ones? Does the signaling for those work more like an AT-class/clone system, or...?

In any case, I can confirm that my "manufactured for IBM by Alps" drives (for use in ThinkPads) DO HAVE two microswitches: one beneath the position where the HD hole would be, and one beneath the position where the ED hole would be. So the drive at least SEEMS like it is either a media sense model, or is at least CAPABLE of media sense, but perhaps is not using it / isn't enabled? (I can't find any jumpers anywhere on the drive to change this behavior, while apparently SOME models of desktop drives are themselves dual-mode and can have their behavior be manipulated via jumpers or DIP switches.)

In conclusion: AAAAAAAARGH.

Reply 25 of 36, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie
nathana wrote on 2021-04-19, 10:57:

In conclusion: AAAAAAAARGH.

Agreed. For added fun, and yet more missing information, all the information I've seen is that all the odd numbered pins are Gnd. Except on my drive then pins 1,3,17, 27,29&33 are all individual optional grounds (0 ohm links, of which only pin 1 is fitted), pins 5,7,9&11 are combined and optionally +5 (!) or Gnd (another couple of 0 ohm links, with the link to Gnd fitted). Only pins 13,15,19,21,23,25&31 are always ground. And this in on a drive from Jan '93, by which time all this should have been settled.

I'm interested in what you've seen that says there's any signalling of density back to the FDC? As far as I've been able to find so far the only density information is that Pin 2 density select/reduced current pin, which seems to be a signal to the drive to do 'stuff' depending on the signal (e.g. change motor rpm from 300 -> 360 in 5.25" drives, or increase current to the write head to allow faster write transitions).

Although, I have just found a pinout for the ps2 that suggests there're media select pins on 17 & 27, as well as the data rate/density select pins (on 2 & 33):
www.tavi.co.uk/ps2pages/ohland/floppy.html

Reply 26 of 36, by weedeewee

User metadata
Rank l33t
Rank
l33t

Ran across this ad on fb for a 2.88MB FDD with an interface board for SCSI and it has the Toshiba TC8569AF onboard (the interface board)
here's the pdf https://datasheetspdf.com/pdf-file/376709/Toshiba/TC8569AF/1
maybe that has some info and insights that can help you in your endeavors.

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 27 of 36, by nathana

User metadata
Rank Newbie
Rank
Newbie
snufkin wrote on 2021-04-19, 15:11:

I'm interested in what you've seen that says there's any signalling of density back to the FDC? As far as I've been able to find so far the only density information is that Pin 2 density select/reduced current pin, which seems to be a signal to the drive to do 'stuff' depending on the signal

  1. See page 9 (which is really page 19 in the PDF) of this IBM document: 3.5-inch Diskette Drives Technical Reference:
    `

    MEDIA TYPE ID 1-0: These signals are driven by drives that support media sensing to identify the type of media in the drive.

    `
    This would seem to suggest that these are separate from what I've been calling "DENSEL" (pin 2, also called "REDWC" by some). But then consider...
    `
  2. ...that the respondent to my vcfed thread who pointed me at this IBM document makes this claim:
    `

    From recent testing and research the IBM PS/2 floppy drives pull their Active Low lines high on the drive, "clones" may do this on the motherboard. This is a crucial difference.

    `
  3. A claim made by a post on the Greaseweazle Github issues database says this:
    `

    DENSel on Pin 2 of the floppy cable is an input for 5.25" drives and can be configured as [either an] input or output on some 3.5" drives.

    `
  4. It could be in error/a typo, but the pinout description on this page shows that the direction of the DENSEL/REDWC signal line is from drive to controller, and not the other way around.
    `
  5. ...and finally, it's just common sense that there would be signal line(s) in that direction for at least certain implementations. Otherwise, what would be the point of having microswitches in some drives underneath the media density holes if media detection and selection was just 100% handled in all cases by the FDC with no input at all from the drive itself?

Allow me to repeat myself: AAAAAAAARGH.

Reply 28 of 36, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie
nathana wrote on 2021-04-19, 22:57:
[…]
Show full quote
  1. See page 9 (which is really page 19 in the PDF) of this IBM document: 3.5-inch Diskette Drives Technical Reference:
    `

    MEDIA TYPE ID 1-0: These signals are driven by drives that support media sensing to identify the type of media in the drive.

    `
    This would seem to suggest that these are separate from what I've been calling "DENSEL" (pin 2, also called "REDWC" by some). But then consider...

Yeah, that would fit with that tavi.co.uk link I only found today. So IBM borrowed two of the Gnd pins as signals back to the FDC for the Media Type signals. Then there's still the original Data Rate Select signal (or Density Select, or Reduced Write Current) on pin 2, along with now another one on pin 33, as inputs to the drive. As an aside, I love the single +5V on pin 3, when previously it was Gnd. That doesn't sound like it'd caused any problems.

` [*]...that the respondent to my vcfed thread who pointed me at this IBM document makes this claim: ` […]
Show full quote

`
[*]...that the respondent to my vcfed thread who pointed me at this IBM document makes this claim:
`

From recent testing and research the IBM PS/2 floppy drives pull their Active Low lines high on the drive, "clones" may do this on the motherboard. This is a crucial difference.

`

I'm not immediately clear why it matters where the lines are pulled high, unless this is either a line termination issue (I don't think the frequencies are that high) or a problem if the line's pulled high at both ends it increases the current required to pull it down and maybe the line drivers aren't up to it?

Incidentally, from that thread, it sounds like my drive has the same arrangements of switches as yours. Two over by the HD/ED holes (one for each hole, and labeld as such), and two over by the write protect switch. The one nearest the front of the drive lines up with the write enable tab when it's in the write enable position. The one behind that doesn't line up with any hole and looks to be used as the 'Disk Inserted' signal. On mine then none of those are routed directly to the 34-pin connector. All go through the main control chip (a Mitsubishi P110 which I can find nothing about anywhere), which then controls a line driver chip to drive any outputs to the FDC.

[*]A claim made by a post on the Greaseweazle Github issues database says this: ` […]
Show full quote

[*]A claim made by a post on the Greaseweazle Github issues database says this:
`

DENSel on Pin 2 of the floppy cable is an input for 5.25" drives and can be configured as [either an] input or output on some 3.5" drives.

`

I know that some floppy drives can configure pin 2 as the 'Disk Change' signal to the FDC (e.g. this Mitsubishi I'm trying to make work). That follows what was apparently the Shugart standard, from before it all went messy.

[*]It could be in error/a typo, but the pinout description on this page shows that the direction of the DENSEL/REDWC signal line is from drive to controller, and not the other way around.
`

at the moment I've been assuming that's a typo. I haven't found anything else saying it's an output from the drive.

[*]...and finally, it's just common sense that there would be signal line(s) in that direction for at least certain implementations. Otherwise, what would be the point of having microswitches in some drives underneath the media density holes if media detection and selection was just 100% handled in all cases by the FDC with no input at all from the drive itself?[/list]

Well, the ability of the FDC to do the trial and error search would rely on getting good data on the /RDATA pin to lock on to. I can imagine (but don't know) that the size of the magnetic field change spike might be smaller for higher density disks. If you're the drive, that would change where you'd want to set your thresholds for whether you had really passed a field change, or if it was just noise. So the drive can partially auto-configure and start sending good /RDATA without needing to send anything else to the FDC, and the FDC can then do the trial and error on the data rate.

Allow me to repeat myself: AAAAAAAARGH.

Absolutely.

If you want some grim comedy, I found a good Intel App Note (AP 358):
https://www.datasheetarchive.com/pdf/download … %2520MITSUBISHI

It's all quote a good read, but starting at page 11:

There is currently no industry-wide standard for the FDC to FDD interface. There are numerous floppy drive vendors, each with their own modes and interface pins to enable 4 MB perpendicular mode. The drive interface not only varies from manufacturer to manufacturer but also within a manufacturer's product line. The differences on the interface mainly originate from configuring the floppy drive into the 4 MB mode. Depending on the drive, the differences can create problems of daisy-chaining a 4 MB drive with the standard 1 MB and 2 MB drives. Of course, for laptops this is not a problem since most of them use a single floppy drive. Lack of an industry standard makes it necessary to look at each drive and build an interface for that particular drive.

I am constantly surprised that computers work at all.

Anyway, to continue...

The way that the BIOS determines what type of diskette is in what type of drive is by trial and error. The system tries to read the diskette at 250 Kbps; if it fails then it will set the data rate to higher value and retry. The BIOS does this until the right data rate is selected. This method will still be implemented for the 4 MB drives by some BIOS vendors. However, the 4 MB drives available today also have two media sense ID pins that relate to the user what type of media is present in the floppy drive. This information will also require two pins on the FDC-FDD interface. The location of these pins is once again variable from drive to drive.

Some manufacturers have circumvented the entire standardization problem by including an auto configuration in the drive. In these cases, the type of floppy put into the drive is sensed by the hole (each 4/2/1 MB diskette has a hole in different location identifying it) on the diskette. The the drive automatically sets itself up for this mode. The BIOS must obviously set up the floppy disk controller for the correct data rate which could be done if the media sense ID was read and decoded as to the data rate. Due to lack of extra pins on the even side of the floppy connector the newer locations of some of the functions are migrating to the odd pins (previously all grounded). Some drive manufacturers have even made this configurable via jumpers. For instance, the new TEAC drives have a huge potpourri of configurations that would satisfy the appetite of some of the most finicky system interfaces.

I get a strong sense of "someone's made a pigs ear of this, and it wasn't us" in that. It doesn't really help if the drive auto-configures itself if there's no reliable way for it to get that information back to the FDC, which may or may not still have to fall back on trial and error to find the correct data rate. But if the drive fails to auto-configure (e.g. switch issues), then that might cause the trial and error search to fail.

Reply 29 of 36, by nathana

User metadata
Rank Newbie
Rank
Newbie
snufkin wrote on 2021-04-19, 23:57:

I'm not immediately clear why it matters where the lines are pulled high

I took this note of the lines being pulled high either at the drive or the "motherboard" (which I read as just a substitute for FDC) as an indication of whether this was an input or output signal from the perspective of the drive. So the point is that, assuming both that he's correct and that my interpretation of what he intended to communicate is correct, in some circumstances/configurations this signalling data flows one way, and in other contexts, it's flowing the opposite way.

snufkin wrote on 2021-04-19, 23:57:
nathana wrote on 2021-04-19, 22:57:

DENSel on Pin 2 of the floppy cable is an input for 5.25" drives and can be configured as [either an] input or output on some 3.5" drives.

I know that some floppy drives can configure pin 2 as the 'Disk Change' signal to the FDC (e.g. this Mitsubishi I'm trying to make work). That follows what was apparently the Shugart standard, from before it all went messy.

Yes, I can see that from other pinout listings (namely, the pinouts.ru site). But from reading that Github issues thread, it -- again -- didn't sound (to me) like what he meant was "oh and when it's being used as an output by some 3.5-inch drives, it's being used to communicate something other than media type/density". The ensuing conversation seems to assume (again, unless I'm misreading this) that even when being used as an output from the floppy drive, that signal line is still somehow involved in indicating the media type. At least in the examples he is thinking of and referring to.

And if it's an output from the drive, by definition it would be the drive indicating something about media type to the controller.

snufkin wrote on 2021-04-19, 23:57:

The way that the BIOS determines what type of diskette is in what type of drive is by trial and error. The system tries to read the diskette at 250 Kbps; if it fails then it will set the data rate to higher value and retry. The BIOS does this until the right data rate is selected. This method will still be implemented for the 4 MB drives by some BIOS vendors. However, the 4 MB drives available today also have two media sense ID pins that relate to the user what type of media is present in the floppy drive. This information will also require two pins on the FDC-FDD interface. The location of these pins is once again variable from drive to drive.

OKAY, yes, now we're (kind of) talking. Great find on your part.

So the host-media-select will "still be implemented" for the ED drives by "some" BIOS vendors. What it doesn't come out and say is what the alternatives are that BIOS vendors might have. Is it an option for a BIOS to simply read the status of the "media sense ID" pins through the FDC, and then blindly accept what those indicate the inserted media type to be & then configure the FDC to the data rate of that media type without doing any trial-and-error testing? Could it be that that's what most PC-compatible BIOSes by Award, Phoenix, AMI, etc. do when they're presented with a 2.88 drive, since (at least it's claimed that) in the PC-clone world, all 3.5" HD/ED drives have "media sense" capabilities? Could it furthermore be that none of the 26-pin-to-34-pin adapters I have are passing through signals between drive and controller on any of the odd-numbered pins, and are instead just shunting all of them to a common ground? (Guess I need to dig up a continuity tester?) And if that's the case, could it be that the FDC (and thus the BIOS) never sees a change in "media select ID" signaling from the drive ('cause they aren't hooked up), and that the FDC interprets the "floating" state of those pins to be DD media? So that's what my drive is eternally stuck at while connected to a PC motherboard??

-- Nathan

Reply 30 of 36, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie
nathana wrote on 2021-04-20, 00:41:

I took this note of the lines being pulled high either at the drive or the "motherboard" (which I read as just a substitute for FDC) as an indication of whether this was an input or output signal from the perspective of the drive. So the point is that, assuming both that he's correct and that my interpretation of what he intended to communicate is correct, in some circumstances/configurations this signalling data flows one way, and in other contexts, it's flowing the opposite way.

Ok, so if it can be an input then there should be a pull-up/down to make sure the line isn't floating when there's nothing actively driving the it. So the presence or absence is a good indicator of whether the pin is an input/bidirectional or output. So if the PS/2 drives have pull ups on (some/all?) of the lines, then they can be inputs to the drive, or both inputs or outputs if it's potentially bi-directional. Bi-directional would seem odd for the floppy connector given everything else seems to be unidirectional (e.g. there are separate /RDATA and /WDATA lines). So I don't think that having pull ups on the drive would suggest that they are outputs from the drive to the FDC.

Yes, I can see that from other pinout listings (namely, the pinouts.ru site). But from reading that Github issues thread, it -- again -- didn't sound (to me) like what he meant was "oh and when it's being used as an output by some 3.5-inch drives, it's being used to communicate something other than media type/density". The ensuing conversation seems to assume (again, unless I'm misreading this) that even when being used as an output from the floppy drive, that signal line is still somehow involved in indicating the media type. At least in the examples he is thinking of and referring to.

And if it's an output from the drive, by definition it would be the drive indicating something about media type to the controller.

I had a look at the schematic the original poster there referenced (F7 version 2) and it looks like it was changed/corrected for version 3 to be marked as an output from the Greaseweazle to the drive:
https://raw.githubusercontent.com/wiki/keirf/ … 3_Schematic.pdf

My reading of that thread was that someone had read that pin 2 could be an output from the drive to the FDC (either from reading about the Disk Change option, or from that pinouts.ru pinout) and also seen the v2 schematic showing it as an input to the Greaseweazle (although directly connecting the processor with no pull up), but found the Greaseweazle code configured it as an output and then didn't use it. That would look like a possible bug, and they wondered if it could be why their drive wouldn't read DD 5.25" disks. With the response being to make that processor pin (PB12) configurable (internal pull up/down?), and to say that the DENSEL signal to that drive controlled the rpm (300->360), but that wouldn't be why his drive was having problems with DD. I didn't read any of the replies as suggesting there was a density signal from the drive to the FDC/Greaseweazle.

Nice to see that a week after that thread the next software release included the pin level control and the double stepping option.

So the host-media-select will "still be implemented" for the ED drives by "some" BIOS vendors. What it doesn't come out and say is what the alternatives are that BIOS vendors might have. Is it an option for a BIOS to simply read the status of the "media sense ID" pins through the FDC, and then blindly accept what those indicate the inserted media type to be & then configure the FDC to the data rate of that media type without doing any trial-and-error testing?

That sounds possible, but I'd guess that if they already had functioning trial and error code for an FDC, which they'd have to keep anyway so it could support drives that didn't do Media Type, they'd probably take the easy route and just carry on doing trial and error. Adding extra code to check for possible MT lines for the rare chance the drive has them, for very little benefit for further up the stack (warn users if there's a Type/Formatting mismatch? save a couple of spins IDing the media?), would be more time and budget.

Could it be that that's what most PC-compatible BIOSes by Award, Phoenix, AMI, etc. do when they're presented with a 2.88 drive, since (at least it's claimed that) in the PC-clone world, all 3.5" HD/ED drives have "media sense" capabilities?

My interpretation is that systems have firmware media sense via trial and error (so the user isn't having to manually change a setting for different disks), and the drive has actual hardware media sense for internal drive management for standard DD/HD/ED drives. The IBM TechRef distinguishes between 2.88MB drives and 'enhanced' 2.88MB drives, and only the enhanced 34 pin connectors has the extra MT pins on pin 17&27, which I take to mean that there are ED drives that don't use Media Type signals.

Could it furthermore be that none of the 26-pin-to-34-pin adapters I have are passing through signals between drive and controller on any of the odd-numbered pins, and are instead just shunting all of them to a common ground? (Guess I need to dig up a continuity tester?)

I wouldn't be surprised if they were all just connected to ground. That or the other extreme of only connecting one of the grounds through.

And if that's the case, could it be that the FDC (and thus the BIOS) never sees a change in "media select ID" signaling from the drive ('cause they aren't hooked up), and that the FDC interprets the "floating" state of those pins to be DD media? So that's what my drive is eternally stuck at while connected to a PC motherboard??

Lots of 'could bes', sorry. If your 26->34 adapter is grounding the pins, and if the FDC is trying to read them, then they'd read as '00', which the IBM TechRef gives as 'Reserved'. At which point I've no idea what the FDC would do. Hopefully fall back to trial and error... If the FDC supports MT on pins 17&27 then it won't leave them floating, but don't know if it'd pull them high or low. If there are no pull up/down resistors on those lines on the FDC then it probably doesn't support MT.

If you can get a continuity tester / multimeter, that'd help. My current guess / thing to try is to measure the sense switches. If they're anything like mine then the switch should be closed/short when the pins are up (no disk in) and open when the pins are pushed down. So putting in a DD disk would push them both down and putting in an ED disk would only push down the front pin. If they've failed like mine then they fail open, which would make it look to the drive like there was a DD disk in all the time. The Intel App Note talks about drives auto-configuring themselves, and that might take priority over any configuration via the DENSEL from the FDC. So, perhaps, the drive is stuck auto-configuring for DD (e.g. different read strength from the read heads), which stops the FDC being able to complete trial and error data rate search (gets bad /RDATA for HD and ED).

Doesn't explain why you can't write DD disks though. ED drives have more complicated read heads, but they're supposed to be backward compatible.

Reply 31 of 36, by weedeewee

User metadata
Rank l33t
Rank
l33t

Wait... pin 2 ? isn't that the change line signal ? ie indicates if a different floppy has been put in the drive. (can be the same floppy, just needs to be taken out and put into.)

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 32 of 36, by nathana

User metadata
Rank Newbie
Rank
Newbie

I only was able to briefly skim through the latest responses & I will circle back and read through them more thoroughly later, but a quick update.

I previously mentioned that I can only read DD disks when the drives are connected to any of 3 PC motherboards, and that writing to DD disks destroys the contents of those sectors.

I also mentioned that I was able to read HD disks just fine when I had the drives interfaced to a ThinkPad 770 (stuffed into an UltraBay II caddy for the OEM 1.44 drive).

I have since confirmed that I have zero issues both reading from AND writing to DD *and* HD media while either drive is in the ThinkPad. Furthermore, I can take diskettes I've written to using the ThinkPad over to another machine with a known-good HD drive, and read that same data back without a problem.

I wasn't able to read any ED disks at first. Since everything else was working, I suspected that the 770 BIOS simply had no 2.88 support (or at least no user-facing method to toggle the appropriate bit in CMOS).

I can now confirm it is in fact a BIOS issue. I first tried DRIVPARM/DRIVER.SYS...didn't work (though it made the drive retry seeks many more times before giving up). But after that, I tried 2M-ABIOS, which hooks into INT 13h and replaces the stock BIOS implementation with its own routines, and...lo and behold, I can read ED media just fine with either drive connected to the ThinkPad now.

I have not yet tried writing to any ED media, since I don't have any blank ED diskettes and don't want to risk the data on the ones I do have, but given that both DD and HD writes work just fine, I have to believe ED writes do, too.

At this point I am satisfied that both drives are physically fit and functionally fine. If the theory that the drives are autonomously taking the status of the HD and ED switches into account is true, then my experience here would seem to indicate that there is nothing physically wrong with either set of switches in either drive. At this juncture, all signs to me still point to some kind of disagreement between FDC and drive when it's connected up to some non-IBM machine.

(Oh, and I did try 2M-ABIOS on the PCs. Zero difference.)

Reply 33 of 36, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie

Ahahaha, standards. Shugart had pin 2 as disk change. IBM decided that could go on pin 34 instead and just do without the Ready signal that was on pin 34. Then they could reuse pin 2 for a speed control/density select (spins HD 5.25" disks faster). Which also became a write current indicator for drives writing to HD disks. No idea why they didn't put the density select on pin 34 and leave disk change where it was. They also put 5V on pin 3, which had been an orientation key. And generally mucked about with it. I think any standard where you're not sure if a pin is Gnd or +5V, or you end up with +12V on what was an LED signalling pin is having problems.

Or at least, I think that's true. We haven't yet come across a good authoritative source for either how things are supposed to work, or do in practice, for around the early 90s. So there's been a lot of flailing around.

Reply 34 of 36, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie
nathana wrote on 2021-04-20, 13:44:

I can now confirm it is in fact a BIOS issue. I first tried DRIVPARM/DRIVER.SYS...didn't work (though it made the drive retry seeks many more times before giving up). But after that, I tried 2M-ABIOS, which hooks into INT 13h and replaces the stock BIOS implementation with its own routines, and...lo and behold, I can read ED media just fine with either drive connected to the ThinkPad now.

Awesome.

At this point I am satisfied that both drives are physically fit and functionally fine. If the theory that the drives are autonomously taking the status of the HD and ED switches into account is true, then my experience here would seem to indicate that there is nothing physically wrong with either set of switches in either drive. At this juncture, all signs to me still point to some kind of disagreement between FDC and drive when it's connected up to some non-IBM machine.

Yes. Ok, so does that suggest that the drive is using the MT signals, and the FDC on the 770 is reading them? If the adapter doesn't connect them, or the FDC doesn't read them then that could cause problems. And if they are enhanced drives then I think pin 2&33 can be used to set the data rate. Though this is another bit where I don't know how conflicts between signals from the media sense pins and signals from the FDC are resolved. It'd be interesting to know whether any of the odd numbered lines are not Gnd when the drive's accessing ED disks. Although, obviously, now you know the drives work this is all a bit less important.

Incidentally, on http://www.tavi.co.uk/ps2pages/ohland/floppy.html some people talk about being able to format HD disks as ED, so you might be able to do that for testing without risking and data you want to preserve. If it doesn't work, probably the disk, but if it does work then a good indicator that the drives are perfectly fine.

Reply 35 of 36, by nathana

User metadata
Rank Newbie
Rank
Newbie
snufkin wrote on 2021-04-20, 14:08:

Incidentally, on http://www.tavi.co.uk/ps2pages/ohland/floppy.html some people talk about being able to format HD disks as ED, so you might be able to do that for testing without risking and data you want to preserve. If it doesn't work, probably the disk, but if it does work then a good indicator that the drives are perfectly fine.

I had read that too, and don't know why I didn't think to try that...great idea.

I was able to take an HD diskette and format it as 2.88. It took a while and the drive complained pretty loudly the whole time, but it finished. After that, I was able to copy 2.5MiB of data to the drive. I did get several "Data error writing drive A:" errors from DOS during the copy, but a (R)etry or two *usually* got past that. I assume it was just subpar media having trouble accepting and retaining the 1Mbit/s MFM perpendicular recording rate. And on account of those errors, I wasn't convinced that the data was going to be wholly readable, but I ejected the disk, rebooted the computer, put it back in, did a directory listing successfully, and then managed to copy all of the data back off the disk without a single error.

I don't know what to take away from the fact that this worked without me having to punch a hole in the diskette where the ED hole would normally be. Perhaps the switch states aren't actually being consulted at all, at least while it's in the ThinkPad and/or combined with 2M-ABIOS?

That said, I've never actually tried to see what would normally happen if I tried to read & write one type of 3.5" diskette media as if it were another type while that media was in a media-sense-capable drive & the diskette had no holes either punched out of it or covered back up / filled back in. Perhaps I will run a similar test on a hole-less DD diskette inside of a standard PC HD drive.

I would have liked to have tried laying down a 2.88 low-level format across the HD diskette a-la ImageDisk first before trying to lay down a filesystem, but IMD doesn't support 1Mbit, 36 sec/track media, and I don't know off-hand of a similar tool that does.

Reply 36 of 36, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie

Worth trying punching a hole, and covering the HD hole? The write error complaints are probably media issues, but maybe the media detect pins actually do something and aren't just for show (I'm becoming increasingly suspicious).

Doesn't a format do a low level format? I know with mine that attempts to format HD disks fails on track 0. And from what I've read about writing ED disks it has an erase head ahead of the write head, and it has to have rewritten the inter-sector gaps and header information to go from 18 to 36 sectors.