View Full Version : Quantum Q2040 SA1000 HDD in IBM 5160 possible?

November 17th, 2017, 02:51 PM
Is it possible to connect HDD with SA1000 interface, for example Quantum Q2040, to common ST-506/412 controller? Maybe with some reasonable modifications, anyone tried? Any info that would help? Thank you in advance.

November 29th, 2017, 11:15 AM
According to this:

the Q2040 is ST-506/412 anyway. As for SA1000 it that the same as SMD? The pinout in the SA1000 manual at archive.org would indicate it is possible in principle. I've got an 8" Micropolis drive with a SMD interface laying about and no controller. Always though about rigging something up but I've never really looked into it seriously. If you find a solution I'd be interested too.

November 29th, 2017, 12:08 PM
No, while SA1000 is similar to ST506, it's not the same--it precedes ST506 and has nothing to do with SMD.

SA1000 OEM manual (http://bitsavers.informatik.uni-stuttgart.de/pdf/shugart/SA1000/39010-2_SA1000_OEM_Manual_Dec80.pdf)

In particular, note that the SA1000 uses a +5 and +24V supply and that the motor is AC line powered. J1 is 50 conductors, as opposed to the ST506 34 conductor. J2 is very similar between the two, with the SA1000 furnishing a bit clock that's not present on the ST506.

My first hard disk on a 5150 was an SA1000 tied to a WD1001 controller, which fed a simple homebrew ISA interface. I think I still have the interface card that I built. 4MB of storage--woohoo!

November 30th, 2017, 03:10 PM
Chuck, did you make that homebrew ISA card yourself? I am really interested in making some of my 8" drives working in PC. (I have few of them, mostly various SMD drives, but I lack the SMD to ISA controller and I am unable to find any on ebay or anywhere. So my best option is probably Q2040, which I also have - at least some similarity with ST-506/412). The information on stason.org is incorrect, it is really SA1000-interface drive, like Chuck said. The power supply to spindle motor, and additional 24V is not a problem, I am aware of that. I just want to find some way to make it run somehow... But I am not smart enough to design my own controller, so I need to find someone who already did it. Chuck, by any chance, don't you want to get rid of your custom controller? :-)

April 1st, 2018, 02:20 PM
Any ideas for SA1000 to ST506 interface, please? :)

April 1st, 2018, 03:43 PM
You are talking about the Quantum Q2040 40megabyte 8 inch hard drive with the 50-pin interface?

The interface is similar but the exact pin outs are different. Here are some very old notes:

Quantum Q2040 pinouts

(NC=no connection)

Secondary connector:
18: Read MFM data -
17: Read MFM data +
14: Write MFM Data -
13: Write MFM Data +

Primary connector:
44:? Output? This is an output gate but it seems to do nothing
42:Track 0 - OUTPUT indicates the heads are at track 0
40:Write - INPUT set this to start writing to the disk surface
38:Write Fault - OUTPUT signal if writing was unsuccessful.
36:Step - INPUT signal makes the heads step in the direction specified by DIR
34:DIR - INPUT high or low signals determine the direction the heads will move in a step operation
32:DS3 - INPUT if jumper is set, activates when the fourth drive on the chain is activated.
30:DS2 - INPUT if jumper is set, activates when the third drive on the chain is activated.
28:DS1 - INPUT if jumper is set, activates when the second drive on the chain is activated.
26:DS0 - INPUT if jumper is set, activates when the first drive on the chain is activated.
22:Ready - OUTPUT the drive is ready for I/O
20:Index - OUTPUT a pulse that occurs once every platter rotation and signals the beginning of the track.
18:HS1 - INPUT Bit 1 of the head select
14:HS0 - INPUT Bit 0 of the head select
8:Seek complete - OUTPUT the head has completed any seek operation
6:Park - INPUT - setting this automatically parks the heads heads.
4:HS2 - INPUT Bit 3 of the head select
2:NC - might map to HS3 if there were more than 8 heads, but not used on Q2040 or Q2020

A simple adapter could connect the 50-pin part to the matching lines on a ST-506 , but the big problem is the two READ MFM DATA lines use a different line driver chip. ST-506 type drives use an RS422 line driver, but the Q2040 uses something different. I don't quite recall what, but it was possible to intercept the signal before it gets it its line driver chip, and run it through an RS422 line driver chip.

The second problem is that these are 3000 RPM drives. Most XT controllers are hard coded for 3600 RPM drives. That means the Q2040's tracks are longer and can accommodate 21 sectors per track instead of 17, but common XT controllers wont know how to do that.

There were 3000 RPM 5.25" drives, so later AT-style controllers could format 21 sectors per track. The 16-bit Western Digital cards were usually good about that. This also requires a BIOS with user customizable drive parameters.

If you can only format using 17 sectors, you will not be able to use the full capacity of the drive, but it can still function.

Also, these use a much lower step rate than typical 5.25" hard drives, so that must be taken in to account or you will get random seek errors.

