Rescuing data from a Mac Portable HD on another Mac?

Mac84

Administrator
Staff member
Founder
Sep 4, 2021
192
270
63
New Jersey, USA
www.mac84.net
Hello there,

My partner in crime @Action Retro brought over his Mac Portable, the SCSI bus wasn't happy on the unit, but we wanted to see if the HD had any data on it. Thankfully his portable would boot from a floppy.

I now have the Portable's hard drive here and a 34-pin to 50-pin adapter made by @alxlab, so I figured I'd be curious to see if I can do the reverse of what the adapter is designed to do. Instead of plugging a standard 50-pin drive into the Portable, I wanted to plug the Portable's 34-in drive into a regular Mac. The hard drive is a Conner CP-3045, a 40 MB drive with an Apple label. There are some headers and pins on the bottom of the hard drive, but I'm unsure if they would do anything with termination or the SCSI ID, as I couldn't find any documentation.

Don't mind the weird SCSI cable in the photo, it's the only one I have that acts as an extension, as the adapter board doesn't fit well on the logic board (as it wasn't designed to do that).

With everything plugged in to my Centris 650 the drive will spin up and usually make a few access noises. I believe the Portable didn't have SCSI termination on the external port, so maybe the HD has something special going on with termination (or lack there of?). Because unless I do a Shift-Option-Command-Delete, the system usually won't continue with it's boot order.

Utilizing that trick I can boot from System 7.1 on my BlueSCSI (System 7.5 will hang on boot). Snooper says SCSI termination on the bus is "OK". But the drive doesn't automatically mount. If I open a program like Mt. Everything, I'll see the device listed as ID 0. Unfortunetly it says "Illegal Request" and won't let me try to mount the disk.

Has anyone ever tried something as silly as I'm trying? I'd try the drive in my own Portable, but it isn't working at the moment. I also have another Conner 40MB drive that was from a Mac LC, but I would assume switching the main board on the HD may not result in anything working... or would it?

Thanks!

1683661197363.png


1683661316780.png

1683661525939.png
 
Last edited:

Mac84

Administrator
Staff member
Founder
Sep 4, 2021
192
270
63
New Jersey, USA
www.mac84.net
I'll try SCSI Probe, I had the wrong version of it on the disk and it wouldn't work on System 7.1 / 68k machines. Mt. Everything is very similar to SCSI Probe, but I'll try that and SCSI Director 4.

Update:

SCSI Probe 3.x and 4.x show the devices in the list, but I can't select them or select mount anything.

SCSI Directory 4 Pro will hang for a period of time, but it does provide some information. For a moment a dialog suggested the partition table was damaged and asked if I wanted to mount it anyway, I said yes but it just repeated the device information screens.
 

Attachments

  • Device Info.png
    Device Info.png
    21 KB · Views: 70
  • Device Info 2.png
    Device Info 2.png
    17.2 KB · Views: 68
  • Device Info 3.png
    Device Info 3.png
    25.5 KB · Views: 74
Last edited:

Paolo B

Tinkerer
Nov 27, 2021
258
144
43
Nagoya, Japan
My experience is limited to just 2 of those custom Conner drives, both were seemingly spinning and scratching, but unable to be mounted (Portable booting from external HD).
Eventually I opened them up for the sake of curiosity and… inside it was a complete jam, with the platter surface totally damaged.
Straight to the bin.
Good luck with yours!
 

retr01

Senior Tinkerer
Jun 6, 2022
2,473
1
796
113
Utah, USA
retr01.com
The drive is NOT READY, so it cannot be mounted.

An illegal request in this notion appears to be the response when the SCSI drive cannot be identified or understand the request. Perhaps the parameter(s) given was unexpected, so it is an illegal request.

It is a SCSI error at the OS level.

Some sectors on the drive may be messed up that the OS can't read it to mount. So, how about reading the blocks to see to delete garbage to get the Mac to reread and mount it?

And what about:

Wildbits' Data Rescue

1683684149757.png
 
Last edited:

Volvo242GT

