TALES FROM THE FLYING DISK DOCTOR - A GOOD THUMP

Copyright Dr Alan Solomon, 1986-1995

I sell about 150 of our own programs to all and sundry;  I have
something for just about everyone.  I also do consulting;  we only
tackle things that have been declared impossible by at least three other
consultants, otherwise it isn't worth doing.  Usually, this means
recovering data for people from formatted, corrupted or broken hard
disks or diskettes.  It isn't worth while fixing broken hardware, as
hardware is so cheap, but data can be priceless.

I also write for various magazines.  This usually involves finding all
the bugs in hardware or software, and telling people all about it.  Life
is full and very hectic, and I'm forever apologising to people because I
don't remember their names, or their problems, or something.  But I
enjoy it, especially when it goes well.

I got a phone call a couple of weeks ago from Karen Something.  Karen
had a big problem;  she'd lost all the data on her 10mb hard disk.
"Tell me all about it, Karen", I said, in my best bedside manner.

"I've got an Olivetti M24, and the 10Mb disk was giving occasional read
errors.  It was fairly old, and my dealer suggested that I replace it.
He said I should do a full backup first, then restore the data onto the
new disk."

"Good idea", I said.  "Yes, but the version of DOS 2.11 I had would not
back up files across floppy disks, and one of my files is 1.4 megabytes.
So I told my dealer, and he suggested I try DOS 3.1."

"Ah", I said, "Most DOS 3 utilities won't work unless you've booted up
in DOS 3" "That would explain why he told me to first do a SYS of DOS
3.1 onto my hard disk.  I did that, and when I came to boot up, it said
"Track zero unreadable" and it wont read my disk and all my data is on
it and I can't get it off and everyone says its impossible and ..."
"There, there", I said (yes, doctors really do say there there).

"So I called my dealer.  He came round and had a go, but couldn't do
anything.  So I tried Olivetti;  they said I should have backed up
first, and didn't seem to understand that I hadn't backed up because I
couldn't.  Then I tried the NCC, and they gave me a few numbers to try,
and I've been phoning people for hours and they all say its impossible
and I've lost my data for ever and it'll take months and months ..."
"There there", I said;  a useful phrase as it doesn't actually promise
anything.  "I saw your ad in a magazine, and you've got Unformat and
Undelete, so I thought perhaps you could help." "Maybe I can", I said.
There was a short silence at the other end.  "Really?" "I only said
maybe," I said.  Until I've actually played with the disk, I can't be
sure.  But I can guarantee that I won't charge you unless I can get your
data back." And I told her how much I'd charge if I was successful.

That's our standard offer.  I can never be sure in advance exactly
what's wrong with the disk, or whether I can fix it, or how much data I
can recover.  So I can't make any unconditional promises.  But I have
great faith in my ability to scrape a lot of useful data from a sick
disk, and I'm willing to back my faith with this offer.  I rarely get
asked what constitutes success, but when I am asked, it's very simple -
success is judged by the person who lost the data, and if I've got back
most of what they lost, there's no way they'll refuse to take it, and
watch as I format the floppy disks containing their data before their
very eyes (I hasten to add, I've never actually resorted to this
particularly sadistic torture).

Karen didn't think about this for very long - it's an offer that very
few people refuse, since they have nothing to lose, and could wind up
getting their data back.  She said she'd have to get formal approval to
spend the money, but didn't think that would be a problem.

A week later, nothing had happened.  I phoned Karen up, in case she'd
sent the computer and it had got lost in transit.  No, it seems that her
dealer had wanted one more go at the disk before sending it to me.
After 10 days or so, four large boxes turned up;  apparently her dealer
had given up.  I've never seen such well-wrapped boxes, all done up with
sticky tape and binder cord.  It took me about half an hour to unpack it
all, and when I'd finished, I had Karen's Olivetti M24, with her new
hard disk already installed.  I also had her old hard disk, but without
it's controller card.

