ahh, the HP 9133A - the largest and heaviest external 3 1/2" floppy drive ever built. let's get it working! 🧵

whoops, surprise hard drive inside!

this one is a Seagate ST-506, a MFM drive with a whopping 5MB capacity!

after taking out 894375037 screws, the actual drive reveals itself.
oh yeah, the hard drive has a controller board on top of it. and on the controller board is this super weird potted electronics module. i'll have to look into that later.
the floppy drive is the extremely ancient Sony OA-D31V-1. it's not the first one to come out. more like the second one.
transmissive optical sensors hate dust bunnies. they'll produce false readings, so they must be cleaned!
a single-sided 3.5" drive head is something you don't see every day. they were never that common.
i'm taking it apart this far because the drive mech needs to be cleaned and relubricated. the old grease hardens and makes the mechanism go sticky, so you'll be able to insert a disk, but when you try to remove it, it'll tear the head right off!
and it tests good! the weird 26-pin HP interface is natively supported by my Floppy Exerciser board (https://github.com/schlae/FloppyExerciser)
on to the surprise hard drive. but, no surprise, it won't spin up and pulls a bunch of current on 12v. hmmm.
the motor won't move. I think it is stiction. ugh.
yeah all the heads are stuck. trying a heat gun now...
it spins, but it sounds bad. not much hope for this drive, unfortunately.

the Gesswein MFM emulator was able to capture a flux transition dump! i used their mfm_util to analyze it, and it is a very odd format: check out the command line:

--format EC1841 --sectors 32,0 --heads 4 --cylinders 153 --header_crc 0x0,0xa00805,32,4 --data_crc 0x0,0xa00805,32,4 --sector_length 256

example output of the analyze command... some bad sectors, but a lot of good ones!
output of 'strings' shows some cool stuff!
the HPIB verification program for the HP5005B signature analyzer. wild
@dgesswein , who authored the MFM emulator tool i am using for this task, reached out. i updated the software to the latest version (i was tragically out of date). got a new dump. only a few bad sectors this time, and none on track 0!

bad sectors were on tracks 37, 75, 113, and 152. the 9133a uses hardware partitioning to get four logical volumes, so these "bad sectors" are really just extra sectors at the end of each disk.

for posterity, the command i used was

./mfm_read --format Xebec_104527_C0_256B --sectors 32,0 --heads 4 --cylinders 153 --header_crc 0x0,0xa00805,32,2 --data_crc 0x0,0xa00805,32,2 --sector_length 256 --retries 50,4 --drive 1 --xebec_skew --begin_time 151000 --tran hp9133a_st506 --ext hp9133a_st506.bin

'file' is superintelligent these days. it knows about LIF disks! looks like the binary data is good!

also the drive is running very smoothly now. a few days ago it was making horrible screeching sounds but i think that was the spindle bearing.

i've been running it upside down to allow the oil to warm up and drain back into the bearing.

digging around on this drive, i've found a bunch of software for the HP-85, including a program designed to control the HP 5005B Signature Multimeter. presumably none of this stuff has ever been preserved before.
huh, i reconnected everything and plugged the drive into my HP85, and it actually works! i can read the files on it.
one of the programs.
unfortunately the floppy drive isn't quite working. i can't format this new disk. the drive makes a very rattly sound, so it's probably something mechanical.

@tubetime

If you have an easy way to accomplish it, can you send me listings of some of the programs, so I can work on the BASIC lister code ?

For instance the "BIORHY" program, which I suspect is a HP demo ?

@tubetime

Oh pretty HP85. HP and 3M executives never suffered the pain they should have for inflicting those damn DC100A cartridge/drives on users.

@tubetime so gorgeous and stunning

People used to laugh when I said I'd fixed their squealing hard drive by oiling it.

Seagate used to have a grounding strip that sat atop a bearing on the end of the spindle (outside the drive) and at a push you could apply some graphite from a soft pencil to stop it being noisy.

Happy days.

@linker3000 I once had an HP calculator with a magnetic card reader. When the cards got dirty, you cleaned them with a pencil eraser.

Linux's knowledge of file formats can be investigated with

$ strings /usr/share/file/magic.mgc | more

@tubetime It's wild how many different disk formats there were in the day.

@tubetime

My AutoArchaeologist toolkit can turn the LIF filesystems into static HTML files so you can spelunk the contents.

Example:

https://phk.freebsd.dk/misc/fatfs/05/056ab17c6.html

Software:

https://codeberg.org/Datamuseum-dk/AutoArchaeologist

⟦056ab17c6⟧

@bsdphk useful, can it handle partially corrupted images?

@tubetime

I dont know how robust the LIF excavator is, I have only written/tried it on good images, but the general idea of AA is to handle whatever you throw at it, as well as possibe.

@tubetime

The fastest way to find out, is probably if you send me the image, but I can also walk you through the setup so you can run AA yourself.

(I've never finished the proper python packaging so it's a bit manual)

@bsdphk i'm going to try and get a better image file, then i will give it a shot.

@bsdphk

Traceback (most recent call last):
File "/home/eric/src_other/AutoArchaeologist/run_example.py", line 11, in <module>
from autoarchaeologist.container import argv
File "/home/eric/src_other/AutoArchaeologist/autoarchaeologist/container/argv.py", line 17, in <module>
import ddhf_bitstore_metadata
ModuleNotFoundError: No module named 'ddhf_bitstore_metadata'

@tubetime

Sorry forgot to mention that dependency, that repos is also on our codeberg account:

https://codeberg.org/Datamuseum-dk/DDHF_bitstore_metadata

DDHF_bitstore_metadata

Metadata file handing for DDHF's bitarchive.

Codeberg.org
@bsdphk ahh that solved it. new issue though, it looks like this hard drive image has 4 volumes but each has lifver set to 0, and the volume header is missing the track, head, and sector count fields, triggering a bug:
@bsdphk if you want to experiment, i put the whole disk image here: https://drive.google.com/file/d/1aTSBuvYilyCwlMffqJVZQTnmUwSarSrB/view?usp=sharing
hp9133a_st506_2.bin

Google Docs
@bsdphk David Gesswein pointed out to me by email that this image file has a software interleave of 9 and each track has a spare sector 31 which contains just a fill pattern and can be ignored. so that might explain some of the parsing difficulties.

@tubetime

Ok, figured the interleave out:

https://phk.freebsd.dk/misc/LIF9133/

Now we just need an examiner for the AutoArchaeologist to list the HP-BASIC programs

FATFS

@tubetime

First time I see a LIF.version==0 🙂

I'll see what I can figure out.

@tubetime

With some effort it may be possible to recover more if its just heads were pulled out of alignment when they were stuck.

https://www.pdp8online.com/mfm/microstep/index.shtml

If you want me to take a look at your transitions file to see if I think that method may work send me a private message.

Data recovery using microstepper

@tubetime Try SpinRite 6.0 that will fix it right up.
@tubetime Don't feel bad. I had a Data General Nova at work that I used to collect and process data from flight testing. One day, the machine made a sound like bad brakes. I asked one of the admins, who said, "Oh, yeah. That happens from time to time. We always lose a bit of disk space when that happens."
@tubetime "sounds bad"? That's exactly how I remember the sound of my 20MB Seagate MFM drive spinning up.
Suddenly transported 40 years back by hearing it.
@tubetime Tap on the side with a hammer often sorted that. 😅
@tubetime
Maybe it just needs some Head and Shoulders (TM).
@tubetime There’s just a lot of data in that cylinder them heads are reading. 🤣
@tubetime Had a disk that was working great and the next day, it wouldn't start. Tried a few things with no success. Bought a new one, cleaned up the surroundings as best as I could, opened the lid a little & tried not to get any dust in there, helped the motor a bit and it was up & running again, I could copy the whole content. As an experiment I left it running, monitoring the errors. After 2 weeks, they started increasing. Not unexpected when you've been to HDD plant's clean rooms.
@tubetime Wait - that's an ST-506? That's the drive that popularised the hard drive interface it uses!
@tubetime I think the 26-pin interface is actually just Sony’s original interface. It’s also on the D30/32’s used on the ACT Apricot.
@tubetime Neat seems HP was a fan of Sony drives, My HP1653B logic analyzer also has a Sony drive with HP specific interface though that one is 3.5 inch
@tubetime And it's so satisfying to clean it and re-assemble it.
@tubetime Is that like… 360KB capacity?
@mwichary worse, it is 270K and it uses 256 byte sectors. it also runs at 600 rpm!
@tubetime You say “worse,” but all of this sounds awesome. 😀