• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Macintosh Portable Data Recovery

Anyone have ideas on how to try a data recovery from a Macintosh Portable?

My friend has a vintage unrestored Macintosh Portable M5120 with the internal Conner hard drive (Apple 40SC). He says when he last powered it on years ago, it just showed a blank screen. We don't necessarily want to attempt to recap it, but just try to get any recoverable data off (the owner was a writer and has/had a year+ of writing on it). I realize the drive may already be dead, but wanted to help out if I could.

One idea suggested was to find someone with a working portable to try, but I haven't seen any vintage data recovery services that have such a niche item.

Any other ideas?
 

Attachments

  • Screenshot_20240715-224850.png
    Screenshot_20240715-224850.png
    3.9 MB · Views: 3

SuperSVGA

Well-known member
There are a lot of ways you can do it, the signals are standard SCSI with a custom connector.

I've done a bunch of drive imaging of Portable drives and typically use a custom ZuluSCSI RP2040 and adapter I built to image the drive with initiator mode, though there are several other ways you can do it as well.
Sometimes the drives really don't want work at first and I end up having to coerce them into working through the serial debug interface on the drive.
 
Thanks for that response @SuperSVGA ! Would you mind walking me through that setup a bit more? I can grab a Zulu and I see some discussions here about building a cable, but would love as much detail as you can share!
 

SuperSVGA

Well-known member
The general things you would need are:
  • An adapter from the 34-pin Portable SCSI connector (male pins since the cable is fixed to the drive) to whatever SCSI connection you have for reading the drive (50-pin IDC, DB-25, 50-pin centronics, etc.) as well as some way to connect +12V and +5V to the drive through the adapter.
  • A method of supplying good +12V and +5V to the drive. I usually use an adjustable bench power supply so I can give a little extra voltage or current if the drive is having trouble, but anything should work like a 12V and 5V power adapter or a PC power supply.
  • Your preferred method of imaging, a ZuluSCSI or BlueSCSI with initiator mode is easiest but you can also use a PC with a SCSI card or PCMCIA SCSI adapter, or even another Mac with SCSI.
From there you just need to power up the drive and make a copy of it using whatever imaging method you have available. If everything is working fine in the drive you should have a perfect image, but if the drive refuses to cooperate it may need some troubleshooting.

Technically you could even use the Portable itself to interface with the drive by using the Portable to power and connect the drive, interrupt the boot process so it can't access it, then image the drive through the DB-25 SCSI port. It's not really a good idea though since the Portable may not be working well enough.
 
So my first attempt didn't work: Using what I read here and on other posts and youtube, I did the following:

Prep
-----
1. Extracted the Apple 40SC/Conner CP-3045 from the Mac Portable
2. Removed the logic board from the drive and removed the foam debris that was turning to powder. Quick wipe with some 91% iso alcohol and followed with some compressed air. Replaced it with a piece of cut cardstock.
3. De-gooed the outside of the drive, which had green goo along one side, by soaking it up with cotton swabs.

Attempt
---------
4. Connected the adapter recommended by @dramirez above to the 34pin from the drive
5. Connected a new BlueSCSI desktop (from androda) to the 50pin side of the adapter. The BlueSCSI was previously updated to the latest firmware (v2024.05.21) and configured to Initiator mode with the jumpers.
6. Connected the 4pin molex from the adapter via a male-to-male cable I made to a power supply from a Startech IDE-to-usb adapter I had laying around.
7. Powered on the power supply to the drive
8. Connected the USB port of the BlueSCSI to my laptop so I could monitor the serial console (and for power)