I generally approach these things in no particular order.  I try the
easiest/likeliest methods first, then as I learn more about what the
problem is, I try more appropriate (but trickier) things.  The simplest
thing in this case was to attach Karen's duff 10Mb to my IBM PC, use a
standard IBM hard disk controller, and see what I got.  I got nothing at
all - the computer wouldn't recognise the disk.  I tried a few other
hard disk controllers from other machines, but nothing happened.  The
hard disk was simply not responding at all.

Next, I took the M24 to bits, to see what was there.  I've never poked
around inside an M24 before (I didn't tell Karen that) and it looks like
a nice design.  The hard disk looked clean (literally), and the
controller was one of the short Western Digital ones.  So I took the
controller out, put it in my IBM, and tried again with Karen's disk.
Still no luck.  I had a little think - Karen had said she was getting
"Track 0 unusable", which meant she was getting more response from the
disk than I was.

Track zero on a hard disk (and on a floppy) is where the boot sector and
the start of the File Allocation table is.  If that is unreadable, the
whole disk can't be used by DOS.  But I knew that if I could read the
rest of the disk, I would be in business.  I planned to copy the old
disk to another 10MB disk, sector by sector using a nifty Turbo program,
except for the unreadable sectors.  Then I would patch in the boot
sector by hand, byte by byte, as it's only 512 bytes (and most of those
are unnecessary unless you want a bootable disk).  I knew I could
reconstitute the FAT because DOS keeps two copies of the FAT, and only
the first copy would be unreadable, so I could copy the second onto the
first.  This would give me an unbootable patched disk, but good enough
to do a backup from.  And then I could reformat the disk and make it
bootable, restore the backup, and Karen would be laughing.

But for this plan to work, I needed to be able to read sectors from the
hard disk.  And the hard disk wasn't responding.  I couldn't see what I
had to do.  I wrote a little Turbo diagnostic program, to see why the
hard disk wouldn't respond, but it returned the error code that meant
that the disk wasn't formatted properly.  In this situation, you can do
a low level format, but that would wipe out all Karen's data.  So I did
what you should always do when you're completely stymied - I went to
bed.

When I woke up in the morning, I knew what I had to do.  I don't know
how this works, but I often find that if you go to bed with a problem,
you wake up with an answer.  I guess my CPU works on the problem
overnight, undistracted by the things that usually hinder
problem-solving like screaming children, and fixed ideas.  What I found
in my head was the realisation that the short-card Western Digital disk
controller in Karen's M24 couldn't possibly be the original controller,
as short controllers were developed long after her M24 had been bought.
I guessed that I didn't have the controller for her old hard disk, and
that without that, I wouldn't even get to square one.  I was quite
pleased with my deductions, and immediately phoned Karen.  "I need your
old hard disk controller", I said.  "What?" she said.  I explained what
I was after, and we contacted her dealer.  He was suitably impressed
that I knew that it existed, and promised to send it as rapidly as
possible.  I felt I'd made considerable progress.

The next day, the controller arrived.  Eagerly, I slotted it into the
IBM, connected it to the hard disk, and powered up.  I spent an hour
convincing myself that the controller wouldn't control the hard disk - I
still couldn't make it respond.  Boy, was I angry - I'd been so clever,
and it had done me no good at all.  I thought that perhaps the
controller was faulty, and phoned Karen to get her to borrow a working
controller from her dealer;  she said she'd ask him.  I went to bed.

The next morning, when I woke up, I realised that there was one thing I
hadn't tried.  Maybe the controller will only work properly when it is
in an Olivetti.  There's no good reason for supposing this, as hardware
that goes in an IBM bus should go in any IBM bus, IBM-brand or Olivetti.
Still, computers aren't as logical as some people think, and I decided
to try the old disk and the old controller in the Olivetti.

