MFM Drive Recovery Advice

87 views
Skip to first unread message

Ashlin Inwood

unread,
Sep 27, 2023, 2:44:09 AM9/27/23
to MFM Discuss
So I have an old Quantum Q540 MFM drive (8 heads, 512 cylinders) from an Altos 586.

Unfortunately, it does not appear to be functional, I would like to recover some data from it out of curiosity but does not contain any important information.

Powering up the drive makes an unpleasant squealing sound and something that kind of sounds like a spring being plucked. Looking through the inspection window the disk looks fine from what I can see (not much). When I try to read from the drive the head does not move, I think it also makes some very quiet ticking noises.

I used this command to try and read it:
./mfm_read --ignore_seek_errors --transitions_file ../altos/raw_data --drive 1 --heads 8 --cylinders 512 --sector_length 256

And got this error:
Command 7 fault 300 status 2c
Not Write fault
Not Seek complete
Not Index
Ready
Drive selected

I don't know what this error means, an explanation would be good. I think I will have a look at the code and see where it originates.

Two faults come to mind:
  • The controller is damaged (too expensive to replace)
  • The head assembly is stuck or damaged
I am very tempted to open the drive and see if I can convince the head to move by hand. Otherwise, I would like to try and identify the head stepper driver and verify that's trying to do something.

I don't need this to be successful but I'd like to get some experience, I have some drives that I consider more important that I want to recover the data from.

What should I try, what should I not try?

Jay Cotton

unread,
Sep 27, 2023, 3:09:05 AM9/27/23
to mfm-d...@googlegroups.com
Not really certain, but might want to check the cables to make sure they are connected correctly.  You are getting a
lot of faults.  

Also no index pulse is not good.  If you have another MFM drive to connect to verify how the command should
work that might help.  

I had a similar problem with a really old MFM driver (plastic transparent cover) . It had been parked for so long
that I had to help the spindle start up.  My first attempts to start the drive failed because of a weak power supply.
After a bit of fumbling about I did get it to work.  There is also an auto
detect function that can figure out the number of heads and sectors and tracks.  It might even figure out the
drive model number.



--
You received this message because you are subscribed to the Google Groups "MFM Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mfm-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mfm-discuss/6dccc305-b32c-46e6-ae51-bdd6d30d9293n%40googlegroups.com.

Ashlin Inwood

unread,
Sep 27, 2023, 4:29:27 AM9/27/23
to MFM Discuss
All good points. The spindle moves freely, I gave it a few spins before powering it up, (initially, it was a bit stiff) this seems a reasonably common problem.
The cables are connected correctly I have been imaging a few drives over the last few days.
The power supply is sufficient for the task, I have experienced the same issue you mentioned about the power supply. It's grunty enough to supply the required current to spin the spindle up.

The --analyze option is not going to make any difference if the head does not seek, I'm already aware of the model number and its specifications (Quantum Q540, 8 heads, 512 cylinders) as I previously listed.

I'm trying to decide whether or not I should open the drive, try and obtain a replacement controller or externally drive the stepper as a test.
I want to know the likelihood of the head getting stuck.
A replacement controller may be expensive and may not solve the problem.

David Gesswein

unread,
Sep 27, 2023, 8:51:14 AM9/27/23
to mfm-d...@googlegroups.com
On Tue, Sep 26, 2023 at 11:44:09PM -0700, Ashlin Inwood wrote:
> So I have an old Quantum Q540 MFM drive (8 heads, 512 cylinders) from an
> Altos 586.
>
> Powering up the drive makes an unpleasant squealing sound and something
> that kind of sounds like a spring being plucked. Looking through the
> inspection window the disk looks fine from what I can see (not much). When
> I try to read from the drive the head does not move, I think it also makes
> some very quiet ticking noises.
>
Haven't worked on this particular model. Unpleasant squealing is normally the
spindle bearing lubrication has dried up. They are difficult to get oil
into. Could also be head problems.

The plucked noise could be head lock release. Normally its more of a thunk
but varies with drive.

Drives normally wait until up to speed before moving the head. If bad
bearings are slowing the drive it may not get up to speed.