Results
--------
a. The drive initially started up and spun down a few times on its own. I power cycled it a few times, and then it spun up sounding fairly nice - I haven't listened to a old spinning hard drive carefully in a while, but it sounded "right" in that it had an initial click followed by some seeking, but unfortunately seemed to return to idle after that.
b. While that was happening, I watched the BlueSCSI serial output and saw that it was in initiator mode and scanning for SCSI devices over and over, but never found one.
c. Not feeling like there was much to lose, I powered things off and opened the drive to see what it looked like inside. There was some more green goo on one edge of the inside of the case, but luckily all the platter and mechanism looked flawless. I couldn't see any goo, rubber remnants, or magnet flakes anywhere, though I haven't yet tried taking the upper magnet off to look any closer.
d. I resassembled the drive and tried a few more jumper configs even though I didn't think they would do anything, and they didn't (power and backfeed and even term off)

Next steps
-----------
* Although the drive seemed to spin up and seek correctly, and its power requirements aren't that high, I'm tempted to find another power supply and try that. I know the one I tried "works" since I recently used it with IDE drives, but given the suggestion above to use something more precise it seems like a good idea.
* I'll pick up a USB to TTL adapter and try seeing if there's anything interesting on the serial output of the drive using the info from SuperSVGA's post over on tinker different: https://tinkerdifferent.com/threads...ac-portable-hd-on-another-mac.2624/post-22962
* On the off chance that there's something about the adapter that's not right, I'll doublecheck the pinout and look at some of the other adapter and cable configs people have tried. I've so far been assuming that even though most people are doing this in the opposite direction (i.e. not Initiator mode, to simulate a hard drive) that everything is symmetrical and the diode on the adapter - that I think is going to term power - doesn't matter.
* If nothing else works I might try taking apart the magnet assembly inside the drive and tape over any decayed rubber.
* If anything in the serial output looks suspect, I might also try to find some donor drives to swap pcbs with. I have been keeping an eye on eBay but there isn't anything reasonably priced to experiment with (if anyone has any drives or boards they would be willing to part with, I'm interested!)
 

dramirez

Well-known member
The easiest way to check for the drive's health should be to connect into an internal SCSI bus, boot the Mac from a floppy with SCSI Probe installed, if the drive doesn't show up, you have a bad drive (controller board?)
 
Thanks @dramirez , I appreciate the continued responses. I don't have a vintage mac with a SCSI port anymore, but I'll consider picking one up on eBay if I don't have luck trying to tease any drive/bus debug info out any other way.
 
Sorry for the long comment here but since I've ready so much great info from a lot of people so far, sharing the little bit I've learned:

I decided to try following SuperSVGA's serial terminal approach to see if the board was still alive at all. First I cross-checked this with this post on os2museum.com as well as this russian pdf (⚠️) linked in the comments there that seems to back this up (as well as provide some additional test commands). I connected a USB to TTL device from WaveShare , with TXD connected to pin 8 (RX), RXD to pin 7 (TX) and a ground to pin 7 (all using SuperSVGA's numbering scheme). By the way, I found a handful of Conner tech docs in archive.org and google search, and several mention this connector, but don't describe any pins other than the LED pins and a generic reference to serial capability.

Anyway, after configuring the USBtoTTL as 7200 8N1 in Device Manager on my Windows machine, and setting Tera Term to the same, on startup I got very similar output:

Code:
 Scaries  - 2.26

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

The output of . was:
Code:
  Pgm 40  Age 40  Type 12.1.01  Sn# N009S7     Errs 010  Health 00  Ready

The output of ; was:
Code:
 Cm  Target    Niwot   Sf Kf Mf Wr  Rty Spc Pwr Srf  Mk Gn Gry Ref A+B Wi
 00 200.1.00 1111.1111 00 80 80 00  2F  00  04  10C  9E AB 200 ED15 1B 43

Obviously I have no idea what any of this means, but it seems like there's some good news that some portion of the RAM, firmware/ROM, and the serial chip are working. Which is almost frustrating because I feel I'm still close to finding something out, but haven't yet :)

I tried googling for any similar output in the hopes that someone knew what this all meant, but either found the posts I already linked to or some Russian forums that didn't seem to provide any more info. The only other suggestion was in one of the Conner manuals for another drive that stated:
The microprocessor performs diagnostics upon application of power. If an error is detected the CP3104 will not come ready.
and from the textfiles.com copy of the 3040 manual, a good reminder to be patient:
Host system must allow a minimum of 60 seconds for drive
electronics to facilitate retries for a READY condition to
become active. One retry is equal to 25 seconds.

