• Please review our updated Terms and Rules here

Bring XT floppy controller from Compaq Portable back to life

Dallas_Green

Experienced Member
Joined
May 31, 2023
Messages
60
Location
Germany, Saxony
Hello community

I'm currently restaurating my old Compaq Portable and it turned out that almost all parts had defects. So I could already fix the PSU, CRT, floppy drive and recently the PCB with lot of help from you guys. Thanks again for this.

The next step is to get the old guy booting. What it shows is just "Diskette error, ...". I already cleaned, re-lubricated and verified the disk drive itself, the cables and disk content on my AT computer. There my dos 2.12 is booting from the drive and promting for Date/time as it should. So I suppose that it has something to do with the old floppy controller from the Portable. If I put it in the AT, at least you can hear the heads moving while posting (this kind of init seek) but it can't read anything from there. Just with my AT floppy controller it works. Guess this is also because the XT floppy controller is not supposed to work on an AT like @modem7 recently explained to my regarding the MFM controllers, that AT and XT controller are different animals. =)

Anyway I think that the controller is somehow bad. Also when I execute the diagnostic BIOS there is also a check for floppy read which always fails, doesn't matter which disk I insert.

So my first attempt was to desolder all the polarized capacitors and check on them. All are still working and have the foreseen capacity (+/-). I'm going to replace them anyway but until I got the new ones I can be sure that they are not the issue.
Are you guys typically replacing all the capacitors, also the ceramic ones when you recap your machines? Then there would be lot of work left on this card....

Does anyone has another idea how to check on the controller?

Thanks in advance
Dallas
 
Here the controller and the capacitors I already checked for their capacity.
 

Attachments

  • 20230828_103947.jpg
    20230828_103947.jpg
    2.6 MB · Views: 12
  • 20230828_103907.jpg
    20230828_103907.jpg
    2.9 MB · Views: 14
I would think an PC or XT floppy controller would work in an AT, they are at the same IRQ, on the first interrupt controller (or only interrupt controller in the case of the PC or XT). That's assuming that it isn't conflicting with an already installed floppy controller, and that you aren't trying to use high density drives WITH high density floppies on the older controller.

I'm in the camp (at least for now) of only replacing the tantalums that are bad. For electrolytics I might be convinced to replace them all, especially on systems like early Macs where they are known to be a problem. From what I hear, ceramics are pretty reliable, and I wouldn't replace those unless I had a very good reason.
 
Hello @jafir
Well I honestly didn't know that there are different floppy discs that I would have to distiguish. I assumed that if I can format and read them with the old 360k floppy disk drives from the compaq (Mitsubishi and Tandon) on the AT that they should work on the XT as well.... ?
 
That’s a pretty safe assumption. A DD drive will not format an HD floppy, at least that is my experience. So if the floppy works in a 360K drive it should work in a 1.2MB drive too, usually.
 
I've had issues with that controller but only the +12VDC tantalums that short, nothing else. Are you saying those tantalum capacitors are all good and not shorted?
 
I have a Compaq Portable that I recently revived. It had 2 bad tantalum caps, one on the mainboard and the other on the floppy controller. Once those were replaced, it booted fine, but the second floppy drive is not reading disks. I haven't torn it back apart to inspect the drive yet, but I suspect that there are capacitors on the drives themselves, too. First thing I would do, if I were in your situation, is hook up a known-good drive to the portable's controller to find out if it's the controller or the drive. If the controller works with the known-good drive, I would then look the drives over and check for shorted/leaky capacitors.

Conversely, if you can pull one of the drives from the portable and try it in your AT, that would also tell you where your problem is.
 
I would not worry about capacitors until narrowing down the problem by trying a different FDC / drive and trying the FDC and drive on another system.

On an FDC, it is much more likely there is a damaged chip, if it does not work.

What is described could easily be a problem with the drive. I'd also suggest testing the FDC and drive using ImageDisk. It has a nice "alignment" mode (note actual alignment issues on PC drives are very rare) that will let you test stepping the head over every track and seeking track zero, even if it can't read/write. And if the head somehow gets over the wrong track (again, more often power issues, a rusty stepper, or dusty track zero sensor than actual alignment) and can read anything at all it will show you what track it is actually over.

Also, certain annoying motherboard failures can result in failure of drive operations.
 
Hello all

I checked all the tandal capacitors with a farad meter and they are all good and in its specification. At least the polarized ones, like those shown in the picture, second line.

The drives are good too. I tested both of them on the AT as well as with a USB adapter, reading and writing image files, booting on the AT from them and there weren't any problems. So I consider them as good.
This is why I'm suspecting the controller to be the problem. But if you say that also certain mainboard issues can cause problems with the disc access then I wouldn't exclude this from the list since I recently brought the PCB back to live changing an IC on it.

Do you have further ideas which could cause such problems bei something on the PCB?
 
Guess this is also because the XT floppy controller is not supposed to work on an AT like @modem7 recently explained to my regarding the MFM controllers, that AT and XT controller are different animals. =)
Hard disk controllers, i.e. I wrote, "... XT-class and AT-class hard disk controllers are 'different animals'."
 
Anyway I think that the controller is somehow bad. Also when I execute the diagnostic BIOS there is also a check for floppy read which always fails, doesn't matter which disk I insert.
Diagnostic BIOS ?
Is this Ruud's Diagnostic ROM that you are referring to ?
If so, during the floppy read test, is the drive's LED turning on, and the spindle turning ?

Do you have further ideas which could cause such problems bei something on the PCB?
DMA is something that springs to mind. And if we explore that, diagnostics like the SuperSoft ROM and Ruud's ROM don't actually see if the DMA controller chip can do DMA. All they do is test the write-then-read-back ability of the chip's first eight registers. And if dynamic RAM refresh is working (uses DMA channel 0), one cannot assume from that that the DMA chip is fully functional.