A nice plan, but it failed at the starting gate.  I couldn't get the
replacement hard disk out of the Olivetti, and I couldn't even remove
the power cable from it in order to power the old hard disk, because a
large box (the power supply) was in the way.  I took off the bottom of
the M24, and it looked as if I would have to remove the motherboard to
get the hard disk out, and do some extensive dismantling.  I didn't
really fancy that, as I didn't even know that the old disk would work
after doing all that work, so I went to bed.

Blow me, but when I woke up the next day, I knew what I had to do.  I
plonked the Olivetti down right next to the IBM.  I disconnected the
replacement hard disk from its controller, so the Olivetti didn't know
it was there.  I took power from the IBM to the old hard disk, and put
the old controller into the Olivetti, and connected it to the old hard
disk, which was balanced precariously between the two computers.  I also
put the controller card for my Bernoulli Box into the Olivetti, so that
if if all worked, I'd have somewhere to copy the data to.


I powered this contraption up, and it worked!  Well, it worked a bit.
The disk light flashed the way it should when the Olivetti was booting
up.  The Olivetti started powering up, but hung after the Date and Time
prompts.  I tried booting a few times, but each time the Olivetti hung.
I felt I was getting tantalisingly close.

The next thing I did was another of those things I can't really give you
a good reason for.  Instead of booting the Olivetti under Olivetti DOS,
I used IBM DOS.  I used 2.0, as I knew that the old disk had been
formatted under Olivetti DOS 2.11.  This time, the boot-up went as far
as going to the A> prompt, but again hung at that point.  I felt I was
getting really close now, and without a pause I re-booted under PC-DOS
3.2.  This time the boot went the whole way, and the Olivetti didn't
hang.  I typed C:, then DIR.  The Olivetti showed me all its files - no
trace of a "Track 0 unusable".  It looked like I wouldn't be needing the
program I'd written to copy the disk sector by sector.  But I didn't
mind, the main thing was to get Karen's data.  While the whole thing was
still working, I went into each subdirectory in turn, and copied the
contents into an equivalent subdirectory on the Bernoulli Box.  All the
data came off as clean as a whistle, including the all-important 1.4
megabyte file.  I did my little dance, the one I do when things are
going well.

Next, I took out the old hard disk and controller, and put in the
Western Digital controller, and connected it to the replacement hard
disk.  My Bernoulli controller was still in the Olivetti, and I powered
up, and copied all of Karen's files onto her hard disk.  I then removed
my Bernoulli controller, and re-assembled the Olivetti.  The Olivetti
was going on a long journey back to Karen, so I did a backup of Karen's
data onto floppy disks, and ran the disk drive head-parking program, to
minimise the possibility of damage to the hard disk while in transit.
We then called up Securicor to collect it, and phoned Karen to tell her
that I'd rescued 100% of her data, and it was on its way back to her.
Have you ever been hugged over the phone?  I have.

By the way, I've since discovered that you can remove a hard disk from
an Olivetti quite easily;  there's a catch at the front that I hadn't
noticed, which lets it slide out.  So my clever cross-connection was
quite unnecessary.

That should have been the end of the story.  Except that Karen phoned a
few days later to say that there were a couple of problems.  First, the
keyboard had got lost by Securicor.  We fixed that up by phoning
Securicor and speaking to someone fairly high up - it was found
languishing in one of their warehouses.  The second problem was rather
worse - the hard disk wasn't working.

"Oh no!", I thought.  It had certainly been working up till the time I
ran the disk head parking program.  I reassured Karen that her data was
safe, as it was on the collection of floppy disks I'd sent her, and if
the worst came to the worst, they could be restored onto another disk.
I had also kept a copy of her data, just in case.  We agreed that I'd
have another look at the machine, only this time Karen would drive down
with it, as she no longed trusted carriers.

A few days later, I phoned her up to arrange a day.  "Oh, that won't be
necessary", she said, airily.  "I've fixed it." "How did you do that?" I
asked.  "I got so fed up I gave it a good thump, and that seems to have
done the trick".