Tinkerer
Feb 7, 2022
307
167
43
Currently Duvall, WA
I had similar issues with the Conner 40MB drive that came out of my LCIII. Centris 650 wouldn't see it. On a whim, I fired up HD SC Setup 7.3.5 and clicked the Update button to update the driver. Immediately after I did that, the drive mounted. Said drive is now in a fellow 68kMLA member's SE, working fine on that machine.
 

SuperSVGA

Tinkerer
Mar 26, 2022
64
34
18
I use a simple board I built to adapt from 34 pin to 50 pin SCSI to dump drives, what you're doing should typically work fine.

If you're seeing not ready from the drive, that usually means the drive's self-check failed so it refuses to come online.


On the bottom of the drive are jumpers E1 through E4. E1-E3 set the SCSI ID, and I believe E4 disables parity. By default no jumpers are installed.
IMG_1541.jpeg


I don't think there's a way to disable termination without desoldering the SMD resistor network.

The other header is supposedly a "serial" header, however I've never checked to see if it provides any useful information.


I tried board swaps on some of my unreadable drives, but never had any success.

I wouldn't recommend it, but I did open the top lid of two of my drives.

One drive I opened up seemed to be having trouble with the head parking mechanism. I moved it a bit and it came to life, and I was able to dump the drive.
IMG_0464.jpeg


Another one had crazy amounts of some sort of ferrous shavings or dust covering the magnet, though I could never see anywhere that it came from. I tried swapping the platter from that one to another working drive, but I never did get it to read.


As a side note, I usually power the drives using a bench supply, and occasionally I've noticed I have to bump the +12V and +5V up a few hundred mV.
 
  • Like
Reactions: Mac84 and bakkus

Mac84

Administrator
Staff member
Founder
Sep 4, 2021
192
270
63
New Jersey, USA
www.mac84.net
I found my Conner drive from my LC II, it's a Conner CP3040A, the board looks quite similar to the Portable's too, except for the bigger SCSI port and termination blocks.

I swapped over the board and the magnet (as the Portable's was quite worn) to the Portable HD and plugged it in. When the Mac boots I get an error saying the volume "MacintoshHD" couldn't be read due to an error. Some SCSI tools didn't seem to want to mount it either, saying it recovered from a device error.

So I guess that's an improvement? I did try the replacement magnet alone (without the LC HD's drive board) didn't seem to do much.

I'm running Norton 2.0 and the drive is whirling away, I don't have high hopes, but we'll see if anything happens!
 

SuperSVGA

Tinkerer
Mar 26, 2022
64
34
18
Looks like it was much simpler than I thought. I decided to do some probing with the scope, and looks like it's outputting 5V TTL at 7200 baud:

tek00021.png

tek00022.png


Here's the pinout from what I can see:

IMG_1547.jpeg
IMG_1545.jpeg


[ 2 ] [ X ] [ 6 ] [ 8 ] [ 10 ] [ 12 ] [ XX ]
[ 1 ] [ X ] [ 5 ] [ 7 ] [ 9 ] [ 11 ] [ 13 ]


1 - LED?
2 - LED?
3 - Not present
4 - Not present
5 - Ground
6 - Ground
7 - RX
8 - TX
9 - ?
10 - ?
11 - +5V
12 - ?
13 - ?
14 - Not present


Perhaps at this point this is getting a little off topic, but here's where it starts to get interesting. I apologize in advance.

I decided to hook it up with a USB to TTL interface and see what I got out of it.

Here's what I got at startup:
Code:
 Scaries  - 2.26

Begin test 40
Ref 1F - Xsition 1F - Full spd 086 - Data lock - Spin OK
            Cyl 200

That Cyl value counted up to 200.

And then it just sat there. There was no more output as the computer booted. But it has both TX and RX pins, so I started pushing buttons...

If the drive fails to spin up, the Spin OK changes predictably:
Code:
Ref 17 - Xsition 2B - Full spd 03F - Spin timeout

Pressing ; gave me this:
Code:
 Cm  Target    Niwot   Sf Kf Mf Wr  Rty Spc Pwr Srf  Mk Gn Gry Ref A+B Wi
 00 06B.0.23 1111.1111 00 80 80 00  81  00  05  0E0  99 9A 115 E811 1C 32
Not really sure what to make of that. Though I did notice the values change if I pressed it there was disk activity. Cm changed between 00 and 02.