This drive uses an optical track sensor. Those can come loose. See
Quantum drives with this system
https://www.retrotechnology.com/herbs_stuff/386intel/i386_multi.html

> I used this command to try and read it:
> *./mfm_read --ignore_seek_errors --transitions_file ../altos/raw_data
> --drive 1 --heads 8 --cylinders 512 --sector_length 256*
>
> And got this error:
>
> *Command 7 fault 300 status 2c
Not Write fault
Not Seek complete
Not Index
Ready
Drive selected*

> I don't know what this error means, an explanation would be good. I think I
> will have a look at the code and see where it originates.
>
Command and fault are internal message numbers so not important. Status is
the value read from the register which reads the drive signals. It is decoded
below. Not seek complete indicates the drive is saying the heads are not
properly positioned. Not index is fine since its a sample of the drive signals
and index is only active for a short portion of the rotation. The rest of
the signals are expected values.


> Two faults come to mind:
>
> - The controller is damaged (too expensive to replace)
> - The head assembly is stuck or damaged
>
> I am very tempted to open the drive and see if I can convince the head to
> move by hand. Otherwise, I would like to try and identify the head stepper
> driver and verify that's trying to do something.
>
Head is voice coil, not stepper. Manual has schematics.
http://www.bitsavers.org/pdf/quantum/Q500/81-50466A_Q500_Technical_Reference_Manual_Sep1984.pdf

> What should I try, what should I not try?
>

Since data isn't important opening HDA is ok since normally it doesn't cause
an instant head crash assuming reasonably dust free. Does have some risk so
would do some probing first to see if can tell about why seek complete isn't
going active. I would check the index pulse and see if its about 3600 RPM (60
RPS). Easiest would be probe the signal with a scope. You will need the
MFM emulator or something connected since signals are open collector.
Seek complete is generated by the drive microprocessor so may not be
able to figure anything out. Their is an up to speed input the the
microprocessor you can check.

Drive should be spinning when moving heads.

Driving voice coil actuators is much harder than driving steppers.

Ashlin Inwood

unread,
Sep 28, 2023, 3:53:16 AM9/28/23
to MFM Discuss
Good news, I was able to successfully image the drive and recovered 100% of it.

Your information above really helped. I rotated the drive in various directions to see if the glass scale had come loose, it had not.
I then by chance found a table describing the functions of various jumpers when looking for the schematics for the index signal.
I set the jumpers E3, and E4, this placed the drive in a debug mode where it would continuously seek the head and disabled positioning feedback from the servo. This had the desired effect and the head began to move. I suspect that the head was just a little sticky, the debug mode was persistent enough to get it to move. After that, I just read it without much problem.

In the end, I read it twice to get some of the settings right, although some of the sectors are getting progressively harder to read.
Thank you

My read command for future reference (Altos 586 - Quantum Q540):
./mfm_read --emulation_file ../altos/altos_emufile --extracted_data_file ../altos/altos_data --transitions_file ../altos/altos_transitions --format Altos_586 --sectors 16,0 --heads 8 --cylinders 512 --header_crc 0xffff,0x1021,16,0 --data_crc  0xe60c,0x1021,16,0 --sector_length 512 --retries 50,4 --drive 1 --track_words 5307

Quantum Q540 Manual (JUMPERS AND TEST POINTS, pg: 71)
http://www.bitsavers.org/pdf/quantum/Q500/81-50466A_Q500_Technical_Reference_Manual_Sep1984.pdf

nosn...@gmail.com

unread,
Sep 28, 2023, 5:15:14 AM9/28/23
to mfm-d...@googlegroups.com

Ashlin,

 

              Just curious – what OS was on the drive? Was it Xenix, MP/M or CP/M? And also – are you going to post the transitions file or the emulator file or the extract file anywhere? Back in the day, I had one of these and also a 686 and a 986. The case on these things are a great design. At the time, I worked  for TRW Customer Service Division and ALTOS was one the companies whose equipment we repaired.

 

Michael Evenson

http://www.swtpcemu.com/swtpc/Downloads.htm

http://www.flexusergroup.com:8080     <- http link to the sftp site

--

You received this message because you are subscribed to the Google Groups "MFM Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mfm-discuss...@googlegroups.com.

