8

I have a HP 9122D (EDIT: its actually a 9133) combo disk drive connected to an HP 9000 model 310 computer running Basic 4.0. This setup is used to control a few machines.

The hard drive is getting dated (obviously), and I am worried that it will break soon, rendering the machines unusable. To that end, I would like to copy the contents of the disk as an image, and emulate the hard drive using a modern computer via the HPDrive Project, this PIC emulator, or something similar.

The problem I have is how to copy a disk image off of the 9122D (EDIT actually a 9133) to be able to use the above tools. In researching options, I found BASIC commands to copy files, but none to directly copy the entire unformatted data on the disk. I am not beyond spending money on a device that will do this, and my focus is on trying to do this with minimal effort.

EDIT: I am blown away by these responses, thank you so much everyone! Unfortunately, the drive is actually an HP 9133 HD/floppy drive (the drive must have been swapped out from the factory original). The drive does not have a floppy inserted, so all the data I need is on the HD. The machine starts by running the machine control program, so I am at a loss to programmatically reaching a solution in basic.

  • 2
    Searching the web reveals that the HP9122D is a dual 3.5" floppy drive, not a hard drive. You should be able to image the 3.5" floppies on a PC with a 3.5" floppy drive. – Ross Ridge Sep 15 '17 at 2:56
  • 1
    Does this machine use the same low level format as a PC? This is absolutely not a given with 1980s floppy equipped machines! – rackandboneman Sep 16 '17 at 20:27
  • +1 @rackandboneman exactly the point I describe it more in my answer – Spektre Sep 17 '17 at 11:16
  • @rackandboneman From the capacities for the drive I've seen quoted on the web it seemed likely it does use a compatible format. It's worth a try in any case. While there was a great variety in 5 1/4" formats, there wasn't so much in 3.5" formats. – Ross Ridge Sep 17 '17 at 13:59
  • 1
    @AMiller Yah, it's way too late to change your question as it invalidates existing answers. You'll need to post a new question. – Ross Ridge Sep 21 '17 at 2:24
5

(Some background: the 9122D uses Sony OA-D32W floppy drives. Here's a service manual and a discussion about repairing these drives.)

If you want a perfect 1:1 image of the floppy disk at the magnetic level, you will need a KryoFlux or equivalent. Maybe this isn't necessary for your purposes.

@wizzwizz4 provided instructions on using dd in Linux to create an image of the disk using a modern computer and a modern floppy drive. Then you can store the image away and restore it onto fresh floppies as needed. But if your floppy drives both die, then you will need another way to read the saved images on your HP 9000 computer...

If your HP 9000 computer supports talking to multiple 9122D units on the same bus, then you can install a HP-IB board (a.k.a. GPIB or IEEE-488) in your Windows or Linux computer, run HPDrive to emulate another 9122D, hook both it and the real 9122D to the HP-IB bus, and use your HP 9000 computer to copy the disk from the real 9122D to the emulated one. From then on, you can mount the disk images on your Windows/Linux machine and you won't need the 9122D anymore.

Lastly, if you can figure out how to connect a HxC floppy emulator (SDcard or USB version, your choice) inside the 9122D case to replace one of the floppy drives, then you may be able to use the HP 9000 computer to copy from the remaining floppy drive onto the HxC, and mount the images on the HxC directly.

If you get the HxC working in your 9122D, I'm sure the HP community would like to hear about it.

  • Thank you for your response @traal. I was in the middle of getting this set up when I realized the device is actually a 9133, please see my edit. – AMiller Sep 21 '17 at 1:16
  • @AMiller HPDrive contains a tool called "HPDir" to create image files and copy files into them. – snips-n-snails Sep 21 '17 at 3:51
5

You can read the floppy in any FDD (mechanically compatible). The problem lies with FDC compatibility.

Each FDC controller looks for a specific pattern on the track to find out where the sector starts are. Some FDCs are incompatible and when using the same floppy formatted on incompatible FDC then no matter what you do you can not read the data.

For example I got many floppies formatted with D40 which is 5.25" drive based on WD2797 FDC for ZX Spectrum. It is incompatible with the PC based FDC NEC765. You can read PC disks on it but not the ZX disks on PC (unless specifically formated on the WD2797 before use).

So you can not read such disks on PC directly no matter what. I am not talking about FAT but low level sync to find sectors FDCs are using. There is an workaround however.

I build custom FDC from AT32UC3A3 which simply is controlled by USB from PC and can seek/read tracks at low level ... extracting pulses. Then send it to PC by USB in form of MFM pulses image. Then it is decoded (both format and FAT and emulator compatible image is created).

I successfully backup all my discs after 15 years of hibernation :) and they where still not demagnetized (even the tapes got unusable a decade before which is weird I always taught they would last longer :) ).