Pressing . gave this:
Code:
  Pgm 40  Age 40  Type 12.1.01  Sn# E05SN0     Errs 011  Health 00  Ready

Pressing CTRL + X:
Code:
At 0000 - 13 24 02 03 00 05 06 07

Pressing CTRL + Y:
Code:
At 2500 - 00 01 02 03 04 05 06 07

Pressing < and > displays "Sync 00" and the value goes up and down depending on what you press.

Pressing CTRL + L prints the version seen earlier, "Scaries - 2.26"

Pressing Tab or CTRL + I outputs this:
Code:
   Cyl  val  dif
   008  AE   0D
   048  BB   06
   088  C1   06
   0C8  C7   08
   108  CF   01
   148  D0   03
   188  D3   FF  *
   1C8  D2   06
   208  D8   07
   248  DF   04
   288  E3   04
   2C8  E7   03
   308  EA   04
   348  EE   04
   388  F2   05
   3C8  F7   05
   408  FC   00

Pressing CTRL + T gives "Begin test 40" again and tends to freeze the interface for a bit.

CTRL + Z gave me "Begin test 00", but not always?




And then the most interesting one of all, CTRL + S:
Code:
BRK - Pc=9A08 A=10 B=E0 C=C9 X=8000 Y=95A0 Sp=80F5
3>
This appears to give the program counter and registers from the microprocessor. But more importantly, it breaks us into a prompt.

Most things entered give "Invalid entry". However, with enough button mashing...
It seems to take single letter inputs, followed by a value if applicable. It seems spaces are optional.

D seems to give the full error log, while E or J followed by a number give that specific log entry.
There's quite a bit, so here's a few interesting selections:
Code:
Disk err log 04

Track gain
Hd 0  CF
Hd 1  CE
Avg CE Gn 9A

Disk err log 05

Offtrack   Er
Hd 0 - 00
Hd 1 - 00

Disk err log 08

AWC Set to 00
Hd 0 - 00 00 00 00 00 22 FF FF  2DE0   02
Hd 1 - 00 00 00 00 00 00 07 FF  36FA   22
Set window = 22
AWC Set to 03
Hd 0 - 04 00 00 00 01 32 FF FF  25CB   22
Hd 1 - 00 00 00 00 00 00 04 FF  36FD   22
Set window = 22
AWC Set to 0E
Hd 0 - 00 00 00 00 00 02 8C FF  3673   22
Hd 1 - 00 00 00 00 00 00 00 A2  3F5E   32
Set window = 32

Disk err log 14

 ___Head___0____   ___Head___1____   ___Head___2____   ___Head___3____
                   43 08A.1A) FF( 02

Disk err log 28

      Bits  Firm  Soft  Er
Hd 0  10.3  10.3  10.3
Hd 1  10.3  10.3  10.3
Total 10.6  10.6  10.6

A outputs "Age at which drive failed has not been set."

T outputs "Begin test 00", and T followed by a hex byte run a specific test.

F followed by a hex byte seems to change the end of "Type" which is shown when you press "."
I'm not sure what effect this has.

+ seems to output a single byte which changes each time, and you can also specify a value and it will repeat it.

N seems to change the "Age" value, which seems to become "Pgm" on reset and specifies which "test" is run.
It seems like this accepts a hex byte up to 40, and a lot of values seem to cause the drive to fail initialization.

L, _, @, and | all appear to take values but I am not sure what they do.
It seems like at some point I managed to reset the Errs and Health values, but I'm not sure how.

* takes a value, but the only one I've found to do anything is FF, and it just outputs "Pause.."

/ takes a value, but only seems to accept 1-5 (I didn't try 0 though). I thought this did nothing, but then I noticed:
Code:
3>/ 2
2>

Oh no...

I guess there's other menus or run levels or something, and / changes them. /5 for some reason sets it back to 3, but 1-4 all seem to work.

I'm not sure where to start here, seems like there's a lot of commands and you can do some pretty low level stuff. But I've kind of made a giant wall of text here so I should stop.
 

Attachments

  • tek00022.png
    tek00022.png
    6.7 KB · Views: 74
  • Like
Reactions: dramirez and Mac84