Al Kossow

unread,
Sep 28, 2023, 7:19:32 AM9/28/23
to mfm-d...@googlegroups.com
On 9/28/23 12:53 AM, Ashlin Inwood wrote:
> Good news, I was able to successfully image the drive and recovered 100% of it.

can you put the image somewhere so I can compare it to a 586 image I have?


Ashlin Inwood

unread,
Sep 28, 2023, 4:33:52 PM9/28/23
to MFM Discuss
Sure I can make the image available, it has an installation of Xenix. I am going to spend a few days trying to mount it and have a look at its contents.
If there is nothing sensitive I'll post a link to it. If I am unable to mount it in a reasonable amount of time then I'll just post it anyway.

Likewise, I would also be interested in any other images other people have, and any experience people have getting the data out.
Although I feel this is getting a little too off-topic for this conversation, feel free to reach out via email or discord (ashlin4010)
Or create a new conversation and tag me.

Ashlin Inwood

unread,
Oct 1, 2023, 5:00:56 AM10/1/23
to MFM Discuss
No luck mounting the image. I have tried modern Ubuntu and Xenix 2.3.1 using the altos_data file. With the Altos 586 predating the
prevalence of the IBM PC it is very possible that the image is just too hardware-specific to be understandable by newer systems.

Here is a link to download it.
https://drive.google.com/drive/folders/14BfPJxFvsJ7jV9CTD7eKa9VPy607VVB7?usp=drive_link

Let me know if anyone has any luck mounting/extracting it.

David Gesswein

unread,
Oct 1, 2023, 9:45:48 AM10/1/23
to mfm-d...@googlegroups.com
I was involved in recoving another Xenix disk image.
https://www.retrotechnology.com/herbs_stuff/386intel/i386_multi.html#image

You might want to contact Dmitry Brant from his website linked to on that
page and ask if he can try recovering your disk image contents.
> --
> You received this message because you are subscribed to the Google Groups "MFM Discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to mfm-discuss...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/mfm-discuss/36138487-3fb0-4680-86d8-4bbea31f11bfn%40googlegroups.com.

Ashlin Inwood

unread,
Oct 13, 2023, 5:21:12 PM10/13/23
to MFM Discuss

Dmitry Brant was able to extract all the files from the image. He has previously worked with other Xenix images and was able to make some small modifications to his software to extract data from this older format. 

d...@pdp8online.com

unread,
Oct 14, 2023, 8:53:25 PM10/14/23
to MFM Discuss
I tried the code. I was able to decode Herbs with xenixold. When I tried this for your image it didn't work. Do you know the correct command to extract your files?

xenixv3.exe  -f altos_data --offset 2818048

Offset was from the comment in the code

/// Partition offsets observed so far:
/// 0x2B0000

Ashlin Inwood

unread,
Oct 14, 2023, 9:44:04 PM10/14/23
to MFM Discuss
No, I don't know, however, I will give it a try myself.
I do have some info that might be useful. This is from Dmitry Brant

- The actual Xenix partition starts at offset 0x2B0000. The data before that offset is probably boot code and startup data.
- The superblock of the partition is at 0x2B0200, which is the second block after the start of the partition (block sizes are 0x200 bytes), and corresponds to the structure found in "filsys.h"
- The list of inodes starts immediately after (at offset 0x2B0400), which corresponds to the structure in "ino.h".
- I was able to find the partition by purely heuristic means, by looking for signatures that are loosely recognizable as inodes. It may be possible that there's a structure at the beginning of the disk that contains a partition map that points to the partition. The block starting at offset 0x600 looks like a good candidate.

So give the offset of 0x2B0200 (2818560) a try

Ashlin Inwood

unread,
Oct 14, 2023, 10:15:35 PM10/14/23
to MFM Discuss
Ok got it. In the latest version of the software Dmitry added configurable endianness, and that broke it.

This version works fine with the command  "xenixv3.exe  -f altos_data --offset 2818048"
https://github.com/dbrant/QICStreamReader/tree/e836bd97641b42b2b73467c64db4e790a52f971f

I have uploaded a copy of the working software for those who don't wish to build their own.
Reply all
Reply to author
Forward
0 new messages