So here are your options:

  1. backup on modern FDD/computer if compatible FDC is present

    you should do sector by sector read ignoring the FAT as it might be different then on host OS.

  2. create custom FDC

    this is a bit more complex that it sound you basically need to create FDC+FDD+control+data_acquisition system. Mine fits into single MCU chip (no separate FDC or any chip needed just the USB and FDD connectors + some R,C and Xtal. You can use kits for this so you just make a connection cable to FDD and do not need to worry about the MCU circuitry). I would go this way only as last resort. They might be some ready solutions by now like this out there I was doing this a decade ago.

  3. backup on original system

    You got BASIC so write program that reads your floppy sector by sector and send the data to PC or whatever by any com available (RS232,parallel port,I/O, sound output, ... ) If none present you can use even the screen+camera create video ant than later analyze it (using as serial "cable")

    This is a magnitude simpler then #2. You just need to find the proper com connection that can be used. Read Floppy should not be too hard to code.

So the answer depends on what FDC chip you got in your computer. At HP 9122D service manual you can see the controller PCA part list. Try to identify which IC is the FDC and look for its datasheet for more info about the compatibility. I do not recognize any but I am not familiar with SONY nor Motorola chips numbering and too lazy to search all the candidate chips.

[Edit1] Thanks to @Jules

The FDC controller used should be Fujitsu MB8876A Which is compatible with NEC765 so you should be able to use the simplest method #1.

  • 3
    The schematic for the drive controller over at the HP Computer Museum suggests it uses a Fujitsu MB8876A FDC, which according to its data sheet is IBM System 34/MFM compatible, which is the same format as used by the uPD765, so the disks should be readable on a PC. – Jules Sep 17 '17 at 12:04
  • @Jules MFM is form of encoding ... almost all the FDC are using it. The problem lies with sync markers instead – Spektre Sep 17 '17 at 12:06
  • 1
    isn't that what the "IBM System 34" part is about? – Jules Sep 17 '17 at 12:06
  • @Jules I just compared the formats in datasheets. The FM looks fully compatible in MFM are few discrepancies (in counrs) but those should not be of a big problem the sync markers are the same which is what matter. So the FDDs should be readable on PC directly. – Spektre Sep 17 '17 at 12:17
  • @Jules FM , MFM are forms of physical encoding of the data to fero-magnetic material. The sector and track formats are logical structures on top of it. It is something like logical addressing of the sectors recognized by the FDC. If not compatible then the FDC wil not found start of track nor start of sector resulting in seek timeout and no valid data read/write. – Spektre Sep 17 '17 at 12:28
4

Assuming that you have used a standard DOS file system:

  1. Remove the first floppy disk from the drive.
  2. Put the floppy disk in your modern 3.5" floppy reader.
  3. Connect your modern floppy reader to a computer with dd installed - probably a GNU/Linux distro.
  4. Run the command:

    dd if=/dev/fd0 of=~/floppy.img
    
  5. Repeat once from 2. with the second floppy disk, changing the write path of the image so that it does not overwrite the first file.
  6. Mount the floppy images to test their integrity. (Optional.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.