Normally one would save a lot of work by proving whether or not the floppy controller is faulty, and then head off in the appropriate diagnosis path.

Does the floppy controller work in your AT (with a 360K drive due to the controller not supporting high density) ?
 
Also when I execute the diagnostic BIOS there is also a check for floppy read which always fails, doesn't matter which disk I insert.
Diagnostic BIOS ?
Is this Ruud's Diagnostic ROM that you are referring to ?
If so, during the floppy read test, is the drive's LED turning on, and the spindle turning ?
If that is Ruud's Diagnostic ROM that you are referring to, then it very much appears that there is a bug in version 3.6 in relation to the floppy read test.
I just now tried out version 3.6 on a known-good IBM 5160 motherboard.
Using a known-good double density floppy controller, known-good cable, known-good 360K drive, and known-good 360K floppy, the floppy read test fails.
I need to investigate.
 
Hello

Is this Ruud's Diagnostic ROM that you are referring to ?
If so, during the floppy read test, is the drive's LED turning on, and the spindle turning ?
Yes, exactly, this ROM.
The drive spins and the LED lights up but after a while it leads to this error on the ROMs output.

DMA is something that springs to mind. And if we explore that, diagnostics like the SuperSoft ROM and Ruud's ROM don't actually see if the DMA controller chip can do DMA. All they do is test the write-then-read-back ability of the chip's first eight registers. And if dynamic RAM refresh is working (uses DMA channel 0), one cannot assume from that that the DMA chip is fully functional.

Is there a way to check this out? This is actually why I wanted to try whether the Portable can boot from HDD but as I know know preparing the drive on the AT isn't the best idea and didn't work at the end.

Does the floppy controller work in your AT (with a 360K drive due to the controller not supporting high density) ?

No, the Portable controller doesn't work on the AT. The heads are seeking while posting and the drive spins but it always says that its missing the boot disc. Seems that just the data cannot be transmitted.

on XT: Compaq 360K floppy drive + DOS v2.12 + XT Portable floppy controller = doesn't work
on AT: Compaq 360K floppy drive + DOS v2.12 + XT Portable floppy controller = doesn't work
on AT: Compaq 360K floppy drive + DOS v2.12 + AT floppy controller = works

I also tried other 360 drives and other boot discs which I created from certain image files with one of the 360k drives via greaseweazle usb adapter. The behavior is the same. On the AT without the original Portable floppy controller it boots but not with the XT controller. This is why I was assuming the controller to be the problem. BTW: The controller also has such a transceiver IC (SN74LS245N) on it which was the problem that time on my PCB and needed to be replaced. So I have some kind of feeling that a floppy controller can also die.
 
Diagnostic BIOS ?
Is this Ruud's Diagnostic ROM that you are referring to ?
If so, during the floppy read test, is the drive's LED turning on, and the spindle turning ?
Yes, exactly, this ROM.
The drive spins and the LED lights up but after a while it leads to this error on the ROMs output.
You pointed to the SuperSoft ROM, not Ruud's Diagnostic ROM.
But as I wrote in post #13, the 'read floppy' test in Ruud's Diagnostic ROM is not presently working.
But I tried the SuperSoft ROM, and the 'read floppy' test in it works.

So I have some kind of feeling that a floppy controller can also die.
You bet. It is a piece of circuitry like everything else. I have a faulty IBM one put aside that has been waiting for some of my time.

I can't remember whether or not you have an oscilloscope, but if you do, check the output of the oscillator unit (the silver can).

Since the Portable is now able to boot from the hard drive (mentioned in this thread/post) I would say that the DMA controller can't be the cause of the issue with the floppy controller anymore, right?
No. Just because channel 3 is working does not mean that DMA channel 2 must be working. There are things in common, but each channel has some unique circuitry.

Is there a way to check this out?
To check out DMA channel 2 in the mode that it used by a floppy controller, ideally you would use a known-good floppy controller. If that works, motherboard DMA channel 2 (in the mode that it used by a floppy controller) must be good.

Without that, 'diving in deep' is required.

As you are discovering, it is good to have spares of things to make fault isolation easier. Otherwise you end up spending a lot of time investigating things that really don't need to be investigated.

on XT: Compaq 360K floppy drive + DOS v2.12 + XT Portable floppy controller = doesn't work
on AT: Compaq 360K floppy drive + DOS v2.12 + XT Portable floppy controller = doesn't work
on AT: Compaq 360K floppy drive + DOS v2.12 + AT floppy controller = works
You now have the hard drive booting in the Portable.

Get a disk BASIC going and try the BASIC commands at [here]. Do those commands work as expected?
 
Thanks for your reply.
Well I'll get back to this once I'm able to write something on the keyboard. It still needs some restauration.

Also I found someone on the online marked which has a spare part of exactly this controller which he is willing to send to me. This could also last some weeks for the delivery from the US. But you're definitely right. With some spare parts an investigation is way easier.

I do have an oscilloscope which was quite useful for the PCB repair. I'm gonna check the oscillator meanwhile as you proposed. Thanks again!
 
Hello not sure this is helpful or not, but I highly recommend the DOS version of OmniDisk. It's got a bit of a learning curve with its CLI but it lets you talk directly to the uPD765-based FDC (I assume that's what the portable uses) without using the BIOS and I've used it a lot for diagnostics with my DMA-less homebrew 8088 based machine, as it supports PIO mode. It lets you seek to tracks, read sectors all on a very low level, useful for creating repeatable tests. Sorry if this isn't relevant, I don't know how well known OmniDisk is and I think it's very powerful low-level diagnostic tool for floppies and FDCs.

 
Back
Top