• Please review our updated Terms and Rules here

Pulling data from CPM hard drive: advice needed!

username1

Experienced Member
Joined
May 29, 2017
Messages
96
Location
Texas
Hi everyone! After sitting in a backlog of projects for a few years due to lack of proper equipment, I want to see if this drive I have is any better than a paperweight. This is a external hard drive that hasn't been powered on in probably 20 years. I have the accompanying QX-10 it came with, but the system has never had a hard drive controller card. I now have an IBM 5150 with MFM controller and wanted to know if it's possible to read/image the CPM hard drive using PC equipment. I haven't put any power to the drive because I know it's MFM and requires parking after spin-up and I don't want to damage it. Is there any feasible way to get any data off it or should I keep searching for the elusive QX-10 MFM controller? I'll attach both photos of the drive I have and a link to the model of hard drive inside the enclosure.

Thanks in advance for any advice!

hard drive model: http://www.mfarris.com/theref/hard_drives/fuji/fuji_fk305-26.html
 

Attachments

  • hdd4.jpg
    hdd4.jpg
    93.6 KB · Views: 0
  • hdd33.jpg
    hdd33.jpg
    146.2 KB · Views: 1
Unfortunately, I suspect that it's not going to be possible to use a 5150 controller to read a disk written on a QX-10. Encodings differ from controller manufacturer to manufacturer--and even among different models made by the same manufacturer. There is a reader/emulator based on a microcontroller that would almost certainly do the job, but the issue is going to be one of cost.
 
username1, are you thinking of replacing the controller that's already on the drive? That controller handles all the low-level formatting of the drive (MFM etc) and communicates to its host computer with a fairly-simple parallel interface. I suspect this controller uses the SASI protocol to the computer, but there were a few others in use during the era before SASI became the defacto standard. I'm not sure if the IBM 5150 used SASI or if it had gone to SCSI - that would probably be a matter of what vintage it is. Anyway, you keep the *controller* that's attached to the harddrive, but the interface to a computer (HBA) is simple and well-known. While creating software to access the drive is not trivial, it is not terribly complicated either. You just need to find or build a SASI interface (HBA). Given that the IBM 5150 originated in 1981 (according to wikipedia at least), it would probably be SASI - but again, there were other protocols vying for dominance at that time. It may be even possible to construct a SASI interface using modern PC parallel ports. But, the HDD built-in controller needs to be functional.
 
If you post a hi-res, straight-on, picture of the HDD controller board, we can probably tell more about what you're up against.
 
I still have an ISA card implmenting SASI that used to belong to an Ampex Megastore, which would be roughly comparable to the drive shown. It's very primitive; mostly a bunch of SSI on a full-length card. The problem there, assuming that it worked, would be writing the software to interface to the card. The primary questions are "how important is the data?" and "does the drive still work?"

FWIW, the controller is on the drive--your QX-10 is missing the card to interface to it.
 
Thank all of you so much for your advice so far! I believe I got some terminology mixed up, I'm not looking to replace the board inside the external drive, I was wondering if I can connect it's existing cable to the ISA MFM Interface card in my 5150. I'll attach a picture of the controller board inside the drive but I have to host the photo externally due to size limitations on this forum. It's clearly marked as a WD-1002 (western digital?) and the information on the hard drive itself is in the link in my original post.

Hopefully this link leads to the right high-resolution photo, let me know if it doesn't. (click to zoom in)
https://i.ibb.co/6yVwkWn/controllerboard.jpg

As for the data on the drive, while it's not personally important to me, I said if I could recover any data from it I would pass it along to the previous owner as I've done with the QX-10 floppy disks I've imaged. I'm also interested in whatever software and data is stored on it as it could potentially not be backed up onto the internet yet and I would eventually like to use the drive with my QX-10 if I can find the appropriate card to fit it. I have no idea if the drive spins up or works. I haven't even powered it on because I didn't want to damage it by having to turn it off without parking the heads correctly and I would need to check out the power supply as well.
 
As I (and others) have mentioned, the possibility of hooking the ST506 interface sans the WD1002 because of encoding differences. I suspect that the WD1002 device you have is the WD1002-05 or WD1002-HDO. The datasheet is here. Note that the host interface, given in section 2.2.2 is pretty simple and not SCSI or ST506. But, an interface card would be pretty easy to construct (a single 8255 would do it) or you could hook the thing to a microcontroller, such as an Arduino.
 