I've got a pair of different model Conner's coming from Ebay that I hope to test with next just to validate that I didn't do anything wrong on the BlueSCSI config side. No luck finding a donor 3045 yet unfortunately, but maybe worst case I can try a 3040A PCB and hope that works. [If anyone reading this hasn't set seen my post over in the Trading Post, I'm still looking for 3045s in any condition (or even just the PCBs)]
 
OK, I put the PC-3000 guide through Google Translate and cleaned up some formatting so it was a little more readable. From what I can tell they have a guide to the CP3000 drive series based on firmware dumps, but it seems like it would mostly apply to the CP3045. Decoding the HDD status from above:

Code:
  Pgm 40  Age 40  Type 12.1.01  Sn# N009S7     Errs 010  Health 00  Ready
Pgm 40 - number of the test being performed or completed;

Type 12.1.01 - drive type and maximum head number (type 12, maximum head number 1);

01 - number of repetitions when performing the current test;

Sn# N009S7 - serial number of the unit;

Errs 010 - the number of errors detected during the test;

Health 00 is an error identifier, the value 00 must be considered as a hexadecimal number ab where:

aBit 3failure in power-on diagnostics or lack of error recording in the table
Bit 2errors with codes 14, 38 or 98 were detected
Bit 1 spindle motor rotation speed is less than nominal
Bit 0frequent errors when first turned on or malfunctions with the heads
bBit 3 search error
Bit 2when performing a test, the rotation speed of the spindle motor is higher than the nominal one
Bit 1error when measuring access time
Bit 0error when performing the OFFTRACK or HYSTERESIS positioning test


Ready - drive status from:

Ready - finished;
Busy - busy;
Seek mode - positioning mode, etc.

The detailed test output didn't decode to anything indicating an error though.

So it seems like there are some errors, but also thinks its Ready? Not sure why it isn't visible to the BlueSCSI yet. Will keep at it.
 

SuperSVGA

Well-known member
I remember the drives typically showing up in the logs at the very least even when they're not quite working, either just telling the bus they aren't ready or giving read errors. I think all my old logs and documentation is on another computer so I'll have to look because I can't remember.
 

NJRoadfan

Well-known member
I've swapped the board off the Portable's CP3045A with one off of a standard SCSI CP3040A (I bought this as a mechanical donor if the original portable drive died). It actually seems to work for reading data off the drive, but I didn't trust it enough to do any long term testing.
 
@SuperSVGA Thanks, appreciate that info! I'll give it another try but all I got was a loop that nothing was found:
Platform: BlueSCSI
FW Version: 2024.05.21-rel May 21 2024 21:21:44
I2C Supported
Flash chip size: 2048 kB
SCSI Initiator Mode. Will scan the bus for drives to image.

=== SD Card Info ===
SD card detected, FAT32 volume size: 14902 MB
SD Name: SMTC , MID: 0x9F, OID: 0x54 0x49
InitiatorID set to ID 7

Initialization complete!
INFO: Pico Voltage: 3.288V.
* No response from SCSI ID 0
* No response from SCSI ID 1
* No response from SCSI ID 2
* No response from SCSI ID 3
* No response from SCSI ID 4
* No response from SCSI ID 5
* No response from SCSI ID 6
* No response from SCSI ID 0
* No response from SCSI ID 1
* No response from SCSI ID 2
* No response from SCSI ID 3
* No response from SCSI ID 4
* No response from SCSI ID 5
* No response from SCSI ID 6
* No response from SCSI ID 0
[...]

@NJRoadfan AWESOME! good to know that works! I just got a CP3040A eBay drive as plan B
 
The PCB swap worked! I used a donor board from a 3040A on the 3045 and it imaged on power up. There were some unreadable sectors; I repeated the image a second time and got a slightly different read, so it should be possible to patch a few if needed. Thanks so much everyone.
 
Top