April 1st, 2018, 04:18 PM
Thank you for your reply. It would be nice to just make a 50pin do 34/20 pin cable adapter, I can do that, if the signals are compatible. The part where I am starting to get lost is when you talk about READ MFM DATA signal. :( Do you mean to find that signal on board of Q2040 before it gets "converted", and by some custom circuit supply it to ST506 controller? This is what I probably can not fully understand/design by myself. If it is a question of tracing some signals from heads and build some custom logic to convert it for input of ST506 controller, I can physically do that, but I don't know how to design it. I have a lot of old non-working MFM drives, so maybe I could dissect some parts from some simple boards (ST225 or ST412 etc) for this, but I would need some help.

Yes, the drive is originally 3000RPM, and I have a US version for 115V/60Hz. I live in Europe, so I have a 240V/50Hz supply here. Possibly I could either make converter to 115V 72Hz to make it spin faster, or, I can just convert to 115V 50Hz and make it run at 3600RPM by custom pulleys (spindle is driven by belt and pulleys, and according to service manual found here http://www.tiffe.de/Robotron/misc/Winchester-HD/SA-1000/Quantum_Q2000_svc_Sep81_text.pdf there were different sets of pulleys to accomodate for 50/60Hz operation. I have a lathe so I could make custom ones to run it at 3600RPM. A bit crazy, but why not? :) )

Or, I can try to find some controller to support for 21 sectors.

I have played with original ST506 5MB drive which does not support buffered seek, so I can handle slow step rates maybe. Again, a good controller that has a wide spectrum of options would help. But another thing to consider, thanks.

April 1st, 2018, 05:18 PM
It MUST spin at 3000 RPM. Anything else and you would be writing at the wrong data rate. The circuitry probably checks for the correct RPM anyway. And that won't get you your extra data space. Think about how that is stored on the disk.

But just to be clear, you can usually use a 3000 RPM drive on a controller designed for 3600RPM drives with the only caveat that you won't have access to the full length of the track. This is different from RLL because the encoding and bit rate is the same, but the surface is spinning slower and therefore the track length is longer. (On a side note, these will NOT format reliably with RLL)

The line driver is not all that complicated. There is no "logic" to design really.

I don't really recommend cutting up and re-soldering stuff today on a drive of such vintage. Someone with a system that takes that kind of drive might want it if it is working.

But what I did back in the day was use an empty "spare" IC solder pad set to solder in an RS422 line driver chip right next to the existing one. I used a logic probe to determine which were the TTL inputs to their driver chip. Then I ran two wires from each of those outputs to the input on the new line driver chip, cut the traces to the READ MFM+ and READ MFM- line card edge connector, and then solders two more wires from the outputs on the new line driver to the card edge connector.

Keep in mind I knew (and still know) nothing about what kind of line driver they were using. Someone else here might have a better solution. All I know is I appeared to get zilch signal from their normal outputs.

If you have a dead hard drive with DIP chips then you probably will find one that could be used. I think that might be a AM26LS31 if I am not getting the sender/receiver mixed up.

The drive I had is long, long, long gone so I could not tell you the specifics. Perhaps you could post a photo of your logic board? I think their line driver chip was the one in the very corner near the smaller data card edge connector.

April 1st, 2018, 08:14 PM
I used to run my 5150 with an SA1002, using a WD1001 controller hooked to a simple ISA interface. That worked well enough. I even have the driver I wrote for it. 50 pin interface between the controller and PC.

I never considered running it with a a ST506-type controller, mostly because I didn't have one handy.

April 2nd, 2018, 03:42 AM
I've been looking at this some for adding SA1000 support to my emulator. The line drivers use for SA1000 are current source so need resistors to ground. The standard termination for ST506 is 100 ohms across the lines. If you add 75 ohm to ground resistors on the + and - lines of the data from the drive it should work though with reduced noise margin. Data to the drive should be ok. I haven't tested this.

The other issue is the bitrate. SA1000 is 4.3 Mbit/second. ST-506 is 5 Mbit/second. Good chance you will have excessive errors especially on the inner tracks. You will also need a controller that can do reduced write current.

If anybody has the electronics board from a Q2040 I'm looking for one.

Al Kossow
April 2nd, 2018, 08:18 AM
If anybody has the electronics board from a Q2040 I'm looking for one.

Archiving 2040s and 2080s is creeping up on my 'must get done' list.
Send me an adr and I'll loan you a drive and some logic boards that I've pulled.

April 2nd, 2018, 02:50 PM
The other issue is the bitrate. SA1000 is 4.3 Mbit/second. ST-506 is 5 Mbit/second. Good chance you will have excessive errors especially on the inner tracks. You will also need a controller that can do reduced write current.
I don't know about a genuine SA1000, but with the adaptation I described above, I ran both a Quantum Q2040 and a Q2020 just fine off of several different MFM run-of-the-mill cards.

RLL, on the other hand, would do just that. Spinrite would test about the first half of the drive OK, but the inner tracks were all full of flaky errors. But MFM, no problems.

In case it helps anyone, after seeing quite a bit of use, both drives eventually died from the same issue. The stepper motor power transistors crapped out. The symptom was the drive would power up and seek track zero OK, but then the heads would begin to drift around while idle (I could visibly see them through the shield) and return seek errors. I don't believe it had anything to do with use use on a PC, but rather the amount of use and abuse.

Re-wiring and re-use! THAT is true recycling!

April 2nd, 2018, 03:00 PM
Yeah, looking at the specs of the differential drivers in the SA1000, plain old RS422 interface circuits should do just fine.