The controller looks nearly identical to the one used in the Kaypro 10s. However, I suspect subtle differences in programmed parts would decide the protocol. WD did make a SASI version, at least I found a manual for it, but the specific protocol is usually indicated by some writing in the white square near the upper left, "WD-1002-[___]", which has either been washed off your board or was washed-out by the flash. Your controller has the WD2797, and so is equipped to handle floppy drives as well (unlike the Kayrpo models).
 
It's a WD1002-05, as I pointed to in the datasheet above.
board.jpg
 
You might want to look in to this MFM hard drive emulator https://www.pdp8online.com/mfm/mfm.shtml It will not really solve your problem of getting DATA out of the drive, but it should be able to make an image of the raw flux signals on the drive, which should at least give you a backup copy, and the possibility to analyze or extract data later. (I've not used that device myself yet, but I need to).
 
You might want to look in to this MFM hard drive emulator https://www.pdp8online.com/mfm/mfm.shtml It will not really solve your problem of getting DATA out of the drive, but it should be able to make an image of the raw flux signals on the drive, which should at least give you a backup copy, and the possibility to analyze or extract data later. (I've not used that device myself yet, but I need to).

Mentioned in #2. I still believe that the most straightforward way would be to devise a simple hookup to a PC. Basically a bidirectional parallel port.
 
So, the controller likely being a WD1002-05 means that the command and interface details are pretty well known. I've worked with Kaypro 10 software, which uses the same controller (-HDO instead of -05, but same protocol and command structure). Unfortunately, the Kaypro uses an intercessor board and so the physical interface is not identical, plus I've never seen a schematic for the intercessor board. Bottom line, you'll need something with an interface that is compatible. Ideally, of course, find the interface board for the QX-10 and use that - if you can find QX-10 software for it or convince one of us to write it. Another possibility is to build up something using parallel ports, possibly even devices like these: https://www.digikey.com/en/products...OgbCHXu-_mOX8I_baXWtM6DJAnUqwepwaAu0zEALw_wcB which could be plugged into the USB bus of a modern PC and software could be written using modern tools. However, you still have to interface the parallel ports to the WD1002. The WD1002 documentation should help with that.
 
FWIW, the WD1002 -05 interface appears to be identical with the WD1001 one. The hardware to get a real interface to one is almost trivial. My 5150 version was little more than a buffer, a latch, and a bit of address decoding. That the controller is fully buffered is another plus--there's no time urgency in this. If anyone wants to see my code interfacing to one, I can go looking for it. You might even be able to adapt a bidirectional printer port to handle this--I haven't looked at that possibility in detail. After that, it's just a matter of a little software.
 
I know someone who is a member of VCF (not me!) with a QX-16 and he has the interface card in one of the QX expansion card slots. He lacks the hard drive and controller. He's been looking for the rest of what he needs. Maybe you two should get together. I will pass on your info and it will be up to him if he wishes to contact you.
 
Some further issues to consider:

As I read it the QX10 ran CP/M, you may have a CP/M86 for the IBM PC but even if you have it reading the 512 byte sectors you still need to map those into CP/M file structure. Not sure if any of the early PC CP/Ms had hard disk support, the early CP/M86 was purely floppy disk based.

Trying to do it from MSDOS would be a tall order as you would need a program to emulate CP/M BDOS file handling to make any sense of the data other than as a block by block copy.

Do you have any details on the QX10 DPB values, spt, tracks, heads, reserved tracks, allocation block size, interleave, mapping of 512 byte blocks into logical 128 byte CP/M sectors?

Peter
 
Some further issues to consider:

As I read it the QX10 ran CP/M, you may have a CP/M86 for the IBM PC but even if you have it reading the 512 byte sectors you still need to map those into CP/M file structure. Not sure if any of the early PC CP/Ms had hard disk support, the early CP/M86 was purely floppy disk based.

Trying to do it from MSDOS would be a tall order as you would need a program to emulate CP/M BDOS file handling to make any sense of the data other than as a block by block copy.

Do you have any details on the QX10 DPB values, spt, tracks, heads, reserved tracks, allocation block size, interleave, mapping of 512 byte blocks into logical 128 byte CP/M sectors?

Peter

The problem here is preserving the raw sectors. All the rest can be worked out easily once you have an image file on a modern PC.
 
Back
Top